Request IDs
Each request has an ID, called the ‘iid’, as its first element. Its purpose is to allow responses to be
matched up with requests as they arrive back at the client. Its value is an integer between 1 and
4294967295, expressed as a decimal number in ASCII.
The iid is optional. If an iid is not provided on a request, the corresponding response also does not
have one. The iid is selected by the client when a command is sent and the selected value is returned
by the PDBA in the subsequent response. A different iid could be selected for each request.
Multiple Session Connectivity
Multiple information systems can be connected via the PDBI simultaneously. All systems can open
read transactions, but only one system at a time can open a write transaction. If more than one system
requests a write transaction, contention for write access is handled as follows:
• The first user to submit a write request is granted access, if it is authorized for write access.
• If a second user submits a write request while the first transaction is still open, the second user is
either immediately rejected or is queued for a specified timeout period.
• The time out period can be specified by the user in the write request as a value from 0 to 3600
seconds. If the value is not included or is set to 0, the second write request is immediately rejected.
• If the time out value is set to any non-zero value, the second request is held for that time period
before being rejected. If the first user releases the write transaction before the second user time out
period has expired, the second user is then granted write access.
• If a third user submits a write request after the second user with a specified time out period, the
third user's request is queued behind the second user's request. When the first user releases the
transaction, the second user is granted access. After the second user releases the transaction, the
third user is granted access, and so forth. Of course, whenever any user's time out period expires,
his/her request is rejected immediately.
• If the third user sets a time out period longer than the second user and the second user's time out
period expires before the first user releases the transaction, the second user's request is dropped
from the queue. The third user subsequently moves up in the queue. Thus, if the first user releases
the transaction before the third user's time out has expired, the third user is granted access.
Request Queue Management
If multiple command requests are issued simultaneously, each request is queued and processed in
the order it was received. The user is not required to wait for a response from one command before
issuing another.
Incoming requests, whether multiple requests from a single user or requests from multiple users, are
not prioritized. Multiple requests from a single user are handled on a first-in, first-out basis. Simply
put, requests are answered in the order in which they are received. Servicing of requests from multiple
users is dependent upon traffic in the data network.
31
910-6022-001 Revision A, March 2011
Functional DescriptionProvisioning Database Interface Manual