Globally Distributed Utility Computing Cloud
First Claim
1. A virtual computing cloud comprising:
- a plurality of server grids operable to communicate with each other via a wide area network;
each server grid having associated therewith a plurality of physical servers;
each server grid having associated therewith a respective portion of computing resources;
the plurality of server grids including a first server grid deployed at a first geographic location and a second server grid deployed at a second geographic location different than the first geographic location;
virtual computing cloud resources, the virtual computing cloud resources including an aggregate of portions of resources associated with the first and second server grids;
the virtual computing cloud being operable to run, at one or more of the plurality of server grids, a first instance of a distributed application implemented using at least one virtual appliance.
4 Assignments
0 Petitions
Accused Products
Abstract
Teachings of this application include a computing network that may include multiple different data centers and/or server grids which are deployed in different geographic locations. In at least one embodiment, at least some of the server grids may be operable to provide on-demand, grid and/or utility computing resources for hosting various types of distributed applications. In at least one embodiment, a distributed application may be characterized as an application made up of distinct components (e.g., virtual appliances, virtual machines, virtual interfaces, virtual volumes, virtual network connections, etc.) in separate runtime environments. In at least one embodiment, different ones of the distinct components of the distributed application may be hosted or deployed on different platforms (e.g., different servers) connected via a network. In some embodiments, a distributed application may be characterized as an application that runs on two or more networked computers.
-
Citations
96 Claims
-
1. A virtual computing cloud comprising:
-
a plurality of server grids operable to communicate with each other via a wide area network; each server grid having associated therewith a plurality of physical servers; each server grid having associated therewith a respective portion of computing resources; the plurality of server grids including a first server grid deployed at a first geographic location and a second server grid deployed at a second geographic location different than the first geographic location; virtual computing cloud resources, the virtual computing cloud resources including an aggregate of portions of resources associated with the first and second server grids; the virtual computing cloud being operable to run, at one or more of the plurality of server grids, a first instance of a distributed application implemented using at least one virtual appliance.
-
-
2. A method for migrating a virtual appliance from a first server grid to a second server grid via a communication network, the method comprising:
-
running a first instance of the virtual appliance at the first server grid, wherein the first server grid has associated therewith a first portion of virtualized computing resources representing computing resources associated with a first plurality of physical servers, wherein the first instance of the virtual appliance has associated therewith a first instance of a virtual machine and a first instance of a virtual volume; storing, at the first instance of the virtual volume, a first disk image for use by the first instance of the virtual appliance; identifying a first portion of updated or modified data relating to the first disk image; establishing a connection over the communication network from the first server grid to the second server grid; transferring, to the second server grid, information relating to the first portion of updated or modified data relating to the first disk image; modifying, using the first portion of updated or modified data, a second disk image for use by a second instance of the virtual appliance at the second server grid; and starting, using the modified second disk image, the second instance of the virtual appliance at the second server grid; wherein the second instance of the virtual appliance includes a second instance of the virtual machine and a second instance of the virtual volume. - View Dependent Claims (3, 4, 6, 7)
-
-
5. A method for migrating a virtual appliance from a first server grid to a second server grid via a communication network, the method comprising:
-
running a first instance of the virtual appliance at the first server grid, wherein the first server grid has associated therewith a first portion of virtualized computing resources representing computing resources associated with a first plurality of physical servers, wherein the first instance of the virtual appliance has associated therewith a first instance of a virtual machine and a first instance of a virtual volume; establishing a connection over the communication network from the first server grid to the second server grid; transferring, to the second server grid, first virtual appliance information relating to the first instance of the virtual appliance, wherein the first virtual appliance information includes virtual appliance descriptor information and virtual appliance configuration information; starting, using the first virtual appliance information, the second instance of the virtual appliance at the second server grid; and wherein the second instance of the virtual appliance includes a second instance of the virtual machine.
-
-
8. A system for migrating a virtual appliance from a first server grid of computer network to a second server grid of the computer network, the system comprising:
-
at least one processor; at least one interface operable to provide a communication link to at least one network device; and memory; the system being operable to; run a first instance of the virtual appliance at the first server grid, wherein the first server grid has associated therewith a first portion of virtualized computing resources representing computing resources associated with a first plurality of physical servers, wherein the first instance of the virtual appliance has associated therewith a first instance of a virtual machine and a first instance of a virtual volume; store, at the first instance of the virtual volume, a first disk image for use by the first instance of the virtual appliance; identify a first portion of updated or modified data relating to the first disk image; establish a connection over the communication network from the first server grid to the second server grid; transfer, to the second server grid, information relating to the first portion of updated or modified data relating to the first disk image; modify, using the first portion of updated or modified data, a second disk image for use by a second instance of the virtual appliance at the second server grid; and start, using the modified second disk image, the second instance of the virtual appliance at the second server grid; wherein the second instance of the virtual appliance includes a second instance of the virtual machine and a second instance of the virtual volume. - View Dependent Claims (9, 10, 12, 13)
-
-
11. A system for migrating a virtual appliance from a first server grid to a second server grid via a communication network, the system comprising:
-
at least one processor; at least one interface operable to provide a communication link to at least one network device; and memory; the system being operable to; run a first instance of the virtual appliance at the first server grid, wherein the first server grid has associated therewith a first portion of virtualized computing resources representing computing resources associated with a first plurality of physical servers, wherein the first instance of the virtual appliance has associated therewith a first instance of a virtual machine and a first instance of a virtual volume; store, at the first instance of the virtual volume, a first disk image for use by the first instance of the virtual appliance; establish a connection over the communication network from the first server grid to the second server grid; transfer, to the second server grid, first virtual appliance information relating to the first instance of the virtual appliance, wherein the first virtual appliance information includes virtual appliance descriptor information and virtual appliance configuration information; and start, using the first virtual appliance information, the second instance of the virtual appliance at the second server grid; wherein the second instance of the virtual appliance includes a second instance of the virtual machine.
-
-
14. A system for use in a computer network comprising:
-
a first server grid deployed at a first geographic location; a second server grid deployed at a second geographic location, wherein the second geographic location is different than the first geographic location; at least one processor; at least one interface operable to provide a communication link to at least one network device; and memory; the system being operable to; run a first instance of the virtual appliance at the first server grid, wherein the first server grid has associated therewith a first portion of virtualized computing resources representing computing resources associated with a first plurality of physical servers, wherein the first instance of the virtual appliance has associated therewith a first instance of a virtual machine and a first instance of a virtual volume; store, at the first instance of the virtual volume, a first disk image for use by the first instance of the virtual appliance; identify a first portion of updated or modified data relating to the first disk image; establish a connection over the communication network from the first server grid to the second server grid; transfer, to the second server grid, information relating to the first portion of updated or modified data relating to the first disk image; modify, using the first portion of updated or modified data, a second disk image for use by a second instance of the virtual appliance at the second server grid; and start, using the modified second disk image, the second instance of the virtual appliance at the second server grid; wherein the second instance of the virtual appliance includes a second instance of the virtual machine and a second instance of the virtual volume.
-
-
15. A method for migrating a distributed application from a first server grid to a second server grid via a communication network, the method comprising:
-
running a first instance of the distributed application at the first server grid, wherein the first server grid has associated therewith a first portion of virtualized computing resources representing computing resources associated with a first plurality of physical servers, wherein the first instance of the distributed application has associated therewith a first instance of a virtual machine and a first instance of a virtual volume; storing, at the first instance of the virtual volume, a first disk image for use by the first instance of the distributed application; identifying a first portion of updated or modified data relating to the first disk image; establishing a connection over the communication network from the first server grid to the second server grid; transferring, to the second server grid, information relating to the first portion of updated or modified data relating to the first disk image; modifying, using the first portion of updated or modified data, a second disk image for use by a second instance of the distributed application at the second server grid; and starting, using the modified second disk image, the second instance of the distributed application at the second server grid; wherein the second instance of the distributed application includes a second instance of the virtual machine and a second instance of the virtual volume. - View Dependent Claims (16, 17, 19, 20)
-
-
18. A method for migrating a distributed application from a first server grid to a second server grid via a communication network, the method comprising:
-
running a first instance of the distributed application at the first server grid, wherein the first server grid has associated therewith a first portion of virtualized computing resources representing computing resources associated with a first plurality of physical servers, wherein the first instance of the distributed application has associated therewith a first instance of a virtual machine and a first instance of a virtual volume; establishing a connection over the communication network from the first server grid to the second server grid; transferring, to the second server grid, first distributed application information relating to the first instance of the distributed application, wherein the first distributed application information includes distributed application descriptor information and distributed application configuration information; starting, using the first distributed application information, the second instance of the distributed application at the second server grid; and wherein the second instance of the distributed application includes a second instance of the virtual machine.
-
-
21. A system for migrating a distributed application from a first server grid of computer network to a second server grid of the computer network, the system comprising:
-
at least one processor; at least one interface operable to provide a communication link to at least one network device; and memory; the system being operable to; run a first instance of the distributed application at the first server grid, wherein the first server grid has associated therewith a first portion of virtualized computing resources representing computing resources associated with a first plurality of physical servers, wherein the first instance of the distributed application has associated therewith a first instance of a virtual machine and a first instance of a virtual volume; store, at the first instance of the virtual volume, a first disk image for use by the first instance of the distributed application; identify a first portion of updated or modified data relating to the first disk image; establish a connection over the communication network from the first server grid to the second server grid; transfer, to the second server grid, information relating to the first portion of updated or modified data relating to the first disk image; modify, using the first portion of updated or modified data, a second disk image for use by a second instance of the distributed application at the second server grid; and start, using the modified second disk image, the second instance of the distributed application at the second server grid; wherein the second instance of the distributed application includes a second instance of the virtual machine and a second instance of the virtual volume. - View Dependent Claims (22, 23, 25, 26)
-
-
24. A system for migrating a distributed application from a first server grid to a second server grid via a communication network, the system comprising:
-
at least one processor; at least one interface operable to provide a communication link to at least one network device; and memory; run a first instance of the distributed application at the first server grid, wherein the first server grid has associated therewith a first portion of virtualized computing resources representing computing resources associated with a first plurality of physical servers, wherein the first instance of the distributed application has associated therewith a first instance of a virtual machine and a first instance of a virtual volume; store, at the first instance of the virtual volume, a first disk image for use by the first instance of the distributed application; establish a connection over the communication network from the first server grid to the second server grid; transfer, to the second server grid, first distributed application information relating to the first instance of the distributed application, wherein the first distributed application information includes distributed application descriptor information and distributed application configuration information; and start, using the first distributed application information, the second instance of the distributed application at the second server grid; wherein the second instance of the distributed application includes a second instance of the virtual machine.
-
-
27. A system for use in a computer network comprising:
-
a first server grid deployed at a first geographic location; a second server grid deployed at a second geographic location, wherein the second geographic location is different than the first geographic location; at least one processor; at least one interface operable to provide a communication link to at least one network device; and memory; the system being operable to; run a first instance of the distributed application at the first server grid, wherein the first server grid has associated therewith a first portion of virtualized computing resources representing computing resources associated with a first plurality of physical servers, wherein the first instance of the distributed application has associated therewith a first instance of a virtual machine and a first instance of a virtual volume; store, at the first instance of the virtual volume, a first disk image for use by the first instance of the distributed application; identify a first portion of updated or modified data relating to the first disk image; establish a connection over the communication network from the first server grid to the second server grid; transfer, to the second server grid, information relating to the first portion of updated or modified data relating to the first disk image; modify, using the first portion of updated or modified data, a second disk image for use by a second instance of the distributed application at the second server grid; and start, using the modified second disk image, the second instance of the distributed application at the second server grid; wherein the second instance of the distributed application includes a second instance of the virtual machine and a second instance of the virtual volume.
-
-
28. A method for migrating a first distributed application from a first server grid to a second server grid via a communication network, the first distributed application comprising a plurality of virtual appliances described in a first distributed application descriptor and a first storage volume, the method comprising:
-
transferring at least a portion of contents of the first distributed application descriptor from the first server grid to the second server grid; and transferring at least a portion of contents of the first storage volume from the first server grid to the second server grid. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37)
-
-
38. A system for migrating a first distributed application from a first server grid to a second server grid via a communication network, the first distributed application comprising a plurality of virtual appliances described in a first distributed application descriptor and a first storage volume, the system comprising:
-
at least one processor; at least one interface operable to provide a communication link to at least one network device; and memory; the system being operable to; transfer at least a portion of contents of the first distributed application descriptor from the first server grid to the second server grid; and transfer at least a portion of contents of the first storage volume from the first server grid to the second server grid. - View Dependent Claims (39, 40, 41, 42, 43, 44, 45, 46, 47)
-
-
48. A virtual cloud system comprising:
-
a plurality of server grids, each server grid comprising a plurality of servers connected with a communications network, each server being capable to operate at least one virtual appliance; a catalog service comprising storage with a definition of at least a first virtual appliance; and a communications network for transferring the definition of the first virtual appliance from the catalog service to a first server grid for the purpose of executing an instance of the first virtual appliance on the first server grid.
-
-
49. A virtual appliance catalog system comprising:
-
a first virtual appliance produced by a first appliance vendor; a second virtual appliance produced by a second appliance vendor; a first application definition including identification of the first virtual appliance and the second virtual appliance. - View Dependent Claims (50, 51, 52)
-
-
53. A method for delivering pre-packaged software in virtual appliances to computing systems for use in operating software applications, the method comprising:
-
identifying a first virtual appliance class by a first identifier; requesting the first virtual appliance class from a first catalog service using the first identifier; transferring the first virtual appliance class from the catalog server to a first computing system; and starting an instance of the first virtual appliance class on the first computing system. - View Dependent Claims (54, 55, 56, 57, 58, 59, 60)
-
-
61. A method for delivering pre-packaged software in virtual appliances to computing systems for use in operating distributed applications on a computing system, the method comprising:
-
identifying a first virtual appliance class by a first identifier; locating a first copy of the first virtual appliance class at the computing system; requesting from a first catalog service, using the first identifier, first metadata relating to the first virtual appliance class; verifying, using the first metadata, whether the first copy is up-to-date with the first catalog service;
starting an instance of the first virtual appliance class on the first computing system using the first copy. - View Dependent Claims (62)
-
-
63. A system for delivering pre-packaged software in virtual appliances to computing systems for use in operating software applications, the system comprising:
-
at least one processor; at least one interface operable to provide a communication link to at least one network device; and memory; the system being operable to; identify a first virtual appliance class by a first identifier; request the first virtual appliance class from a first catalog service using the first identifier; transfer the first virtual appliance class from the catalog server to a first computing system; and start an instance of the first virtual appliance class on the first computing system. - View Dependent Claims (64, 65, 66, 67, 68, 69, 70)
-
-
71. A system for delivering pre-packaged software in virtual appliances to computing systems for use in operating distributed applications on a computing system, the system comprising:
-
at least one processor; at least one interface operable to provide a communication link to at least one network device; and memory; the system being operable to; identify a first virtual appliance class by a first identifier; locate a first copy of the first virtual appliance class at the computing system; request from a first catalog service, using the first identifier, first metadata relating to the first virtual appliance class; verify, using the first metadata, whether the first copy is up-to-date with the first catalog service;
starting an instance of the first virtual appliance class on the first computing system using the first copy. - View Dependent Claims (72)
-
-
73. A system for managing use of computing resources implemented in a computing network, the system comprising:
-
a first server grid including a first set of computing resources; an exchange system operable to; publish available computing resources associated with the first server grid; and facilitate client subscriptions to computing resources associated with the first server grid; and a client system operable to; enable a first client to subscribe to a first set of computing resources at the first server grid; and submit a first workload to the first set of computing resources. - View Dependent Claims (74, 75, 76, 77, 78, 79)
-
-
80. A system for managing use of computing resources implemented in a computing network, the system comprising:
-
a first server grid including a first set of computing resources; an exchange system operable to; publish available computing resources associated with the first server grid; and facilitate client subscriptions to computing resources associated with the first server grid; and a client system operable to; enable a first client to subscribe to a first set of computing resources at the first server grid; and submit a first workload to the first set of computing resources.
-
-
81. A system for renting or leasing computing resources comprising:
-
a first exchange system operable to; register available computing resources provided by a plurality of different server grids; and register resource subscribers desiring to use at least a portion of the available computing resources registered at the first exchange system; a first set of computing resources registered with the first exchange system; a second set of computing resources registered with the first exchange system; and a first resource subscriber registered with the first exchange system, wherein the first resource subscriber is registered to use a portion of the first set of computing resources and a portion of the second set of computing resources
-
-
82. An exchange system for renting or leasing computing resources provided over a computing network, the system comprising:
-
at least one processor; at least one interface operable to provide a communication link to at least one network device; and memory; the system being operable to; register a first set of computing resources provided by a first resource provider; register a second set of computing resources provided by a second resource provider; and register at least one resource subscriber including a first resource subscriber, wherein the first resource subscriber is registered to use a portion of the first set of computing resources and a portion of the second set of computing resources. - View Dependent Claims (83, 84, 85, 86, 87, 88, 89, 90, 91, 92)
-
-
93. A system for offering computing resources via a computing network, the system comprising means for offering, via a computing network, virtualized computing resources for use in deployment of one or more distributed applications at one or more server grids of the computing network.
- 94. A system for offering distributed application components via a computing network, the system comprising means for offering, via a computing network, distributed application components for use in deployment of one or more distributed applications at one or more server grids of the computing network.
-
96. A system for facilitating exchange of computing resources in a computing network, the system comprising means for implementing exchange of computing resources between computing resource providers and computing resource subscribers of the computing network.
Specification