Core library - Public working docs

Download Report

Transcript Core library - Public working docs

GA15 of the Digital Media Project
Report of Ad hoc Group on Reference
Software, Conformance and
Demonstrations
Tiejun Huang
Institute for Digital Media
Peking University, China
18th,Jul. 2007
Chillout from GA14 to 15
•
•
•
•
Source code progress
Running Chillout
New Chillout Web
Chillout Guys List
Chillout OSS Snapshot
• From GA14@May15 to GA15@Jul18,
– Added:1,778 files
– Deleted:268 files
– Updated:90 files
– Total 8,144 files up to now
– Total size from ~150MB to 311MB
Chillout Source code Evolvement
Chillout Source code Evolvement
Commits by date
34
commits
27
filippo
jianping
joji
jooyoung
xiaofan
xing
xinghua
xyli
20
13
6
21/07
23/07
24/07
25/07
26/07
27/07
28/07
29/07
30/07
week
Statistics of revision in last 9 weeks
Chillout SVN Snapshot
New Website
Thanks to Martin Springer
Welcome contribution!
Chillout Guys
• 39 guys in Chillout
Wiki or maillist
– 4 “Graduated from
Chillout”
– 2+ boarding
• From 11countries:
AU,AT,CN,DE,ES,IN,I
T,JP,PT, KR,UK
Running Chillout
• Online Servers
– CPD
– LPD
• Servers online soon
– CID,DID (EJBCA)
• Standalone Devices for End User
– SAV for Windows can be download
– CCD ongoing
Background Information –
Chillout Overview
•
•
•
•
•
From DMP to Chillout
Chillout Architecture
Chillout Core Library
Chillout Auxiliary Library
Chillout Application / Devices
Part 0
From DMP to Chillout
From DMP to Chillout
• DMP - the official website for the organization and it’s
specifications
– at http://www.dmpf.org
• Chillout - the IDP OSS Reference Software
– Introduction information at http://chillout.dmpf.org/
– Details for developing at http://wiki.dmpf.org
– Source code at http://dmp.jdl.ac.cn/svn/chillout
• Evolving Chillout vs. Fixed AD#7 Doc
– Mapping ?
– The Report is a snapshot of the evolving Chillout at DMP GA14
(May 17-18 2007)
Homepage of Chillout at http://chillout.dmpf.org/
Chillout
Chillout Wiki at http://wiki.dmpf.org/
Part 1
The Chillout
Architecture
Language requirements
• Chillout is written in the Java programming
language.
– Java is an outstanding language
– it possesses excellent cross-platform capabilities
– it is supported by many international companies
operating in various fields.
– plenty of Open Source software Development Tools
available
• any other programming language could be
chosen instead of Java
• cross-language implementations are starting
Software architecture/1
• Because of the nature of Digital Media
technologies and business models, only a
toolkit approach for DRM can succeed
• users may
– chose a subset of the IDP tools
– configure them (as specified in the
specification) for their specific needs
– ...use them straight away 
Software architecture/2
Applications
Core library
Auxiliary
library
Java platform
Software architecture/3
• Java Platform Layer:
– the Java running environment on which Chillout software
depends on. It comprises of the Java Development Kit (JDK),
Apache Tomcat servlet container the Apache Axis SOAP
implementation, the Java Media Framework, etc.
• Core library:
– library of classes implementing the Primitive functions defined in
the Technical Specification. This software is normative as much
as the IDP-2 specification [3], in the sense that the two are
meant to be technically aligned.
• Auxiliary library:
– library of classes encapsulating the functionalities that every
device must have when operating in a real environment. These
modules may be replaced by those a developer needs.
• Applications:
– sample applications including a number of Devices, such as a
SAV, a Content Creation Device (CCD), a License Provider
Device (LPD), a Content Provider Device (CPD), etc.
Chillout Source code Organization
Part 2
The Chillout
Core Library
Overview of the Core Library
• The Chillout Core Library is made of
the following classes:
– the Represent classes
– the Package classes
– the Protocol classes
Chillout Core
The Represent Classes
• The Chillout Core library provides a set of
classes to easily generate any XML structure
defined in IDP, and conversely to extract any
information contained within.
• This is achieved by employing an Open
Source software tool called Java Architecture
for XML Binding (JAXB):
– offline: to generate the classes to handle XML
– at runtime: to
• Un-marshal XML structures to Java objects (the
instances of the classes generated from the
schemas).
• Marshal Java objects into XML structures.
• Verify if the incoming xml document is valid or not
The Package classes
• The Core library provides a set of
functions to
– bundle media resources with the DCI and
other information in a file named DCF
– extract this information from a DCF.
• The DMP Content Format is based on the
MPEG-21 File Format.
• The Package classes allow any Java
application to access the information
contained in a DCF or to create a DCF
based on data in input.
The Protocols classes
• Devices in a media Value Chain require a
standard protocol to communicate.
• The description of the various protocols is done
in WSDL.
• The Core library provides a set of functionalities
to generate and parse the XML messages
exchanged between devices while performing a
Protocol
• The Open Source Axis tool is used to send and
receive such messages over the SOAP protocol
Part 3
The Chillout
Auxiliary Library
What is the Auxiliary Library
• It comprises of those classes
encapsulating the functionalities of a
number of modules required for devices to
operate according to the IDP specification.
• Commercial applications may well decide
to implement those key DRM components
in a proprietary way, even in hardware.
• Chillout at this stage only provides a
reference implementation of them.
Auxiliary Library Components
• The Security Manager:
– a module incorporating all those functionalities such
as securely storing digital certificates and licences,
performing operations involving Digital Signatures,
etc...
• The DRM Processor:
– a SAV module in charge of instantiating and
managing the DRM Tools protecting a media resource
• DRM Tools:
– modules performing DRM functions such as
decryption, key management, etc.
Auxiliary Library Components
Part 4
The Chillout
Application / Devices
Devices overview
• Chillout provides a set of devices that are easy
to configure and run.
• This helps promoting adoption of Chillout and
the DMP specification by enabling those users
– not experienced in the DRM field
– not enough skilled in programming
– working for small companies
to experiment with a technology that so far could
only be used by those experts in the field.
• The Applications category contains source and
executable Java code built on top of the Core
classes, and integrated with Auxiliary classes.
DMP Devices in Value Chain
License
Identific.
Device
License
Provider
Device
Content
Identific.
Device
Content
Creation
Device
DRM Tool
Identific.
Device
DRM Tool
Provider
Device
Content
Provider
Device
End-User
Device
(SAV)
Domain
Mgmt
Device
Domain
Identific.
Device
End-User
Device
(SAV)
PAV
eXternal
Device
Device
Identific.
Device
End-User
Device
(PAV)
DMP
Devices
Chillout CPD
Chillout CPD
SAV on Windows
SAV on Mac
SAV on Linux
Chillout vs. AD#7
• Chillout: an OSS implementation of the DMP IDP
specification, managed by an active open source
community dedicated to foster adoption of interoperable
DRM.
• DMP Chillout itself can create an open and fair security
infrastructure that can be employed for a variety of uses.
• By mapping the evolving Chillout to a fixed Reference
Software shell, Fixed DMP AD#7 can assist various DMP
implementation in a active manner
Thanks
Welcome to
DMP Chillout Community