IP Library Granted Patent US 10,719,616
Granted Patent B2
US 10,719,616 · App. 15/664,671 · Granted Jul 21, 2020

Secure content access system

Inventors: Sean M. Sullivan (Portland, OR); Natalie A. Wolfe (Portland, OR); Michael R. McConnell (Portland, OR)
Assignee: Beatport, LLC
G06F21/6218G06F21/602H04L9/065H04L9/0825H04L9/14H04L9/30H04L9/3226H04L2209/60
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,719,616
App. No.
15/664,671
Granted
Jul 21, 2020
Kind
B2
Abstract

A method for communicating between a client application and a license-governing application. The method includes receiving a request at a content application from the client application to access media content from the license-governing application, generating a message at the content application to the license-governing application to request client authentication, and receiving at the content application a client authorization token from the license-governing application. A message is generated at the content application to the client application to request user authentication, and the content application receives an authorization code from the client application. The method further includes generating a message at the content application to the license-governing application with the authorization code to request an access token, receiving the access token at the content application from the license-governing application, and granting access at the content application to the media content based on the access token.

Claims (50)

1. A method for communicating between a client application and a license-governing application, comprising:

receiving a request at a content application from the client application to access media content from the license-governing application;

generating a message at the content application to the license-governing application to request client authentication;

receiving at the content application a client authorization token from the license-governing application;

generating at the content application a message to the client application to request user authentication;

receiving at the content application an authorization code from the client application;

generating a message at the content application to the license-governing application with the authorization code to request an access token;

receiving the access token at the content application from the license-governing application;

granting access at the content application to the media content based on the access token;

generating a stream of media content at the content application when access is granted; and

decrypting on-the-fly at the content application a portion of the stream of media content as the client application plays the media content without requiring full decryption of the stream of media content for access by the client application.

2. The method of claim 1 , further comprising:

receiving a request at the content application for media content from the client application; and

in response to receiving the request for media content from the client application, generating a request at the content application for media content to the license-governing application.

3. The method of claim 1 , wherein decrypting the stream of media content includes decrypting the stream of media content using a fixed encryption key and an initialization vector.

4. The method of claim 3 , wherein the fixed key includes a combination of a secret license key and a client secret key.

5. The method of claim 3 , wherein the initialization vector includes a combination of a user identification and a media content identification.

6. The method of claim 1 , wherein the content application communicates with the license-governing application through an application programmable interface (API).

7. The method of claim 1 , further comprising:

generating a request at the content application for a license from the license-governing application.

8. The method of claim 7 , wherein the request for the license includes an application public key.

9. The method of claim 3 , further comprising:

receiving the license from the license-governing application, wherein the license is encrypted; and

decrypting the license using a client application private key.

10. The method of claim 1 , wherein the message to the license-governing application to request client authentication includes an application identification, an application public key, and an application version.

11. A non-transitory computer readable storage medium having instructions stored thereon for a content application that, when executed by a processor of a client device, cause the client device to:

receive a request at the content application from a client application on the client device to connect to a license-governing application;

generate a message at the content application to the license-governing application to request client authentication;

receive at the content application a client authorization token from the license-governing application;

generate at the content application a message to the client application to request user authentication;

receive at the content application an authorization code from the client application;

generate a message at the content application to the license-governing application with the authorization code to request an access token;

receive the access token at the content application from the license-governing application;

generate a message to the client application that access is granted to a user;

construct at the content application a stream of media content when access is granted; and

decrypt on-the-fly at the content application the stream of media content as the client application plays the media content without requiring full decryption of the stream of media content for access by the client application.

12. The non-transitory computer-readable medium of claim 11 , wherein the instructions, when executed by the processor on the client device, further cause the client device to:

receive a request at the content application for media content from the client application; and

in response to receiving the request for media content from the client application, generate a request at the content application for media content to the license-governing application.

13. The non-transitory computer-readable medium of claim 11 , wherein decrypting the stream of media content includes decrypting the stream of media content using a fixed encryption key and an initialization vector.

14. The non-transitory computer-readable medium of claim 13 , wherein the fixed key includes a combination of a secret license key and a client secret key.

15. The non-transitory computer-readable medium of claim 11 , wherein the initialization vector includes a combination of a user identification and a media content identification.

16. The non-transitory computer-readable medium of claim 11 , wherein the content application communicates with the license-governing application through an application programmable interface (API).

17. The non-transitory computer-readable medium of claim 11 , wherein the instructions, when executed by the processor on the client device, further cause the client device to:

generate a request at the content application for a license from the license-governing application.

18. The non-transitory computer-readable medium of claim 11 wherein the request for the license includes an application public key.

19. The non-transitory computer-readable medium of claim 11 , wherein the instructions, when executed by the processor on the client device, further cause the client device to:

receive the license from the license-governing application, wherein the license is encrypted; and

decrypt the license using a client application private key.

20. The non-transitory computer-readable medium of claim 11 , wherein the message to the license-governing application to request client authentication includes an application identification, an application public key, a user identification, and an application version.

Assignments (4)
SECURITY INTEREST Recorded Dec 17, 2020
From: BEATPORT, LLC
To: BLUE TORCH FINANCE, LLC, AS AGENT
Reel/Frame 054683/0712 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2020
From: PULSELOCKER, INC.
To: BEATPORT, LLC
Reel/Frame 052953/0140 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2018
From: KELLEY, JORDAN; RUSSELL, JOHN
To: ENTER, INC.
Reel/Frame 046807/0343 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2017
From: SULLIVAN, SEAN M.; WOLFE, NATALIE A.; MCCONNELL, MICHAEL R.
To: PULSELOCKER, INC.
Reel/Frame 043338/0206 →
Continuity (2)
Provisional Application 62412799 · Oct 25, 2016
Related Publication 20180114030A1 · Apr 26, 2018
Cited By (1)
US 12,671,864