Abstract:
Embodiments of the present invention provide a set of algorithmic methods that can be used to select which partially and/or pre-provisioned virtual machines (VMs) should be used as a base platform to satisfy a new workload (e.g., provisioning) request received in a networked computing environment (e.g., a cloud computing environment). Specifically, when a workload request is received, a set (e.g., at last one) of software programs needed to process the workload request is identified. Then, a set of VMs is selected from a pool of pre-provisioned VMs having the set of software programs. In general, multiple methods and/or factors can be followed to select the set of VMs. Examples include a length of time to install the set of VMs, a probability of the set of VMs being in demand, and/or or a quantity of the set of VMs having the set of software programs. Once the set of VMs has been selected, the set of VMs may be installed, and the workload request can be processed using the set of software programs.
Abstract:
Embodiments of the present invention relate to an approach for resolving and/or implementing policies based on layers of a network stack (e.g., cloud computing stack). Specifically, for a given policy that is being resolved, the system first evaluates the applicability of the policy to each layer in the network stack. For a given policy, the system then evaluates the relative effectiveness of applying the policy to achieve the overall goal of the policy. Based on the best fit evaluation of the relative comparison, the system then decides how and where the policy is enacted (e.g., determines a protocol for implementing the policy).
Abstract:
Embodiments of the present invention provide an approach for determining distributions of virtual machine (VM) patterns across pools of VM instances based upon historical data (e.g., to achieve faster provisioning times). In a typical embodiment, a total pool size for a pool of VM instances is determined (e.g., based on historical data). Then, a distribution of a set of VM instance patterns across the pool is determined (e.g., also based upon historical data). Once the distribution has been determined, the pool of VM instances may be provisioned according to the distribution. In one embodiment, the VM patterns may be evenly distributed across the pool. In another embodiment, the VM patterns may be distributed according to percentages with which the VM patterns were previously requested. In yet another embodiment, the VM patterns may be grouped into two or more groups that are associated with particular user/customer level(s) (e.g., privilege and/or permission level, a service level purchased and/or specified by the consumer, etc).
Abstract:
Intelligent lighting is provided to motorists traveling down a stretch of road by sequentially turning on adjacent lighting devices in a lighting segment only when required, such as when vehicles are approaching the lighting devices, and turning off the lighting devices or decreasing a light intensity output of the lighting devices to a predefined minimum lighting intensity output level when no vehicles are present. In addition, which bulb to use in a multi-bulb lighting device is determined, as well as the optimal lighting intensity level of the selected bulb. Further, it is determined which lighting devices in a lighting segment may be turned off or dimmed while maintaining a predefined minimum safe light/brightness level along a pathway associated with the lighting segment.
Abstract:
A system and computer-implemented method for managing a workload in an environment is disclosed. The method may include establishing a shadow workload on a shadow computer environment, wherein the shadow workload is a copy of an original workload. The method may include communicating a shadow input for the shadow workload, wherein the shadow input is a copy of an original input for the original workload. The method may also include collecting an original output from the original workload and a shadow output from the shadow workload. The method may also include determining, by comparing the original output from the original workload with the shadow output from the shadow workload, whether the shadow computer environment is configured to operate the original workload.
Abstract:
In general, embodiments of the present invention provide an approach for pre-provisioning cloud computing resources such as virtual machines (VMs) in order to achieve faster and more consistent provisioning times. Embodiments of the present invention describe an approach to generate a pre-provisioned pool of virtual machines that are utilized when one or more consumers start to initiate a large volume of requests (e.g., instantiate/populate multiple e-commerce ‘shopping carts’). In a typical embodiment, a selection of an operating system to be associated with a VM is received in a computer data structure. A provisioning of the VM will then be initiated based on the selection of the operating system. Thereafter, at least one selection of at least one software program to be associated with the VM will be received in the computer data structure. The provisioning of the VM can then be completed based on the at least one selection of the at least one software program in response to a provisioning request received in the computer data structure.
Abstract:
An approach is provided to determine a horizontal scaling pattern for a workload. A production environment virtual machine (VM) is established in a cloud computing environment using a set of production operating characteristics. Mirrored environment VMs are also established in the cloud computing environment, with each of the mirrored environment VMs have adjusted operating characteristics as compared to the production environment VM. Requests are processed by the production and mirrored environment VMs with the processing time used being measured. The timing results corresponding to the production environment VM and to each of the mirrored environment VMs are compared and the set of production operating characteristics are adjusted based on comparison.
Abstract:
A system and computer-implemented method for managing a workload in an environment is disclosed. The method may include establishing a shadow workload on a shadow computer environment, wherein the shadow workload is a copy of an original workload. The method may include communicating a shadow input for the shadow workload, wherein the shadow input is a copy of an original input for the original workload. The method may also include collecting an original output from the original workload and a shadow output from the shadow workload. The method may also include determining, by comparing the original output from the original workload with the shadow output from the shadow workload, whether the shadow computer environment is configured to operate the original workload.
Abstract:
Virtual machines are allocated among servers in a virtual environment, whereby each virtual machine has a current placement. A current fitness score is calculated for each virtual machine based on its current placement. Proposed placement plans are then generated, each plan including a proposed placement of each virtual machine. For each plan, a plan score is created. Each plan score is created by calculating a proposed fitness score for each virtual machine based on a proposed placement of that virtual machine in accordance with that plan, generating a virtual machine score for each virtual machine based on a comparison of that virtual machine's current fitness score and proposed fitness score, and then combining the virtual machine scores. The plan scores are then compared, and a target plan is selected from among the plans. The virtual machines are then reallocated among the servers in accordance with the target proposed placement plan.
Abstract:
Embodiments of the present invention provide an approach for determining distributions of virtual machine (VM) patterns across pools of VM instances based upon historical data (e.g., to achieve faster provisioning times). In a typical embodiment, a total pool size for a pool of VM instances is determined (e.g., based on historical data). Then, a distribution of a set of VM instance patterns across the pool is determined (e.g., also based upon historical data). Once the distribution has been determined, the pool of VM instances may be provisioned according to the distribution. In one embodiment, the VM patterns may be evenly distributed across the pool. In another embodiment, the VM patterns may be distributed according to percentages with which the VM patterns were previously requested. In yet another embodiment, the VM patterns may be grouped into two or more groups that are associated with particular user/customer level(s) (e.g., privilege and/or permission level, a service level purchased and/or specified by the consumer, etc).