MIPAMS platform has evolved from its first description in [TOR04a] to its current state thanks to the work done in different research projects [AXM04a] [XAC05a] [MAC06a]. This evolution is briefly described next, as it has followed several steps. The original platform modules are shown in Figure 15.
Figure 15. DMAG MIPAMS Original Platform.
The functionality of each module represented in the architecture is the following:
- Accounting server: Keeps track of what happens in the system, including statistics and traces.
- Adaptation server: It performs the adaptation of the content depending on the characteristics of the final user terminal.
- Certification server: It certifies the entities present in the system, including other modules and final users. It includes registration, authentication or key delivery.
- Content server: It provides the content that final users may request. It can be internally decomposed into several modules, for instance, if one wants to separate digital items describing resources from the resource itself or if the content is stored in an external system.
- Event server: Receives events information associated to content usage in order to advise the author or distributor of the content, if needed.
- License server: It provides licensing functionality needed to access the content. It includes license creation and license validation.
- Protection tools server: It stores the tools needed for the protection of content.
The second version of the architecture was published in [TOR05a]. In it, the servers and its functionality were refined and it was established the relationship between the different servers present in the architecture, as shown in Figure 16.
Figure 16. DMAG MIPAMS First Evolution.
The functionality of each module represented in the architecture is the following:
- Adaptation server. It performs the adaptation of content and its associated metadata, depending on transmission, storage and consumption constraints. The adaptation of metadata can also involve the adaptation of the related licenses (in fact, the creation of new ones), as derived objects or content can be seen as new creations with regard to original ones.
- Certification server. It includes registration, authentication and verification of the actions done by the user over trusted tools, like viewer, browser or editor.
- Content server. Same as the original one.
- Governance server. The governance server includes the following functionality: license generation, license storage, authorisation and translation support. It corresponds to the original License server.
- Protection server. It is responsible for protecting the content or digital objects, which become protected objects, mainly using encryption techniques and managing the encryption keys. It can also provide other protection mechanisms, like scrambling.
- Supervisor server. It receives event reports related to content usage or user blocking requests from different modules of the architecture. When a blocking request is received, the Supervisor immediately blocks a user, preventing him the access to the system. It corresponds to the original Accounting and Event servers.
The work done in several research projects helped in the refinement of the architecture and the services provided. In [TOR08a], MIPAMS architecture was completely described almost in its current shape. This version of the architecture was already validated in the research projects AXMEDIS [AXM04a], VISNET-II [VIS06a] and GILDDA [GIL07a]. Figure 17 shows the servers present at that precise moment and the relationship between them. These relationships are represented as arrows, labelled with the operations used.
Some servers were revised in this version. In particular, the Certification Server was decomposed into the Registration Server, the Supervision Server (formerly Supervisor Server) and Certification Authority. The functionality of these new servers was as follows:
- Certification Authority: It issues X.509 [IET02a] for the different components and actors (users) in the system.
- Registration Server: It registers actors and tools. The registration of a user has a certificate as result. The registration of a tool allows this tool to be verified when installed on user’s devices.
- Supervision Server: It authenticates and supervises actors and system components.
Moreover, it is responsible for extracting and registering a fingerprint for installed tools so that they can be verified during their whole life operation and requesting the tool certificate to the Certification Authority. It also verifies the user tool integrity during its operation by checking its fingerprint, registered during certification. Moreover it receives the action reports regarding content consumption or other relevant issues in the system as e.g. license generation.
Finally, the servers evolved to become the current services, which have maintained the underlying core functionality whilst removing the operations which were not needed or were too complex to be implemented in a real scenario. To mention a few, common functions maintained from the original MIPAMS architecture are object registration using MPEG-21 DID, license formalisation and authorisation using MPEG-21 REL or event reporting using MPEG-21 ER, which have just been reorganised. For instance, the License server changed its name to Governance server and it corresponds now to License and Authorization services. Another example is Content Server, which has been decomposed into Object Registration and Content services, separating object metadata and structure from resources. This version of the architecture has also been validated in several research projects like DRM-MM [DRM05a], MCM-LC [MCM09a], IPOS-DS [IPO07a] [TOR09a] [TOR09b], Musiteca [MUS08a] and Culturalive [CUL09a]. Figure 18 depicts the MIPAMS architecture. A general overview of its components and the different services being offered (in alphabetical order) is presented in the next subsection.
Figure 18. DMAG MIPAMS Architecture.