Apparatus, method and system for rapid delivery of distributed applications
First Claim
Patent Images
1. A system for running distributed applications on a plurality of computers connected in a network, each of the computers having a processor, memory and directly attached storage, the system comprising:
- a plurality of virtual storage volumes for booting virtual machines and for storing software code and data, each of said volumes residing on at least one of said computers, each of said volumes accessible from all said computers;
a plurality of virtual machines for executing software, each of said virtual machines running on one of said computers, each of said virtual machines further accessing at least one virtual storage volume, each of said virtual machines further interacting with at least one other virtual machine in said system;
a plurality of virtual network connections for eliminating dependencies between said virtual machines by allowing software that runs in a first virtual machine to establish network connections to a second virtual machine by using a network identifier defined within said first virtual machine.
4 Assignments
0 Petitions
Accused Products
Abstract
An apparatus, method and system are disclosed for visually constructing and rapidly delivering distributed applications. The system includes a virtual appliance apparatus and a composite appliance apparatus, as well as a system for virtualizing hardware resources and for provisioning, executing and scaling distributed applications.
461 Citations
10 Claims
-
1. A system for running distributed applications on a plurality of computers connected in a network, each of the computers having a processor, memory and directly attached storage, the system comprising:
-
a plurality of virtual storage volumes for booting virtual machines and for storing software code and data, each of said volumes residing on at least one of said computers, each of said volumes accessible from all said computers;
a plurality of virtual machines for executing software, each of said virtual machines running on one of said computers, each of said virtual machines further accessing at least one virtual storage volume, each of said virtual machines further interacting with at least one other virtual machine in said system;
a plurality of virtual network connections for eliminating dependencies between said virtual machines by allowing software that runs in a first virtual machine to establish network connections to a second virtual machine by using a network identifier defined within said first virtual machine.
-
-
2. A system for running distributed applications on a plurality of computers connected in a network, the system comprising:
-
a catalog of virtual appliance classes, each of said classes having a class storage volume, each of said classes further having metadata sufficient to automatically create a plurality of individually configured virtual appliance instances; and
metadata sufficient to automatically construct, execute and manage a first distributed application using said catalog of virtual appliance classes.
-
-
3. An apparatus for automatically creating a first plurality of instances of a virtual appliance in a computer system, the apparatus comprising:
-
a first storage volume for booting virtual appliance instances, said first volume containing a copy of an operating system and a pre-integrated set of software packages;
first metadata defining a first named parameter, said first parameter for differently configuring each instance of said virtual appliance;
second metadata defining a first named connection point, said first connection point for providing a first service to other software by each instance of said virtual appliance;
third metadata defining a second named connection point, said second connection point for obtaining a second service from other software by each instance of said virtual appliance.
-
-
4. An apparatus for automatically creating a first plurality of instances of a composite appliance in a computer system, the computer system having a plurality of virtual appliance classes, each of the virtual appliance classes having a storage volume for booting virtual appliance instances and metadata defining configuration parameters and connection points, the apparatus comprising:
-
first metadata defining a first subordinate virtual appliance instance, said first metadata identifying the class of said first instance and defining a first value for configuring said first instance;
second metadata defining a second subordinate virtual appliance instance, said second metadata identifying the class of said second instance and defining a second value for configuring said second instance;
third metadata defining a first connection between a first connection point of said first instance and a second connection point of said second instance.
-
-
5. A method for creating a distributed application from existing software, the method comprising the steps of:
-
a) creating a plurality of storage volumes by installing software;
b) defining a set of configurable parameters for specializing said application;
c) visually defining metadata sufficient to automatically construct multiple running instances of said application from said volumes; and
d) defining a set of values for said configurable parameters sufficient to configure an instance of said application.
-
-
6. A method for creating a distributed application from existing software, the method comprising the steps of:
-
a) selecting from a catalog a plurality of bootable volumes containing software;
b) creating at least one application volume by installing application-specific software;
c) defining a set of configurable parameters for specializing said application;
d) visually defining metadata sufficient to automatically construct multiple running instances of said application from said bootable volumes and said application volume; and
e) defining a set of values for said configurable parameters sufficient to configure an instance of said application.
-
-
7. A method for automatically migrating a distributed application from a first computer system to a second computer system, the application consisting of metadata and a plurality of volumes, the method comprising the steps of:
-
a) copying said application from said first computer system to said second computer system;
b) providing a set of configuration values sufficient to start the application on said second computer system; and
c) automatically applying said set of configuration values to said application.
-
-
8. A method for accelerating the migration of a distributed application from a first computer system to a second computer system, the first computer system having a first catalog of virtual appliance classes, the distributed application using a first virtual appliance class from the first catalog, the second computer system having a second catalog of virtual appliance classes, the second catalog containing a copy of the first appliance class, said method comprising the steps of:
-
a) copying said application from said first computer system to said second computer system excluding said first virtual appliance class; and
b) using said first appliance class from said second catalog to reconstruct said distributed application on said second computer system.
-
-
9. A method for connecting multiple instances of the same software to different network services, the method comprising the steps of:
-
a) configuring said software with a host name to connect to, said host name being the same for all instances of the software;
b) obtaining a first network address of a first network service to which a first software instance is to be connected;
c) obtaining a second network address of a second network service to which a second software instance is to be connected;
d) for the first software instance, resolving the host name to the first network address; and
e) for the second software instance, resolving the host name to the second network address. - View Dependent Claims (10)
-
Specification