Delivering a content item from a server to a device
First Claim
Patent Images
1. A computer-based method for a server to deliver a content item to a first device and a second device, the computer-based method comprising:
- storing, in a database of the server, an identifier unique to the first device and an identifier unique to the second device;
receiving, from the first device, a first request for the content item and a first identifier associated with the first device;
requesting a first set of encryption keys in response to a first verification that the first identifier matches the identifier unique to the first device stored in the database;
receiving, from a key management server, the first set of encryption keys in response to the request for the first set of encryption keys;
receiving a plurality of file segments of the content item;
associating, in the database of the server, the first set of encryption keys with the content item and the identifier unique to the first device;
generating a first session-specific playlist including a first plurality of session-specific file segment URLs corresponding to the plurality of file segments, wherein a session-specific file segment URL of the first plurality of session-specific file segment URLs includes a filename of a corresponding file segment of the plurality of file segments appended with a session identification corresponding to a first session;
generating a first encrypted segment by encrypting a file segment of the plurality of file segments using a first encryption key of the first set of encryption keys;
receiving, from the second device, a second request for the content item and a second identifier associated with the second device;
requesting a second set of encryption keys different from the first set of encryption keys in response to a second verification that the second identifier matches the identifier unique to the second device stored in the database;
receiving, from the key management server, the second set of encryption keys in response to the request for the second set of encryption keys;
associating, in the database of the server, the second set of encryption keys with the content item and the identifier unique to the second device;
generating a second session-specific playlist including a second plurality of session-specific file segment URLs corresponding to the plurality of file segments, wherein a session-specific file segment URL of the second plurality of session-specific file segment URLs includes a filename of a corresponding file segment of the plurality of file segments appended with a session identification corresponding to a second session;
generating a second encrypted segment by encrypting the file segment of the plurality of file segments using a second encryption key of the second set of encryption keys; and
delivering the first encrypted segment to the first device and the second encrypted segment to the second device.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems for delivering a segmented content item from a server to a first and second device are provided. A first key is used to encrypt the segmented content item into a first plurality of encrypted segments and a second key is used to encrypt the segmented content item into a second plurality of encrypted segments. The first and second keys are different. The first plurality of encrypted segments is delivered to the first device, and the second plurality of encrypted segments is delivered to the second device.
-
Citations
21 Claims
-
1. A computer-based method for a server to deliver a content item to a first device and a second device, the computer-based method comprising:
-
storing, in a database of the server, an identifier unique to the first device and an identifier unique to the second device; receiving, from the first device, a first request for the content item and a first identifier associated with the first device; requesting a first set of encryption keys in response to a first verification that the first identifier matches the identifier unique to the first device stored in the database; receiving, from a key management server, the first set of encryption keys in response to the request for the first set of encryption keys; receiving a plurality of file segments of the content item; associating, in the database of the server, the first set of encryption keys with the content item and the identifier unique to the first device; generating a first session-specific playlist including a first plurality of session-specific file segment URLs corresponding to the plurality of file segments, wherein a session-specific file segment URL of the first plurality of session-specific file segment URLs includes a filename of a corresponding file segment of the plurality of file segments appended with a session identification corresponding to a first session; generating a first encrypted segment by encrypting a file segment of the plurality of file segments using a first encryption key of the first set of encryption keys; receiving, from the second device, a second request for the content item and a second identifier associated with the second device; requesting a second set of encryption keys different from the first set of encryption keys in response to a second verification that the second identifier matches the identifier unique to the second device stored in the database; receiving, from the key management server, the second set of encryption keys in response to the request for the second set of encryption keys; associating, in the database of the server, the second set of encryption keys with the content item and the identifier unique to the second device; generating a second session-specific playlist including a second plurality of session-specific file segment URLs corresponding to the plurality of file segments, wherein a session-specific file segment URL of the second plurality of session-specific file segment URLs includes a filename of a corresponding file segment of the plurality of file segments appended with a session identification corresponding to a second session; generating a second encrypted segment by encrypting the file segment of the plurality of file segments using a second encryption key of the second set of encryption keys; and delivering the first encrypted segment to the first device and the second encrypted segment to the second device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system to deliver a content item to a first device and a second device, the system comprising:
-
a database configured to store an identifier unique to the first device and an identifier unique to the second device; an encryption engine coupled to the database and configured to; receive, from the first device, a first request for the content item and a first identifier associated with the first device; request a first set of encryption keys in response to a first verification that the first identifier matches the identifier unique to the first device stored in the database; receive, from a key management server, the first set of encryption keys in response to the request for the first set of encryption keys; receive a plurality of file segments of the content item; associate, in the database, the first set of encryption keys with the content item and the identifier unique to the first device; generate a first session-specific playlist including a first plurality of session-specific file segment URLs corresponding to the plurality of file segments, wherein a session-specific file segment URL of the first plurality of session-specific file segment URLs includes a filename of a corresponding file segment of the plurality of file segments appended with a session identification corresponding to a first session; generate a first encrypted segment by encrypting a file segment of the plurality of file segments using a first encryption key of the first set of encryption keys; receive, from the second device, a second request for the content item and a second identifier associated with the second device; request a second set of encryption keys different from the first set of encryption keys in response to a second verification that the second identifier matches the identifier unique to the second device stored in the database; receive, from the key management server, the second set of encryption keys in response to the request for the second set of encryption keys; associate, in the database, the second set of encryption keys with the content item and the identifier unique to the second device; generate a second session-specific playlist including a second plurality of session-specific file segment URLs corresponding to the plurality of file segments, wherein a session-specific file segment URL of the second plurality of session-specific file segment URLs includes a filename of a corresponding file segment of the plurality of file segments appended with a session identification corresponding to a second session; and generate a second encrypted segment by encrypting the file segment of the plurality of file segments using a second encryption key of the second set of encryption keys; and a communication unit configured to; deliver the first encrypted segment to the first device and the second encrypted segment to the second device. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A non-transitory computer-readable medium having computer-executable instructions stored thereon that, when executed by a computing device, cause the computing device to perform a method for a server to deliver a content item to a first device and a second device, the method comprising:
-
storing, in a database of the server, an identifier unique to the first device and an identifier unique to the second device; receiving, from the first device, a first request for the content item and a first identifier associated with the first device; requesting a first set of encryption keys in response to a first verification that the first identifier matches the identifier unique to the first device stored in the database; receiving, from a key management server, the first set of encryption keys in response to the request for the first set of encryption keys; receiving a plurality of file segments of the content item; associating, in the database of the server, the first set of encryption keys with the content item and the identifier unique to the first device; generating a first session-specific playlist including a first plurality of session-specific file segment URLs corresponding to the plurality of file segments, wherein a session-specific file segment URL of the first plurality of session-specific file segment URLs includes a filename of a corresponding file segment of the plurality of file segments appended with a session identification corresponding to a first session; generating a first encrypted segment by encrypting a file segment of the plurality of file segments using a first encryption key of the first set of encryption keys; receiving, from the second device, a second request for the content item and a second identifier associated with the second device; requesting a second set of encryption keys different from the first set of encryption keys in response to a second verification that the second identifier matches the identifier unique to the second device stored in the database; receiving, from the key management server, the second set of encryption keys in response to the request for the second set of encryption keys; associating, in the database of the server, the second set of encryption keys with the content item and the identifier unique to the second device; generating a second session-specific playlist including a second plurality of session-specific file segment URLs corresponding to the plurality of file segments, wherein a session-specific file segment URL of the second plurality of session-specific file segment URLs includes a filename of a corresponding file segment of the plurality of file segments appended with a session identification corresponding to a second session; generating a second encrypted segment by encrypting the file segment of the plurality of file segments using a second encryption key of the second set of encryption keys; and delivering the first encrypted segment to the first device and the second encrypted segment to the second device.
-
Specification