WO2000028398A1 - Content supplied as software objects for copyright protection - Google Patents

Content supplied as software objects for copyright protection Download PDF

Info

Publication number
WO2000028398A1
WO2000028398A1 PCT/EP1999/008333 EP9908333W WO0028398A1 WO 2000028398 A1 WO2000028398 A1 WO 2000028398A1 EP 9908333 W EP9908333 W EP 9908333W WO 0028398 A1 WO0028398 A1 WO 0028398A1
Authority
WO
WIPO (PCT)
Prior art keywords
content information
content
procedure
user
information
Prior art date
Application number
PCT/EP1999/008333
Other languages
French (fr)
Inventor
Yevgeniy E. Shteyn
Original Assignee
Koninklijke Philips Electronics N.V.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics N.V. filed Critical Koninklijke Philips Electronics N.V.
Priority to JP2000581519A priority Critical patent/JP2002529844A/en
Priority to KR1020007007594A priority patent/KR20010034000A/en
Priority to EP99957978A priority patent/EP1046095A1/en
Publication of WO2000028398A1 publication Critical patent/WO2000028398A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2812Exchanging configuration information on appliance services in a home automation network describing content present in a home automation network, e.g. audio video content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L2012/2847Home automation networks characterised by the type of home appliance used
    • H04L2012/2849Audio/video appliances

Definitions

  • the invention relates to a method of providing controlled access to content data, in particular as provided to an end-user of consumer electronics equipment or a multimedia computer.
  • the invention also relates to a method of protecting unauthorized copying of digital data content.
  • content and content data refer to data that contains information for the end-user, e.g., alphanumerical text, graphics, video, audio, multimedia, etc.
  • digital content is usually sent or streamed to the end-user from a remote server using cable or Internet, or is provided on a DND, etc.
  • the content is processed by the receiving device (e.g., a computer, a set-top box ) and rendered to the end user.
  • Content can be copyright-protected using "watermarking”: adding digital modifications that are undetectable by the user, but are recognized by the rendering or verifying software or hardware.
  • Another way to protect the content is encryption.
  • the content data is encoded using special encryption algorithms before sending the data to its destination.
  • the stream is decrypted before rendering or storage.
  • Watermarking for example, is highly sensitive to content modifications. If the digital content is modified by software/hardware, which is not aware of the "watermark", the watermark is not guaranteed to persist in the original form. For example, picture resizing, storing the picture in a different file format, applying compression techniques, etc., affect also the watermark and make it less useful. Encryption methods also provide a number of challenges. As computer/processing hardware and software become more powerful and sophisticated, well-known algorithms get "cracked” and are rendered obsolete. Another challenge is standardization. That is, in order to address the mass market with multiple vendors, a content protection method needs to be standard.
  • the invention provides a method of providing or receiving content information, preferably via a network, as one or more software objects.
  • a procedure is encapsulated in the object for access of the information on a runtime environment. That is, the procedure for accessing the information by the end-user is packaged together with the content information for delivery to the end-user.
  • a software object comprises content data plus a method or procedure to process the data.
  • a method is a programmed procedure that is defined as part of a class and that is included in any object of that class.
  • An object can have more than one method.
  • a method in an object can only have access to the data known to that object, which ensures data integrity among the set of objects in an application.
  • Open distributed software architectures such as HAVi, Java/JINI, Home API based on COM or DCOM technology, CORBA and others allow transfer of software objects over a network (Internet, home network, local area network, wide area network, etc.).
  • HAVi the use of COM technology and OLE Automation objects
  • 09/165,683 (Attorney Docket PHA 23.483), filed 10/2/98 for Yevgeniy Shteyn for "CALLS IDENTIFY SCENARIO FOR CONTROL OF SOFTWARE OBJECTS VIA PROPERTY ROUTES";
  • U.S. Serial No. 09/165,682 (Attorney Docket PHA 23,484), filed 10/2/98 for Yevgeniy Shteyn for "CONTROL PROPERTY IS MAPPED ONTO MODALLY COMPATIBLE GUI ELEMENT " ; and U.S. Serial No.
  • a HAVi DCM can be uploaded to an FAV and executed in a Java run-time environment.
  • the DCM can be programmed to implement API's for the rendering, storing, recording or other processing of graphics, audio, video, text, image, etc.
  • the software object works directly with the rendering machine, without intermediate decryption or modification. All operations are controlled by the object itself and hidden from hostile applications.
  • an object-controlled storage API is invoked (for example: Serialization, see further below). Since the object controls the storage (recording) process, the host system has to recreate the object in order to access stored content and therefore its content is protected.
  • the object can affect the quality of recording, the number of times the content can be recorded or rendered and other interactions with the host system.
  • the software object also can be made time-sensitive. For example, a movie object can be leased, i.e., its rendering API can only be used for a certain amount of time - movie playing time, a day, etc...
  • a controlling object does not have to contain all the content. When the content is very large, the object could just keep the reference(s) to content location and does the retrieval as needed. Where necessary or desirable, a chain of objects could control operations. For example, different movie scenes are controlled by different objects.
  • An object can be set up to provide free (trial) access to certain parts of the content and require payments for other. Conditional interaction with system resources, based on user preferences, can be accomplished. Advertisements and promotions can be inserted as separate objects, depending on the level of user access (e.g., via subscription).
  • An object can wrap up binary code, provided the execution environment of the target client is known or can be detected after object interaction with the device. For example, a better rendering algorithm or a binary upgrade can be delivered to a TriMedia machine running Java VM.
  • the proposed method of data content delivery to an end-user through objects is also highly suitable for other usages than copyright protection.
  • email, teleconferencing (via telephone) or videoconferencing can be based on the exchange of software objects for security reasons.
  • electronic monetary transactions are made secure through the communication of software objects.
  • Electronic mail can be implemented as software objects.
  • Transport of an object over a network is accomplished through, e.g., object serialization.
  • Object serialization in Java supports the encoding of objects, and the objects reachable from them, into a stream of bytes, and it supports the complementary reconstruction of the object graph from the stream.
  • Serialization is used for lightweight persistence and for communication via sockets or Remote Method Invocation (RMI).
  • RMI Remote Method Invocation
  • the default encoding of objects protects private and transient data, and supports the evolution of the classes.
  • a separate digital data stream that can be pirated and replicated by hostile parties does not exist in the traditional sense. All what is being sent is the string of bits and it is not possible to the average person to find a clue about its meaning, since procedures and content information are not recognizable from the stream.
  • a class may implement its own external encoding to increase security and is then solely responsible for the external format (source: http:// www.iavasoft.com/ products /jdk/1.1/ docs/guide/ serialization/ index.html). Accordingly, a decryption procedure can be encapsulated in the object, together with encrypted content data. The decryption procedure is then invoked at the receiving end, possibly complemented with an also encapsulated verification procedure verifying the receiver's ID, decryption key, or serial number of the rendering device, etc.
  • a video conferencing system can provide conventional video streaming and object-encapsulated secure audio and/or graphical data.
  • FIGS.1 -5 are block diagrams of examples of a system wherein the method of the invention is implemented.
  • Fig.l is a block diagram of a HAVi system 100 for implementing the method of the invention.
  • System 100 comprises a storage medium 102 and an FAV (Full AV node) 104 that comprises a digital TV in this example.
  • FAV 104 has a Java Virtual Machine 106.
  • Storage medium 102 comprises, for example, a buffer that stores a software object 108 received electronically from outside system 100, e.g., via the Internet after de-serialization, or a DVD or another physical data-carrier that contains the software object, here a HAVi DCM 108 with content data 110 and play-out procedures, represented by rendering API 112.
  • Software object 108 is uploaded to the rendering process on FAV 104 where rendering API 104 directly interacts with Java VM 106.
  • Conditional access to the content can be based on security or on user/system capabilities.
  • the object allows invocation for play-out or storage through API's dedicated to verification.
  • the run time would have to provide an authorization or an identifier that can be verified by the object.
  • parental control can be implemented by a group of objects representing different parts of a movie content.
  • an electronic book can encapsulate graphical objects with access restriction requirements.
  • Fig.2 is a block diagram of a Jini system 200 which uses a JavaSpaces architecture.
  • JavaSpaces is an architecture for creating a distributed operating system and creating repositories for Java-based objects, as well as Java VM's and Java's Remote Method Invocation (RMI) functionality.
  • JavaSpaces implementations provide a mechanism for storing a group of related objects and retrieving them based on value-matching look-up for specified fields. This allows a JavaSpaces server to be used for storing and retrieving objects on a remote system.
  • the JavaSpaces API uses a specific package to provide basic atomic transactions that group multiple operations across multiple JavaSpaces implementations into a bundle that acts as a single atomic operation.
  • the JavaSpaces architecture supports a transaction mechanism allows multi-operation and/or multi-space updates to complete atomically.
  • the term "atomicity" means that all operations grouped under a transaction occur or none of them does.
  • Jini is a technology, also from Sun Microsystems, for networking of devices.
  • Jini is a Java-based software technology that assists in networking PC's and peripherals.
  • a Jini-enabled device When plugged into a network, a Jini-enabled device will broadcast its presence. Network clients that are ready to use that device can request the necessary software from the device itself, bypassing a server or a network administrator. This architecture builds on top of an existing network.
  • System 200 comprises JavaSpaces servers 202 and 204, and a client 206 connected through a network 208.
  • JavaSpaces server 202 or 204 provides a distributed persistence and object exchange mechanism for objects written in the Java programming language. Objects are written in entries that provide a typed grouping of relevant fields. Clients can perform simple operations on a JavaSpaces server to write new new entries, to look-up existing entries, and remove entries from the space. Using these tools a user can write systems that use flow of data to implement distributed algorithms and let the JavaSpaces system implement persistence for the user.
  • server 202 transfers an object (through Serialization) to client 206. The transfer is a lease as specified by Java's
  • a leased resource or service grant is time-based. When the time for the lease has expired the service ends or the resource is freed.
  • server 202 leases a first object to server 204 for temporary storage and a second object to client 206 for temporary storage or rendering.
  • This configuration is relevant to, for example, a video- (or audio-) on-demand service provider, a multi-player video game provider, etc.
  • a similar client-server architecture can be built using COM/DCOM technology of Microsoft, with a COM client on a Windows operating system.
  • Fig.3 is a diagram of a system 300 with a COM/DCOM server 302 and a COM client 304.
  • Server 302 provides object access and object storage.
  • Client 304 can access server 302 using COM or DCOM mechanisms. For a remote location, DCOM is be used. The access mechanism is transparent to client 304.
  • a COM object is transferred into the process on client 304 and an appropriate API is invoked at client 304 in order to produce desirable content.
  • the object has full access to system resources and API's such as DirectShow components from Microsoft.
  • Fig.4 is a diagram of another configuration of a system 400 in the invention.
  • System 400 comprises a server 402 for providing objects and serving as an object repository.
  • System 400 further comprises clients 404 and 406.
  • System 400 is used for, e.g., multi-client interaction for exchange of content such as in videoconferencing.
  • Content objects are placed in server/repository 402 by client 404 and can be retrieved from repository 402 by client 406.
  • Fig.5 is a diagram of a system 500 that has a similar configuration as system 400.
  • System 500 comprises an object server 502 that serves clients 504, 506, 508 and 510.
  • Server 502 functions as an object repository to enable multi-client object interaction.
  • Content objects are placed in server 502 by any of clients 504-510 and can be retrieved by any of the other clients 504-510.
  • System 500 comprises a relay or replication server 512 to serve clients 514 and 516.
  • a content object can be packaged or can expose interfaces based on preferences or access privileges of clients 504-510 and 514-516.

Abstract

Content information such as a movie, an audio file or a textual message is supplied to an end-user in a software object that has an encapsulated procedure for end-user access of the content information in a runtime environment. The object can specify time frame for and manner wherein the content information is to be accessed. Since the procedure is encapsulated in the object together with the content data, and since transport of the object over the Internet is done after serializing, an adequate degree of security is provided against unauthorized play-out or copying.

Description

Content supplied as software objects for copyright protection.
The invention relates to a method of providing controlled access to content data, in particular as provided to an end-user of consumer electronics equipment or a multimedia computer. The invention also relates to a method of protecting unauthorized copying of digital data content. The terms "content" and "content data" as used herein refer to data that contains information for the end-user, e.g., alphanumerical text, graphics, video, audio, multimedia, etc.
Currently, digital content is usually sent or streamed to the end-user from a remote server using cable or Internet, or is provided on a DND, etc. The content is processed by the receiving device (e.g., a computer, a set-top box ) and rendered to the end user. Content can be copyright-protected using "watermarking": adding digital modifications that are undetectable by the user, but are recognized by the rendering or verifying software or hardware. Another way to protect the content is encryption. The content data is encoded using special encryption algorithms before sending the data to its destination. At the destination device or and at an intermediate processor (PC, cable box, set-top box, etc..) the stream is decrypted before rendering or storage.
There are a number of problems associated with these methods. Watermarking, for example, is highly sensitive to content modifications. If the digital content is modified by software/hardware, which is not aware of the "watermark", the watermark is not guaranteed to persist in the original form. For example, picture resizing, storing the picture in a different file format, applying compression techniques, etc., affect also the watermark and make it less useful. Encryption methods also provide a number of challenges. As computer/processing hardware and software become more powerful and sophisticated, well-known algorithms get "cracked" and are rendered obsolete. Another challenge is standardization. That is, in order to address the mass market with multiple vendors, a content protection method needs to be standard. On the other hand, a standard encryption method becomes obsolete relatively fast, is known to specialists and therefore is easy to defeat. It is an object of the invention to provide an alternative method for providing controlled access to content data. It is another object to make digital content more difficult to replicate or to render by unauthorized agents. It is another object of the invention to provide a secure and forward compatible method of digital content distribution. To this end, the invention provides a method of providing or receiving content information, preferably via a network, as one or more software objects. A procedure is encapsulated in the object for access of the information on a runtime environment. That is, the procedure for accessing the information by the end-user is packaged together with the content information for delivery to the end-user. As known, a software object comprises content data plus a method or procedure to process the data. In object-oriented programming, a method is a programmed procedure that is defined as part of a class and that is included in any object of that class. An object can have more than one method. A method in an object can only have access to the data known to that object, which ensures data integrity among the set of objects in an application. Open distributed software architectures such as HAVi, Java/JINI, Home API based on COM or DCOM technology, CORBA and others allow transfer of software objects over a network (Internet, home network, local area network, wide area network, etc.). For more information on software representation, HAVi, the use of COM technology and OLE Automation objects, the following patent documents are incorporated herein by reference: U.S. Serial No. 08/731,624 (Attorney docket PHA 23,169) filed 10/15/96 for Paul Chambers and Saurabh Srivastava for "TASK-DRIVEN DISTRIBUTED MULTIMEDIA CONSUMER SYSTEM"; U.S. Serial No. 09/146,020 (Attorney Docket PHA 23,492), filed 9/2/98 for Yevgeniy Shteyn, for "LOW DATA-RATE NETWORK REPRESENTED ON HIGH DATA-RATE HAVi-NETWORK"; U.S. Serial No. 09/165,683 (Attorney Docket PHA 23.483), filed 10/2/98 for Yevgeniy Shteyn for "CALLS IDENTIFY SCENARIO FOR CONTROL OF SOFTWARE OBJECTS VIA PROPERTY ROUTES"; U.S. Serial No. 09/165,682 (Attorney Docket PHA 23,484), filed 10/2/98 for Yevgeniy Shteyn for "CONTROL PROPERTY IS MAPPED ONTO MODALLY COMPATIBLE GUI ELEMENT"; and U.S. Serial No. 09/107,525 (Attorney Docket PHA 23,438), filed 6/30/98 for Yevgenyi Shteyn and Gregory Gewickey for "DYNAMIC DE-REGISTERING OF DEVICES IN SYSTEM WITH MULTIPLE COMMUNICATION PROTOCOLS".
When transferred to a machine such software objects can interact with its system software. For example, a HAVi DCM can be uploaded to an FAV and executed in a Java run-time environment. The DCM can be programmed to implement API's for the rendering, storing, recording or other processing of graphics, audio, video, text, image, etc. In this case, the software object works directly with the rendering machine, without intermediate decryption or modification. All operations are controlled by the object itself and hidden from hostile applications. When content needs to be stored, an object-controlled storage API is invoked (for example: Serialization, see further below). Since the object controls the storage (recording) process, the host system has to recreate the object in order to access stored content and therefore its content is protected. The object can affect the quality of recording, the number of times the content can be recorded or rendered and other interactions with the host system. The software object also can be made time-sensitive. For example, a movie object can be leased, i.e., its rendering API can only be used for a certain amount of time - movie playing time, a day, etc... A controlling object does not have to contain all the content. When the content is very large, the object could just keep the reference(s) to content location and does the retrieval as needed. Where necessary or desirable, a chain of objects could control operations. For example, different movie scenes are controlled by different objects. An object can be set up to provide free (trial) access to certain parts of the content and require payments for other. Conditional interaction with system resources, based on user preferences, can be accomplished. Advertisements and promotions can be inserted as separate objects, depending on the level of user access (e.g., via subscription).
An object can wrap up binary code, provided the execution environment of the target client is known or can be detected after object interaction with the device. For example, a better rendering algorithm or a binary upgrade can be delivered to a TriMedia machine running Java VM.
The proposed method of data content delivery to an end-user through objects is also highly suitable for other usages than copyright protection. For example, email, teleconferencing (via telephone) or videoconferencing can be based on the exchange of software objects for security reasons. Similarly, electronic monetary transactions are made secure through the communication of software objects. Electronic mail can be implemented as software objects.
Transport of an object over a network, e.g., from the server to the client, is accomplished through, e.g., object serialization. Object serialization in Java supports the encoding of objects, and the objects reachable from them, into a stream of bytes, and it supports the complementary reconstruction of the object graph from the stream. Serialization is used for lightweight persistence and for communication via sockets or Remote Method Invocation (RMI). The default encoding of objects protects private and transient data, and supports the evolution of the classes. A separate digital data stream that can be pirated and replicated by hostile parties does not exist in the traditional sense. All what is being sent is the string of bits and it is not possible to the average person to find a clue about its meaning, since procedures and content information are not recognizable from the stream. A class may implement its own external encoding to increase security and is then solely responsible for the external format (source: http:// www.iavasoft.com/ products /jdk/1.1/ docs/guide/ serialization/ index.html). Accordingly, a decryption procedure can be encapsulated in the object, together with encrypted content data. The decryption procedure is then invoked at the receiving end, possibly complemented with an also encapsulated verification procedure verifying the receiver's ID, decryption key, or serial number of the rendering device, etc.
For the sake of clarity, the downloading of an Applet via the Internet is known. User-access to the Applet requires a browser application residing on the receiving client. The Applet gets executed in the browser application. The browser or plug-in is not part of the Applet. In the invention, the software object gets activated directly in the runtime environment of the receiver (e.g., HAVi runtime Home API runtime [=Windows OS]), Jini runtime) using its own procedures and does not require a browser or any client application in the runtime. Various advantageous aspects of the invention are as listed in the appended claims and any viable combination thereof. For example, a video conferencing system can provide conventional video streaming and object-encapsulated secure audio and/or graphical data.
The invention is explained in further detail and by way of example with reference to the accompanying drawing, wherein: Figs.1 -5 are block diagrams of examples of a system wherein the method of the invention is implemented.
Throughout the drawing same reference numerals indicate similar or corresponding features.
Fig.l is a block diagram of a HAVi system 100 for implementing the method of the invention. System 100 comprises a storage medium 102 and an FAV (Full AV node) 104 that comprises a digital TV in this example. FAV 104 has a Java Virtual Machine 106. Storage medium 102 comprises, for example, a buffer that stores a software object 108 received electronically from outside system 100, e.g., via the Internet after de-serialization, or a DVD or another physical data-carrier that contains the software object, here a HAVi DCM 108 with content data 110 and play-out procedures, represented by rendering API 112. Software object 108 is uploaded to the rendering process on FAV 104 where rendering API 104 directly interacts with Java VM 106. Conditional access to the content can be based on security or on user/system capabilities. In a security-based model, the object allows invocation for play-out or storage through API's dedicated to verification. The run time would have to provide an authorization or an identifier that can be verified by the object. For example, parental control can be implemented by a group of objects representing different parts of a movie content. As another example, an electronic book can encapsulate graphical objects with access restriction requirements.
Fig.2 is a block diagram of a Jini system 200 which uses a JavaSpaces architecture. JavaSpaces is an architecture for creating a distributed operating system and creating repositories for Java-based objects, as well as Java VM's and Java's Remote Method Invocation (RMI) functionality. JavaSpaces implementations provide a mechanism for storing a group of related objects and retrieving them based on value-matching look-up for specified fields. This allows a JavaSpaces server to be used for storing and retrieving objects on a remote system. The JavaSpaces API uses a specific package to provide basic atomic transactions that group multiple operations across multiple JavaSpaces implementations into a bundle that acts as a single atomic operation. The JavaSpaces architecture supports a transaction mechanism allows multi-operation and/or multi-space updates to complete atomically. The term "atomicity" means that all operations grouped under a transaction occur or none of them does. Jini is a technology, also from Sun Microsystems, for networking of devices. Jini is a Java-based software technology that assists in networking PC's and peripherals. When plugged into a network, a Jini-enabled device will broadcast its presence. Network clients that are ready to use that device can request the necessary software from the device itself, bypassing a server or a network administrator. This architecture builds on top of an existing network.
System 200 comprises JavaSpaces servers 202 and 204, and a client 206 connected through a network 208. JavaSpaces server 202 or 204 provides a distributed persistence and object exchange mechanism for objects written in the Java programming language. Objects are written in entries that provide a typed grouping of relevant fields. Clients can perform simple operations on a JavaSpaces server to write new new entries, to look-up existing entries, and remove entries from the space. Using these tools a user can write systems that use flow of data to implement distributed algorithms and let the JavaSpaces system implement persistence for the user. Upon an appropriate request, server 202 transfers an object (through Serialization) to client 206. The transfer is a lease as specified by Java's
Distributed Leasing Specification. Rather than granting services or resources until that grant has been explicitly canceled by whom the grant was made, a leased resource or service grant is time-based. When the time for the lease has expired the service ends or the resource is freed.
This notion of "lease" is especially useful in distributed systems, where different parts of a cooperating group are unable to communicate, e.g., because of a failure of a member of the group or of the connection. According to the diagram of Fig.2, server 202 leases a first object to server 204 for temporary storage and a second object to client 206 for temporary storage or rendering. This configuration is relevant to, for example, a video- (or audio-) on-demand service provider, a multi-player video game provider, etc. A similar client-server architecture can be built using COM/DCOM technology of Microsoft, with a COM client on a Windows operating system. Fig.3 is a diagram of a system 300 with a COM/DCOM server 302 and a COM client 304. Server 302 provides object access and object storage. Client 304 can access server 302 using COM or DCOM mechanisms. For a remote location, DCOM is be used. The access mechanism is transparent to client 304. A COM object is transferred into the process on client 304 and an appropriate API is invoked at client 304 in order to produce desirable content. The object has full access to system resources and API's such as DirectShow components from Microsoft.
Fig.4 is a diagram of another configuration of a system 400 in the invention. System 400 comprises a server 402 for providing objects and serving as an object repository. System 400 further comprises clients 404 and 406. System 400 is used for, e.g., multi-client interaction for exchange of content such as in videoconferencing. Content objects are placed in server/repository 402 by client 404 and can be retrieved from repository 402 by client 406. Fig.5 is a diagram of a system 500 that has a similar configuration as system 400. System 500 comprises an object server 502 that serves clients 504, 506, 508 and 510. Server 502 functions as an object repository to enable multi-client object interaction. Content objects are placed in server 502 by any of clients 504-510 and can be retrieved by any of the other clients 504-510. System 500 comprises a relay or replication server 512 to serve clients 514 and 516. A content object can be packaged or can expose interfaces based on preferences or access privileges of clients 504-510 and 514-516. For more information, reference is made to the relevant Specifications of Java, JavaSpaces and Jini Architecture, all of Sun Microsystems, and of the Component Object Model Specification of Microsoft, available in the public domain and herein incorporated by reference.

Claims

CLAIMS:
1. A method of supplying to an end-user content information (110) in a software object (108) that has an encapsulated procedure (112) for end-user access of the information in a runtime environment (104).
2. The method of claim 1, wherein the procedure enables conditional access to the content information.
3. The method of claim 1, comprising serializing the software object for providing the software object electronically over a network (208).
4. The method of claim 1, wherein the object contains a procedure for enabling play-out of the content information at a play-out device (104).
5. The method of claim 1, wherein the object contains a procedure for enabling storing the content information in a memory (204; 206).
6. The method of claim 1, wherein the providing is comprised in an electronic mail service.
7. The method of claim 1, wherein the providing is comprised in a teleconference service.
8. The method of claim 1, wherein the providing is comprised in a videoconference service.
9. The method of claim 1, wherein the content information comprises audio information.
10. The method of claim 1, wherein the content information comprises video information.
11. The method of claim 1 , wherein the content comprises a movie.
12. A method of receiving content information as one or more software objects that contain a procedure for enabling an end-user to access the content information in a runtime environment (104).
13. The method of claim 12, comprising enabling conditional access to the content information through a conditional access procedure in the object.
14. The method of claim 12, wherein the content information comprises audio information.
15. The method of claim 12, wherein the content information comprises video information.
16. The method of claim 12, wherein the content information comprises a movie.
17. The method of claim 12, wherein the content information comprises alphanumeric information.
18. A method of preparing content information for an end-user, the method comprising packaging the content information (110) in a software object that has encapsulated a procedure (112) for enabling the end-user to access the information in a runtime environment (104).
19. The method of claim 18, wherein the content information comprises a movie.
20. The method of claim 18, wherein the content information comprises alphanumeric information.
PCT/EP1999/008333 1998-11-10 1999-11-01 Content supplied as software objects for copyright protection WO2000028398A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2000581519A JP2002529844A (en) 1998-11-10 1999-11-01 How to supply content as software objects for copyright protection
KR1020007007594A KR20010034000A (en) 1998-11-10 1999-11-01 Content supplied as software objects for copyright protection
EP99957978A EP1046095A1 (en) 1998-11-10 1999-11-01 Content supplied as software objects for copyright protection

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US18953498A 1998-11-10 1998-11-10
US09/189,534 1998-11-10

Publications (1)

Publication Number Publication Date
WO2000028398A1 true WO2000028398A1 (en) 2000-05-18

Family

ID=22697749

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP1999/008333 WO2000028398A1 (en) 1998-11-10 1999-11-01 Content supplied as software objects for copyright protection

Country Status (5)

Country Link
EP (1) EP1046095A1 (en)
JP (1) JP2002529844A (en)
KR (1) KR20010034000A (en)
CN (1) CN1124534C (en)
WO (1) WO2000028398A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001078352A1 (en) * 2000-04-07 2001-10-18 Telia Ab Lending of local resource in a telecommunication and data communication system
EP1164523A2 (en) * 2000-06-08 2001-12-19 Siemens Aktiengesellschaft Method and arrangement for the secure use of a service
JP2002007325A (en) * 2000-06-23 2002-01-11 Shinkichi Morimoto Method and system for distributing digital contents
WO2003040898A1 (en) * 2001-11-08 2003-05-15 Beep Science As An arrangement and a method for content policy control with a trusted environment in a multimedia messaging system
US7644444B2 (en) 2002-10-30 2010-01-05 Ntt Docomo, Inc. Communication device, program and recording media
US7818815B2 (en) 2002-05-17 2010-10-19 Ntt Docomo, Inc. Communication device
US7958213B1 (en) 2000-09-21 2011-06-07 Siemens Enterprise Communications, Inc. Processing electronic messages

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3788201B2 (en) * 2000-06-07 2006-06-21 日本電信電話株式会社 Information capsule management method and storage medium storing information capsule management program
JP4532068B2 (en) * 2001-12-07 2010-08-25 パナソニック株式会社 Content distribution system and method
EP1470497A1 (en) 2002-01-12 2004-10-27 Coretrust, Inc. Method and system for the information protection of digital content
KR100724439B1 (en) * 2005-03-22 2007-06-04 엘지전자 주식회사 Method of protecting rights object
US7747875B2 (en) * 2005-06-03 2010-06-29 Warner Bros. Entertainment Inc. System to ensure that all audio-visual optical disc types are properly screened for watermarks
CN100437612C (en) * 2005-10-31 2008-11-26 华为技术有限公司 Method and device for protecting content
BRPI0821205B1 (en) * 2007-12-20 2019-07-30 Koninklijke Philips N.V. METHODS FOR PROVIDING A DIGITAL PROGRAM AUTHORIZATION, FOR DELIVERING DIGITAL CONTENT ON A DEVICE AND FOR AUTHENTICATING THE VALIDITY OF THE DEVICE THAT DELIVERS DIGITAL CONTENT, AND DEVICE FOR RENDING A DIGITAL CONTENT.

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5420866A (en) * 1994-03-29 1995-05-30 Scientific-Atlanta, Inc. Methods for providing conditional access information to decoders in a packet-based multiplexed communications system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5420866A (en) * 1994-03-29 1995-05-30 Scientific-Atlanta, Inc. Methods for providing conditional access information to decoders in a packet-based multiplexed communications system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JAVA SECURITY, XP002092325, Retrieved from the Internet <URL:http://SWISSNET.AI.MIT.EDU/~JBANK/JAVAPAPER/JAVAPAPER.HTML> [retrieved on 19990204] *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001078352A1 (en) * 2000-04-07 2001-10-18 Telia Ab Lending of local resource in a telecommunication and data communication system
EP1164523A2 (en) * 2000-06-08 2001-12-19 Siemens Aktiengesellschaft Method and arrangement for the secure use of a service
EP1164523A3 (en) * 2000-06-08 2006-10-11 Siemens Aktiengesellschaft Method and arrangement for the secure use of a service
JP2002007325A (en) * 2000-06-23 2002-01-11 Shinkichi Morimoto Method and system for distributing digital contents
US7958213B1 (en) 2000-09-21 2011-06-07 Siemens Enterprise Communications, Inc. Processing electronic messages
WO2003040898A1 (en) * 2001-11-08 2003-05-15 Beep Science As An arrangement and a method for content policy control with a trusted environment in a multimedia messaging system
US7818815B2 (en) 2002-05-17 2010-10-19 Ntt Docomo, Inc. Communication device
US8087078B2 (en) 2002-05-17 2011-12-27 Ntt Docomo, Inc. Communication device
US7644444B2 (en) 2002-10-30 2010-01-05 Ntt Docomo, Inc. Communication device, program and recording media

Also Published As

Publication number Publication date
JP2002529844A (en) 2002-09-10
CN1292897A (en) 2001-04-25
EP1046095A1 (en) 2000-10-25
CN1124534C (en) 2003-10-15
KR20010034000A (en) 2001-04-25

Similar Documents

Publication Publication Date Title
JP4884978B2 (en) Secure multimedia transfer system
KR100941385B1 (en) Conditional access system
CA2539203C (en) Method and system for controlling video media
CA2538831C (en) Preventing unauthorized distribution of media content
EP1625479B1 (en) Method and system for controlled media sharing in a network
JP4975962B2 (en) A system for sending and dynamic presentation of multimedia assets on networks with limited line capacity
US8813246B2 (en) Method for playing digital contents protected with a DRM (digital right management) scheme and corresponding system
US20020077986A1 (en) Controlling and managing digital assets
EP1046095A1 (en) Content supplied as software objects for copyright protection
JP2003132173A (en) Electronic media container
EP1523133B1 (en) Inter-device authentication system, inter-device authentication method, communication device, and computer program
US20080060081A1 (en) State Info in Drm Identifier for Ad Drm
KR100740196B1 (en) Method for transmitting asynchronous data in a home network
WO2008018310A1 (en) Application execution device, method, and program
WO2001022682A2 (en) Method and system for providing real-time streaming services
Park et al. Contents distribution system based on MPEG-4 ISMACryp in IP set-top box environments
KR101160263B1 (en) DLNA Home Network and Method for Managing Digital Rights Therein
Viana et al. iDTV Home Gateway convergence: an open software model integrating the Ginga middleware and the OSGi framework
TWI252663B (en) Method and system for protecting media data
STANDARD Media Device Control Framework (MDCF)
STANDARD Media Device Control—Part 1: Framework (MDCF)

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 99803708.7

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): CN JP KR

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

WWE Wipo information: entry into national phase

Ref document number: 1020007007594

Country of ref document: KR

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1999957978

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1999957978

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020007007594

Country of ref document: KR

WWW Wipo information: withdrawn in national office

Ref document number: 1999957978

Country of ref document: EP

WWR Wipo information: refused in national office

Ref document number: 1020007007594

Country of ref document: KR