IP Library Granted Patent US 11,824,717
Granted Patent B2
US 11,824,717 · App. 16/447,053 · Granted Nov 21, 2023

Multi-region virtual data center template

Inventors: Bradley M. Schick (Seattle, WA); Sumit Mehrotra (Redmond, WA); Ross Andrus (Sammamish, WA); Matthew Hanlon (Seattle, WA); Yelena Branch (Seattle, WA)
Assignee: Skytap
H04L41/0843H04L41/0813H04L67/1095
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,824,717
App. No.
16/447,053
Granted
Nov 21, 2023
Kind
B2
Abstract

A facility for distributing a template recording a past state of a virtual computing environment is described. The facility accesses a list of physical data centers at which the template is to be available for immediate use to instantiate a new virtual computing environments. The facility causes the template to be stored at each physical data center on the list.

Claims (53)

1. A method in a computing system for managing the geographic distribution of a plurality of instances of a templates, the method comprising:

receiving user input specifying information uniquely identifying a template, among the plurality of templates, to be deleted, wherein the specified template records a past state of a virtual computing environment; and

in response to the receiving of the user input specifying the template to be deleted:

identifying a plurality of physical data centers, located in a plurality of geographic locations, in which a template instance of the specified template is stored, wherein the template instance is a copy of the specified template that was previously created in a physical memory in that physical data center;

deleting, from each of the identified physical data centers where the template instance of the specified template is previously stored, the stored template instance from the physical memory in that physical data center; and

updating a data structure storing an association between the specified template and the template instance by removing the association.

2. A hardware networking component conveying a user interface data structure, the data structure comprising:

information directing the presentation of a visual indication of a template recording a past state of a virtual computing environment;

information directing the presentation of visual indications of each of a plurality of geographic locations; and

information directing the presentation of one or more controls usable to select any among the presented visual indications of each of the plurality of geographic locations as geographic locations in which the indicated template is to be maintained,

such that, upon receipt, the information comprising the data structure is usable to facilitate specification by a user of one or more of the plurality of geographic locations at which the indicated template is to be maintained.

3. A method in a computing system for recording a current state of a virtual computing environment, the method comprising:

presenting a list of existing templates recording a past state of the virtual computing environment, wherein each template is stored persistently;

receiving user input selecting one of the listed existing templates, the selected existing template referring to a first template instance at a first physical data center in a first geographic location; and

in response to receiving the selection of the first template instance:

persistently storing a second template instance capturing the current state of the virtual computing environment at a second physical data center in a second geographic location; and

causing the selected template to refer to the second template instance rather than the first template instance.

4. The method of claim 3 wherein, at the time the user input is received, the selected existing template referring to both the first template instance at the first data center and a third template instance at a third data center, and

the method further comprising:

persistently storing a fourth template instance at the second data center, and

causing the selected template to refer to the fourth template instance as well as the second template instance.

5. The method of claim 4 , further comprising formulating the fourth template instance by:

copying the second template instance; and

in the copy, substituting for each of one or more region-specific resources suited to the first data center a corresponding region-specific resource suited to the second data center.

6. The method of claim 3 , further comprising:

at a time before the storing, receiving a first request to dereference a reference to the existing template selected by the received user input;

in response to the first request, identifying the first template instance;

at a time after the storing, receiving a second request to dereference the reference; and

in response to the second request, identifying the second template instance.

7. One or more computer memories collectively containing a template instances table data structure, the data structure comprising:

at least one entry, each entry comprising:

information identifying a template recording a particular past state of a virtual computing environment, the template comprising a state for each of a plurality of virtual machines specified for the virtual computing environment; and

information identifying a first physical data center from a plurality of physical data centers in which an instance of data constituting the identified template has been replicated, wherein the plurality of physical data centers are located in a plurality of geographic locations.

8. The computer memories of claim 7 wherein at least two of the entries contain information identifying the same template.

9. The computer memories of claim 7 wherein each entry of the data structure further comprises:

information usable to access in the identified physical data center the instance of data constituting the identified template that has been replicated in the identified physical data center.

10. The computer memories of claim 7 wherein each entry of the data structure further comprises:

information identifying a version of the data constituting the identified template.

11. A hardware networking component conveying a user interface data structure, the data structure comprising:

information directing the presentation of a list of existing templates each stored persistently in a plurality of data centers in a plurality of geographic locations; and

information directing the presentation of one or more controls usable to select one of the listed existing templates as an existing template that is to be replaced by a new template recording a current state of a virtual computing environment,

such that, upon receipt, the information comprising the data structure is usable to facilitate specification by a user of an existing template that is to be replaced by a new template recording a current state of the virtual computing environment.

12. One or more computer memories collectively containing a reference data structure, the data structure comprising:

a reference to a persistently stored first template recording a first state of a first virtual computing environment,

such that, up to a time when the first template is replaced with a second template recording a second state of a second computing environment, the reference refers to the to the first template and can be used to instantiate a new virtual computing environment based on the first template,

and such that, after the time when the first template is replaced with the second template, the reference refers to the second template and can be used to instantiate a new virtual computing environment based on the second template.

13. The computer memories of claim 12 wherein the second virtual computing environment is distinct from the first virtual computing environment.

14. The computer memories of claim 12 wherein the reference is a numerical identifier.

15. The computer memories of claim 12 wherein the reference is a textual identifier.

16. The computer memories of claim 12 wherein the reference is a URL.

17. The computer memories of claim 12 wherein the reference identifies a particular location in a particular memory at which the template is stored.

18. The computer memories of claim 12 wherein the reference directly identifies a particular location in a particular memory at which the template is stored.

19. The computer memories of claim 12 wherein the reference indirectly identifies a particular location in a particular memory at which the template is stored.

Assignments (7)
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 →
SECURITY INTEREST Recorded May 11, 2020
From: SKYTAP, INC.
To: SILICON VALLEY BANK
Reel/Frame 052628/0264 →
Continuity (3)
Continuation 14938727 · Nov 11, 2015
Provisional Application 62078367 · Nov 11, 2014
Related Publication 20190319841A1 · Oct 17, 2019