Dynamically configuring, allocating and deploying computing systems
First Claim
1. A system to dynamically deploy one or more computing systems in a network, the system comprising:
- a processor; and
a memory encoding instructions that, when executed by the processor, cause the processor to create;
a database component including a plurality of stored information and procedures for manipulating said information, comprising;
a reservation status defining a status of a reservation for one computing system in a pool of computing systems, the reservation status including;
a not yet begun status indicating that the reservation has been made;
a deploying status indicating when a time period for the reservation has arrived;
a ready status indicating when all deployment steps required for the reservation are complete, wherein a single value is evaluated as a sum of unique numeric values specifying all deployment steps required to perform the reservation, each unique numeric value corresponding to a deployment step selected from a plurality of deployment steps to track whether a specific deployment step has been performed or not;
an expiring status indicating when the time period for the reservation is expired; and
an archiving status indicating when all resources associated with the reservation are released,a configuration status defining a configuration of the computing system in the pool, the configurations including a web server, an SQL server, a search server, and a content server,an availability status defining availability of the computing system in the pool, the availability status including;
an unreserved status for each computing system that is not reserved in the reservation;
a reserved status for each computing system that is reversed in the reservation; and
an in use status for each computing system that is the currently deployed in the reservation, anda deployment status indicating a status of deployment for each of the computing systems in the pool, the deployment status including;
a not yet started status when the reservation is made but the deployment is not yet started;
a deployment step status indicating each step of the deployment when deployment is started; and
a ready status when the deployment is complete indicating that the server is ready for another deployment;
an operating system service component to periodically communicate with the database component for one or more tasks to perform; and
a web service component to provide a communication interface between the database component and the operating system service component, wherein the components operate together to deploy the one or more computing systems including configuring and allocating the one or more computing systems;
wherein the computing system of the pool is reserved based in part on a reservation algorithm that is configured to allocate the at least one computing system based on at least the reservation status, the configuration status, the availability status, and the deployment status of the computing system.
2 Assignments
0 Petitions
Accused Products
Abstract
Computing systems can be dynamically configured, allocated, and deployed based on user requirements. For example, a user can request a number of servers for dynamic configuration, allocation, and deployment. Embodiments provide a quick and efficient way for users to test code and programs, debug code and programs, and/or perform other configuration and testing operations using one or more computing systems, such as a cluster of servers. Reserved systems are dynamically configured with necessary code and/or content according to user requirements. The reserved cluster of systems can be returned to an available pool once a reservation expires, allowing the returned systems to be used for a subsequent reservation.
177 Citations
18 Claims
-
1. A system to dynamically deploy one or more computing systems in a network, the system comprising:
- a processor; and
a memory encoding instructions that, when executed by the processor, cause the processor to create;a database component including a plurality of stored information and procedures for manipulating said information, comprising; a reservation status defining a status of a reservation for one computing system in a pool of computing systems, the reservation status including;
a not yet begun status indicating that the reservation has been made;
a deploying status indicating when a time period for the reservation has arrived;
a ready status indicating when all deployment steps required for the reservation are complete, wherein a single value is evaluated as a sum of unique numeric values specifying all deployment steps required to perform the reservation, each unique numeric value corresponding to a deployment step selected from a plurality of deployment steps to track whether a specific deployment step has been performed or not;
an expiring status indicating when the time period for the reservation is expired; and
an archiving status indicating when all resources associated with the reservation are released,a configuration status defining a configuration of the computing system in the pool, the configurations including a web server, an SQL server, a search server, and a content server, an availability status defining availability of the computing system in the pool, the availability status including;
an unreserved status for each computing system that is not reserved in the reservation;
a reserved status for each computing system that is reversed in the reservation; and
an in use status for each computing system that is the currently deployed in the reservation, anda deployment status indicating a status of deployment for each of the computing systems in the pool, the deployment status including;
a not yet started status when the reservation is made but the deployment is not yet started;
a deployment step status indicating each step of the deployment when deployment is started; and
a ready status when the deployment is complete indicating that the server is ready for another deployment;an operating system service component to periodically communicate with the database component for one or more tasks to perform; and a web service component to provide a communication interface between the database component and the operating system service component, wherein the components operate together to deploy the one or more computing systems including configuring and allocating the one or more computing systems;
wherein the computing system of the pool is reserved based in part on a reservation algorithm that is configured to allocate the at least one computing system based on at least the reservation status, the configuration status, the availability status, and the deployment status of the computing system. - View Dependent Claims (2, 3, 4, 5, 6, 7)
- a processor; and
-
8. A non-transitory computer readable medium including executable instructions which, when executed, allocate at least one server from a server pool by:
-
using a reservation algorithm that is configured to allocate the at least one server of the server pool based on at least the reservation status, the reservation status defining a status of a reservation for at least one server, the reservation status including;
a not yet begun status indicating that the reservation has been made;
a deploying status indicating when a time period for the reservation has arrived;
a ready status indicating when all required deployment steps for the reservation are complete, wherein a single value is evaluated as a sum of unique numeric values specifying all deployment steps required to perform the reservation, each unique numeric value corresponding to a deployment step selected from a plurality of deployment steps to track whether a specific deployment step has been performed or not;
an expiring status indicating when the time period for the reservation is expired; and
an archiving status indicating when all resources associated with the reservation are released;using a deployment input to configure the at least one server of the server pool, wherein the deployment input includes a deployment type, a deployment start time, and a deployment end time; determining an availability of the at least one server based in part on the deployment input; storing the deployment input if the at least one server of the server pool is available; and
deploying the at least one server of the server pool based in part on the availability of the at least one server, wherein the deployment of the at least one server includes dynamically configuring the at least one server in accordance with the deployment input. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A method of dynamically configuring a number of computing systems in a pool of computing systems, the method comprising:
-
receiving input associated with a deployment configuration of the number of computing systems, wherein the input includes a deployment type for the number of computing systems and a time period to reserve the number of computing systems for deployment;
using a reservation algorithm that is configured to allocate the at least one server of the server pool based on at least the reservation status, the reservation status defining a status of a reservation for the at least one server, the reservation status including;
a not yet begun status indicating that the reservation has been made;
a deploying status indicating when a time period for the reservation has arrived;
a ready status indicating when all deployment steps for the reservation are complete;
an expiring status indicating when the time period for the reservation is expired; and
an archiving status indicating when all resources associated with the reservation are released;assigning a unique numeric value to each deployment step of the deployment steps;
calculating a single value as a sum of the unique numeric values assigned to each of the deployment steps and specifying all deployment steps required to perform the reservation, wherein each unique numeric value corresponds to a deployment step selected from a plurality of deployment steps to track whether a specific deployment step has been performed or not;using the single value to track a status of the deployment steps; allocating the number of computing systems based in part on an availability of the number of computing systems for the time period; and
,deploying the number of computing systems for the time period if the number of computing systems is available for the time period, wherein the deploying includes automatically configuring the number of computing systems according to the deployment type. - View Dependent Claims (17, 18)
-
Specification