IP Library Granted Patent US 10,795,866
Granted Patent B2
US 10,795,866 · App. 16/511,252 · Granted Oct 6, 2020

Distributed file systems on content delivery networks

Inventor: Rajiv Desai (Sunnyvale, CA)
Assignee: EMC IP HOLDING COMPANY LLC
G06F16/182G06F12/0833G06F12/121G06F16/1827H04L67/2804G06F2212/62G06F2212/69H04L67/1097
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,795,866
App. No.
16/511,252
Granted
Oct 6, 2020
Kind
B2
Abstract

A method, article of manufacture, and apparatus for accessing a distributed file system using a content delivery network is discussed. An IO request for an object is received at a metadata server comprising metadata mapping a plurality of objects to an object store. An object identifier associated with the object and a CDN domain associated with the object store are determined. A URL is generated from the object identifier and the CDN domain. The URL is then returned to the client.

Claims (30)

1. A method for accessing data using a content delivery network (CDN) that is associated with object stores configured to store the data, the CDN including a plurality of servers and a plurality of datacenters, the method comprising:

receiving a request associated with an object at a metadata server in a communication from a client, wherein the metadata server comprises metadata mapping a plurality of objects to an object store;

determining an object identifier associated with the requested object and a CDN domain;

generating a URL to the CDN domain from the object identifier and the CDN domain;

returning the URL to the client; and

communicating with a server of the CDN domain to perform an IO request using the URL generated from the object identifier and the CDN domain, wherein the server of the CDN domain serves as a cache and a proxy to the object store and performs the IO request to the object store when the requested object is not cached at the server of the CDN domain.

2. The method of claim 1 , wherein the server of the CDN domain is associated with a specific object store, further comprising requesting the requested object, by the server of the CDN domain, from the specific object store when the requested object is not cached at the server of the CDN domain.

3. The method of claim 1 , wherein communicating the CDN domain comprises communicating with the server of the CDN domain, wherein the server of the CDN domain performs the request without accessing the object store when the requested object is cached by the server and wherein the server accesses the object store for the requested object when the requested object is not cached by the server.

4. The method of claim 1 , wherein the server is configured to act as a proxy and a cache for the requested object.

5. The method of claim 1 , further comprising forwarding the IO request to a remote object store when the requested object is not cached at the server of the CDN domain.

6. The method of claim 1 , further comprising returning the requested to the client through the server of the CDN domain.

7. The method of claim 1 , further comprising determining an optimal object store for the requested object.

8. The method of claim 7 , further comprising storing the requested object at the optimal object store associated with the server of the CDN domain when the requested object was not previously stored at the optimal object store.

9. The method of claim 1 , further comprising caching the requested object at the server of the CDN domain.

10. The method of claim 1 , further comprising writing an object to the CDN through the server of the CDN network, wherein the server of the CDN network caches the object being written.

11. The method of claim 1 , wherein the object store appears as a single object store but includes a plurality of physically separated datacenters.

12. A non-transitory computer readable medium comprising computer executable instructions for accessing data using a content delivery network (CDN) that is associated with object stores configured to store the data, the CDN including a plurality of servers and a plurality of datacenters, the instructions comprising:

receiving a request associated with an object at a metadata server in a communication from a client, wherein the metadata server comprises metadata mapping a plurality of objects to an object store;

determining an object identifier associated with the requested object and a CDN domain;

generating a URL to the CDN domain from the object identifier and the CDN domain;

returning the URL to the client; and

communicating with a server of the CDN domain to perform an IO request using the URL generated from the object identifier and the CDN domain, wherein the server of the CDN domain serves as a cache and a proxy to the object store and performs the IO request to the object store when the requested object is not cached at the server of the CDN domain.

13. The non-transitory computer readable medium of claim 12 , wherein the at least some of the plurality of servers of CDN domain is associated with a with a specific object store.

14. The non-transitory computer readable medium of claim 12 , wherein the server of the CDN domain is associated with a specific object store, further comprising requesting the requested object, by the server of the CDN domain, from the specific object store when the requested object is not cached at the server of the CDN domain.

15. The non-transitory computer readable medium of claim 12 , wherein the specific object store is determined to be an optimal object store for a client requesting the requested object.

16. The non-transitory computer readable medium of claim 12 , wherein communicating the CDN domain comprises communicating with the server of the CDN domain, wherein the server of the CDN domain performs the request without accessing the object store when the requested object is cached by the server and wherein the server accesses the object store for the requested object when the requested object is not cached by the server.

17. The non-transitory computer readable medium of claim 12 , wherein the server is configured to act as a proxy and a cache for the requested object.

18. The non-transitory computer readable medium of claim 12 , the instructions further comprising forwarding the IO request to a remote object store when the requested object is not cached at the server of the CDN domain, and returning the requested to the client through the server of the CDN domain.

19. The non-transitory computer readable medium of claim 12 , the instructions further comprising determining an optimal object store for the requested object, caching the requested object at the server of the CDN domain, storing the requested object at the optimal object store associated with the server of the CDN domain when the requested object was not previously stored at the optimal object store.

20. The non-transitory computer readable medium of claim 12 , further comprising writing an object to the CDN through the server of the CDN network, wherein the server of the CDN network caches the object being written.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0571) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0088 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST AT REEL 050406 FRAME 421 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: EMC CORPORATION; DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058213/0825 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2020
From: DESAI, RAJIV
To: EMC CORPORATION
Reel/Frame 053631/0357 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2020
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 053632/0128 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0571 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050406/0421 →
Continuity (4)
Continuation 16031775 · Jul 10, 2018
Continuation 14671675 · Mar 27, 2015
Provisional Application 62088427 · Dec 5, 2014
Related Publication 20190340158A1 · Nov 7, 2019