Sequence diagrams - readium/readium-lcp-server GitHub Wiki
Encryption sequence
This diagram shows the sequence of actions ending with encrypted content stored in a file system, with a notification sent to the License Server.
Acquisition of a license + encrypted content
Use case: a reading system (e.g. a mobile app) is acquiring a new LCP license.
This diagram shows the sequence of actions starting from a user transaction (a loan for instance) and ending with the opening of the downloaded ebook by the device. A Readium LCP license is loaded first, then the corresponding encrypted epub content is downloaded silently, the license is included in the epub archive and the resulting licensed publication is saved by the app. The epub content can then be read, after the user passphrase has been entered (not shown in the diagram).
Acquisition of an existing license
Use case: a reading system has detected (via a status document) that a license must be updated. A link to the most up-to-date license is found in the status document.
The client calls the link to the license. The frontend finds in its database the required information about this license, i.e. the user owning it and rights information. It can generate a partial license out of this data. It then calls the License Server with this partial license as payload. The License Server responds with a complete license, which is sent back to the client.
Direct acquisition of a licensed publication
Use case: a reading system is acquiring an EPUB file containing an LCP license.
This diagram shows the sequence of actions starting from a user transaction (a loan for instance) and ending with the opening of the downloaded ebook by the device.
Process a License Status Document, register a device/license
This diagram shows the sequence of actions necessary to register a device for a given license, if the device has not been registered before. In this sequence, we suppose the the initial status is "ready", meaning that no device has been registered. Once the first device is registered, the status becomes "active".
Process a License Status Document, update a license
This diagram shows the update of a license, after the user device has checked that the date of update of the license in the status document is more recent than the value saved locally.
Return an ebook
This diagram shows the sequence of actions necessary when a user wants to return an ebook to a public library.
The same sequence applies to loan extension.
Revoke a license
This diagram illustrates what happens when a provider decides to revoke a license. Once again, this should only happen if the license has been clearly overshared by the user (e.g. with more than 100 devices registered for the license in a short period).