IP Library Granted Patent US 8,495,352
Granted Patent B2
US 8,495,352 · App. 12/963,260 · Granted Jul 23, 2013

System and method for instantiation of distributed applications from disk snapshots

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 8,495,352
App. No.
12/963,260
Granted
Jul 23, 2013
Kind
B2
Abstract

A framework instantiates an application from its disk snapshots. The disk snapshots are taken from a different network environment and migrated to a virtualized environment. Modifications to operating systems and hypervisors are avoided, and no special network isolation support is required. The framework is extensible and plug-in based, allowing product experts to provide knowledge about discovering, updating, starting and stopping of software components. This knowledge base is compiled into a plan that executes various interleaved configuration discovery, updates and start tasks such that a required configuration model can be discovered with minimal start and update task execution. The plan generation automatically stitches together knowledge for the various products, thus significantly simplifying the knowledge specification. Once discovery is complete, the framework utilizes the discovered model to update stale network configurations across software stack and customize configurations beyond network settings.

Claims (59)

1. A computer implemented method for instantiating disk snapshots from a different network environment to a virtualized environment, the method comprising:

accessing a product knowledge model;

accessing a disk snapshot of a composite application executing in a first environment as a plurality of virtual machines;

migrating the disk snapshot to a second environment;

discovering network configuration settings using the product knowledge model;

constructing a configuration model based in part upon the discovered network configuration settings; and

building the product knowledge model as a framework of a structural configuration meta-model of component types of selected configurations with knowledge specified on top of the framework as task specifications, each specification comprising actions selected from a group consisting of discovery, update, start and stop taken on a selected component type.

2. The computer implemented method of claim 1 , wherein constructing the configuration model further comprises:

creating a dependency graph comprised of nodes that represent tasks and edges representing dependencies among task either expressly defined by task specifications or an implicit dependency path between a plurality of tasks;

iterating through the graph and each task specification to add nodes and dependencies; and

generating an executable workflow from the dependency graph by employing a plan generation technique.

3. The computer implemented method of claim 1 , further comprising preparing the disk image for migration by injecting a network script invoked during first network boot to update a network configuration and by copying an agent into the disk image to perform basic execution and file access tasks.

4. The computer implemented method of claim 3 , wherein migrating the disk image to the second environment further comprises:

booting the prepared disk snapshot in the second environment; and

assigning network settings by having the injected network script read a virtual floppy disk to re-configure a network adapter,

wherein booting the prepared disk snapshot starts the agent in each machine of the second environment.

5. The computer implemented method of claim 1 , further comprising presenting a dynamic user interface to receive user configuration information for the configuration model.

6. The computer implemented method of claim 5 , further comprising reconfiguring the application in the second environment based upon the user configuration information and starting the reconfigured application.

7. A computer program product for instantiating disk snapshots from a different network environment to a virtualized environment, the computer program product comprising:

a machine-readable storage device; and

program code embedded on the machine-readable storage device that when executed by a processor of a data processing system performs the following functions:

accessing a product knowledge model;

accessing a disk snapshot of a composite application executing in a first environment as a plurality of virtual machines;

migrating the disk snapshot to a second environment;

discovering network configuration settings using the product knowledge model;

constructing a configuration model based in part upon the discovered network configuration settings; and

building the product knowledge model as a framework of a structural configuration meta-model of component types of selected configurations with knowledge specified on top of the framework as task specifications, each specification comprising actions selected from a group consisting of discovery, update, start and stop taken on a selected component type.

8. The computer program product of claim 7 , wherein program code further provides the functions of constructing the configuration model by:

creating a dependency graph comprised of nodes that represent tasks and edges representing dependencies among task either expressly defined by task specifications or an implicit dependency path between a plurality of tasks;

iterating through the graph and each task specification to add nodes and dependencies; and

generating an executable workflow from the dependency graph by employing a plan generation technique.

9. The computer program product of claim 7 , wherein said program code provides the functions of preparing the disk image for migration by injecting a network script invoked during first network boot to update a network configuration and by copying an agent into the disk image to perform basic execution and file access tasks.

10. The computer program product of claim 9 , wherein the program code provides the functions of migrating the disk image to the second environment by:

booting the prepared disk snapshot in the second environment; and

assigning network settings by having the injected network script read a virtual floppy disk to re-configure a network adapter,

wherein booting the prepared disk snapshot starts the agent in each machine of the second environment.

11. The computer program product of claim 7 , wherein program code performs the function of presenting a dynamic user interface to receive user configuration information for the configuration model.

12. The computer program product of claim 11 , wherein program code further performs the function of reconfiguring the application in the second environment based upon the user configuration information and starting the reconfigured application.

13. A system for instantiating disk snapshots from a different network environment to a virtualized environment, the system comprising:

a processor; and

a memory having code executing on the processor that configures the processor to:

access a product knowledge model;

access a disk snapshot of a composite application executing in a first environment as a plurality of virtual machines;

migrate the disk snapshot to a second environment;

discover network configuration settings using the product knowledge model;

construct a configuration model based in part upon the discovered network configuration settings; and

build the product knowledge model as a framework of a structural configuration meta-model of component types of selected configurations with knowledge specified on top of the framework as task specifications, each specification comprising actions selected from a group consisting of discovery, update, start and stop taken on a selected component type.

14. The system of claim 13 , wherein the code for constructing the configuration model further comprises code that configures the processor to:

create a dependency graph comprised of nodes that represent tasks and edges representing dependencies among task either expressly defined by task specifications or an implicit dependency path between a plurality of tasks;

iterate through the graph and each task specification to add nodes and dependencies; and

generate an executable workflow from the dependency graph by employing a plan generation technique.

15. The system of claim 13 , further comprising code that configures the processor to prepare the disk image for migration by injecting a network script invoked during first network boot to update a network configuration and by copying an agent into the disk image to perform basic execution and file access tasks.

16. The system of claim 15 , wherein the code for migrating the disk image to the second environment further comprises code that configures the processor to:

boot the prepared disk snapshot in the second environment; and

assign network settings by having the injected network script read a virtual floppy disk to re-configure a network adapter;

wherein booting the prepared disk snapshot starts the agent in each machine of the second environment.

17. The system of claim 13 , further comprising code that executes on the processor to configure the processor to:

present a dynamic user interface to receive user configuration information for the configuration model; and

reconfigure the application in the second environment based upon the user configuration information and for starting the reconfigured application.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE 1ST ASSIGNEE NAME 50% INTEREST PREVIOUSLY RECORDED AT REEL: 043418 FRAME: 0692. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 1, 2017
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: SERVICENOW, INC.; INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 044348/0451 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2017
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: SERVICENOW, INC.
Reel/Frame 043418/0692 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2010
From: GUPTA, MANISH; GUPTA, PRATIK; SACHINDRAN, NARENDRAN; SETHI, MANISH; SONI, MANOJ
To: IBM CORPORATION
Reel/Frame 025480/0257 →