Skip to content

Sequence diagrams

L. Le Meur edited this page Mar 23, 2020 · 6 revisions

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.

LCP server encryption sequence diagram

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).

LCP license acquisition sequence 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.

LCP existing license sequence diagram

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.

LCP licensed publication acquisition sequence diagram

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".

LCP device/license registration sequence diagram

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.

LCP license update sequence diagram

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.

LCP license ebook return sequence diagram

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).

LCP license license revocation sequence diagram