IP Library Granted Patent US 9,798,571
Granted Patent B1
US 9,798,571 · App. 15/337,609 · Granted Oct 24, 2017

System and method for optimizing provisioning time by dynamically customizing a shared virtual machine

Inventors: Bin Cao (Stanford, CA); David M. Egle (Rochester, MN); Daniel Hiebert (Pine Island, MN); Yongwen Wu (Rochester, MN)
Assignee: International Business Machines Corporation
G06F9/45558G06F2009/4557G06F2009/45595
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 9,798,571
App. No.
15/337,609
Granted
Oct 24, 2017
Kind
B1
Abstract

Technology for generating, building, maintaining and sharing a pool of virtual environments. The virtual environments (for example, virtual machines) are instantiated and active prior to a request from a user to use a virtual environments. Delta maps are used to help match the request to the best-suited active virtual environment. The delta map is a data set that indicates differences between specification values of a given active virtual environment and specification values needed to reliably fulfill the user's request.

Claims (37)

1. A computer system (CS) comprising:

a processor(s) set;

a storage device structured and connected to store computer code in a manner such that the computer code can be executed by the processor set; and

stored computer code stored on the storage device;

wherein the stored computer code includes machine readable instructions and/or data for causing the processor(s) set to perform operations including at least the following:

instantiating a plurality of virtual environments to generate a plurality of active virtual environments;

for each given active virtual environment of the plurality of virtual environments, collecting a plurality of specification values characteristic of the given active virtual environment;

receiving, through a communication network and on behalf of a user, a request for use of a virtual environment, with the request including information indicative of a plurality of requested specification values;

responsive to the request, for each given active virtual environment of the plurality of virtual environments, generating a delta map including information indicative of a difference between each specification value of the given active virtual environment and the requested specification value, wherein the delta map further includes information about an amount of time required to customize one or more of the active virtual environment of the plurality of virtual environments to the plurality of requested specification values;

automatically determining, based at least in part on the generated delta map, a selected active virtual environment from the plurality of active virtual environments to use to fulfill the request for use of a virtual environment; and

importing data of the user into the selected active virtual environment so that the selected active virtual environment can perform computing operations on behalf of the user.

2. The CS of claim 1 wherein the active virtual environments of the plurality of active virtual environments are virtual machines.

3. The CS of claim 1 wherein the specification values include values for at least the following specification fields: number of processors, amount of memory and amount of storage.

4. The CS of claim 1 wherein the active virtual environments of the plurality of active virtual environments are virtual machines.

5. A product comprising:

a storage device structured and connected to store computer code in a manner such that the computer code can be executed by a processor set; and

stored computer code stored on the storage device;

wherein the stored computer code includes machine readable instructions and/or data for causing a processor(s) set to perform operations including at least the following:

instantiating a plurality of virtual environments to generate a plurality of active virtual environments;

for each given active virtual environment of the plurality of virtual environments, collecting a plurality of specification values characteristic of the given active virtual environment;

receiving, through a communication network and on behalf of a user, a request for use of a virtual environment, with the request including information indicative of a plurality of requested specification values;

responsive to the request, for each given active virtual environment of the plurality of virtual environments, generating a delta map including information indicative of a difference between each specification value of the given active virtual environment and the requested specification value, wherein the delta map further includes information about an amount of time required to customize one or more of the active virtual environment of the plurality of virtual environments to the plurality of requested specification values;

automatically determining, based at least in part on the generated delta map, a selected active virtual environment from the plurality of active virtual environments to use to fulfill the request for use of a virtual environment; and

importing data of the user into the selected active virtual environment so that the selected active virtual environment can perform computing operations on behalf of the user.

6. The product of claim 5 wherein the active virtual environments of the plurality of active virtual environments are virtual machines.

7. The product of claim 5 wherein the specification values include values for at least the following specification fields: number of processors, amount of memory and amount of storage.

8. The product of claim 5 wherein the active virtual environments of the plurality of active virtual environments are virtual machines.

9. A method comprising:

instantiating a plurality of virtual environments to generate a plurality of active virtual environments;

for each given active virtual environment of the plurality of virtual environments, collecting a plurality of specification values characteristic of the given active virtual environment;

receiving, through a communication network and on behalf of a user, a request for use of a virtual environment, with the request including information indicative of a plurality of requested specification values;

responsive to the request, for each given active virtual environment of the plurality of virtual environments, generating a delta map including information indicative of a difference between each specification value of the given active virtual environment and the requested specification value, wherein the delta map further includes information about an amount of time required to customize one or more of the active virtual environment of the plurality of virtual environments to the plurality of requested specification values;

automatically determining, based at least in part on the generated delta map, a selected active virtual environment from the plurality of active virtual environments to use to fulfill the request for use of a virtual environment; and

importing data of the user into the selected active virtual environment so that the selected active virtual environment can perform computing operations on behalf of the user.

10. The method of claim 9 wherein the active virtual environments of the plurality of active virtual environments are virtual machines.

11. The method of claim 9 wherein the specification values include values for at least the following specification fields: number of processors, amount of memory and amount of storage.

12. The method of claim 1 wherein the active virtual environments of the plurality of active virtual environments are virtual machines.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: DOORDASH, INC.
Reel/Frame 057826/0939 →
CORRECTIVE ASSIGNMENT TO CORRECT THE FOURTH ASSIGNOR'S NAME WAS TRANSPOSED ON THE ORIGINAL ASSIGNMENT PREVIOUSLY RECORDED ON REEL 040161 FRAME 0445. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 16, 2016
From: CAO, BIN; EGLE, DAVID M.; HIEBERT, DANIEL L.; WU, YONGWEN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 040878/0427 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2016
From: CAO, BIN; EGLE, DAVID M.; HIEBERT, DANIEL L.; YONGWEN, WU
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 040161/0445 →