IP Library Granted Patent US 9,674,254
Granted Patent B2
US 9,674,254 · App. 14/872,079 · Granted Jun 6, 2017

System and method for using a streaming protocol

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 9,674,254
App. No.
14/872,079
Granted
Jun 6, 2017
Kind
B2
Abstract

An initialization vector (IV) is employed to decrypt a block of a stream that has been encrypted with Cypher Block Chaining (CBC) encryption, without requiring decryption of previous blocks within the stream. For example, a listener who accesses a distribution point to retrieve encrypted content authenticates himself to an application server that regulates access to encrypted content on the distribution point, and responsively receives a key. The listener then requests access to a reference point within the encrypted content stream somewhere after its beginning (e.g., using preview clips). The distribution point relates the reference point to a corresponding block of the encrypted stream, and identifies an IV previously used for encryption of that block. The distribution point provides the associated encrypted block of content and the IV to the listener to enable mid-stream rendering of the encrypted content, without requiring the listener to decrypt previous blocks within the encrypted stream.

Claims (43)

1. A computer-implemented method for transmitting electronic media to a client device, the method comprising the following operations performed by at least one processor:

receiving, at a distribution point, at least one portion of a stream of electronic media, the stream including at least one first metadata message of a first type;

caching, in memory, the at least one first metadata message of the first type;

receiving, over a network, a time-shift command from the client device;

identifying a portion of the stream of electronic media associated with the received time-shift command;

if the identified portion includes at least one second type of metadata message, transmitting over the network the second type of metadata message;

receiving, over the network, another metadata message of the first type;

determining whether a metadata ID corresponding to the another metadata message of the first type matches a metadata ID corresponding to the at least one received metadata message of the first type, wherein if it is determined that the metadata ID corresponding to the another first metadata message matches the metadata ID corresponding to the received at least one first metadata message, replacing the cached metadata message of the first type with the another metadata message of the first type; and

based on the determining, transmitting over the network the identified portion of the stream of electronic media, and either the another metadata message of the first type or the at least one cached metadata message of the first type.

2. The method of claim 1 , wherein the identified portion does not include the at least one cached metadata message of the first type.

3. The method of claim 2 , wherein the metadata message of the first type is contained in a portion of the stream preceding the identified portion.

4. The method of claim 1 , wherein the stream of electronic media is encrypted.

5. The method of claim 4 , further comprising retrieving an initialization vector from a table of initialization vectors.

6. The method of claim 1 , wherein the cached at least one first metadata message further comprises content information associated with the stream of electronic media.

7. A system for transmitting electronic media to a client device, the system comprising:

at least one processor; and

a storage device that stores instructions configured to, when executed by the at least one processor, cause the processor to perform the following operations:

receiving at least one portion of a stream of electronic media, the stream including at least one first metadata message of a first type;

caching the at least one first metadata message of the first type;

receiving a time-shift command from the client device;

identifying a portion of the stream of electronic media associated with the received time-shift command;

if the identified portion includes at least one second type of metadata message, transmitting over the network the second type of metadata message;

receiving another metadata message of the first type;

determining whether a metadata ID corresponding to the another metadata message of the first type matches a metadata ID corresponding to the at least one received metadata message of the first type, wherein if it is determined that the metadata ID corresponding to the another first metadata message matches the metadata ID corresponding to the received at least one first metadata message, replacing the cached metadata message of the first type with the another metadata message of the first type; and

based on the determining, transmitting the identified portion of the stream of electronic media, and either the another metadata message of the first type or the at least one cached metadata message of the first type.

8. The system of claim 7 , wherein the identified portion does not include the at least one cached metadata message of the first type.

9. The system of claim 8 , wherein the metadata message of the first type is contained in a portion of the stream preceding the identified portion.

10. The system of claim 7 , wherein the stream of electronic media is encrypted.

11. The system of claim 10 , wherein the instructions are further configured to cause the processor to retrieve an initialization vector from a table of initialization vectors.

12. The system of claim 7 , wherein the cached at least one first metadata message further comprises content information associated with the stream of media.

13. A computer-readable storage device comprising instructions that, when executed by at least one processor, cause the at least one processor to perform the following operations:

receiving at least one portion of a stream of electronic media, the stream including at least one first metadata message of a first type;

caching the at least one first metadata message of the first type;

receiving a time-shift command from the client device;

identifying a portion of the stream of electronic media associated with the received time-shift command;

if the identified portion includes at least one second type of metadata message, transmitting over the network the second type of metadata message;

receiving another metadata message of the first type;

determining whether a metadata ID corresponding to the another metadata message of the first type matches a metadata ID corresponding to the at least one received metadata message of the first type, wherein if it is determined that the metadata ID corresponding to the another first metadata message matches the metadata ID corresponding to the received at least one first metadata message, replacing the cached metadata message of the first type with the another metadata message of the first type; and

based on the determining, transmitting the identified portion of the stream of electronic media, and either the another metadata message of the first type or the at least one cached metadata message of the first type.

14. The computer-readable storage device of claim 13 , wherein the identified portion does not include the at least one cached metadata message of the first type.

15. The computer-readable storage device of claim 14 , wherein the metadata message of the first type is contained in a portion of the stream preceding the identified portion.

16. The computer-readable storage device of claim 13 , wherein the stream of electronic media is encrypted.

17. The computer-readable storage device of claim 16 , wherein the instructions are further configured to cause the processor to retrieve an initialization vector from a table of initialization vectors.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2021
From: VERIZON MEDIA INC.
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 057453/0431 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2020
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 054258/0635 →
CHANGE OF NAME Recorded Aug 24, 2017
From: AOL INC.
To: OATH INC.
Reel/Frame 043672/0369 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE'S NAME PREVIOUSLY RECORDED ON REEL 036816 FRAME 0464. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Oct 28, 2015
From: AMERICA ONLINE, INC.
To: AOL LLC
Reel/Frame 036985/0941 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNOR'S NAME PREVIOUSLY RECORDED ON REEL 036816 FRAME 0393. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF ASSIGNORS INTEREST. Recorded Oct 28, 2015
From: AOL LLC
To: AOL INC.
Reel/Frame 036986/0015 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2015
From: PARE, DAVID F.; BIDERMAN, DAVID L.; LOOMIS, STEPHEN; BROWN, SCOTT K.; WISE, MICHAEL; WEXELBLAT, DAVID; CAHILL, CONOR P.; BILL, DAVID S.
To: AMERICA ONLINE, INC.
Reel/Frame 036753/0961 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2015
From: AOL, LLC
To: AOL INC.
Reel/Frame 036816/0393 →
CHANGE OF NAME Recorded Oct 8, 2015
From: AMERICA ONLINE, INC.
To: AOL, LLC
Reel/Frame 036816/0464 →