Predictive approach to environment provisioning

US9952964B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9952964-B2
Application numberUS-201615280194-A
CountryUS
Kind codeB2
Filing dateSep 29, 2016
Priority dateOct 27, 2014
Publication dateApr 24, 2018
Grant dateApr 24, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • 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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9952964B2 cover?
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 …
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F11/3664. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 24 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).