Patent ID: 8543707

Claim:
A method for transferring data, performed by an importer in a Digital Rights Management (DRM) interoperable system, the method comprising: receiving a capability request message from a controller which receives a data transmission request message from a client, the data transmission request message requesting a data transmission; transmitting to the controller, responsive to the capability request message, data describing a capability, wherein the transmitted data describing the capability is used to determine whether a transformation involved with the requested data transmission is possible and to form a chain for the data transmission; receiving, from the controller, an importing request message, which requests import of data and includes: a transmission session identifier identifying a transmission session, a transmitter identifier identifying a transmitter transmitting the data, and DRM information describing a second DRM system at a destination; receiving the data from the transmitter, wherein the transmitter is any one of an exporter that exports data from a first DRM system or a transformer that transforms exported data into a specific format; importing the received data into the second DRM system in accordance with policies of the second DRM system, based on the DRM information; and transmitting, to the controller, an event message describing a status of a transmission of the data, wherein the event message includes at least one of a start element that indicates that the transmission has started, a completion element that indicates that the transmission has been completed, a progress element that indicates a progress of the transmission, and an error element that indicates an error in the transmission wherein receiving the data from the transmitter is based on a transmission protocol that supports transmission of multiple data items in a single session and supports variable frame sizes, wherein each data item is divided into multiple frames, each frame having a header of N bits, N being an integer greater than or equal to 2, the header indicating a length of a payload of the corresponding frame, an index identifying each data item is inserted before the header of a first frame of each data item, an end of each data item is indicated by a data separator constructed with a predetermined number of bits having first values, and an end of the transmission of the multiple data items is indicated by an end-of-transmission string constructed with a predetermined number of bits having second values.