IP Library Granted Patent US 11,647,237
Granted Patent B1
US 11,647,237 · App. 17/347,535 · Granted May 9, 2023

Method and apparatus for secure video manifest/playlist generation and playback

Inventors: Ismail R. Haritaoglu (Palo Alto, CA); Oztan Harmanci (Mountain View, CA)
Assignee: Google LLC
H04N21/2347H04N21/2351H04N21/2387H04N21/4353
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,647,237
App. No.
17/347,535
Granted
May 9, 2023
Kind
B1
Abstract

A method to provide secure delivery of a manifest file for use in playback of a video signal on a video player. The method includes establishing a connection with the video player, wherein the connection has a session identifier identifying the connection with the video player, receiving a request from the video player for the video signal, wherein the video signal is associated with the manifest file created for the video signal, customizing, using the session identifier identifying the connection with the video player, the manifest file created for the video player to provide a customized manifest file that is unique to the video player, the customized manifest file to be used in playback of the video signal on the video player, encrypting the customized manifest file using a manifest encryption key which is based on the session identifier identifying the connection with the video player, and transmitting the encrypted manifest file to the video player.

Claims (61)

1. A method for secure delivery of a manifest file for use in playback of a video signal on a video player, the method comprising:

establishing a connection with the video player, wherein the connection has a session identifier identifying the connection with the video player;

receiving a request from the video player for the video signal, wherein the video signal is associated with the manifest file created for the video signal;

customizing, using the session identifier identifying the connection with the video player, the manifest file created for the video player to provide a customized manifest file that is unique to the video player, the customized manifest file to be used in playback of the video signal on the video player;

encrypting the customized manifest file using a manifest encryption key which is based on the session identifier identifying the connection with the video player; and

transmitting the encrypted manifest file to the video player.

2. The method of claim 1 further comprising retrieving the manifest file from a content delivery network after receiving the request for the video signal from the video player.

3. The method of claim 1 further comprising:

receiving an indication of the video player's ability to decrypt an encrypted manifest encryption key locally; and

providing the encrypted manifest encryption key with the encrypted manifest file to the video player without providing a location of a key server that stores data associated with the manifest encryption key.

4. The method of claim 1 further comprising:

receiving an indication of the video player's ability to decrypt an encrypted manifest encryption key locally; and

providing the encrypted manifest encryption key and the encrypted manifest file to the video player with the location of a key server that stores data associated with the manifest encryption key.

5. The method of claim 1 wherein establishing the connection with the video player further comprises:

receiving an initiate connection request from the video player;

generating the session identifier corresponding to the connection with the video player on a manifest server; and

sending an acknowledgement of the connection request to the video player.

6. The method of claim 1 wherein the session identifier is a unique identifier generated by the video player for the connection with a manifest server, and wherein the session identifier corresponds to the requested video signal, the method further comprising receiving the session identifier from the video player at a manifest server.

7. The method of claim 1 wherein the manifest file is created by an encoder and distributed to a content delivery network along with the video signal for storage on one or more of a plurality of edge servers of the content delivery network.

8. The method of claim 1 wherein the customized manifest file comprises the session identifier identifying at least one of the video player or a user of the video player.

9. A system to provide secure delivery of a manifest file for use in playback of a video signal on a video player, the system comprising:

a memory; and

a processor, coupled to the memory, to perform operations comprising:

establishing a connection with the video player, wherein the connection has a session identifier identifying the connection with the video player;

receiving a request from the video player for the video signal, wherein the video signal is associated with the manifest file created for the video signal;

customizing, using the session identifier identifying the connection with the video player, the manifest file created for the video player to provide a customized manifest file that is unique to the video player, the customized manifest file to be used in playback of the video signal on the video player;

encrypting the customized manifest file using a manifest encryption key which is based on the session identifier identifying the connection with the video player; and

transmitting the encrypted manifest file to the video player.

10. The system of claim 9 , the operations further comprising retrieving the manifest file from a content delivery network after receiving the request for the video signal from the video player.

11. The system of claim 9 , the operations further comprising:

receiving an indication of the video player's ability to decrypt an encrypted manifest encryption key locally; and

providing the encrypted manifest encryption key with the encrypted manifest file to the video player without providing a location of a key server that stores data associated with the manifest encryption key.

12. The system of claim 9 , the operations further comprising:

receiving an indication of the video player's ability to decrypt an encrypted manifest encryption key locally; and

providing the encrypted manifest encryption key and the encrypted manifest file to the video player with the location of a key server that stores data associated with the manifest encryption key.

13. The system of claim 9 wherein establishing the connection with the video player further comprises:

receiving an initiate connection request from the video player;

generating the session identifier corresponding to the connection with the video player on a manifest server; and

sending an acknowledgement of the connection request to the video player.

14. The system of claim 9 wherein the session identifier is a unique identifier generated by the video player for the connection with a manifest server, and wherein the session identifier corresponds to the requested video signal, the method further comprising receiving the session identifier from the video player at a manifest server.

15. The system of claim 9 wherein the manifest file is created by an encoder and distributed to a content delivery network along with the video signal for storage on one or more of a plurality of edge servers of the content delivery network.

16. The system of claim 9 wherein the customized manifest file comprises the session identifier identifying at least one of the video player or a user of the video player.

17. A non-transitory machine-readable medium comprising instructions, which when performed by a processor, cause the processor to perform operations to provide secure delivery of a manifest file for use in playback of a video signal on a video player, the operations comprising:

establishing a connection with the video player, wherein the connection has a session identifier identifying the connection with the video player;

receiving a request from the video player for the video signal, wherein the video signal is associated with the manifest file created for the video signal;

customizing, using the session identifier identifying the connection with the video player, the manifest file created for the video player to provide a customized manifest file that is unique to the video player, the customized manifest file to be used in playback of the video signal on the video player;

encrypting the customized manifest file using a manifest encryption key which is based on the session identifier identifying the connection with the video player; and

transmitting the encrypted manifest file to the video player.

18. The non-transitory machine-readable medium of claim 17 , the operations further comprising retrieving the manifest file from a content delivery network after receiving the request for the video signal from the video player.

19. The non-transitory machine-readable medium of claim 17 , the operations further comprising:

receiving an indication of the video player's ability to decrypt an encrypted manifest encryption key locally; and

providing the encrypted manifest encryption key with the encrypted manifest file to the video player without providing a location of a key server that stores data associated with the manifest encryption key.

20. The non-transitory machine-readable medium of claim 17 , the operations further comprising:

receiving an indication of the video player's ability to decrypt an encrypted manifest encryption key locally; and

providing the encrypted manifest encryption key and the encrypted manifest file to the video player with the location of a key server that stores data associated with the manifest encryption key.

21. The non-transitory machine-readable medium of claim 17 wherein establishing the connection with the video player further comprises:

receiving an initiate connection request from the video player;

generating the session identifier corresponding to the connection with the video player on a manifest server; and

sending an acknowledgement of the connection request to the video player.

22. The non-transitory machine-readable medium of claim 17 wherein the session identifier is a unique identifier generated by the video player for the connection with a manifest server, and wherein the session identifier corresponds to the requested video signal, the method further comprising receiving the session identifier from the video player at a manifest server.

23. The non-transitory machine-readable medium of claim 17 wherein the customized manifest file comprises the session identifier identifying at least one of the video player or a user of the video player.

Assignments (2)
CHANGE OF NAME Recorded Jun 23, 2021
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 056651/0150 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2021
From: HARITAOGLU, ISMAIL R.; HARMANCI, OZTAN
To: GOOGLE INC.
Reel/Frame 056625/0967 →
Continuity (2)
Continuation 15589756 · May 8, 2017
Provisional Application 62333377 · May 9, 2016