IP Library Granted Patent US 11,847,190
Granted Patent B2
US 11,847,190 · App. 16/201,717 · Granted Dec 19, 2023

Digital rights management for HTTP-based media streaming

Inventors: Fritz Barnes (Alameda, CA); Torbjorn Einarsson (Stockholm, SE); Do Hyun Chung (San Ramon, CA); Ken Klinner (Lafayette, CA)
Assignee: TIVO CORPORATION
G06F21/10G06F21/105H04L63/0428H04L63/0457H04L63/062G06F2221/0759H04L2463/101
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,847,190
App. No.
16/201,717
Granted
Dec 19, 2023
Kind
B2
Abstract

Techniques and mechanisms described herein facilitate the management of digital rights for media content item presentation. According to various embodiments, a request for a content decryption key may be received at a media application implemented at a computing device. The request may be transmitted by a media content player implemented at the computing device. The request may be transmitted in accordance with a designated key exchange protocol. A license for an encrypted media content item corresponding with the requested content decryption key may be identified at the media application. Based on information included in the license, encrypted key material may be decrypted to create the requested content decryption key via a processor at the computing device. The requested content decryption key may be provided to the media content player.

Claims (35)

1. A method comprising:

transmitting a request for a content decryption key from a first media component to a license server in accordance with a designated key exchange protocol, wherein the request includes authentication information relating to the first media component and the request is transmitted to license server after a determination is made that a locally stored copy of a license for an encrypted media content item corresponding with the requested content decryption key is not available;

receiving a license for the encrypted media content item at the first media component, the encrypted media content item corresponding with the requested content decryption key, wherein the license is encrypted and specific to a designated user account and the designated user account comprises a private key able to decrypt the license;

generating the requested content decryption key at the first media component by decrypting encrypted key material based on information included in the license, wherein the encrypted key material is obtained from a unique resource identifier (URI) that is specific to the encrypted media content item, wherein the license includes conditions on the amount of times the media content item has been played or a designated time period for playing the media content item; and

providing the requested content decryption key to a second media component for media playback, the requested content decryption key configured to be used by the second media component to decrypt the encrypted media content item, the requested content decryption key being provided in accordance with a designated key exchange protocol.

2. The method recited in claim 1 , wherein the designated key exchange protocol corresponds with a custom digital rights management (DRM) protocol identifier.

3. The method recited in claim 1 , wherein the second media component comprises a media player native to an operating system.

4. The method recited in claim 3 , wherein the first media component and the second media component are operable to communicate via an application programming interface (API) native to the operating system.

5. The method recited in claim 1 , wherein the method is performed in a broadcast model.

6. The method recited in claim 1 , the method further comprising: determining whether the license is stored on a local storage medium.

7. The method recited in claim 6 , the method further comprising:

storing the license on the storage medium when it is determined that the license is not stored on the local storage medium.

8. The method recited in claim 1 , wherein the request for the content decryption key identifies a content management account associated with the license server.

9. The method recited in claim 1 , wherein the encrypted media content item comprises streaming media content via a network.

10. The method recited in claim 1 , further comprising, receiving a transport stream that includes a playlist listing multiple media content items, wherein the playlist comprises data indicating a unique resource identifier (URI) for each of the multiple media content items.

11. The method recited in claim 10 , wherein the first media component intercepts an attempt to access the URI by the second media component and accesses the URI instead of the first media component.

12. The method recited in claim 10 , wherein the playlist comprises a protocol identifier of the URI, and wherein the first media component accesses the URI using a protocol identified by the protocol identifier.

13. The method of claim 1 , wherein the authentication information confirms that the first media component is authorized to receive the license.

14. The method of claim 1 , further comprising, communications between the first media component and the license server being performed at least in part via public key encryption.

15. A computing device comprising:

a communications interface operable to transmit a request for a content decryption key from a first media component to a license server in accordance with a designated key exchange protocol, wherein the request includes authentication information relating to a first media component and the request is transmitted to license server after a determination is made that a locally stored copy of a license for an encrypted media content item corresponding with the requested content decryption key is not available, and to receive a license for the encrypted media content item at the first media component, the encrypted media content item corresponding with the requested content decryption key, wherein the license is encrypted and specific to a designated user account and the designated user account comprises a private key able to decrypt the license;

a storage device operable to store the requested content decryption key generated at the first media component by decrypting encrypted key material based on information included in the license, wherein the encrypted key material is obtained from a unique resource identifier (URI) that is specific to the encrypted media content item, wherein the license includes conditions on the amount of times the media content item has been played or a designated time period for playing the media content item; and

a processor operable to provide the requested content decryption key to a second media component for media playback, the requested content decryption key configured to be used by the second media component to decrypt the encrypted media content item, the requested content decryption key being provided in accordance with a designated key exchange protocol.

16. The computing device recited in claim 15 , wherein the designated key exchange protocol corresponds with a custom digital rights management (DRM) protocol identifier.

17. The computing device recited in claim 15 , wherein the second media component comprises a media player native to an operating system.

18. The computing device recited in claim 17 , wherein the first media component and the second media component are operable to communicate via an application programming interface (API) native to the operating system.

19. The computing device recited in claim 15 , wherein the request for the content decryption key identifies a content management account associated with the license server.

20. The computing device recited in claim 15 , wherein the encrypted media content item comprises streaming media content received.

21. One or more non-transitory computer readable media having instructions stored thereon for performing a method, the method comprising:

transmitting a request for a content decryption key from a first media component to a license server in accordance with a designated key exchange protocol, wherein the request includes authentication information relating to the first media component and the request is transmitted to license server after a determination is made that a locally stored copy of a license for an encrypted media content item corresponding with the requested content decryption key is not available;

receiving a license for the encrypted media content item at the first media component, the encrypted media content item corresponding with the requested content decryption key, wherein the license is encrypted and specific to a designated user account and the designated user account comprises a private key able to decrypt the license;

generating the requested content decryption key at the first media component by decrypting encrypted key material based on information included in the license, wherein the encrypted key material is obtained from a unique resource identifier (URI) that is specific to the encrypted media content item, wherein the license includes conditions on the amount of times the media content item has been played or a designated time period for playing the media content item; and

providing the requested content decryption key to a second media component for media playback, the requested content decryption key configured to be used by the second media component to decrypt the encrypted media content item, the requested content decryption key being provided in accordance with a designated key exchange protocol.

22. The one or more computer readable media recited in claim 21 wherein the designated key exchange protocol corresponds with a custom digital rights management (DRM) protocol identifier.

23. The one or more computer readable media recited in claim 21 , wherein the second media component comprises a media player native to an operating system.

Assignments (6)
CHANGE OF NAME Recorded Mar 31, 2026
From: ADEIA MEDIA HOLDINGS LLC
To: ADEIA MEDIA HOLDINGS INC.
Reel/Frame 075304/0012 →
CHANGE OF NAME Recorded Oct 1, 2024
From: TIVO CORPORATION
To: TIVO LLC
Reel/Frame 069083/0260 →
CHANGE OF NAME Recorded Oct 1, 2024
From: TIVO LLC
To: ADEIA MEDIA HOLDINGS LLC
Reel/Frame 069083/0332 →
SECURITY INTEREST Recorded May 19, 2023
From: ADEIA GUIDES INC.; ADEIA MEDIA HOLDINGS LLC; ADEIA MEDIA SOLUTIONS INC.; ADEIA SEMICONDUCTOR BONDING TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR SOLUTIONS LLC; ADEIA SEMICONDUCTOR TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 063707/0884 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2021
From: MOBITV, INC.; MOBITV SERVICES, INC.
To: TIVO CORPORATION
Reel/Frame 056444/0076 →
SECURITY INTEREST Recorded Oct 21, 2020
From: MOBITV, INC.
To: ALLY BANK
Reel/Frame 054128/0963 →