The Digital Media Project

Source

GA15

Date

2007/07/20

Title

CCD and SAV walkthrough

No.

1039/GA15

 

 

CCD and SAV walkthrough

 

1          SAV walkthrough

The following walkthrough shows how a Stationary Audio and Video Device can be employed by a User to consume a Governed Content.

 

 

User U wants to play a Content Item:

 

a.      Content Item is of any un-Governed media content types (e.g. mp4)

                           i.      Player Manager checks that it is not DCI/DCF

                         ii.      Player Manager creates an instance of Processor Bridge (PB) communicating the Resource to play

                        iii.      PB creates an instance of/communicates to the Processor, passing the Resource to play

                       iv.      Processor sets up the media processing chain and play the Resource:

1.      A demux is instantiated, based on the file extension

2.      The demux reads the container headers and finds information on the ESs

3.      Appropriate decoders are instantiated and connected to the demux output

4.      Appropriate renderers are instantiated and connected to the decoders output

5.      The  media processing chain starts to consume the Resource

                         v.      An ERROR_CODE is sent back if any Errors are reached by Processor / PB

b.      Content Item is a DCF/DCI

                           i.      Player Manager checks that it is DCI/DCF

                         ii.      Player Manager creates an instance of DRM Manager

                        iii.      Player Manager asks the DRM Manager to parse the DCF and the DCI

                       iv.      DRM Manager returns

1.      a failure value (all possible error codes TBD ) if something went wrong

2.      a handler to a DCIParser class

                         v.      Player Manager can either

1.      use DCIParser class to shows the contents of the DCI to the User

2.      query DRM Manager to retrieve content information hold by DCIParser class

                       vi.      User chooses a Resource to play.

1.      Player Manager asks DRM Manager to checks if the Resource is:

2.      non-Governed and non-Protected

a.       DRM Manager returns a dmp2didl:Resource for the Resource

b.      Player Manager parse the passed information to extract Resource information (mimetype, etc...)

c.        goto a

3.      Governed but non-Protected

a.       Player Manager asks the DRM Manager to checks whether the User has a License (either in the DCI or in the Security Manager) granting the Right to play the Governed Resource.

b.      DRM Manager returns:

                                                                                                   i.      False (No, User has no Licence):

1.      Player Manager prompts the User to request a License from the LPD specified in the Content or to join a Domain

2.      if successful:

a.       Player Manager shows the User that now he can play the content

3.      if not successful:

a.       Player Manager shows the User some problems occurs

                                                                                                 ii.      dmp2didl:Resource (Yes, the User has a Licence and can play straight away)

a.       DRM Manager returns a dmp2didl:Resource for the Resource

b.      Player Manager parse the passed information to extract Resource information (mimetype, etc...)

c.       goto a

                                                                                                iii.      An UserQuery Message: User must agree to a text or to some actions (e.g. CC license or  generate an ER) before play can occur:

1.      Player Manager prompts text to the User and wait for agreement

2.      DRM Manager returns a dmp2didl:Resource for the Resource

3.      Player Manager parse the passed information to extract Resource information (mimetype, etc...)

4.      goto a

4.      Governed and Protected

a.       Repeat from 2 above, except that, rather then performing "goto a":

                                                                                                   i.      DRM Manager extracts the Decryption key from the valid License for the Protected Resource

                                                                                                 ii.      DRM Manager decrypts this key by employing the Security Manager

(we suppose SAV architecture in java is a secure environment)

                                                                                                iii.      DRM Manager inserts this key in clear text in a KeyData message (in a dmp2rk:Key element) for each DRM Tool specified in the Protected Asset

(just one key is used for all DRM Tools)

                                                                                               iv.      DRM Manager returns to Player Manager a dmp2rdm:InitialiseDRMProcessor message, including all the information reached above (i iv)

                                                                                                 v.      Player Manager creates an instance of DRM Processor Bridge (DRM PB), communicating the Resource to play and the dmp2rdm:InitialiseDRMProcessor

                                                                                               vi.      The DRM PB creates an instance of/communicates to the DRM Processor

                                                                                              vii.      The DRM PB establishes a SAC with the DRM Processor

1.      DRM Manager Encrypts the dmp2rdm:InitialiseDRMProcessor message

2.      sends the dmp2rdm:InitialiseDRMProcessor message to DRM Processor

                                                                                            viii.      DRM Processor decrypts the dmp2rdm:InitialiseDRMProcessor message

                                                                                               ix.      DRM Processor parses the dmp2rdm:InitialiseDRMProcessor and get all essential DRM Tools

                                                                                                 x.      DRM Processor establishes a SAC with the DRM Tools

                                                                                               xi.      DRM Processor initializes DRM Tools

                                                                                              xii.      DRM Processor sends KeyData message (in a dmp2rk:Key element) to appropriate DRM Tool

                                                                                            xiii.      DRM Processor configure the media processing chain

1.      A demux is instantiated, based on the file extension

2.      The demux reads the container header and finds information on the Ess

3.      Appropriate decoders are instantiated and connected to the demux output

4.      Appropriate renderers are instantiated and connected to the decoders output

                                                                                            xiv.      DRM Processor setup link between DRM Tools and control points in media processing chain

                                                                                             xv.      DRM Processor play the protected Resource:

1.      Protected Resource entering a control point is passed to appropriate DRM Tool to be processed

2.      Resource in clear text is sent back to control point and then be forwarded to next node in the media chain

3.      After the Resource passed through all control points, it is rendered

                                                                                            xvi.      A NotifyToolEvent or NotifyDRMProcessorEvent is sent back if any Errors are reached by Processor / PB

 

2          CCD walkthrough

The following walkthrough shows how a Content Creation Device can be employed by a User to create Governed Content.

 


 

Add new Resource walkthrough

 

1)      User inserts a new record  in the CCD GUI for each Resource (local/remote) he wants to publish. This information includes Resource metadata (like title, etc...) and Resource ID

(a new layer to add a record for a remote Resource has to be defined)

 

Create a new content item walkthrough

 

1)      The User selects to create a new DCI

2)      The CCD GUI show the list of all available Resources and the location of the Resources and the User checks a checkbox next to the Resources he wishes to include in the DCI

3)      The CCD GUI asks the User, for each checked Resources, how shall be made available. The following options are available:

a)      Non-governed: goto 5)

b)      Governed only by means of a License (Open Release-like approach) goto 4)

c)      Governed by License and protected by DRM Tools:

i)        CCD GUI shows the list of DRM Tools available on the CCD file system (characterised by e.g. Tool ID and Tool description)

ii)       If the User chooses:

(1)   a Single DRM Tool: he also needs to specify the Control Point in which such Tool shall operate

(2)   a ToolPack: he does not need to specify any Control Points

iii)     The User specifies further information needed by the chosen DRM Tool(s) to process the Resource (e.g. encryption key(s), watermark payload, initialisation data, etc.)

iv)     For each Governed Resource:

(1)   CCD GUI asks the DMPContentBuilder to create the dmp2rdm:InitialiseDRMProcessor including the ProtectedAsset using the information reached above

(2)   CCD GUI creates an instance of DRM Processor Bridge (DRM PB), communicating the Resource to crypt and the dmp2rdm:InitialiseDRMProcessor

(3)   The DRM PB creates an instance of/communicates to the DRM Processor, passing the Resource to crypt and the dmp2rdm:InitialiseDRMProcessor

(4)   DRM Processor parses the dmp2rdm:InitialiseDRMProcessor and get all essential DRM Tools

(5)   DRM Processor initialize DRM Tools

(6)   DRM Processor Send KeyData message (in a dmp2rk:Key element) to appropriate DRM Tool

(7)   DRM Processor configure the media processing chain

(a)    A demux is instantiated, based on the mimetype specified in the ProtectedAsset

(b)   The demux reads the container header and finds information on the ESs

(c)    Appropriate decoders are instantiated (if needed)

(8)    DRM Processor setup link between DRM Tools and control points in media processing chain

(9)    DRM Processor create the protected Resource:

(a)    Resource entering a control point is passed to appropriate DRM Tool to be processed

(b)   Processed Resource is sent back to control point and then be forwarded to next node in the media chain

(c)    After the Resource passed through all control points, it is written to filesystem

(10)            If any Errors are reached by Processor / PB a NotifyToolEvent or NotifyDRMProcessorEvent is sent back, otherwise CCD GUI asks DMPContent Builer to request a new resource ID to CID

4)      For each Governed Resource:

a)       CCD GUI asks the User to specify (either or both):

i)        License Reference (LPD url) from where the License for the Governed Resource can be obtained (and eventually give instructions to the LPD on how to issue licences when requests by SAVs will be made)

ii)       Licence

(1)   By performing CCD LPD protocol specifying some conditions

(2)   Selection a well-known licence

b)      The CCD GUI ask DMPContent Builder to includes the License and/or the License Reference into the DCI that will be created

5)      For each Resource:

a)      CCD asks the User to specify whether the Resource shall be made available in the DCF, Streaming from a Content Provider Device or available in P2P network

i)        File: CCD asks the DMPContentBuilder to include the Resource in the DCF

ii)       Streaming: CCD asks the User to specify further information such as the CPD URL and additional Streaming instructions for the Resource

iii)     P2P: (a new layer to remote the Resource has to be defined)

b)      CCD asks the DMPContent Builder to generate the DCI

c)      The CCD CID protocol is performed to request a new Content ID to the CID

d)      If at least one resource was specified to be available in File the DCF is created

e)      DMPContent Builder performing the CCD CPD protocol

 

Acquire new DRM Tools walkthrough

 

1)      User may specify a DRM Tool Provider Device from which the CCD may obtain more DRM Tools than those available on the file system. In this case the CCD will perform the CCD TPD protocol and download the selected DRM Tools