Title: ILL Protocol Basics
1ILL Protocol Basics
- Presentation by
- Randy Menakes
- Ameritech Library Services
Access Tutorial on ISO ILL Protocol 28
October 1999
2Special thanks to
- Barbara Shuh
- ILL ASMA
-
- Joe Zeeman
- CGI Group
3Multiple systems and user interfaces
National Library of Canada
British Library
Document Supplier
OCLC
Consortium Partner
4Scattered and duplicated data
National Library of Canada
British Library
Document Supplier
OCLC
Consortium Partner
5Standardized systems
National Library of Canada
British Library
Document Supplier
OCLC
Consortium Partner
6Consolidated data
National Library of Canada
British Library
Document Supplier
OCLC
Consortium Partner
7Fundamental Protocol Concepts
- ILL Protocol defined in ISO 10160/10161
- Peer-to-peer
- Predictable data / Predictable behavior
- Protocol Machine
- Finite State Machine
- Confirmed vs. Unconfirmed Services
821 ILL Services
- ILL Request
- Forward
- Forward-Notification
- Shipped
- ILL-Answer
- Conditional-Reply
- Cancel
- Cancel-Reply
- Received
- Recall
- Returned
- Checked-In
- Overdue
- Renew
- Renew-Answer
- Lost
- Damaged
- Message
- Status-Query
- Status-Or-Error-Report
- Expiry
-
9Logical Model of ILL Protocol Machines
10Events, Actions and States
- Events things that come in from outside the
ILLPM - service primitives
- APDUs
- timer events
- Actions things that get sent outside the ILLPM
- service primitives
- APDUs
- State depends on last event and action
- determines next legal action
11Time Sequences
- Communication is not instantaneous
- Delay between one system sending a message and
the other system receiving it - Further delay while receiving system processes
message and generates response - Messages can cross
- Protocol needs to accommodate crossing messages
12Simple Transaction
13More Complex Transaction
14User Roles
- Requester
- Responder
- Intermediary
15Requester and Responder Roles
Lender
Borrower
Staff (lending library)
Staff (borrowing library)
ILL Responder Protocol Machine
ILL Requester Protocol Machine
ILL APDU
Communications Service, (e.g., TCP, SMTP, etc.)
16Intermediary
Requester (Borrowing Library)
Responder (Lending Library)
ILL APDU
ILL Requester Protocol Machine
ILL APDUs
Intermediary (e.g., British Library)
ILL Responder Protocol Machine
ILL Intermediary Protocol Machine
ILL APDUs (sub-transaction)
17ILL Transactions
- Single complete Interlending cycle
- Initiated only by a Requester
- 3 Types
- Simple
- Chained
- Partitioned
18Simple Transaction
Lender
Borrower
Staff (lending library)
Staff (borrowing library)
ILL Responder Protocol Machine
ILL Requester Protocol Machine
ILL APDU
Communications Service, (e.g., TCP, SMTP, etc.)
19Chained Transaction
Requester (Borrowing Library)
Responder (Lending Library)
ILL APDU
ILL Requester Protocol Machine
ILL APDUs
Intermediary (e.g., British Library)
ILL Responder Protocol Machine
ILL Intermediary Protocol Machine
ILL APDUs (sub-transaction)
20Partitioned Transaction
Requester (Borrowing Library)
Responder (Lending Library)
ILL Requester Protocol Machine
1. ILL- Request
3. Renew
Intermediary (Centralized ILL Utility)
ILL Intermediary Protocol Machine
ILL Responder Protocol Machine
2. ILL- Request (sub-transaction)
21Service Types
- Loan
- Copy-non-returnable
- Locations
- Estimate
- Responder-specific
2220 ILL APDUs
- ILL Request
- Forward Notification
- Shipped
- ILL-Answer
- Conditional-Reply
- Cancel
- Cancel-Reply
- Received
- Recall
- Returned
- Checked-In
- Overdue
- Renew
- Renew-Answer
- Lost
- Damaged
- Message
- Status-Query
- Status-Or-Error-Report
- Expired
-
23Transaction forwarding
Requester (Borrowing Library)
Responder (Lending Library)
ILL APDU
ILL Requester Protocol Machine
ILL-Request
Forward- Notification
Intermediary (e.g., British Library)
ILL Responder Protocol Machine
ILL Intermediary Protocol Machine
ILL-Request
24ILL-Request
- Initial Service
- Mandatory for all transactions
ILL Request
ILL-REQUEST
Responder
Requester
25ILL-ANSWER
Conditional? Retry. Unfilled. Locations-pr
ovided. Will-Supply. Hold-placed. Estimate.
ILL-ANSWER
ILL-ANSWER
Responder
Requester
26SHIPPED
- For loans or copies
- Optional if Simple Transaction
Shipped
SHIPPED
Responder
Requester
27ILL Transaction Identification
- Uniquely identified (transaction-id)
- Allows sub-transactions to be related to the
parent - Allows multiple transactions to be related
together - Transaction ID components
- initial requester id
- transaction group qualifier
- transaction qualifier
- sub-transaction qualifier
28Initial Transaction ID
ILL-Request goes out to first potential provider
- Transaction ID components
- initial requester id OONL
- transaction group qualifier 12345
- transaction qualifier 1
- sub-transaction qualifier
29Initial Transaction ID
Unfilled by the first potential lender, the
ILL-Request goes out to next potential provider
- Transaction ID components
- initial requester id OONL
- transaction group qualifier 12345
- transaction qualifier 2
- sub-transaction qualifier
30Initial Transaction ID
Unfilled by the second potential lender, the
ILL-Request goes out to a third potential provider
- Transaction ID components
- initial requester id OONL
- transaction group qualifier 12345
- transaction qualifier 3
- sub-transaction qualifier
31Initial Transaction ID
This potential provider is an intermediary, who
sends the request to a potential lender (chained)
- Transaction ID components
- initial requester id OONL
- transaction group qualifier 12345
- transaction qualifier 3
- sub-transaction qualifier 1
32Protocol States
- Requester states
- Responder states
- Terminal states
- Intermediary states
33Requester States
- RENEW/OVERDUE
- OVERDUE
- NOT-RECEIVED/ OVERDUE
- RECALL
- RETURNED
- LOST
- (italics terminal state)
- IDLE
- PENDING
- NOT-SUPPLIED
- CONDITIONAL
- CANCEL-PENDING
- CANCELLED
- SHIPPED
- RECEIVED
34Responder States
- IDLE
- IN-PROCESS
- FORWARD
- NOT-SUPPLIED
- CONDITIONAL
- CANCEL-PENDING
- CANCELLED
- SHIPPED
- RENEW-PENDING
- RENEW/OVERDUE
- OVERDUE
- RECALL
- CHECKED-IN
- LOST
35Expiry Timer
- Maintained by the responder
- Expiry time specified in ILL-Request
- When expiry occurs, protocol machine
automatically raises Expiry event at both
requester and responder. - Expired APDU is sent only by the Responder
- Requester uses the Cancel APDU
36What is carried in APDUs
- Predictable data in a predictable structure
- Externals
- OIDs (Object Identifiers)
- Extensions
37How data is structured and transferred
- ASN.1 (Abstract Syntax Notation 1) Abstract -
independent of any particular computer system or
programming language - Transfer syntax - BER (Basic Encoding Rules)