Predictive approach to environment provisioning
US-2016253255-A1 · Sep 1, 2016 · US
US9952964B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9952964-B2 |
| Application number | US-201615280194-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 29, 2016 |
| Priority date | Oct 27, 2014 |
| Publication date | Apr 24, 2018 |
| Grant date | Apr 24, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Embodiments of the present invention provide methods, systems, and computer program products for building an environment. Embodiments of the present invention can be used to allocate resources and build an environment such that the environment is built when a user is prepared to test one or more portions of code in the environment. Embodiments of the present invention can be used to reduce the “lag time” developers experience between waiting for the code to be built and for resources to be provisioned, and can also provide a less costly alternative to maintaining and operating dedicated environments.
Opening claim text (preview).
What is claimed is: 1. A method for building an environment, the method comprising: predicting, by one or more computer processors, a time at which to start building an environment, such that the environment is built and made available to a user by the time the user is prepared to test the one or more portions of code in the environment, wherein predicting, by one or more computer processors, the time at which to start building the environment such that the environment is built when the user is prepared to test the one or more portions of code in the environment comprises: calculating, by one or more computer processors, a time at which to start building the environment based, at least in part, on an identified length of time to perform any necessary builds of code, an identified length of time to complete a coding task, an identified start time at which the user began work on the coding task, and an identified length of time needed to build the environment, wherein the identified length of time needed to build the environment comprises a total length of time needed to allocate identified resources from a resource pool and configure those resources into an environment for the coding task, and wherein calculating, by one or more computer processors, the time at which to start building the environment comprises: calculating, by one or more computer processors, a tentative start time at which to start building the environment by adding values for the identified length of time to perform any necessary builds of code and the identified length of time to complete the coding task to the identified start time at which the user began work on the coding task, and subtracting the identified length of time needed to build the environment, determining whether the tentative start time plus the identified time to build the environment complies with a time at which the user will be available to test the one or more portions of code in the environment, responsive to determining that the tentative start time plus the identified time to build the environment does not comply with a time at which the user will be available to test the one or more portions of code in the environment, adjusting the tentative start time by an identified next available time at which the user will be available to test the one or more portions of code in the environment, and using the adjusted tentative start time as the time at which to start building the environment, and responsive to determining that the tentative start time plus the identified time to build the environment does comply with a time at which the user will be available to test the one or more portions of code in the environment, using the tentative start time as the time at which to start building the environment. 2. The method of claim 1 , further comprising: determining, by one or more computer processors, whether an existing environment will be available for testing one or more portions of code associated with the coding task when the user is prepared to test the one or more portions of code; and responsive to determining an existing environment will be available for testing the one or more portions of code when the user is prepared to test the one or more portions of code, reserving the existing environment for the coding task. 3. The method of claim 1 , further comprising: determining, by one or more computer processors, whether resources will be available for building the environment at the predicted time at which to start building the environment, such that the environment is built and made available to the user by the time the user is prepared to test the one or more portions of code in the environment; and responsive to determining resources will not be available for building the environment at the predicted time at which to start building the environment, such that the environment is built and made available to the user by the time the user is prepared to test the one or more portions of code in the environment, alerting, by one or more computer processors, the user. 4. The method of claim 1 , wherein identifying a coding task to be performed by a user comprises: accessing, by one or more computer processors, a task repository containing task information associated with the coding task; and determining, by one or more computer processors, that the user has begun work on the coding task. 5. The method of claim 4 , wherein the task information comprises: a title of the coding task, a brief description of the coding task, information that describes one or more areas of the software program affected by the coding task, an estimated time to complete the coding task, and a status indicating a progress state of the coding task. 6. The method of claim 1 , further comprising: identifying, by one or more computer processors, resources with which to build an environment for the coding task based, at least in part, on one or more areas of the software program associated with the one or more portions of code. 7. The method of claim 6 , wherein identifying, by one or more computer processors, resources with which to build an environment for the coding task based, at least in part, on one or more areas of the software program associated with the one or more portions of code comprises: accessing, by one or more computer processors, a pool of resources; identifying, by one or more computer processors, resources associated with terms found in the task information; and identifying, by one or more computer processors, resources that have historically been used to build environments for similar coding tasks. 8. A computer program product for building an environment, the computer program product comprising: one or more computer-readable storage media and program instructions stored on the one or more computer-readable storage media, the program instructions comprising: program instructions to predict a time at which to start building an environment, such that the environment is built and made available to a user by the time the user is prepared to test the one or more portions of code in the environment, wherein predicting, by one or more computer processors, the time at which to start building the environment such that the environment is built when the user is prepared to test the one or more portions of code in the environment comprises: program instructions to calculate a time at which to start building the environment based, at least in part, on an identified length of time to perform any necessary builds of code, an identified length of time to complete a coding task, an identified start time at which the user began work on the coding task, and an identified length of time needed to build the environment, wherein the identified length of time needed to build the environment comprises a total length of time needed to allocate identified resources from a resource pool and configure those resources into an environment for the coding task, and wherein the program instructions to calculate the time at which to start building the environment comprises: program instructions to calculate a tentative start time at which to start building the environment by adding values for the identified length of time to perform any necessary builds of code and the identified length of time to complete the coding task to the identified start time at which the user began work on the coding task, and subtracting the identified length of time needed to build the environment, program instructions to determine whether the tentative start time plus the identified time to build the environment complies with a time at which the user will be available to test the one or more portions of code in the environment, program instructions to, responsive to det
Version control (security arrangements therefor G06F21/57); Configuration management · CPC title
Status monitoring or status determination for a person or group · CPC title
Physics · mapped topic
Methods or tools to render software testable · CPC title
Requirements analysis; Specification techniques · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.