Abstract:
The current document discloses methods and systems for extending an internal network within a first cloud-computing facility to a second cloud-computing facility and deploying a virtual machine or virtual application previously running on a first cloud-computing facility within the context of the extended internal network in the second cloud-computing facility. The currently disclosed methods and systems which provide internal-network extension and redeployment of virtual machines and virtual applications, referred to as “stretch deploy,” allow a virtual machine or virtual application formerly executing on a first cloud-computing facility to resume execution on a second cloud-computing facility, using the computational and storage facilities of the second cloud-computing facility but depending on network support from the first cloud-computing facility, without changing IP and local network addresses and the network connectivity, based on those addresses, between the virtual machines and virtual applications and other local and remote computational entities with which the virtual machines and virtual applications communicate.
Abstract:
Multiple tenants within a hybrid cloud computing system may need IP addresses to communicate over a computer network external to the hybrid cloud system (such as the Internet). IP addresses are a scarce resource, and each address can only be assigned to a single tenant. With multiple tenants competing for IP addresses, many request collisions may occur if tenants request IP addresses in a naïve manner, such as by requesting the next available IP address numerically. When a collision occurs, a tenant must request a different IP address. Instead, tenants request random IP addresses within a particular subnet in a random manner, thereby reducing the number of collisions that occur and improving the latency associated with requesting an IP address.
Abstract:
Techniques are provided for reducing the amount of data that to be transferred in a hybrid cloud system in order to spawn a VM at a private cloud computing system from a template library stored in a public cloud computing system. Instead of storing full virtual machine templates, template libraries at the public cloud computing system are “differential” libraries. Differential templates in these differential libraries only include data that is different as compared with either a base template or another differential template. Assuming a private cloud system already stores a base image, the private cloud system may spawn a VM based on a particular template simply by downloading the appropriate differential templates. This technique reduces the total amount of data that needs to be downloaded from the public cloud system in order to spawn a particular VM.
Abstract:
Multiple tenants within a hybrid cloud computing system may need IP addresses to communicate over a computer network external to the hybrid cloud system (such as the Internet). IP addresses are a scarce resource, and each address can only be assigned to a single tenant. With multiple tenants competing for IP addresses, many request collisions may occur if tenants request IP addresses in a naive manner, such as by requesting the next available IP address numerically. When a collision occurs, a tenant must request a different IP address. Instead, tenants request random IP addresses within a particular subnet in a random manner, thereby reducing the number of collisions that occur and improving the latency associated with requesting an IP address.
Abstract:
The current document discloses methods and systems for extending an internal network within a first cloud-computing facility to a second cloud-computing facility and deploying a virtual machine or virtual application previously running on a first cloud-computing facility within the context of the extended internal network in the second cloud-computing facility. The currently disclosed methods and systems which provide internal-network extension and redeployment of virtual machines and virtual applications, referred to as “stretch deploy,” allow a virtual machine or virtual application formerly executing on a first cloud-computing facility to resume execution on a second cloud-computing facility, using the computational and storage facilities of the second cloud-computing facility but depending on network support from the first cloud-computing facility, without changing IP and local network addresses and the network connectivity, based on those addresses, between the virtual machines and virtual applications and other local and remote computational entities with which the virtual machines and virtual applications communicate.
Abstract:
A system and method for backing up virtual machines are disclosed. To better use the backup resources, an optimal set of virtual machines needing backup during a time window is generated. The optimal set depends on a total time for backing up each virtual machine needing backup and a cost metric that indicates a cost of not backing up the virtual machine during the time window. The optimal set also meets various system constraints that reflect the backup resource limitations. Performing backups according to the optimal set limits the number of missed backups and the number of service level agreement violations, thereby improving the backup performance without costly additions to its infrastructure.
Abstract:
The current document discloses methods and systems for extending an internal network within a first cloud-computing facility to a second cloud-computing facility and deploying a virtual machine or virtual application previously running on a first cloud-computing facility within the context of the extended internal network in the second cloud-computing facility. The currently disclosed methods and systems which provide internal-network extension and redeployment of virtual machines and virtual applications, referred to as “stretch deploy,” allow a virtual machine or virtual application formerly executing on a first cloud-computing facility to resume execution on a second cloud-computing facility, using the computational and storage facilities of the second cloud-computing facility but depending on network support from the first cloud-computing facility, without changing IP and local network addresses and the network connectivity, based on those addresses, between the virtual machines and virtual applications and other local and remote computational entities with which the virtual machines and virtual applications communicate.
Abstract:
A network management server allocates network addresses to a network gateway connected to a public network after receiving an allocation request that specifies a number of network addresses to allocate to the network gateway. The network management server determines a first and second subnets of the public network having, respectively, first and second pools of available network addresses capable of being allocated to devices on the public network, and allocates one or more available network addresses from the first and second pools to the network gateway.
Abstract:
The current document discloses methods and systems for extending an internal network within a first cloud-computing facility to a second cloud-computing facility and deploying a virtual machine or virtual application previously running on a first cloud-computing facility within the context of the extended internal network in the second cloud-computing facility. The currently disclosed methods and systems which provide internal-network extension and redeployment of virtual machines and virtual applications, referred to as “stretch deploy,” allow a virtual machine or virtual application formerly executing on a first cloud-computing facility to resume execution on a second cloud-computing facility, using the computational and storage facilities of the second cloud-computing facility but depending on network support from the first cloud-computing facility, without changing IP and local network addresses and the network connectivity, based on those addresses, between the virtual machines and virtual applications and other local and remote computational entities with which the virtual machines and virtual applications communicate.