IP Library Granted Patent US 10,817,318
Granted Patent B2
US 10,817,318 · App. 16/128,251 · Granted Oct 27, 2020

Multitenant hosted virtual machine infrastructure

Inventors: Nicholas Luis Astete (Seattle, WA); Aaron Benjamin Brethorst (Seattle, WA); Joseph Michael Goldberg (Seattle, WA); Matthew Hanlon (Seattle, WA); Anthony A. Hutchinson (Seattle, WA); Gopalakrishnan Janakiraman (Bellevue, WA); Alexander Kotelnikov (Saint-Petersburg, RU); Petr Novodvorskiy (Seattle, WA); David William Richardson (Seattle, WA); Roxanne Camille Skelly (Seattle, WA); Nikolai Slioussar (Seattle, WA); Jonathan Weeks (Vashon, WA)
Assignee: Skytap
G06F9/455G06F9/45533G06F9/45558G06F9/5077G06F21/6218G06Q30/02G06Q30/0601G06Q30/0603G06Q40/02H04L63/10G06F9/44505G06F2009/4557G06F2009/45562G06F2201/84
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,817,318
App. No.
16/128,251
Granted
Oct 27, 2020
Kind
B2
Abstract

A multi-tenant virtual machine infrastructure (MTVMI) allows multiple tenants to independently access and use a plurality of virtual computing resources via the Internet. Within the MTVMI, different tenants may define unique configurations of virtual computing resources and unique rules to govern the use of the virtual computing resources. The MTVMI may be configured to provide valuable services for tenants and users associated with the tenants.

Claims (127)

1. A plurality of hardware computer systems each including at least one processor, comprising:

a virtual machine management module executing on at least one of the processors that causes a plurality of virtual machines to be executed on at least one of the processors in accordance with instructions from each of a plurality of principals;

a plurality of persistent storage devices directly or indirectly accessible, via one or more physical storage controllers, to the processors on which the plurality of virtual machines are executed; and

virtual storage management software executed on at least one of the processors to:

receive, from a user, a request for saving a copy of a virtual data center, wherein the virtual data center includes virtual hardware;

verify whether the user has access rights to save the copy of the virtual data center;

verify whether the user has available resource quota to save the copy of the virtual data center;

when the user has the access rights and the available resource quota:

suspend the virtual hardware of the virtual data center;

suspend one or more virtual network services deployed for the virtual data center;

unconfigure one or more rules associated with the virtual hardware of the virtual data center;

deallocate one or more networks allocated for the virtual data center;

create a snapshot of the virtual hardware of the virtual data center and one or more disk images associated with the virtual machine at least one of the plurality of persistent storage devices; and

create a copy of a configuration of the virtual hardware of the virtual data center in a configuration record associated with the virtual storage management software.

2. The plurality of hardware computer systems of claim 1 wherein the request for saving the virtual data center comprises a specified state of the virtual data center.

3. The plurality of hardware computer systems of claim 2 wherein the specified state of the virtual data center is a current state of the virtual data center.

4. The plurality of hardware computer systems of claim 2 wherein the specified state of the virtual data center is a past state of the virtual data center.

5. The plurality of hardware computer systems of claim 1 wherein the virtual hardware comprises one or more of:

virtual nodes,

virtual machines, and/or

data storage requests.

6. The plurality of hardware computer systems of claim 1 wherein at least one network among the one or more networks allocated for the virtual data center is a virtual local area network (VLAN).

7. The plurality of hardware computer systems of claim 1 wherein at least one network among the one or more networks allocated for the virtual data center is associated with a virtual network services attribute selected from among: a network address range for the virtual network, IP addresses for the virtual network, network interface (MAC) addresses for the virtual network, hostnames for the virtual network, and a VPN network tunnel that bridges the virtual network to another network.

8. The plurality of hardware computer systems of claim 1 wherein the virtual storage management software is executed on at least one of the processors to update the configuration record associated with the virtual storage management software with references to the snapshots of the virtual hardware of the virtual data center and the one or more disk images associated with the virtual machine.

9. A method in a computing system including at least one processor for operating a virtual computing infrastructure for a plurality of tenants, comprising

receiving, from a tenant, a request to save a copy of a virtual data center operating in the virtual computing infrastructure, wherein the virtual data center includes virtual hardware;

verifying whether the user has access rights to save the copy of the virtual data center;

verifying whether the user has available resource quota to save the copy of the virtual data center;

when the user has the access rights and the available resource quota:

suspending the virtual hardware of the virtual data center;

suspending one or more virtual network services deployed for the virtual data center;

unconfiguring one or more rules associated with the virtual hardware of the virtual data center;

deallocating one or more networks allocated for the virtual data center;

creating a snapshot of the virtual hardware of the virtual data center and one or more disk images associated with the virtual machine at least one of a plurality of persistent storage devices associated with the virtual computing infrastructure; and

creating a copy of a configuration of the virtual hardware of the virtual data center in a configuration record of the virtual computing infrastructure.

10. The method of claim 9 wherein the request for saving the virtual data center comprises a specified state of the virtual data center.

11. The method of claim 10 wherein the specified state of the virtual data center is a current state of the virtual data center.

12. The method of claim 10 wherein the specified state of the virtual data center is a past state of the virtual data center.

13. The method of claim 9 wherein the virtual hardware comprises one or more of:

virtual nodes,

virtual machines, and/or

data storage requests.

14. The method of claim 9 wherein at least one network among the one or more networks allocated for the virtual data center is a virtual local area network (VLAN).

15. The method of claim 9 wherein at least one network among the one or more networks allocated for the virtual data center is associated with a virtual network services attribute selected from among: a network address range for the virtual network, IP addresses for the virtual network, network interface (MAC) addresses for the virtual network, hostnames for the virtual network, and a VPN network tunnel that bridges the virtual network to another network.

16. The method of claim 9 , further comprising updating the configuration record of the virtual computing infrastructure with references to the snapshots of the virtual hardware of the virtual data center and the one or more disk images associated with the virtual machine.

17. The method of claim 9 , further comprising, for at least one of the subset of the plurality of tenants:

providing users associated with the tenant access to the virtual data center via Internet website based access portals.

18. The method of claim 9 wherein the virtual computing infrastructure executes on physical computing hardware administered by an entity separate from each of the plurality of tenants.

19. The method of claim 9 wherein the virtual data center comprises virtual machines that are instantiated by software executing on physical computing hardware where the software providing the virtual machines is not owned by any of the plurality of tenants.

20. The method of claim 9 wherein the virtual computing infrastructure is provided by software that executes on physical computing hardware where the software providing the virtual computing infrastructure is administered by an entity separate from each of the plurality of tenants.

21. The method of claim 9 wherein the virtual data center operates in isolation from other virtual data centers operating in the virtual computing infrastructure.

22. At least one computer-readable storage device which is not an electro-magnetic signal having contents adapted to cause a data processing device to perform a method for operating a virtual computing infrastructure for a plurality of tenants, the method comprising:

receiving, from a tenant, a request to save a copy of a virtual data center operating in the virtual computing infrastructure, wherein the virtual data center includes virtual hardware;

verifying whether the user has access rights to save the copy of the virtual data center;

verifying whether the user has available resource quota to save the copy of the virtual data center;

when the user has the access rights and the available resource quota:

suspending the virtual hardware of the virtual data center;

suspending one or more virtual network services deployed for the virtual data center;

unconfiguring one or more rules associated with the virtual hardware of the virtual data center;

deallocating one or more networks allocated for the virtual data center;

creating a snapshot of the virtual hardware of the virtual data center and one or more disk images associated with the virtual machine at least one of a plurality of persistent storage devices associated with the virtual computing infrastructure; and

creating a copy of a configuration of the virtual hardware of the virtual data center in a configuration record of the virtual computing infrastructure.

23. The at least one computer-readable storage device of claim 22 wherein the request for saving the virtual data center comprises a specified state of the virtual data center.

24. The at least one computer-readable storage device of claim 23 wherein the specified state of the virtual data center is a current state of the virtual data center.

25. The at least one computer-readable storage device of claim 23 wherein the specified state of the virtual data center is a past state of the virtual data center.

26. The at least one computer-readable storage device of claim 22 wherein the virtual hardware comprises one or more of:

virtual nodes,

virtual machines, and/or

data storage requests.

27. The at least one computer-readable storage device of claim 22 wherein at least one network among the one or more networks allocated for the virtual data center is a virtual local area network (VLAN).

28. The at least one computer-readable storage device of claim 22 wherein at least one network among the one or more networks allocated for the virtual data center is associated with a virtual network services attribute selected from among: a network address range for the virtual network, IP addresses for the virtual network, network interface (MAC) addresses for the virtual network, hostnames for the virtual network, and a VPN network tunnel that bridges the virtual network to another network.

29. The at least one computer-readable storage device of claim 22 , wherein the method further comprises updating the configuration record of the virtual computing infrastructure with references to the snapshots of the virtual hardware of the virtual data center and the one or more disk images associated with the virtual machine.

30. The at least one computer-readable storage device of claim 22 , wherein the method further comprises, for at least one of the subset of the plurality of tenants:

providing users associated with the tenant access to the virtual data center via Internet website based access portals.

31. The at least one computer-readable storage device of claim 22 wherein the virtual computing infrastructure executes on physical computing hardware administered by an entity separate from each of the plurality of tenants.

32. The at least one computer-readable storage device of claim 22 wherein the virtual data center comprises virtual machines that are instantiated by software executing on physical computing hardware where the software providing the virtual machines is not owned by any of the plurality of tenants.

33. The at least one computer-readable storage device of claim 22 wherein the virtual computing infrastructure is provided by software that executes on physical computing hardware where the software providing the virtual computing infrastructure is administered by an entity separate from each of the plurality of tenants.

34. The at least one computer-readable storage device of claim 22 wherein the virtual data center operates in isolation from other virtual data centers operating in the virtual computing infrastructure.

35. A method in a computing system including at least one processor for operating a virtual computing infrastructure for a plurality of tenants, comprising:

receiving, from a tenant, a request to save a copy of a virtual data center operating in the virtual computing infrastructure, wherein the virtual data center includes virtual hardware;

verifying whether the user has access rights to save the copy of the virtual data center;

verifying whether the user has available resource quota to save the copy of the virtual data center;

when the user has the access rights and the available resource quota:

suspending the virtual hardware of the virtual data center;

suspending one or more virtual network services deployed for the virtual data center;

unconfiguring one or more rules associated with the virtual hardware of the virtual data center; and

deallocating one or more networks allocated for the virtual data center;

creating a snapshot of the virtual hardware of the virtual data center and one or more disk images associated with the virtual machine at least one of a plurality of persistent storage devices associated with the virtual computing infrastructure; and

creating a copy of a configuration of the virtual hardware of the virtual data center in a configuration record of the virtual computing infrastructure.

36. The method of claim 35 wherein the request for saving the virtual data center comprises a specified state of the virtual data center, and wherein the specified state of the virtual data center is a current state of the virtual data center or a past state of the virtual data center.

37. The method of claim 35 wherein the virtual hardware comprises one or more of:

virtual nodes,

virtual machines, and/or

data storage requests.

38. The method of claim 35 wherein at least one network among the one or more networks allocated for the virtual data center is a virtual local area network (VLAN).

39. The method of claim 35 wherein at least one network among the one or more networks allocated for the virtual data center is associated with a virtual network services attribute selected from among: a network address range for the virtual network, IP addresses for the virtual network, network interface (MAC) addresses for the virtual network, hostnames for the virtual network, and a VPN network tunnel that bridges the virtual network to another network.

40. The method of claim 35 , further comprising updating the configuration record of the virtual computing infrastructure with references to the snapshots of the virtual hardware of the virtual data center and the one or more disk images associated with the virtual machine.

41. The method of claim 35 , further comprising, for at least one of the subset of the plurality of tenants:

providing users associated with the tenant access to the virtual data center via Internet website based access portals.

42. The method of claim 35 wherein the virtual computing infrastructure executes on physical computing hardware administered by an entity separate from each of the plurality of tenants.

43. The method of claim 35 wherein the virtual data center comprises virtual machines that are instantiated by software executing on physical computing hardware where the software providing the virtual machines is not owned by any of the plurality of tenants.

44. The method of claim 35 wherein the virtual computing infrastructure is provided by software that executes on physical computing hardware where the software providing the virtual computing infrastructure is administered by an entity separate from each of the plurality of tenants.

45. The method of claim 35 wherein the virtual data center operates in isolation from other virtual data centers operating in the virtual computing infrastructure.

46. At least one computer-readable storage device which is not an electro-magnetic signal having contents adapted to cause a data processing device to perform a method for operating a virtual computing infrastructure for a plurality of tenants, the method comprising:

receiving, from a tenant, a request to save a copy of a virtual data center operating in the virtual computing infrastructure, wherein the virtual data center includes virtual hardware;

verifying whether the user has access rights to save the copy of the virtual data center;

verifying whether the user has available resource quota to save the copy of the virtual data center;

when the user has the access rights and the available resource quota:

suspending the virtual hardware of the virtual data center;

suspending one or more virtual network services deployed for the virtual data center;

unconfiguring one or more rules associated with the virtual hardware of the virtual data center; and

deallocating one or more networks allocated for the virtual data center

creating a snapshot of the virtual hardware of the virtual data center and one or more disk images associated with the virtual machine at least one of a plurality of persistent storage devices associated with the virtual computing infrastructure; and

creating a copy of a configuration of the virtual hardware of the virtual data center in a configuration record of the virtual computing infrastructure.

47. The at least one computer-readable storage device of claim 46 wherein the request for saving the virtual data center comprises a specified state of the virtual data center, and wherein the specified state of the virtual data center is a current state of the virtual data center or a past state of the virtual data center.

48. The at least one computer-readable storage device of claim 46 wherein the virtual hardware comprises one or more of:

virtual nodes,

virtual machines, and/or

data storage requests.

49. The method of claim 35 wherein at least one network among the one or more networks allocated for the virtual data center is associated with a virtual network services attribute selected from among: a network address range for the virtual network, IP addresses for the virtual network, network interface (MAC) addresses for the virtual network, hostnames for the virtual network, and a VPN network tunnel that bridges the virtual network to another network.

50. The at least one computer-readable storage device of claim 46 , wherein the method further comprises updating the configuration record of the virtual computing infrastructure with references to the snapshots of the virtual hardware of the virtual data center and the one or more disk images associated with the virtual machine.

51. The at least one computer-readable storage device of claim 46 , wherein the method further comprises, for at least one of the subset of the plurality of tenants:

providing users associated with the tenant access to the virtual data center via Internet website based access portals.

52. The at least one computer-readable storage device of claim 46 wherein the virtual computing infrastructure executes on physical computing hardware administered by an entity separate from each of the plurality of tenants.

53. The at least one computer-readable storage device of claim 46 wherein the virtual data center comprises virtual machines that are instantiated by software executing on physical computing hardware where the software providing the virtual machines is not owned by any of the plurality of tenants.

54. The at least one computer-readable storage device of claim 46 wherein the virtual computing infrastructure is provided by software that executes on physical computing hardware where the software providing the virtual computing infrastructure is administered by an entity separate from each of the plurality of tenants.

55. The at least one computer-readable storage device of claim 46 wherein the virtual data center operates in isolation from other virtual data centers operating in the virtual computing infrastructure.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2025
From: SKYTAP, INC.
To: KYNDRYL, INC.
Reel/Frame 070545/0889 →
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT RECORDED AT REEL 062128 FRAME 0545 Recorded May 6, 2024
From: VISTARA TECHNOLOGY GROWTH FUND (CANADA) IV LP
To: SKYTAP, INC.
Reel/Frame 067329/0154 →
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 6, 2024
From: SILICON VALLEY BANK
To: SKYTAP, INC.
Reel/Frame 067329/0274 →
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 6, 2024
From: FIRST-CITIZENS BANK & TRUST COMPANY
To: SKYTAP, INC.
Reel/Frame 067329/0295 →
SECURITY INTEREST Recorded Aug 23, 2023
From: SKYTAP, INC.
To: FIRST-CITIZENS BANK & TRUST COMPANY
Reel/Frame 064671/0054 →
SECURITY INTEREST Recorded Dec 16, 2022
From: SKYTAP, INC.
To: VISTARA TECHNOLOGY GROWTH FUND (CANADA) IV LP
Reel/Frame 062128/0545 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2020
From: ASTETE, NICHOLAS LUIS; BRETHORST, AARON BENJAMIN; GOLDBERG, JOSEPH MICHAEL; HANLON, MATTHEW; HUTCHINSON, ANTHONY A., JR.; JANAKIRAMAN, GOPALAKRISHNAN; KOTELNIKOV, ALEXANDER; NOVODVORSKIY, PETR; RICHARDSON, DAVID WILLIAM; SKELLY, ROXANNE CAMILLE; SLIOUSSAR, NIKOLAI; WEEKS, JONATHAN
To: SKYTAP
Reel/Frame 053128/0527 →
SECURITY INTEREST Recorded May 11, 2020
From: SKYTAP, INC.
To: SILICON VALLEY BANK
Reel/Frame 052628/0264 →
Continuity (4)
Continuation 12434621 · May 2, 2009
Provisional Application 61101665 · Sep 30, 2008
Provisional Application 61050163 · May 2, 2008
Related Publication 20190102209A1 · Apr 4, 2019
Cited By (1)
US 12,206,567