IP Library Granted Patent US 10,462,249
Granted Patent B2
US 10,462,249 · App. 14/586,495 · Granted Oct 29, 2019

Globally distributed virtual cache for worldwide real-time data access

Inventor: Farid Bavandpouri (San Jose, CA)
Assignee: SUPER MICRO COMPUTER, INC.
H04L67/2842H04B7/185H04B7/18515H04L67/18G06F3/067H04L29/08729H04L29/08801H04L67/1097H04L67/288
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,462,249
App. No.
14/586,495
Granted
Oct 29, 2019
Kind
B2
Abstract

A globally distributed virtual cache is configured to provide storage resources for users around the globe. A user of the virtual cache uses a computing device to access data that is stored in storage centers included within the virtual cache. Those storage centers may be surface-based, atmosphere-based, or space-based. When the user accesses the same data repeatedly, the virtual cache migrates that data to a storage center that is closer to the user, thereby reducing latencies associated with accessing that data. When the user attempts to communicate with another user also coupled to the virtual cache, the virtual cache buffers data that is exchanged between those users to facilitate real-time or near real-time communication between those users.

Claims (49)

1. A computer-implemented method for caching data within a globally distributed virtual cache, the method comprising:

provisioning, to a first server implementing a first portion of the globally distributed virtual cache, a first storage resource associated with a first geographic region to cache first data associated with a first computing device, wherein the first computing device is associated with a first user and is coupled to the first server;

determining that second data is streaming to the first computing device from a second computing device that is associated with a second user and is coupled to a second server implementing a second portion of the globally distributed virtual cache associated with a second geographic region located farther away from the first computing device than the first geographic region; and

in response:

automatically provisioning additional cache storage space to at least one of the first server and a third server implementing a third portion of the globally distributed virtual cache associated with a region located between the first geographic region and the second geographic region, and

causing one or more processors included in at least one of the first server and the third server to execute one or more applications that cause the additional cache storage space to buffer the second data while the second data is being streamed from the second computing device to the first computing device.

2. The computer-implemented method of claim 1 , further comprising causing the first storage resource and the additional cache storage space to buffer third data streamed from the second computing device to the first computing device.

3. The computer-implemented method of claim 2 , wherein the first storage resource and the additional cache storage space buffer the third data to hide latency associated with streaming the third data from the second computing device to the first computing device.

4. The computer-implemented method of claim 2 , wherein the first computing device resides in the first geographic region, and the second computing device resides in the second geographic region.

5. The computer implemented method of claim 1 , further comprising causing the first storage resource to cache third data accessed repeatedly by the first computing device.

6. The computer-implemented method of claim 1 , wherein the first storage resource or the additional cache storage space comprises a surface-based storage center disposed on the surface of the Earth and includes at least one server machine to cache at least one of the first data and the second data.

7. The computer-implemented method of claim 1 , wherein the first storage resource or the additional cache storage space comprises an atmosphere-based storage center disposed above the surface of the Earth and within the atmosphere of the Earth and includes at least one server machine to cache at least one of the first data and the second data.

8. The computer-implemented method of claim 1 , wherein the first storage resource or the additional cache storage space comprises a space-based storage center disposed within the orbit around the Earth and includes at least one server machine to cache at least one of the first data and the second data.

9. The computer-implemented method of claim 1 , further comprising:

determining that the first computing device is no longer streaming the second data; and

reconfiguring the at least one of the first server and the third server to no longer include the additional cache storage space.

10. A system to cache data, comprising:

a first server machine, including:

a memory including a virtual cache engine,

a processor coupled to the memory, wherein, when the processor executes the virtual cache engine, the processor:

provisions, to a first server implementing a first portion of the globally distributed virtual cache, a first storage resource associated with a first geographic region to cache first data associated with a first computing device, wherein the first computing device is associated with a first user and is coupled to the first server,

determines that second data is streaming to the first computing device from a second computing device that is associated with a second user and is coupled to a second server implementing a second portion of the globally distributed virtual cache associated with a second geographic region located farther away from the first computing device than the first geographic region, and

in response:

automatically provisions additional cache storage space to at least one of the first server and a third server implementing a third portion of the globally distributed virtual cache associated with a region located between the first geographic region and the second geographic region, and

cause one or more processors included in at least one of the first server and the third server to execute one or more applications that cause the additional cache storage space to buffer the second data while the second data is being streamed from the second computing device to the first computing device.

11. The system of claim 10 , wherein the processor further causes the first storage resource and the additional cache storage space to buffer third data streamed from the second computing device to the first computing device.

12. The system of claim 11 , wherein the first storage resource and the additional cache storage space buffer the third data to hide latency associated with streaming the third data from the second computing device to the first computing device.

13. The system of claim 11 , wherein the first computing device resides in the first geographic region, and the second computing device resides in the second geographic region.

14. The system of claim 10 , wherein the processor further causes the first storage resource to cache third data accessed repeatedly by the first computing device.

15. The system of claim 10 , wherein the first storage resource or the additional cache storage space comprises a surface-based storage center disposed on the surface of the Earth and includes at least one server machine to cache at least one of the first data and the second data.

16. The system of claim 10 , wherein the first storage resource or the additional cache storage space comprises an atmosphere-based storage center disposed above the surface of the Earth and within the atmosphere of the Earth and includes at least one server machine to cache at least one of the first data and the second data.

17. The system of claim 10 , wherein the first storage resource or the additional cache storage space comprises a space-based storage center disposed within the orbit around the Earth and includes at least one server machine to cache at least one of the first data and the second data.

18. The system of claim 10 , wherein the processor further:

determines that the first computing device is no longer streaming the second data; and

reconfigures the at least one of the first server and the third server to no longer include the additional cache storage space.

19. A non-transitory computer-readable medium storing program instructions that, when executed by a processor, cause the processor to cache data within a globally distributed virtual cache, by performing the steps of:

provisioning, to a first server implementing a first portion of the globally distributed virtual cache, a first storage resource associated with a first geographic region to cache first data associated with a first computing device, wherein the first computing device is associated with a first user and is coupled to the first server;

determining that second data is streaming to the first computing device from a second computing device that is associated with a second user and is coupled to a second server implementing a second portion of the globally distributed virtual cache associated with a second geographic region located farther away from the first computing device than the first geographic region; and

in response:

automatically provisioning additional cache storage space to at least one of the first server and a third server implementing a third portion of the globally distributed virtual cache associated with a region located between the first geographic region and the second geographic region, and

causing one or more processors included in at least one of the first server and the third server to execute one or more applications that cause the additional cache storage space to buffer the second data while the second data is being streamed from the second computing device to the first computing device.

20. The non-transitory computer-readable medium of claim 19 , further comprising the step of causing the first storage resource and the additional cache storage space to buffer third data streamed from the second computing device to the first computing device, wherein the first computing device resides in the first geographic region, and the second computing device resides in the second geographic region.

21. The non-transitory computer-readable medium of claim 19 , further comprising the steps of:

determining that the first computing device is no longer streaming the second data; and

reconfiguring the at least one of the first server and the third server to no longer include the additional cache storage space.

22. The non-transitory computer-readable medium of claim 19 , wherein:

the first portion of the globally distributed virtual cache resides in the first geographic region,

the second portion of the globally distributed virtual cache resides in the second geographic region, and

the first computing device streaming the second data while buffering the second data in the additional cache storage space hides a latency associated with the streaming of the second data.

Assignments (2)
SECURITY INTEREST Recorded Jan 20, 2026
From: SUPER MICRO COMPUTER, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 074447/0643 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2014
From: BAVANDPOURI, FARID
To: SUPER MICRO COMPUTER, INC.
Reel/Frame 034605/0816 →
Continuity (2)
Provisional Application 62041570 · Aug 25, 2014
Related Publication 20160057245A1 · Feb 25, 2016