IP Library › Granted Patent US 10,382,578
Granted Patent B2
US 10,382,578 · App. 14/871,567 · Granted Aug 13, 2019

Provision of a lease for streaming content

Inventors: Srinivas Vedula (Cupertino, CA); Daniel P. Carter (San Jose, CA); Gianpaolo Fasoli (Redwood City, CA); Augustin J. Farrugia (Los Altos Hills, CA); Eugene Jivotovski (Sunnyvale, CA)
Assignee: Apple Inc.
H04L67/306H04L63/10H04L65/60H04L67/146
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 10,382,578
App. No.
14/871,567
Granted
Aug 13, 2019
Kind
B2
Abstract

This application relates to embodiments for providing a content stream to a device from a content server based on a protocol that is established between the device and an account server. The account server can initiate a session with the device and provide the device with a list of channels available for a user account associated with the device. When a channel is selected at the device, conditional access information can be provided from the account server to the device, which can thereafter relay the conditional access information to the content server. The content server can use the conditional access information to verify that the device has the appropriate permission to receive streaming content. In this way, because the conditional access information originates at the account server, permission to access streaming content can be managed by correspondence between the account server and the device, rather than the content server.

Claims (68)

1. A computing device associated with a user account and configured to access content provided by a content server, the computing device comprising:

at least one processor; and

at least one memory configured to store instructions that, when executed by the at least one processor, cause the computing device to:

in response to receiving a selection of the content, send, to an account server associated with the user account, a request to access the content;

receive, from the account server, conditional access information (CAI) for streaming the content from the content server, wherein the CAI:

(i) indicates that the user account is authenticated with the account server, and

(ii) indicates that the user account is authorized to access the content;

provide the CAI to the content server;

establish, with the content server, first and second communication links that are distinct from one another;

issue, to the content server via the first communication link, a second request for an encryption key;

receive, from the content server via the first communication link, the encryption key;

receive, from the content server via the second communication link, the content in an encrypted form based on the encryption key;

decrypt the content using the encryption key; and

cause a playback of the content.

2. The computing device of claim 1 , wherein the CAI includes a session identifier that is provided to the computing device from the account server.

3. The computing device of claim 2 , wherein the at least one processor further causes the computing device to:

send the session identifier to the content server with the CAI.

4. The computing device of claim 1 , wherein causing the playback of the content comprises providing the content to a third party application for playback.

5. The computing device of claim 1 , wherein a lease associated with the CAI is configured to expire after a predetermined time period has elapsed, and the at least one processor further causes the computing device to:

generate an additional request for a subsequent lease prior to the predetermined time period elapsing; and

send the additional request to the account server.

6. The computing device of claim 5 , wherein the user account is associated with a maximum number of device slots, and the lease is provided to the computing device when a number of active slots is less than the maximum number of device slots.

7. The computing device of claim 1 , wherein:

the CAI further indicates (iii) an owner identifier associated with the account server; and

the content server possesses partner lease data that enables the content server to authenticate the owner identifier prior to providing the encryption key and the content.

8. A non-transitory machine-readable storage medium storing instructions that, when executed by at least one processor of a computing device associated with a user account, cause the computing device to access content provided by a content server, by performing steps that include:

in response to receiving a selection of the content, sending, to an account server associated with the user account, a request to access the content;

receiving, from the account server, conditional access information (CAI) for streaming the content from the content server, wherein the CAI:

(i) indicates that the user account is authenticated with the account server, and

(ii) indicates that the user account is authorized to access the content; providing the CAI to the content server;

establishing, with the content server, first and second communication links that are distinct from one another;

issuing, to the content server via the first communication link, a second request for an encryption key;

receiving, from the content server via the first communication link, the encryption key;

receiving, from the content server via the second communication link, the content in an encrypted form based on the encryption key;

decrypting the content using the encryption key; and

causing a playback of the content.

9. The non-transitory machine-readable storage medium of claim 8 , wherein the CAI includes a session identifier that is provided to the computing device from the account server.

10. The non-transitory machine-readable storage medium of claim 9 , wherein the steps further include:

sending the session identifier to the content server with the CAI.

11. The non-transitory machine-readable storage medium of claim 10 , wherein a lease associated with the CAI is configured to expire after a predetermined time period has elapsed, and the steps further include:

generating an additional request for a subsequent lease prior to the predetermined time period elapsing; and

sending the additional request to the account server.

12. The non-transitory machine-readable storage medium of claim 11 , wherein the user account is associated with a maximum number of device slots, and the lease is provided to the computing device when a number of active slots is less than the maximum number of device slots.

13. The non-transitory machine-readable storage medium of claim 8 , wherein causing the playback of the content comprises providing the content to a third party application for playback.

14. The non-transitory machine-readable storage medium of claim 8 , wherein:

the CAI further indicates (iii) an owner identifier associated with the account server; and

the content server possesses partner lease data that enables the content server to authenticate the owner identifier prior to providing the encryption key and the content.

15. The non-transitory machine-readable storage medium of claim 8 , wherein the steps further include:

periodically sending, based on an expiration time, requests to renew a lease for streaming the content.

16. The non-transitory machine-readable storage medium of claim 8 , wherein the CAI and the encryption key are transmitted using separate communication channels.

17. A method for accessing content provided by a content server, the method comprising, at a computing device associated with a user account:

in response to receiving a selection of the content, sending, to an account server associated with the user account, a request to access the content;

receiving, from the account server, conditional access information (CAI) for streaming the content from the content server, wherein the CAI:

(i) indicates that the user account is authenticated with the account server, and

(ii) indicates that the user account is authorized to access the content;

providing the CAI to the content server;

establishing, with the content server, first and second communication links that are distinct from one another;

issuing, to the content server via the first communication link, a second request for an encryption key;

receiving, from the content server via the first communication link, the encryption key;

receiving, from the content server via the second communication link, the content in an encrypted form based on the encryption key;

decrypting the content using the encryption key; and

causing a playback of the content.

18. The method of claim 17 , wherein the CAI includes a session identifier that is provided to the computing device from the account server.

19. The method of claim 18 , further comprising:

sending the session identifier to the content server with the CAI.

20. The method of claim 19 , wherein:

the CAI further indicates (iii) an owner identifier associated with the account server; and

the content server possesses partner lease data that enables the content server to authenticate the owner identifier prior to providing the encryption key and the content.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2015
From: VEDULA, SRINIVAS; CARTER, DANIEL P.; FASOLI, GIANPAOLO; FARRUGIA, AUGUSTIN J.; JIVOTOVSKI, EUGENE
To: APPLE INC.
Reel/Frame 037017/0456 →
Continuity (2)
Provisional Application 62171884 · Jun 5, 2015
Related Publication 20160359816A1 · Dec 8, 2016
Cited By (1)
US 12,355,846