Multi-platform digital rights management for placeshifting of multimedia content
11128678 · 2021-09-21
Assignee
Inventors
Cpc classification
H04N21/4331
ELECTRICITY
H04N21/84
ELECTRICITY
H04L67/02
ELECTRICITY
H04L65/61
ELECTRICITY
H04N21/2662
ELECTRICITY
H04N7/24
ELECTRICITY
H04N21/4112
ELECTRICITY
H04L65/65
ELECTRICITY
G06F21/10
PHYSICS
H04N21/8456
ELECTRICITY
H04N21/44016
ELECTRICITY
G06F16/1824
PHYSICS
International classification
G06F15/16
PHYSICS
G06F21/10
PHYSICS
H04N21/44
ELECTRICITY
H04N21/436
ELECTRICITY
H04N21/2343
ELECTRICITY
H04N21/266
ELECTRICITY
H04N21/433
ELECTRICITY
H04N21/2662
ELECTRICITY
Abstract
Devices, methods, and program products are provided, which support multiple Digital Rights Management (DRM) schemes or platforms during the placeshifting of media content. A given placeshifting session may be initiated between a placeshifting device and a user-controlled client media receiver executing a browser player. In one embodiment, the DRM placeshifting method includes storing, in a memory associated with the placeshifting device, DRM-protected content; receiving a request from the client media receiver over a communications network to stream the DRM-protected content to the device; and obtaining a placeshifting key and initialization instructions for the DRM-protected content. The DRM-protected content is streamed to the client media receiver in an encrypted format accessible with a placeshifting decryption key. In conjunction with streaming the DRM-protected content, initialization instructions is transmitted to the client media receiver containing information utilized by the browser player to obtain the DRM license from a first license server.
Claims
1. A method for implementing Digital Rights Management (DRM), the method comprising: storing, in a memory associated with at east one DRM license server of a plurality of DRM license servers, a placeshifting decryption key wherein the placeshifting decryption key is used to generate one or more licenses for at least one type of supported DRM platform; identifying with DRM initialization instructions, an appropriate location to contact a selected one of the plurality of DRM license servers, each of which issues at least one DRM license for one or more different types of DRM platforms, at which a browser player can obtain at least one DRM license related to the placeshifting decryption key; selecting the at east one DRM license server to obtain the at least one DRM license based on identified location; determining, whether the at least one DRM license server supports a chosen type of DRM platform to transmit DRM-protected content; streaming the DRM-protected content over a communication network in an encrypted format made accessible with the placeshifting decryption key on the chosen type of DRM platform; in response to enabling a DRM protected placeshifting, obtaining a placeshifting encryption key in communication with the plurality of DRM license servers each configured to issue a different DRM license type; and utilizing the placeshifting encryption key which has been obtained to encrypt the DRM-protected content streamed to a client media receiver.
2. The method of claim 1, further comprising: including, in the DRM initialization instructions an Universal Resource Locator (URL) address of a DRM license server.
3. The method of claim 2, wherein the URL address of the at least one DRM license server is from which a DRM license can be obtained by the browser player.
4. The method of claim 3 wherein streaming comprises transmitting, over the communications network, a public key uniquely identifying a placeshifting device.
5. The method of claim 4, further comprising: using the public key to enable authentication of the placeshifting device.
6. The method of claim 1, further comprising: receiving DRM platform-specific initialization information for the plurality of DRM license servers; and transmitting the DRM platform-specific initialization instructions to the client media receiver as part of the DRM initialization instructions.
7. The method of claim 6 further comprising including, in the DRM platform-specific initialization instructions, Universal Resource Locator (URL) addresses for each of the plurality of DRM license servers.
8. The method of claim 6 wherein transmitting the DRM initialization instructions comprises embedding the DRM initialization instructions in the streamed DRM-protected content.
9. The method of claim 1 wherein the placeshifting encryption key is a symmetric key containing initialization vector data.
10. The method of claim 9 further comprising: providing DRM initialization instructions to the client media receiver of the placeshifting decryption key, and the DRM initialization instructions containing the DRM initialization instructions received from each of the plurality of DRM license servers.
11. The method of claim 10, further comprising: verifying an authenticity of a placeshifting device by ensuring that unique identifying information provided by the placeshifting device matches corresponding information held in a public key database.
12. A method for implementing Digital Rights Management (DRM) during a placeshifting session, the method comprising: storing, in a memory associated with at least one DRM license server of a plurality of DRM license servers, a placeshifting decryption key wherein the placeshifting decryption key is used in generating one or more licenses associated with a plurality of types of supported DRM platforms; identifying with DRM initialization instructions, an appropriate location for contacting a selected one of the plurality of DRM license servers, each of which issues at least one DRM license for one or more types of DRM platforms, at which a browser player can obtain at least one DRM license related to the placeshifting decryption key; selecting the at least one DRM license server from which to obtain at least one DRM license; determining, whether a DRM license server supports a chosen type of DRM platform of the plurality of types of supported DRM platforms to transmit DRM-protected content; streaming the DRM-protected content in an encrypted format that can be accessed by the placeshifting decryption key on the chosen type of DRM platform; in response to enabling a DRM protected placeshifting, obtaining a placeshifting encryption key in communication with the plurality of DRM license servers each configured to issue a different DRM license type; and utilizing the placeshifting encryption key to encrypt the DRM-protected content streamed to a client media receiver.
13. The method of claim 12, further comprising: including, in the DRM initialization instructions a Universal Resource Locator (URL) address of the at least one DRM license server.
14. The method of claim 12 wherein each placeshifting decryption key associated with each one of the plurality of DRM license servers is each configured to issue the different DRM license type.
15. The method of claim 14 further comprising: in response to a transmitting of the placeshifting decryption key over a communications network, receiving DRM initialization instructions from each of the plurality of DRM license servers.
16. The method of claim 15 further comprises including, in the DRM initialization instructions, Universal Resource Locator (URL) addresses for each of the plurality of DRM license servers.
17. The method of claim 16 wherein the placeshifting decryption key is a symmetric key pair containing initialization vector data.
18. The method of claim 12, further comprising: verifying an authenticity of a placeshifting device by ensuring that unique identifying information provided by the placeshifting device matches corresponding information held in the public key database.
19. A method for implementing Digital Rights Management (DRM) during a placeshifting session for executing a browser player, the method comprising: storing, in a memory associated with at least one DRM license server of a plurality of DRM license servers, the placeshifting decryption key, to generate one or more licenses for at least one type of supported DRM platform; identifying, an appropriate location for contacting a selected one of the plurality of DRM license servers, each of which issues at least one DRM license for one or more different types of DRM platforms, at which the browser player can obtain at least one DRM license related to the placeshifting decryption key; selecting via initial at least one DRM license server to obtain the at least one DRM license; determining, whether the at least one DRM license server supports a chosen type of DRM platform from the one or more different types of DRM platforms to transmit DRM-protected content; streaming the DRM-protected content over a communication network in an encrypted format made accessible with the placeshifting decryption key on the chosen type of DRM platform; in response to enabling a DRM protected placeshifting, obtaining a placeshifting encryption key over the communication network from the at least one DRM license server of the plurality of DRM license servers each configured to issue a different DRM license type; and utilizing the placeshifting encryption key to encrypt the DRM-protected content streamed to a client media receiver.
Description
BRIEF DESCRIPTION OF THE DRAWING FIGURES
(1) Exemplary embodiments will hereinafter be described in conjunction with the following drawing figures, wherein like numerals denote like elements, and:
(2)
(3)
(4)
DETAILED DESCRIPTION
(5) The following detailed description of the invention is intended to provide various examples, but it is not intended to limit the invention or the application and uses of the invention. As appearing herein, the term “browser player” refers to a software application executed by an electronic device (a “client media receiver,” as described below) allowing an end user to navigate, select amongst, and initiate playback of content during a placeshifting session.
(6) Devices, methods, and program products are provided, which facilitate the appropriate selection and implementation of various different DRM platforms during placeshifting sessions. The methods described herein may be carried-out utilizing multiple electronic devices, which communicate communications network containing or consisting of the Internet, in a manner supporting the placeshifting of DRM-protected media content. These devices may include a multi-platform DRM or “mDRM” headend, a client media receiver, and a consumer placeshifting device, such as an STB or DVR located in the residence of an end user. To initiate a particular placeshifting session, the placeshifting device receives a request from the client media receiver, as controlled by an end user, over a communications network to stream DRM-protected content to the client media receiver. The DRM-protected content may be stored in a memory accessible by the placeshifting device; e.g., when the placeshifting device assumes the form of an STB having DVR capabilities, the DRM-protected content may be previously downloaded into the memory of the STB over a satellite or cable television distribution system. In response to receipt of the request, the placeshifting device streams the DRM-protected content to the client media receiver in an encrypted format accessible with a placeshifting decryption key. In conjunction with streaming the DRM-protected content, the placeshifting device may further transmit DRM initialization parameters or instructions to the client media receiver. The DRM initialization instructions may contain server-specific contact information, which can be utilized by the browser player to obtain a DRM license from a DRM license server to enable the browser player to decrypt, decode, and present the streamed content.
(7) The placeshifting device may obtain a placeshifting encryption key and platform-specific DRM initialization instructions at any suitable juncture following storage of DRM-protected content. In certain implementations, the placeshifting device may obtain the DRM initialization instruction prior to initiation of a placeshifting session, such as at the beginning of a fixed or variable time period to enable faster response to the request from client media receiver. For example, the placeshifting device may obtain the DRM initialization instructions in response to initial storage of the DRM-protected content. In other implementations, the placeshifting device may obtain the DRM initialization instructions following requested streaming of the DRM-protected content by the user-controlled client media receiver. As indicated above, the DRM initialization instructions include data referenced by the client media receiver to obtain a DRM license containing a placeshifting decryption key and possibly other information. After the DRM license is obtained by the receiver, the client media receiver may extract the placeshifting decryption key from the DRM license and utilize the decryption key to decrypt the placeshifted media stream for presentation to the end user operating the receiver.
(8) The DRM initialization instructions provided in conjunction with the encrypted placeshifting stream usefully include contact information, such as URL addresses, for a plurality of DRM license servers, each of which issues DRM licenses for a different type of DRM scheme or platform. This enables the client media receiver to select the appropriate DRM license server corresponding to the DRM platform type or types supported by the currently-executed browser player. The DRM initialization data may be collected and packaged by the mDRM headend, which communicates with multiple DRM license servers as part of a cloud license service, and then forwarded to the placeshifting device at an appropriate juncture. By virtue of this process, the client media receiver may present the DRM-protected content to the end user for a wide range of commercially-available browser players, generally independently of the particular DRM platform type or types supported by the chosen browser player. Furthermore, no additional action may be required on behalf of the end user beyond that typically performed when initiating a placeshifting session. The effective implementation of a wide range of DRM platforms in placeshifting environments is thus enabled, while maintaining the ease and convenience with which end users can access and view placeshifted content utilizing a chosen browser player executed on a client media receiver. This is highly desirable. Further description of exemplary embodiments of such mDRM systems, methods, and program products will now be set-forth in conjunction with
(9)
(10) During a placeshifting session, placeshifting device 22 transmits streaming media content 30 through communications network 24 to client media receiver 26, which will typically be remotely located relative to device 22. The streamed media content may be DRM-protected and selected for viewing by an end user operating client media receiver 26. Placeshifting device 22 stores the media content in memory 32 and may obtain such content from any number and type of content sources. In one embodiment, placeshifting device 22 obtains a library of media content through selective recording of a satellite broadcast provided by a satellite 34 and received via a satellite antenna 36 operably connected to device 22. When appropriate, placeshifting device 22 recalls the appropriate media content from memory 32 and generates the content stream utilizing at least one encoder module 38, which operates under the command of a control module 40. Placeshifting device 22 then transmits the encoded content to remotely-located client media receiver 26 over communications network 24, as described more fully below. As generically shown in
(11) In various embodiments, an adaptive encoding approach may be utilized in encoding, transmitting, decoding, and requesting desired streaming media content. In this regard, encoder module 38 may generate adaptive streams consisting of the multiple sets of small encoded segment files or “streamlets,” which can be interchanged to provide seamless playback as network conditions and other limiting resources change. For example, encoder module 38 may be configured to generate a high bandwidth stream, a low bandwidth stream, and/or any number of intermediate bandwidth streams containing the selected DRM-protected content during the course of the below described DRM placeshifting method. Client media receiver 26 may then select the stream having the parameter set best suited for the current playback conditions. For example, if a significant lag in programming playback should develop, client media receiver 26 can minimize such lags or potential interruptions in the presentation of the streamed media content by switching to a lower bandwidth stream, which my have a purposefully degraded frame rate, resolution, and/or other parameter lowering packet size and streaming bitrate. Several examples of adaptive streaming systems and techniques are described in U.S. Pat. No. 7,818,444, issued Oct. 19, 2012, and entitled “APPARATUS, SYSTEM, AND METHOD FOR MULTI-BITRATE CONTENT STREAMING,” the contents of which are hereby incorporated by reference.
(12) As schematically depicted in
(13) Client media receiver 26 can assume the form of any electronic device, system, or the like suitable for performing the processes and functions described herein. A non-exhaustive list of suitable electronic devices includes mobile phones, wearable devices, tablet devices, laptop computers, and desktop computers. When engaged in a placeshifting session with placeshifting device 22, client media receiver 26 outputs visual signals for presentation on display device 28. Display device 28 can be integrated into client media receiver 26 as a unitary system or electronic device. This may be the case when, for example, client media receiver 26 assumes the form of a mobile phone, tablet, laptop computer, or similar electronic device having a dedicated display screen. Alternatively, display device 28 can assume the form of an independent device, such as a freestanding monitor or television set, which is connected to client media receiver 26 via a wired or wireless connection. Any such video output signals may be formatted in accordance with conventionally-known standards, such as S-video, HDMI, SPDIF, DVI, or IEEE 1394 standards, as appropriate.
(14) By way of non-limiting illustration, client media receiver 26 is shown in
(15) Browser player 46 suitably includes control logic 50 adapted to process user input, obtain streaming content 30 from one or more content sources, decode received content streams, and provide corresponding output signals to display device 28. In this regard, control logic 50 may establish a data sharing connection with the remote placeshifting device 22 enabling wireless bidirectional communication with control module 40 such that a placeshifting session can be established and maintained. During a placeshifting session, placeshifting device 22 streams placeshifted content 30 to client media receiver 26 over communications network 24. Such streaming content can contain any visual or audiovisual programming including, but not limited to, streaming OTT television programming and VOD content. The streaming content is received by client media receiver 26 and decoded by decoding module 52, which may be implemented in hardware or software executing on processor 41. The decoded programming is then provided to a presentation module 54, which generates output signals to display device 28 for presentation to the end user operating client media receiver 26. In some embodiments, presentation module 54 may combine decoded programming (e.g., programming from multiple streaming channels) to create a blended or composite image; e.g., as schematically indicated in
(16) In operation, control logic 50 of client media receiver 26 obtains programming in response to end user input or commands received via a user interface, such as a touchscreen or keyboard interface, included within I/O features 44 of client media receiver 26. Control logic 50 may establish a control connection with remote placeshifting device 22 via communications network 24 enabling the transmission of commands from control logic 50 to control module 40. Accordingly, placeshifting device 22 may operate by responding to commands received from a client media receiver 26 via communications network 24, as indicated by arrow 58. Such commands may include information utilized to initiate a placeshifting session with placeshifting device 22, such as data supporting mutual authentication of placeshifting device 22 and client media receiver 26. In embodiments in which placeshifting device 22 assumes the form of a consumer placeshifting device, such as an STB or DVR located in an end user's residence, control commands 58 may include instructions to remotely operate placeshifting device 22 as appropriate to support the current placeshifting session.
(17) As further indicated in
(18) When receiving an initiation request to engage in a placeshifting session, consumer placeshifting device 22 performs those steps appropriate to obtain a placeshifting encryption key. In various embodiments, placeshifting device 22 retrieves the appropriate placeshifting encryption key from mDRM headend 62. For security purposes, authentication of placeshifting device 22 may be required by mDRM headend 62 prior to transmission of the placeshifting encryption key to device 22. To facilitate placeshifting device authentication, mDRM headend 62 may maintain a database of authorized placeshifting devices, such as in-service STBs distributed amongst the residences of subscribers to a cable or satellite television service. The authenticity of placeshifting device 22, and other such placeshifting devices, may be verified by mDRM headend 62 utilizing unique identifying information contained the database. For example, mDRM headend 62 may utilize the database to confirm the accuracy of unique identifying information assigned to device 22, such as a pre-assigned public key, during the authentication process. Afterwards, client media receiver 26 obtains a corresponding placeshifting decryption key from the appropriate DRM license server 64, whether by communicating directly with the license server or by communicating with mDRM headend 62 as an intermediary. The placeshifting encryption and decryption keys are usefully, although not necessarily generated by mDRM headend 62 as symmetrical or asymmetrical key pairs, as explained in more detail below.
(19) When received by client media receiver 26, the encrypted content stream is supplied to browser player 46. Recognizing that encryption has been applied to the placeshifted content stream, browser player 46 commences retrieval of a corresponding DRM license to obtain the placeshifting decryption key required to decrypt the content stream. Browser player 46 may utilize information contained in the DRM initialization instructions, which are transmitted along with the encrypted content stream, to contact the appropriate license server and obtain the DRM license therefrom. For example, in an embodiment, browser player 46 may identify URL address for the DRM license server, which issues the DRM license type corresponding to a DRM license platform supported by player 46. Browser player 46 may follow the URL address to retrieve the required DRM license type from the appropriate license server, and extracts the placeshifting decryption key from the DRM license. Utilizing the newly-extracted placeshifting decryption key, browser player 46 decodes and renders the content stream on a display screen associated with (e.g., included in or operably coupled to) client media receiver 26 for viewing by the end user. By way of non-limiting example, additional description of different manner in which the foregoing process may be implemented will now be provided in conjunction with
(20)
(21) DRM-protected placeshifting process 70 commences as consumer placeshifting device 22 initially stores DRM-protected content in memory (FUNCTION 72,
(22) DRM-protected placeshifting process 70 continues as user input is received at client media receiver 26 identifying the specific DRM-protected content that is desirably placeshifted from consumer placeshifting device 22 to receiver 26 (ACTION 76,
(23) During DRM-protected placeshifting process 70, placeshifting device 22 requests the appropriate placeshifting encryption key (e.g., a symmetric AES key including IV data) and the associated DRM initialization instructions from mDRM headend 62 or another source. This request may be transmitted through a secure channel, such as an HTTP channel with client authentication, to mDRM headend 62. Unique placeshifting device authorization by mDRM headend 62 may be required at this juncture. For example, and as briefly discussed above, a database of authorized placeshifting devices may be utilized by mDRM headend 62 in placeshifting device authentication. This database is conveniently maintained at mDRM headend 62, but this is not required providing that such a database is made accessible to headend 62 as needed. Utilizing such a placeshifting device authentication database, mDRM headend 62 may verify the authenticity of placeshifting device 22 by ensuring that unique identifying information provided by device 22 matches the corresponding information held in the database for device 22. In one approach, public keys uniquely identifying a plurality of consumer placeshifting devices (e.g., STBs) are stored in the placeshifting device authentication database. During TRANSMISSION 78 (
(24) After placeshifting device authorization, mDRM headend 62 obtains an appropriate placeshifting encryption key and forwards this key to placeshifting device 22. The placeshifting encryption key is conveniently, although not necessarily generated by mDRM headend 62 itself. In embodiments wherein headend 62 generates the placeshifting encryption key, mDRM headend 62 may simultaneously or concurrently generate a corresponding placeshifting decryption key, which is then forwarded by headend 62 to one or more of DRM license server(s) 64-x; e.g., digital copies of the placeshifting decryption key may be forwarded to all servers or a subset of the servers contained within cloud license service 66 (
(25) When encountering the encrypted stream provided by placeshifting device 22 as TRANSMISSION 80 (
(26) With the appropriate placeshifting decryption key secured, browser player 46 is now able to decrypt, decode, and present the placeshifted content stream for presentation to the end viewer operating client media receiver 26 (FUNCTION 90,
(27) Turning now to
(28) After placeshifting device authorization, mDRM headend 62 generates an appropriate placeshifting key pairs (FUCNTION 116,
(29) With continued reference to
(30) There has thus been provided systems, methods, and program products enhancing the ease and effectiveness with which digital rights management is implemented across multiple platforms in placeshifting environments. In certain embodiments of the above-described methods, a live content stream is captured by the consumer placeshifting device, such an STB located in the residence of the end user, which transcodes and streams the live stream to the client media receiver. Public-key encryption, private-key encryption, symmetric-key encryption, or another encryption approach may be utilized to generate an encrypted stream, which can be decrypted using a placeshifting decryption key obtained by the client media receiver. In one specific example, the placeshifting device may obtain a symmetric key, which may include AES and IV information. This data is conveniently obtained from a mDRM headend over a secure channel. After the end user connects to the placeshifting device and initiates playback of the streamed content, the placeshifting device transcodes the live captured streams and encrypts the stream utilizing the symmetric key (e.g., AES and IV data) downloaded from the mDRM headend. The browser player then decodes and renders the content stream on the screen of a display device associated with the placeshifting device for viewing by the end user.
(31) The term “exemplary” is used herein to represent one example, instance or illustration that may have any number of alternates. Any implementation described herein as “exemplary” should not necessarily be construed as preferred or advantageous over other implementations. While several exemplary embodiments have been presented in the foregoing detailed description, it should be appreciated that a vast number of alternate but equivalent variations exist, and the examples presented herein are not intended to limit the scope, applicability, or configuration of the invention in any way. To the contrary, various changes may be made in the function and arrangement of the various features described herein without departing from the scope of the claims and their legal equivalents.