Digital rights management integrated service solution

The present disclosure provides a system for accessing content secured according to differing digital rights management protocols. The system comprises a device that presents the content and a client component loaded on the device that uses and requests content according to a first digital rights management protocol. The system includes a first content server that receives a request for and provides content according to the first digital rights management protocol and a second content server that receives a request for and provides content according to a second digital rights management protocol. A mediation component maps requests and responses between the client component and the second content server, mediating between the first and second digital rights management protocols. The disclosure contemplates mediating between open digital rights language (ODRL) and extensible right markup language (XrML) digital rights management protocols as well as other digital rights management protocols.

CROSS-REFERENCE TO RELATED APPLICATIONS

Not applicable.

REFERENCE TO A MICROFICHE APPENDIX

Not applicable.

FIELD OF THE INVENTION

The present invention is directed to computer software, and more particularly, but not by way of limitation, to a system and method for digital rights management.

BACKGROUND OF THE INVENTION

Traditional rights management of physical materials benefits from the physical nature of the material being protected, as this provides some limitation to the ease with which this content can be copied or otherwise stolen. Digital files, however, can be very easily copied, and already copyright violations are widespread, as for example illegal downloading of music files. Digital rights management (DRM) technology addresses the need to identify, protect, monitor, and track digital materials and their use.

Several DRM protocols or standards have emerged to support secure, authorized access to digital materials including extensible rights markup language (XrML), open digital rights language (ODRL), a Sony proprietary content management protocol, and an Apple Computer proprietary content management protocol, just to name a few.

DRM protocols permit a device to download a digital file from a content provider and to access this file, for example a digital music file, a fixed number of times within a fixed time window in exchange for charging a fee to a credit card or to an account with the content provider. For example, an individual might download a song performed by a popular artist to an Internet enabled audio system for five plays over the next seven days.

SUMMARY OF THE INVENTION

The present disclosure provides, according to one embodiment, a system for accessing content secured according to differing digital rights management protocols. The system comprises a device that presents the content, and a client software component loaded on the device that uses and requests content according to a first digital rights management protocol. The system includes a first content server that receives a request for and provides content according to the first digital rights management protocol, and a second content server that receives a request for and provides content according to a second digital rights management protocol. A mediation component maps requests and responses between the client software component and the second content server, mediating between the first and second digital rights management protocols. The disclosure contemplates mediating between open digital rights language and extensible right markup language protocols as well as other digital rights management protocols.

In one embodiment, a system is provided for executing a computer program on a wireless mobile device by loading the computer program into the wireless mobile device, either wholly or in a sequence of segments, at the time the wireless mobile device desires to execute the computer program. The system comprises a wireless communication network and an application server which receives a request for a segment of the program or the whole program and returns the segment of the program or the whole program. The system also includes a mobile device which desires to execute the computer program and requests that the application server provide a segment of the program or the whole program over the wireless communication network. The wireless communication network may include a base transceiver station in radio communication with the wireless mobile device, a base station controller in communication with the base transceiver station, and a mobile switching center in communication with the base transceiver station. The mobile switching center is in communication with either the public switched telephone network or the packet data network. The application server attaches to the wireless network either through the packet data network or the public switched telephone network.

In one embodiment, a method is provided for executing a computer program on a wireless mobile device by loading the program into the wireless mobile device, either wholly or in a sequence of segments, at the time the wireless mobile device desires to execute the program. The method comprises downloading a part of the program to the wireless mobile device from the wireless network, executing the part of the program, downloading the next part of the program to the wireless mobile device, executing this next part of the program, and so on until as much of the program as is desired is executed.

In one embodiment, a system for accessing content according to any of several content management protocols is disclosed. The system comprises a first mobile device which can present content and a client software component installed in the first mobile device which can use the content according to a first content management protocol. The system also includes a second mobile device which can present content and a client software component installed in the second mobile device which can use the content according to a second content management protocol. The system includes a multi-protocol content server in communication with the first and second mobile devices which is able to receive content requests and provide content according to the several content management protocols.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

It should be understood at the outset that although an exemplary implementation of one embodiment of the present disclosure is illustrated below, the present system may be implemented using any number of techniques, whether currently known or in existence. The present disclosure should in no way be limited to the exemplary implementations, drawings, and techniques illustrated below, including the exemplary design and implementation illustrated and described herein.

Digital rights management (DRM) technology addresses the need to identify, protect, monitor, and track digital materials and their use. Digital materials may be referred to as content and may include text content, audio content, video content, music content, audio/video content, and encrypted content. With several competing DRM standards or protocols deployed to secure and manage access to content, the need for devices to interoperate with different DRM protocols arises. For example, if a listener attempts to download a music audio to an ODRL based playback device from a content provider who has chosen to protect and manage content using XrML, the attempt will fail. Intelligent devices with large resources may be able to store DRM client programs to interact with several prevalent DRM protocols concurrently. Mobile devices or low cost devices, however, may have limited memory resources and may be capable of storing only one DRM client program supporting a single DRM protocol.

Turning now toFIG. 1, a block diagram depicts the prior art for ODRL and XrML access to content. An ODRL client12is in communication with an ODRL license server14and with an ODRL content server16. The ODRL client12requests a content license or digital certificate from the ODRL license server14, and the ODRL license server14returns the license or digital certificate to the ODRL client12. The ODRL client12requests content from the ODRL content server16, sending the license or digital certificate encapsulated in this request. The ODRL content server16returns the content to the ODRL client12along with a rights statement. A rights statement describes the content access rights granted to the ODRL client12which may include details specifying how the ODRL client12may use the content (view, copy, or print), how many times the ODRL client12may use the content, and a period of time over which these rights are granted to the ODRL client12. The ODRL client12consumes the content (viewing the content, playing the content, or otherwise using the content) and sends a usage report to the ODRL license server14.

An XrML client18is in communication with an XrML license server20and with an XrML content server22. The XrML client18requests a content license or digital certificate from the XrML license server20, and the XrML license server20returns the license or digital certificate to the XrML client18. The XrML client18requests content from the XrML content server22, sending the license or digital certificate encapsulated in this request. The XrML content server22returns the content to the XrML client18along with a rights statement describing the content access rights granted to the XrML client18. The XrML client18consumes the content and sends a usage report to the XrML license server20.

At this level of detail, the general interactions to obtain access to content are similar. However, the ODRL client12is not able to access the XrML content managed by the XrML content server22, and the XrML client18is not able to access ODRL content managed by the ODRL content server16due to incompatibilities between the two protocols. Similar incompatibilities may prevent interoperation among other DRM standards or protocols.

Turning now toFIG. 2, a DRM integrated access system50is depicted. The present disclosure may employ multiple license servers, such as a first license server and a second license server, where for example, the first license server may be the ODRL license server14and the second license server may be the XrML license server20. It will be appreciated however that the other types and/or combinations of license servers may be used as well. A translation server52, which may also be referred to as a mediation component, is in communication with the ODRL client12, the ODRL license server14, the ODRL content server16, the XrML client18, the XrML license server20, and the XrML content server22. The translation server52is operable to map, translate, or mediate requests for content according to a first content management protocol into a request for content according to a second content management protocol. The translation server52is further operable to map, translate, or mediate responses according to the second content management protocol into responses according to the first content management protocol.

For example, when the ODRL client12requests a content from the XrML content server22it sends an ODRL based license request to the translation server52. The translation server52sends a XrML based license request to the XrML license server20. The XrML license server20returns an XrML license for accessing the requested XrML content. The translation server52mediates this XrML license into an ODRL based license and returns this to the ODRL client12.

The ODRL client12sends an ODRL based content request, including the ODRL based license or digital certificate, to the translation server52. The translation server52mediates this ODRL based content request and encapsulated ODRL based license into a XrML based content request and an encapsulated XrML based license. The XrML content server22returns the content with an associated rights statement to the translation server52in accordance with the XrML content management protocol. The translation server52mediates the XrML content and associated rights statement to the content and associated rights statement according to the ODRL content management protocol. In some embodiments, authorization may be required from the content provider prior to mediation or translation.

The ODRL client12consumes the content according to the restrictions of the rights statement and sends usage reports to the translation server52in accordance with the ODRL content management protocol. The translation server52mediates the ODRL based usage reports to XrML based usage reports and forwards the XrML based usage reports to the XrML license server20.

The process for mediating a XrML client18request for content from the ODRL content server16is a reflection of the above described process. In general, the translation server52or mediation component maps, mediates, or translates requests and responses according to one content management protocol to requests and responses in another content management protocol.

The ODRL license server14, the ODRL content server16, the XrML license server20, the XrML content server22, and the translation server52may be computer programs or applications which may run on a general purpose computer system. The ODRL client12and the XrML client18are computer programs or applications which, for purposes of understanding this disclosure, may be assumed to run on general purpose computer systems. In some embodiments the ODRL client12and the XrML client18may execute on wireless mobile devices. General purpose computer systems are discussed in greater detail herein after.

FIG. 2depicts the translation server52mediating between XrML based and ODRL based content management and access systems, but it is contemplated that the translation server52is able to map between any two or more content management protocols or DRM protocols. The present illustration contemplates other DRM systems and protocols.

Turning now toFIG. 3, an alternate DRM integrated access system80is depicted. A DRM client manager82is in communication with the ODRL license server14, the ODRL content server16, the XrML license server20, the XrML content server22, and a DRM swap server84. The DRM swap server84may be an application or computer program which may execute, for example, on a general purpose computer system. The DRM client manager82is an application or computer program which, for purposes of understanding this disclosure, may be considered to run on a general purpose computer system. In some embodiments the DRM client manager82may run on a mobile wireless device.

When the DRM client manager82is deployed on a mobile wireless device, memory resources may be limited and may be unable to store and operate both the ODRL client12and the XrML client18. The DRM swap server84is in communication with a database86which contains the ODRL client12and the XrML client18which the DRM client manager82requires to access and consume ODRL based content and XrML based content, respectively.

When the DRM client manager82needs to access ODRL based content, the DRM client manager82first requests the DRM swap server84to read the ODRL client12from the database86and to send the ODRL client12to the DRM client manager82. The DRM client manager82loads the ODRL client12into the memory of the device, such as, but not limited to, a mobile wireless device. The ODRL client12then, under control of the DRM client manager82, conducts a standard ODRL content access session.

When the DRM client manager82needs to access XrML based content, the DRM client manager82first requests the DRM swap server84to read the XrML client18from the database86and to send the XrML client18to the DRM client manager82. The DRM client manager82loads the XrML client18into the memory of the device. The XrML client18then, under control of the DRM client manager82, conducts a standard XrML content access session.

The DRM client manager82determines the DRM protocol required to access the ODRL or XrML content servers16and22either by having the DRM protocol designated to the DRM client manager82, such as by user input, or by discovering the DRM protocol through a handshaking operation with the ODRL or XrML content servers16and22. The DRM client manager82may be considered to contain within it one of the ODRL client12and the XrML client18, which the DRM client manager82receives from the DRM swap server84.

In some embodiments the DRM client manager82may first check to see if the needed DRM client, one of the ODRL client12and the XrML client18, is already in memory before fetching and loading, thereby saving time and communication resources if the needed DRM client, either the ODRL client12or the XrML18, is already located in memory.

WhileFIG. 3depicts the database86containing the ODRL client12and the XrML client18, it is contemplated that the database86may contain other DRM clients or content management clients to enable the DRM client manager82to interact with other DRM systems or content management systems. Additionally, it is contemplated that the DRM client manager82may request portions of the DRM client, one of the ODRL client12and the XrML client18, or content management clients, for example portions of the ODRL client12and portions of the XrML client18, when these portions are needed.

For example, when the DRM client manager82requests an ODRL based license, the DRM client manager82requests the ODRL based license portion of the ODRL client12from the DRM swap server84. The DRM client manager82receives and loads the ODRL based license portion of the ODRL client12into memory. The DRM client manager82executes this ODRL based license portion of the ODRL client12. The DRM client manager82requests the ODRL license from the ODRL license server14. The DRM client manager82receives the ODRL based license from the ODRL license server14.

When the DRM client manager82requests the ODRL content, the DRM client manager82requests the ODRL based content server portion of the ODRL client12from the DRM swap server84. The DRM client manager82loads the ODRL based content server portion of the ODRL client12into memory. The DRM client manager82executes the ODRL based content server portion of the ODRL client12. The DRM client manager82requests the content from the ODRL content server16. The DRM client manager82receives the ODRL based content from the ODRL content server16.

When the DRM client manager82consumes the ODRL based content, the DRM client manager82requests the ODRL based content consumption portion of the ODRL client12from the DRM swap server84. The DRM client manager82loads the ODRL based content consumption portion of the ODRL client12into memory. The DRM client manager82executes the ODRL based content consumption portion of the ODRL client12. The DRM client manager82consumes, or plays back, the ODRL based content and sends a usage report to the ODRL license server14.

This example of segmented ODRL client12execution is only exemplary. Other segmentations or partitions, at either a coarser or a finer segmentation granularity, of the DRM clients, for example either the ODRL client12or the XrML client, or content management clients may be employed.

Wireless mobile devices, such as mobile phones, may be well suited to the DRM integrated access system80. Wireless mobile devices may have limited memory resources, and emerging third generation wireless technologies now support data channels featuring relatively high bandwidth adequate to transmit in whole or in segments DRM clients, for example either the ODRL client12or the XrML client18, or content management clients. In one embodiment of the DRM integrated access system80the DRM client manager82resides on a wireless mobile device.

Turning now toFIG. 4, a system120for on-demand loading of computer programs into a wireless mobile device121is depicted. The system120provides on-demand loading of any computer programs or applications and is not limited to on-demand loading of the digital rights management or content management client applications discussed earlier. The wireless mobile device121is in communication with a wireless network124. The wireless mobile device121contains an application swap client122. The wireless network124is in communication with a public switched telephone network (PSTN)126. The PSTN126is in communication with an application swap server128. The application swap server128is in communication with an applications database130.

The application swap server128may be a computer program or application which may execute on a general purpose computer system. The application swap client122may be a computer program or application which may execute on the wireless mobile device121.

The wireless mobile device121may need to execute a computer program or application which is not loaded in memory. In this case, the application swap client122may interwork with the application swap server128to download the application from the applications database130to the memory of the wireless mobile device121. The wireless network124and the PSTN126provide the communications link between the application swap client122and the application swap server128. The wireless mobile device121may then execute the application. It is contemplated that the system120may be employed to download complete applications or segments of applications. In one embodiment, the system120may be operable for downloading segments of applications. For example, a complete application may be executed by downloading a first segment of the application, executing the first segment of the application, downloading a second segment of the application, executing the second segment of the application, and so on until the last segment of the application is downloaded and executed.

The wireless network124may comprise a transceiver in wireless radio communication with the wireless mobile device121, a bridge node linking to the PSTN126, such that the transceiver is in communication with the bridge node. The bridge node may link the wireless network to a packet data network (PDN), the PDN may be in communication with the application swap server128, and the wireless mobile device121may be in communication with the application swap server128via the wireless network124and the PDN.

In one embodiment, a base transceiver station (BTS)132is in radio communication with the application swap client122, a mobile switching center (MSC)134bridges the wireless network124to the PSTN126, and a base station controller (BSC)136links the BTS132with the MSC134.

In another embodiment, the BTS132is in radio communication with the wireless mobile device121, a gateway global packet radio system support node (GGSN) bridges the wireless network124to the PDN, a base station controller (BSC)136links the BTS132to a serving global packet radio system support node (SGSN), and the SGSN is in communication with the GGSN.

Other wireless network topologies are also possible. The construction of wireless networks is well understood by those skilled in the art. The system120employs the wireless network124merely as a link between the wireless mobile device121and the application swap server128.

Turning now toFIG. 5, a method for on-demand loading of computer programs or applications into the wireless mobile device121is depicted. At block200, the method determines whether the application segment is loaded, and whether authentication has been received. Where the application segment has not been loaded, but is authenticated, the process proceeds to block202where the appropriate application segment is fetched. The process proceeds to block204where the application segment is loaded into memory. The process proceeds to block206where the application segment is executed. If, at block200, the appropriate application segment is determined to be loaded already, the processing proceeds to block206, thus bypassing the fetch and load processing blocks202and204respectively.

From block206the process proceeds to block208where the process exits if the application is complete. If the application is not complete, the process proceeds to block202and the fetch, load, and execute cycle of blocks202,204, and206are repeated.

This process permits nearly any computer program or application to be executed on the application swap client122. Alternate processes may be employed for applications that do not tolerate being segmented.

Turning now toFIG. 6, an alternate DRM integrated access system250is depicted. A multiprotocol content server252serves the content to the ODRL client12and to the XrML client18according to the content management protocol suited to each device. Thus, when the ODRL client12requests content from the multimode content server252, the multiprotocol content server252accepts the ODRL based license embedded in the request and returns the content according to the ODRL protocol. When the XrML client18requests content from the multiprotocol content server252, the multiprotocol content server252accepts the XrML based license embedded in the request and returns the content according to the XrML protocol.

WhileFIG. 6depicts ODRL and XrML based devices and license servers, the DRM integrated access system250is contemplated to interwork with other content management protocols as well. The multiprotocol content server252may be a computer program or application which may be executed on a general purpose computer.

The systems described above may be implemented on any general-purpose computer with sufficient processing power, memory resources, and network throughput capability to handle the necessary workload placed upon it.FIG. 7illustrates a typical, general-purpose computer system suitable for implementing one or more embodiments disclosed herein. The computer system380includes a processor382(which may be referred to as a central processor unit or CPU) that is in communication with memory devices including secondary storage384, read only memory (ROM)386, random access memory (RAM)388, input/output (I/O) devices390, and network connectivity devices392. The processor may be implemented as one or more CPU chips.

The secondary storage384is typically comprised of one or more disk drives or tape drives and is used for non-volatile storage of data and as an over-flow data storage device if RAM388is not large enough to hold all working data. Secondary storage384may be used to store programs which are loaded into RAM388when such programs are selected for execution. The ROM386is used to store instructions and perhaps data which are read during program execution. ROM386is a non-volatile memory device which typically has a small memory capacity relative to the larger memory capacity of secondary storage. The RAM388is used to store volatile data and perhaps to store instructions. Access to both ROM386and RAM388is typically faster than to secondary storage384.

The processor382executes instructions, codes, computer programs, scripts which it accesses from hard disk, floppy disk, optical disk (these various disk based systems may all be considered secondary storage384), ROM386, RAM388, or the network connectivity devices392.

Content providers want to secure their economic interests and protect their content rights. Content consumers want to access content conveniently. It is not in the interests of either content providers or content consumers that incompatible DRM protocols create barriers between them. The several embodiments described above provide, for example, useful techniques for overcoming these DRM protocol barriers and connecting content consumers with content providers.

While several embodiments have been provided in the present disclosure, it should be understood that the disclosed systems and methods may be embodied in many other specific forms without departing from the spirit or scope of the present disclosure. The present examples are to be considered as illustrative and not restrictive, and the intention is not to be limited to the details given herein, but may be modified within the scope of the appended claims along with their full scope of equivalents. For example, the various elements or components may be combined or integrated in another system or certain features may be omitted, or not implemented.

Also, techniques, systems, subsystems and methods described and illustrated in the various embodiments as discreet or separate may be combined or integrated with other systems, modules, techniques, or methods without departing from the scope of the present disclosure. Other items shown as directly coupled or communicating with each other may be coupled through some interface or device, such that the items may no longer be considered directly coupled to each but may still be indirectly coupled and in communication with one another. Other examples of changes, substitutions, and alterations are ascertainable by one skilled in the art and could be made without departing from the spirit and scope disclosed herein.