IP Library › Granted Patent US 10,375,154
Granted Patent B2
US 10,375,154 · App. 15/365,733 · Granted Aug 6, 2019

Interchangeable retrieval of content

Inventors: Yauhen Shnitko (Sammamish, WA); Victor Magidson (Issaquah, WA)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
H04L67/1002G06F16/955H04L67/02H04L67/10H04L67/2842H04L67/2847
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,375,154
App. No.
15/365,733
Granted
Aug 6, 2019
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. A hash map is updated and provided to the client devices to allow a tenant to control and change how content is distributed without needing to modify the applications or multiple content items that are used by the client devices. Tenants are thereby enabled to include or exclude the CDN as an available source of content without disrupting operation of the centralized service or the client devices. Individual content assets or libraries of content assets may thereby be interchangeably provisioned via a single Uniform Resource Locator.

Claims (67)

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

identifying content hosted by the cloud service to be distributed via a content distribution network (CDN), the cloud service hosting the content at a provided uniform resource locator (URL);

creating a hash value based on the provided URL;

hosting a child content asset of the content at a source URL, wherein the source URL includes the hash value;

creating a hash map comprising 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 hash value;

configuring the CDN to serve the child content asset from the CDN URL and use the source URL as a source from which to cache the child content asset in the CDN; and

providing the hash map to the client device associated with an authenticated client to enable the client device to derive the CDN URL such that the child content asset is provided from the CDN to the client device according to the CDN URL.

2. The method of claim 1 , further comprising:

identifying content hosted by the cloud service to not be distributed via the CDN; and

providing the provided URL to the client device such that the content hosted by the cloud service to not be distributed via the CDN is provided from the cloud service to the client device according to the provided URL.

3. The method of claim 1 , further comprising:

rejecting requests for the child content asset via the source URL that are received from requesting parties other than the CDN.

4. The method of claim 1 , wherein configuring the CDN further comprises setting a retention policy for how long the child content asset is to remain cached by the CDN.

5. The method of claim 1 , further comprising:

identifying a given child content asset that is currently distributed via the CDN but is no longer to be distributed via the CDN;

removing the given child content asset from being hosted at a given source URL associated with the given child content asset;

sending a cache clear command to the CDN;

updating the hash map to remove a given hash value associated with the given child content asset from the hash map; and

providing the updated hash map to the client device.

6. The method of claim 5 , further comprising providing the updated hash map to the client device in response to a request for the content.

7. The method of claim 1 , wherein the provided URL comprises:

a protocol identifier;

a host value;

a provided internal file path; and

an asset identifier.

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

the protocol identifier;

the host value;

a cloud file path;

the hash value; and

the asset identifier.

9. The method of claim 7 , wherein the CDN URL comprises:

the protocol identifier;

a CDN address;

the host value;

the hash value; and

the asset identifier.

10. A computing device associated with a cloud service for improving computational efficiency in interchangeably sourcing content for retrieval when providing a single address, the computing device comprising:

a communication connection between at least the cloud service, a content distribution network (CDN), and a client device;

a memory storing instructions; and

a processing unit coupled to the memory, wherein upon execution of the instructions stored in the memory, the processing unit is configured to:

identify content hosted by the cloud service to be distributed via the CDN, the cloud service hosting the content at a provided uniform resource locator (URL);

create a hash value based on the provided URL;

host a child content asset of the content at a source URL, wherein the source URL includes the hash value;

create a hash map comprising a CDN URL, wherein the CDN URL points to an address for the CDN to provide the child content asset to the client device and the CDN URL includes the hash value;

configure the CDN to serve the child content asset from the CDN URL and use the source URL as a source from which to cache the child content asset in the CDN; and

provide the hash map to the client device associated with an authenticated client to enable the client device to derive the CDN URL such that the child content asset is provided from the CDN to the client device according to the CDN URL.

11. The computing device of claim 10 , wherein to configure the CDN to serve the child content asset from the CDN URL and use the source URL as the source from which to cache the child content asset in the CDN, the processing unit is configured to:

provide the CDN with the source URL and logic to convert the source URL to the CDN URL.

12. The computing device of claim 10 , wherein to configure the CDN to serve the child content asset from the CDN URL and use the source URL as the source from which to cache the child content asset in the CDN, the processing unit is configured to:

provide the CDN with the hash value and logic to construct the provided URL, the source URL, and the CDN URL.

13. The computing device of claim 10 , wherein the processing unit is further configured to store the child content asset within the cloud service according to an access permission level associated with the child content asset.

14. The computing device of claim 13 , wherein the processing unit is further configured to:

in response to receiving a request from the client device for the child content asset and prior to providing the hash map to the client device, determine the client is associated with the access permission level to access the child content asset to authenticate the client.

15. The computing device of claim 10 , wherein to create the hash value based on the provided URL, the processing unit is configured to:

normalize character encodings of the provided URL; and

run a hash function on at least a portion of the provided URL.

16. The computing device of claim 15 , wherein the hash value includes an output of the hash function, a version of hash construction rules, a signature or a checksum for the hash value, and a length of a portion of the provided URL that was hashed.

17. The computing device of claim 15 , wherein the hash function is run on an entirety of the provided URL to create a unique hash value for the child content asset.

18. The computing device of claim 15 , wherein the hash function is run on a portion of the provided URL including a host value and at least a portion of an internal file path of the provided URL to create a shared hash value for the child content asset and one or more other content assets having a same internal file path.

19. Computer storage media with instructions stored thereon for improving computational efficiency in interchangeably sourcing content for retrieval when providing a single address, the instructions comprising:

identifying content hosted by a cloud service to be distributed via a content distribution network (CDN), the cloud service hosting the content at a provided uniform resource locator (URL);

creating a hash value based on the provided URL;

hosting a child content asset of the content at a source URL, wherein the source URL includes the hash value;

creating a hash map comprising 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 hash value;

configuring the CDN to serve the child content asset from the CDN URL and use the source URL as a source from which to cache the child content asset in the CDN; and

providing the hash map to a client device associated with an authenticated client to enable the client device to derive the CDN URL such that the child content asset is provided from the CDN to the client device according to the CDN URL.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2017
From: SHNITKO, YAUHEN; MAGIDSON, VICTOR
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 041531/0235 →
Continuity (2)
Provisional Application 62368739 · Jul 29, 2016
Related Publication 20180034901A1 · Feb 1, 2018