IP Library Granted Patent US 10,353,873
Granted Patent B2
US 10,353,873 · App. 16/031,775 · Granted Jul 16, 2019

Distributed file systems on content delivery networks

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,353,873
App. No.
16/031,775
Granted
Jul 16, 2019
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 (38)

1. A method for accessing data using a content delivery network (CDN), the CDN including a plurality of datacenters that are in different locations, the method comprising:

receiving an IO request for an object at a metadata server 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 the CDN domain associated with the object store;

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

returning the URL to the client;

requesting the data object from the CDN domain using the URL, wherein the CDN domain is configured to access the data object from a datacenter that is optimal for the client.

2. The method of claim 1 , further comprising mapping the plurality of objects to multiple object stores, wherein the CDN comprises a plurality of different datacenters that are part of a logical object store.

3. The method of claim 1 , wherein the CDN comprises at least some servers that act as both a proxy and as a cache in the object store.

4. The method of claim 1 , further comprising mounting at least a portion of the CDN domain.

5. The method of claim 4 , further comprising changing a directory or location by sending a request to the metadata server.

6. The method of claim 1 , wherein the requested object includes a plurality of data segments and the IO request is a write request.

7. The method of claim 6 , further comprising:

determining segment identifiers for each of the plurality of data segments;

determining whether the object store contains data segments for each of the segment identifiers;

generating a plurality of URLs from the segment identifiers and the CDN domain; and

returning the plurality of URLs to the client.

8. The method of claim 7 , further comprising determining at the metadata server whether the object store contains each of the data segments.

9. The method of claim 8 , wherein the URL comprises a plurality of write URLs for the data segments the object store does not contain.

10. The method of claim 9 , further comprising writing the data segments the object store does not contain to the object store and updating the metadata server by creating a new entry for each of the data segments the object store does not contain at the metadata server.

11. A non-transitory computer readable storage medium comprising processor instructions for accessing data using a content delivery network (CDN), the instructions comprising:

receiving an IO request for an object at a metadata server 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 the CDN domain associated with the object store;

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

returning the URL to the client;

requesting the data object from the CDN domain using the URL, wherein the CDN domain is configured to access the data object from a datacenter that is optimal for the client.

12. The method of claim 11 , further comprising mapping the plurality of objects to multiple object stores, wherein the CDN comprises a plurality of different datacenters that are part of a logical object store.

13. The method of claim 11 , wherein the CDN comprises at least some servers that act as both a proxy and as a cache in the object store.

14. The method of claim 11 , further comprising mounting at least a portion of the CDN domain.

15. The method of claim 14 , further comprising changing a directory or location by sending a request to the metadata server.

16. The method of claim 11 , wherein the requested object includes a plurality of data segments and the IO request is a write request.

17. The method of claim 16 , further comprising:

determining segment identifiers for each of the plurality of data segments;

determining whether the object store contains data segments for each of the segment identifiers;

generating a plurality of URLs from the segment identifiers and the CDN domain; and

returning the plurality of URLs to the client.

18. The method of claim 17 , further comprising determining at the metadata server whether the object store contains each of the data segments.

19. The method of claim 18 , wherein the URL comprises a plurality of write URLs for the data segments the object store does not contain.

20. The method of claim 19 , further comprising writing the data segments the object store does not contain to the object store and updating the metadata server by creating a new entry for each of the data segments the object store does not contain at the metadata server.

Assignments (8)
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 IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (047648/0422) Recorded May 20, 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 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0510 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2019
From: DESAI, RAJIV
To: EMC CORPORATION
Reel/Frame 049381/0241 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2019
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 049385/0628 →
SECURITY AGREEMENT Recorded Mar 21, 2019
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 049452/0223 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 2018
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 047648/0422 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →