IP Library › Granted Patent US 11,714,674
Granted Patent B2
US 11,714,674 · App. 17/535,429 · Granted Aug 1, 2023

Data mobility for immobile storage services

Inventor: Brian Forney (Mountain View, CA)
Assignee: VMware, Inc.
G06F9/45558H04L63/0281H04L67/56H04L67/563H04L67/568G06F2009/4557G06F2009/45562G06F2009/45575G06F2009/45579G06F2009/45583G06F2009/45595H04L61/58H04L61/59
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 11,714,674
App. No.
17/535,429
Granted
Aug 1, 2023
Kind
B2
Abstract

A method of handling a first input/output operation (IO) from a first virtual machine (VM), wherein the first VM is located in a first data center and the first IO is directed to a data store in a second data center, includes the steps of: connecting, by a proxy located in the first data center, to the data store; after connecting to the data store, caching, by the proxy, data of the first VM stored in the data store, wherein caching the data of the first VM comprises storing the data of the first VM in a cache located in the first data center; redirecting, by a redirection filter to the proxy, the first IO; and performing, by the proxy, the first IO on the cache in the first data center.

Claims (43)

1. A method of handling a first input/output operation (IO) from a first virtual machine (VM), wherein the first VM is located in a first data center and the first IO is directed to a data store in a second data center, the method comprising:

connecting, by a proxy located in the first data center, to the data store;

after connecting to the data store, caching, by the proxy, data of the first VM stored in the data store, wherein caching the data of the first VM comprises storing the data of the first VM in a cache located in the first data center;

redirecting, by a redirection filter to the proxy, the first IO; and

performing, by the proxy, the first IO on the cache in the first data center.

2. The method of claim 1 , wherein the first VM issues the first IO according to a storage protocol of the data store.

3. The method of claim 1 , wherein execution of the first VM is supported by a hypervisor installed in a host computer, and the host computer is located in the first data center.

4. The method of claim 3 , wherein the redirection filter is implemented in the hypervisor to handle the first IO.

5. The method of claim 1 , further comprising:

redirecting, by the redirection filter to the proxy, a second IO that a second VM executing in the first data center directs to the data store; and

performing, by the proxy, the second IO on the cache in the first data center.

6. The method of claim 1 , further comprising:

reading, by the redirection filter, a destination internet protocol (IP) address of an outbound packet from the first VM;

determining, by the redirection filter, that the destination IP address of the outbound packet is an IP address of the data store; and

upon the determining that the destination IP address of the outbound packet is the IP address of the data store, changing, by the redirection filter, the destination IP address of the outbound packet from the IP address of the data store to an IP address of the proxy.

7. The method of claim 1 , further comprising:

determining, by the redirection filter, whether or not an inbound packet is from the proxy; and

upon determining that the inbound packet is from the proxy, changing, by the redirection filter, a source IP address of the inbound packet from an IP address of the proxy to an IP address of the data store.

8. The method of claim 7 , further comprising:

changing, by the redirection filter, a URL in a payload of the inbound packet from a URL of the proxy to a URL of the datastore, wherein the URLs of the proxy and datastore each identifies a retrieval location of data.

9. The method of claim 1 , wherein the first data center is a private cloud computing data center and the second data center is a public cloud computing data center.

10. A computer system comprising:

a first data center including a first host computer having a hypervisor configured therein to support execution of a first virtual machine (VM), a proxy, and a cache; and

a second data center including a data store to which the first VM issues a first input/output operation (IO) that is directed to the datastore, wherein

the proxy is configured to connect to the data store in the second data center and after connecting to the data store, cache data of the first VM stored in the data store, wherein caching the data of the first VM comprises storing the data of the first VM in the cache in the first data center,

the hypervisor includes a redirection filter that is configured to redirect the first IO to the proxy, and

the proxy is further configured to perform the first IO on the cache in the first data center.

11. The computer system of claim 10 , wherein the first VM is configured to issue the first IO according to a storage protocol of the data store.

12. The computer system of claim 10 , wherein

the redirection filter is further configured to redirect a second IO that a second VM executing in the first data center directs to the data store, to the proxy, and

the proxy is further configured to perform the second IO on the cache in the first data center.

13. The computer system of claim 10 , wherein the redirection filter is further configured to read a destination IP address of an outbound packet from the first VM, and upon determining that the destination IP address of the outbound packet is an IP address of the data store, change the destination IP address of the outbound packet from the IP address of the data store to an IP address of the proxy.

14. The computer system of claim 10 , wherein the redirection filter is further configured to determine whether or not an inbound packet is from the proxy, and upon determining that the inbound packet is from the proxy, change a source IP address of the inbound packet from an IP address of the proxy to an IP address of the data store.

15. The computer system of claim 14 , wherein the redirection filter is further configured to change a URL in a payload of the inbound packet from a URL of the proxy to a URL of the datastore, and the URLs of the proxy and datastore each identifies a retrieval location of data.

16. The computer system of claim 10 , wherein the first data center is a private cloud computing data center and the second data center is a public cloud computing data center.

17. A non-transitory computer readable medium comprising instructions that are executable in a computer system, wherein the instructions when executed cause the computer system to carry out a method of handling an input/output operation (IO) from a virtual machine (VM), wherein the VM is located in a first data center and the IO is directed to a data store in a second data center, the method comprising:

connecting, by a proxy located in the first data center, to the data store;

after connecting to the data store, caching, by the proxy, data of the VM stored in the data store, wherein caching the data of the VM comprises storing the data of the VM in a cache located in the first data center;

redirecting, by a redirection filter to the proxy, the IO; and

performing, by the proxy, the IO on the cache in the first data center.

18. The non-transitory computer readable medium of claim 17 , wherein the VM issues the IO according to a storage protocol of the data store.

19. The non-transitory computer readable medium of claim 17 , wherein execution of the VM is supported by a hypervisor installed in a host computer, and the host computer is located in the first data center.

20. The non-transitory computer readable medium of claim 19 , wherein the redirection filter is implemented in the hypervisor to handle the IO.

Assignments (1)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
Continuity (2)
Continuation 16521381 · Jul 24, 2019
Related Publication 20220083368A1 · Mar 17, 2022
Cited By (1)
US 12,598,158