IP Library Granted Patent US 10,693,947
Granted Patent B2
US 10,693,947 · App. 15/402,071 · Granted Jun 23, 2020

Interchangeable retrieval of sensitive content via private content distribution networks

Inventors: Yauhen Shnitko (Sammamish, WA); John D. Fan (Redmond, WA); Victor Magidson (Issaquah, WA)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
H04L67/10H04L29/08729H04L65/4084H04L67/02H04L67/06H04L67/2814H04L67/2842H04L67/2885H04L67/327H04L67/42
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,693,947
App. No.
15/402,071
Granted
Jun 23, 2020
Kind
B2
Abstract

The present disclosure provides for improved computational efficiency in systems used to provide content over a network. Hybrid content sourcing is enabled to provide content via a Content Distribution System (CDN) and a centralized service in conjunction with one another via a single URL provided to client devices. Client devices are provided with expiration tokens, which are used to authorize the CDN to request and serve the content to the client devices with the security inherent to the centralized service. Tenants are thereby enabled to use the CDN as an available source via a single Uniform Resource Locator provided to clients with greater security than public CDNs.

Claims (86)

1. A method for improving computational efficiency in interchangeably sourcing content for retrieval when providing a single address, comprising:

identifying a content asset to be distributed via a CDN (Content Distribution Network) in conjunction with a cloud service hosting the content asset at a provided URL (Uniform Resource Locator);

creating a key value based on the provided URL;

hosting, at the cloud service, a child content asset of the content asset at a cloud URL and a source URL, wherein the source URL includes the key value;

creating, by the cloud service, a CDN URL, wherein the CDN URL points to an address for the CDN to provide the child content asset to a client device and the CDN URL includes the key value;

providing, from the cloud service to a client device, an authentication token associated with a client and the key value;

receiving an authorization request from the CDN to distribute the child content asset to the client device, the authorization request including the key value and the authentication token;

verifying the authentication token; and

transmitting, from the cloud service, an authorization code to the CDN to enable the CDN to distribute the child asset to the client device.

2. The method of claim 1 , wherein creating the key value comprises:

setting an expiration time for the authorization token;

generating a nonce; and

hashing a combination of the expiration time, the nonce, and at least a portion of the cloud URL.

3. The method of claim 1 , wherein the authentication token includes a plaintext expiration indicating a time after which the authentication token is no longer valid.

4. The method of claim 1 , wherein the content asset is provided to the client device from the cloud service in response cloud service authorizing the client device to receive the content asset.

5. The method of claim 1 , further comprising:

identifying a given child asset that is currently distributed via the CDN in conjunction with the cloud service that is no longer to be distrusted via the CDN;

removing the given child asset from hosting by the cloud service at a given source URL associated with the given child asset;

sending, from the cloud service, a cache clear command to the CDN; and

invalidating the authentication token.

6. The method of claim 1 , wherein a plurality of child content items organized into a library share a given key value.

7. The method of claim 1 , wherein the cloud service is configured to reject requests for the child asset via the source URL that are received from requesting parties other than the CDN.

8. The method of claim 1 , wherein the cloud URL comprises:

a protocol identifier;

a host value;

a provided internal file path; and

an asset identifier for the child asset.

9. The method of claim 8 , wherein the source URL comprises:

the protocol identifier;

the host value;

an item authorization pathway;

the provided internal file path; and

the asset identifier for the child asset; and

a query, including the key value.

10. The method of claim 8 , wherein the CDN URL comprises:

the protocol identifier;

a CDN address;

the host value;

the provided internal file path;

the asset identifier for the child asset; and

a query, including the key value.

11. A system for improving computational efficiency in interchangeably sourcing content for retrieval when providing a single address, comprising:

a processing unit; and

a memory including computer readable instructions, which when executed by the processor, causes the system to be operable to:

identify a content asset to be distributed via a CDN (Content Distribution Network) in conjunction with a cloud service hosting the content asset at a provided URL (Uniform Resource Locator);

create a key value based on the provided URL;

host, at the cloud service, a child content asset of the content asset at a cloud URL and a source URL, wherein the source URL includes the key value;

create, by the cloud service, a CDN URL, wherein the CDN URL points to an address for the CDN to provide the child content asset to a client device and the CDN URL includes the key value;

provide, from the cloud service to a client device, an authentication token associated with a client and the key value;

receive an authorization request from the CDN to distribute the child content asset to the client device, the authorization request including the key value and the authentication token;

verify the authentication token; and

transmit, from the cloud service, an authorization code to the CDN to enable the CDN to distribute the child asset to the client device.

12. The system of claim 11 , wherein creating the key value comprises the system being further operable to:

set an expiration time for the authorization token;

generate a nonce; and

hash a combination of the expiration time, the nonce, and at least a portion of the cloud URL.

13. The system of claim 11 , wherein the authentication token includes a plaintext expiration indicating a time after which the authentication token is no longer valid.

14. The system of claim 11 , wherein the content asset is provided to the client device from the cloud service in response cloud service authorizing the client device to receive the content asset.

15. The system of claim 11 , wherein the system is further operable to:

identify a given child asset that is currently distributed via the CDN in conjunction with the cloud service that is no longer to be distrusted via the CDN;

remove the given child asset from hosting by the cloud service at a given source URL associated with the given child asset;

send, from the cloud service, a cache clear command to the CDN; and

invalidate the authentication token.

16. A computer readable storage medium including computer readable instructions, which when executed by a processing unit, perform the steps for improving computational efficiency in interchangeably sourcing content for retrieval when providing a single address, comprising:

identifying a content asset to be distributed via a CDN (Content Distribution Network) in conjunction with a cloud service hosting the content asset at a provided URL (Uniform Resource Locator);

creating a key value based on the provided URL;

hosting, at the cloud service, a child content asset of the content asset at a cloud URL and a source URL, wherein the source URL includes the key value;

creating, by the cloud service, a CDN URL, wherein the CDN URL points to an address for the CDN to provide the child content asset to a client device and the CDN URL includes the key value;

providing, from the cloud service to a client device, an authentication token associated with a client and the key value;

receiving an authorization request from the CDN to distribute the child content asset to the client device, the authorization request including the key value and the authentication token;

verifying the authentication token; and

transmitting, from the cloud service, an authorization code to the CDN to enable the CDN to distribute the child asset to the client device.

17. The computer readable storage medium of claim 16 , wherein a plurality of child content items organized into a library share a given key value.

18. The computer readable storage medium of claim 16 , wherein the cloud service is configured to reject requests for the child asset via the source URL that are received from requesting parties other than the CDN.

19. The computer readable storage medium of claim 16 , wherein the cloud URL comprises:

a protocol identifier;

a host value;

a provided internal file path; and

an asset identifier for the child asset.

20. The computer readable storage medium of claim 19 , wherein the source URL comprises:

the protocol identifier;

the host value;

an item authorization pathway;

the provided internal file path; and

the asset identifier for the child asset; and

a query, including the key value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2017
From: SHNITKO, YAUHEN; FAN, JOHN D.; MAGIDSON, VICTOR
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 040907/0382 →
Continuity (2)
Provisional Application 62385801 · Sep 9, 2016
Related Publication 20180077222A1 · Mar 15, 2018