|
|  |
|
 |
| |
| MPEG REL SDK 1.0 for Java™ :: Overview |
|
|
|
| |
|
|
| |
|
1. Introduction
To assist developers in taking advantage of the power of the MPEG REL, ContentGuard is making available the ContentGuard MPEG REL Software Development Kit (SDK) 1.0 for Java™, which advances the state of the art in the integration of the MPEG REL into applications. System and component providers interested in integrating Digital Rights Management functionality into their applications and workflows will immediately benefit from the ability to easily process MPEG REL Licenses, which contain usage rights for digital works. Sample applications that can benefit from the MPEG REL SDK include:
-
Content/Service Labeling Applications; For example, applications that assign usage rights to digital works
-
Content/Service Distribution Application; For example, applications that distribute digital works and/or their respective Licenses
-
Content/Service Consumption Applications;
For example, applications that allow the user to use a digital work in accordance with a License or Licenses
The MPEG REL SDK offers access to MPEG REL information in a very intuitive and easy to understand manner, enabling developers to spend more time focusing on their particular areas of expertise. For example, in a movie player application, the movie player must be able to read a License containing the usage rights and present the appropriate user experience. Using the MPEG REL SDK , the movie player can query one or more relevant MPEG REL Licenses through a high level MPEG REL SDK API and obtain the answer to a specific question, such as "can I play the movie now", instead of manually reading, parsing, validating, and interpreting all of the elements in the Licenses together with all the associated prerequisites.
The MPEG REL SDK also provides developers new integration and customization options to meet their implementation requirements while providing quicker time to market. Examples of the wide array of options enabled by the MPEG REL SDK include:
-
Third-party or user-defined profiles and extensions to the MPEG REL:
User-specific applications using MPEG REL often define their own profiles and/or extensions. Examples include application-specific rights and conditions. The MPEG REL SDK enables user-implemented Plug-ins to support this requirement.
-
Customization of License Interpretation and Condition Validation through Plug-ins:
This enables the applications and services built using the MPEG REL SDK to meet the growing needs of the marketplace. Plug-ins are provided with the MPEG REL SDK along with guides and example source code to develop new Plug-ins. Plug-ins may also be shared among users of the MPEG REL SDK , thus enabling a user to leverage the work done in the rest of the MPEG REL SDK community.
-
The ability to leverage industry standards:
Examples include the use of the MPEG REL SDK with standard XML technologies such as schemas, namespaces and parsers.
|
|
|
2. Specifications
| Supported Operating Systems |
Microsoft® Windows 2000 with service pack 2 or later, NT 4.0 with service pack 6 or later, 98 SE, ME, XP
Any Linux ® operating system capable of installing and running the Sun Java 2 Runtime Environment 1.4 (or later). This version of the MPEG REL SDK was tested on Red Hat Linux 9.0.
Mac OS X version 10.2 or later .
|
| Supported Languages |
Java™ |
| Supported Schemas |
MPEG REL expressions are written in XML. The structure of the XML is governed by XML Schemas. The MPEG REL SDK supports the following Schemas:
- MPEG REL Core
Name space: urn:mpeg:mpeg21:2003:01-REL-R-NS
- MPEG REL Standard Extension
Name space: urn:mpeg:mpeg21:2003:01-REL-SX-NS
- MPEG REL Multimedia Extension
Name space: urn:mpeg:mpeg21:2003:01-REL-MX-NS
Note: All prerequisite schemas referenced by the schemas above, such as xml and xmldsig, are defined by W3C. |
| Installation |
The MPEG REL SDK is distributed as an installable package containing the following elements:
- Binaries and Objects
- Convenient MPEG REL License templates
- Schemas (Core, Standard Extension, Multimedia Extension)
- User documents
- Sample code with build scripts
|
| Documentation |
The MPEG REL SDK is delivered with the following documentation:
- Installation Guide
- User's Guide
- API Programmer's Guide
- Guide to use and create MPEG REL License Templates
|
|
|
|
3. Feature Diagram
|
|
|
4.
High Level MPEG REL SDK 1.0 for Java Feature-Benefit Matrix
| |
Feature |
Benefit |
| Basic |
License creation processing |
- Parses, generates, and validates (using standards-based XML schema methods) MPEG REL Licenses.
- Enables automated creation of Licenses.
- Digitally signs Licenses.
|
| Authorization request response |
- Interprets all rights specified in the MPEG REL Core, Standard Extension, and Multimedia Extension through an easy-to-use interface.
- Validates digital signatures.
- Performs License issuance chaining.
|
| Basic Condition Validation |
Validates two conditions (fixed time interval and maximum count). |
| Extensive use of standards
based XML technologies |
Leverages large community and experience of XML users and technologies |
| |
|
|
| Advanced |
License issuance |
Provides the ability to issue usage Licenses in accordance with distribution Licenses.
|
| Multiple authorization options |
Provides the ability to process and return multiple authorization options when there is more than one option. This enables the user application to select the option (for example, using Condition filtering) that is most appropriate.
|
| Condition Filtering |
- Provides the ability to filter out authorization options with specific conditions to further increase efficiency.
- Enables customized filtering.
|
| Architectural Support of Future MPEG REL Extensions |
- Provides a uniform method of accessing and incorporating new MPEG REL Extensions through namespaces and schemas.
- Reduces maintenance and support costs. |
| Plug-In Architecture |
- Provides the ability to customize the implementation by extending Interpretation and Condition Validation functionalities such as: License repository, signature validation, element matching, pattern matching, condition transaction management, and so on.
- Leverages core functionality in the future by reducing risk of obsolescence.
- Reduces maintenance and support costs. |
| MPEG REL License Templates |
Enables faster deployment of MPEG REL-enabled business models through the use of ready-made and customizable MPEG REL License Templates. |
| Architectural separation of Interpretation and Validation |
Increases implementation and software reuse opportunities for developers. |
|
|
|
5. Technology
Flexible Component Architecture
enabling Customization and Extensibility
Built on the portable Java 2E platform, the MPEG REL SDK 1.0 for Java incorporates a highly-customizable component architecture, which enables developers to right size their applications to meet the complexity of their business requirements. The following table describes the major architectural components:
| Architectural Component |
Description |
| Framework and Framework APIs |
The Framework provides a high-level interface layer to the MPEG REL SDK components and enables communication between them. The Framework provides the foundation for the MPEG REL SDK plug-in infrastructure, which you use to create your own MPEG REL-enabled applications and tools. Using the Framework interfaces, your MPEG REL-enabled application can take advantage of the following main features:
- Reading and parsing the MPEG REL expressions
- Validating MPEG REL expressions against schemas
- Validating that Licenses have not been tampered with
- Registering and managing plug-in components
- Validating requests against Licenses (interpretation)
- Filtering Grants that match authorization requests
- Validating Conditions using a simple, default interface
|
| Condition Management and Condition Validation |
The Condition Manager manages the Condition validation process. The Condition Manager determines which Condition Validator supports a particular Condition and manages the operation of the Condition Validators. An MPEG REL-enabled application calls the Condition Manager to interact with the Condition Validators. |
| Interpretation Plug-ins |
The user can create or use customized or third-party Interpretation Plug-ins to customize the License authorization process. This is useful for integrating and deploying new extensions to MPEG REL and also for presenting more industry or application-specific interpretations. The supplied interpretation Plug-ins in the MPEG REL SDK provide default processing for the MPEG REL Core, Standard Extension, and Multimedia Extension. |
| Condition Validation Plug-in |
The user can create or use third-party Validation Plug-ins to integrate with pre-existing methods of validating the rights and conditions in the MPEG REL. With the MPEG REL SDK, ContentGuard ships Validation Plug-ins that address fixed time interval and maximum count. |
The MPEG REL SDK 1,0 for Java User’s Guide provides information on how to develop customized Plug-ins.
Robust and Easy to Use Functionality for All Experience Levels
On a functional basis, the MPEG REL SDK enables developers to create, validate, and interpret MPEG REL Licenses, and validate licensing conditions through a programmatic interface that can be easily integrated into user applications. Features are provided at each step to accommodate the beginner to advanced MPEG REL user:
| MPEG REL Information Management Functionality |
Description |
| Create |
MPEG REL Licenses can be created either through a manual process of specifying the elements or through a semi-automatic method of customizing supplied MPEG REL License Templates.
- The manual process gives the advanced user the maximum flexibility to create Licenses directly.
- The semi-automatic method enables rapid creation of Licenses using the supplied library of MPEG REL License Templates, which can easily be extended by the User. The User can create new Templates to meet his/her needs through the easy-to-follow steps in the supplied Users Guide. The Templates may also be shared with other users of the MPEG REL SDK to leverage the community experience.
|
| Issue |
MPEG REL Licenses can be issued using any of the following features:
- the License Signer command-line tool, or
- the LicenseSignature class, or
- the License Generator component.
The License Signer command-line tool and the LicenseSignature class can be used to affix a digital signature in a License, thereby issuing the License.
The LicenseSignature class provides a programmatic interface for signing MPEG REL licenses.
The License Generator component can be used to issue Licenses in accordance with distribution Licenses (Licenses that grant issue rights). For example, an eBook distributor is granted a distribution license by the eBook rights holder to issue usage Licenses to end users.
|
| Validate |
MPEG REL Licenses can be read and validated against schemas for structural integrity. Sample MPEG REL-related schemas include:
- MPEG REL Core
- MPEG REL Standard Extension
- MPEG REL Multimedia Extension
Developers will be able to validate against future schemas as they become available from ContentGuard and the development community. |
| Interpret |
Interpretation of MPEG REL Licenses is presented in easy-to-use interfaces. The Interpretation functionality can also be extended by the developer and/or other third-parties through the development and distribution of Plug-Ins used in the authorization process. |
| Validate Condition |
Condition Validation consists of determining whether the conditions associated with the rights are valid at the time of exercise. For example, a condition may consist of a time interval as in "viewing the movie for 1 hour." Even though the right to view may exist, its condition may have expired. The Condition Validation capabilities provided with the MPEG REL SDK 1.0 for Java are:
- Validate ValidityInterval (Fixed time interval)
- Validate ExerciseLimit (Maximum count)
The Condition Validation functionality can be extended by the developer and/or other third-parties through the development and distribution of Plug-Ins used to validate additional conditions. |
|
|
|
6. Summary
MPEG REL SDK 1.0 for Java offers the development community an easy-to-use method of integrating MPEG REL functionality and features into their application. It provides a wide array of options tailored to the needs of the development community combined with a very intuitive and easy-to-understand development interface. The ability to begin anywhere on the business model complexity spectrum is an advantage offered in the MPEG REL SDK architecture. Users can deploy very simplistic MPEG REL Licenses to very complex, multi-tiered Licenses with a single MPEG REL SDK, thereby leveraging the integration investment. |
|
|
|
|
| |
| |
| |
| |
|