Computing environments can be scalably generated and provisioned based on one or more team definitions and definitions of one or more projects assigned to a particular team. Digital constructs can be generated to represent the teams and the projects assigned to such teams, and such digital constructs can comprise metadata identifying sandboxes to generate and, within those sandboxes, computing environments to generate and how such computing environments are to be provisioned. The sandboxes can be generated in parallel and the computing environments can be provisioned in parallel, or staggered based on individual user access. Assignment of consumption limitations can be individually adjusted from default values, and monitoring of such consumption limitations can be performed on an aggregated basis.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method for generating a set of multiple virtual computing environments and allocating compute resources among the set of multiple virtual computing environments, the method comprising: receiving a first input comprising: a team definition comprising a team roster, and a first project definition comprising a first template; automatically generating, based on the first input, a first set of multiple virtual computing environments, the first set of multiple virtual computing environments comprising a unique virtual computing environment for each member enumerated by the team roster, wherein each virtual computing environment comprises emulation of computing hardware specified by the first template; automatically providing, to each member enumerated by the team roster, user access to the unique virtual computing environment of the first set of multiple virtual computing environments such that there is a one-to-one correspondence between virtual computing environments of the first set of multiple virtual computing environments and members of the team as enumerated by the team roster; automatically creating, based on the first input, administrator access for a first administrator to each virtual computing environment of the first set of multiple virtual computing environments; automatically linking each virtual computing environment, of the first set of multiple virtual computing environments, to a first project associated with the first project definition; automatically linking the first project to a team defined by the team definition; allocating, to the team, a predefined quantity of compute resources; automatically allocating, to the first project, a portion of the predefined quantity of compute resources that were allocated to the team; and automatically allocating, to each virtual computing environment, of the first set of multiple virtual computing environments, a first initial allocation of compute resources, the first initial allocation of compute resources being based on the portion of the compute resources allocated to the first project and on a quantity of virtual computing environments in the first set of virtual computing environments; wherein emulated computing, by a virtual computing environment, consumes compute resources allocated to the virtual computing environment.
2. The method of claim 1 , further comprising: receiving a second input comprising a second project definition comprising a second template; automatically generating, based on the second input, a second set of multiple virtual computing environments, the second set of multiple virtual computing environments also comprising a unique virtual computing environment for each member of the team, wherein each virtual computing environment comprises emulation of computing hardware specified by the second template; automatically providing, to each member of the team, user access to the unique virtual computing environment of the second set of multiple virtual computing environments such that there is a one-to-one correspondence between virtual computing environments of the second set of multiple virtual computing environments and members of the team; automatically creating, based on the second input, administrator access for the first administrator to each virtual computing environment of the second set of multiple virtual computing environments; automatically linking each virtual computing environment, of the second set of multiple virtual computing environments, to a second project associated with the second project definition; automatically linking the second project to the team; automatically allocating, to the second project, another portion of the predefined quantity of compute resources that were allocated to the team; and automatically allocating, to each virtual computing environment, of the second set of multiple virtual computing environments, a second initial allocation of compute resources, the second initial allocation of compute resources being based on the another portion of the compute resources allocated to the second project and on a quantity of virtual computing environments in the second set of virtual computing environments.
3. The method of claim 1 , further comprising: allocating, to each virtual computing environment of only a subset of the first set of multiple virtual computing environments, a first subsequent allocation of compute resources in addition to the first initial allocation of compute resources; wherein an aggregate of the first subsequent allocations of compute resources to the subset of the first set of multiple virtual computing environments is deducted from the portion of the compute resources allocated to the first project.
4. The method of claim 1 , wherein the generating of a virtual computing environment, of the first set of multiple virtual computing environments, is delayed until a user who is provided the user access to the virtual computing environment first attempts to access the virtual computing environment.
5. The method of claim 1 , further comprising: monitoring, for each virtual computing environment, in the first set of multiple virtual computing environments, consumption of the first initial allocation of compute resources; and generating a notification to the first administrator if the monitored consumption of the first initial allocation of compute resources is above a threshold.
6. The method of claim 1 , further comprising: preventing a first virtual computing environment, of the first set of multiple virtual computing environments, from performing further emulated computing, if the first virtual computing environment has consumed all compute resources previously allocated to the first virtual computing environment.
7. The method of claim 1 , further comprising: preventing a first virtual computing environment, of the first set of multiple virtual computing environments, from performing further emulated computing, if the first virtual computing environment is consuming compute resources previously allocated to the first virtual computing environment faster than a threshold rate, even though the compute resources previously allocated to the first virtual computing environment have not been all consumed.
8. The method of claim 1 , further comprising: presenting, to the first administrator, multiple templates; receiving a selection of the first template from the multiple templates; and modifying the first project definition to comprise the first template based on the selection.
9. The method of claim 1 , further comprising: receiving, from the first administrator, a first resource consumption limit; and preventing a first virtual computing environment, of the first set of multiple virtual computing environments, from performing further emulated computing, if the first virtual computing environment's consumption of compute resources previously allocated to the first virtual computing environment exceeds the first resource consumption limit, even though the compute resources previously allocated to the first virtual computing environment have not been all consumed.
10. A set of computing devices in aggregate comprising: central processing units (CPUs); and one or more computer-readable storage media comprising computer-executable instructions, which, when executed by at least some of the processing units, cause at least some of the set of computing devices to: receive a first input comprising: a team definition comprising a team roster, and a first project definition comprising a first template; automatically generate, based on the first input, a first set of multiple virtual computing environments, the first set of multiple virtual computing environments comprising a unique virtual computing environment for each member enumerated by the team roster, wherein each virtual computing environment comprises emulation of computing hardware specified by the first template; automatically provide, to each member enumerated by the team roster, user access to the unique virtual computing environment of the first set of multiple virtual computing environments such that there is a one-to-one correspondence between virtual computing environments of the first set of multiple virtual computing environments and members of the team as enumerated by the team roster; automatically create, based on the first input, administrator access for a first administrator to each virtual computing environment of the first set of multiple virtual computing environments; automatically link each virtual computing environment, of the first set of multiple virtual computing environments, to a first project associated with the first project definition; automatically link the first project to a team defined by the team definition; allocate, to the team, a predefined quantity of compute resources; automatically allocate, to the first project, a portion of the predefined quantity of compute resources that were allocated to the team; and automatically allocate, to each virtual computing environment, of the first set of multiple virtual computing environments, a first initial allocation of compute resources, the first initial allocation of compute resources being based on the portion of the compute resources allocated to the first project and on a quantity of virtual computing environments in the first set of virtual computing environments; wherein emulated computing, by a virtual computing environment, consumes compute resources allocated to the virtual computing environment.
11. The set of computing devices of claim 10 , wherein the one or more computer-readable storage media comprise further computer-executable instructions, which, when executed by at least some of the CPUs, cause at least some of the set of computing devices to further: receive a second input comprising a second project definition comprising a second template; automatically generate, based on the second input, a second set of multiple virtual computing environments, the second set of multiple virtual computing environments also comprising a unique virtual computing environment for each member of the team, wherein each virtual computing environment comprises emulation of computing hardware specified by the second template; automatically provide, to each member of the team, user access to the unique virtual computing environment of the second set of multiple virtual computing environments such that there is a one-to-one correspondence between virtual computing environments of the second set of multiple virtual computing environments and members of the team; automatically create, based on the second input, administrator access for the first administrator to each virtual computing environment of the second set of multiple virtual computing environments; automatically link each virtual computing environment, of the second set of multiple virtual computing environments, to a second project associated with the second project definition; automatically link the second project to the team; automatically allocate, to the second project, another portion of the predefined quantity of compute resources that were allocated to the team; and automatically allocate, to each virtual computing environment, of the second set of multiple virtual computing environments, a second initial allocation of compute resources, the second initial allocation of compute resources being based on the another portion of the compute resources allocated to the second project and on a quantity of virtual computing environments in the second set of virtual computing environments.
12. The set of computing devices of claim 10 , wherein the one or more computer-readable storage media comprise further computer-executable instructions, which, when executed by at least some of the CPUs, cause at least some of the set of computing devices to further: allocate, to each virtual computing environment of only a subset of the first set of multiple virtual computing environments, a first subsequent allocation of compute resources in addition to the first initial allocation of compute resources; wherein an aggregate of the first subsequent allocations of compute resources to the subset of the first set of multiple virtual computing environments is deducted from the portion of the compute resources allocated to the first project sandbox.
13. The set of computing devices of claim 10 , wherein the generating of a virtual computing environment, of the first set of multiple virtual computing environments, is delayed until a user who is provided the user access to the virtual computing environment first attempts to access the virtual computing environment.
14. The set of computing devices of claim 10 , wherein the one or more computer-readable storage media comprise further computer-executable instructions, which, when executed by at least some of the CPUs, cause at least some of the set of computing devices to further: monitor, for each virtual computing environment, in the first set of multiple virtual computing environments, consumption of the first initial allocation of compute resources; and generate a notification to the first administrator if the monitored consumption of the first initial allocation of compute resources is above a threshold.
15. The set of computing devices of claim 10 , wherein the one or more computer-readable storage media comprise further computer-executable instructions, which, when executed by at least some of the CPUs, cause at least some of the set of computing devices to further: prevent a first virtual computing environment, of the first set of multiple virtual computing environments, from performing further emulated computing, if the first virtual computing environment has consumed all compute resources previously allocated to the first virtual computing environment.
16. The set of computing devices of claim 10 , wherein the one or more computer-readable storage media comprise further computer-executable instructions, which, when executed by at least some of the CPUs, cause at least some of the set of computing devices to further: prevent a first virtual computing environment, of the first set of multiple virtual computing environments, from performing further emulated computing, if the first virtual computing environment is consuming compute resources previously allocated to the first virtual computing environment faster than a threshold rate, even though the compute resources previously allocated to the first virtual computing environment have not been all consumed.
17. The set of computing devices of claim 10 , wherein the one or more computer-readable storage media comprise further computer-executable instructions, which, when executed by at least some of the CPUs, cause at least some of the set of computing devices to further: present, to the first administrator, multiple templates; receive a selection of the first template from the multiple templates; and modify the first project definition to comprise the first template based on the selection.
18. The set of computing devices of claim 10 , wherein the one or more computer-readable storage media comprise further computer-executable instructions, which, when executed by at least some of the CPUs, cause at least some of the set of computing devices to further: receive, from the first administrator, a first resource consumption limit; and prevent a first virtual computing environment, of the first set of multiple virtual computing environments, from performing further emulated computing, if the first virtual computing environment's consumption of compute resources previously allocated to the first virtual computing environment exceeds the first resource consumption limit, even though the compute resources previously allocated to the first virtual computing environment have not been all consumed.
19. One or more computer storage media comprising computer-executable instructions, which, when executed by a computing device, cause the computing device to: receive a first input comprising: a team definition comprising a team roster, and a first project definition comprising a first template; automatically generate, based on the first input, a first set of multiple virtual computing environments, the first set of multiple virtual computing environments comprising a unique virtual computing environment for each member enumerated by the team roster, wherein each virtual computing environment comprises emulation of computing hardware specified by the first template; automatically provide, to each member enumerated by the team roster, user access to the unique virtual computing environment of the first set of multiple virtual computing environments such that there is a one-to-one correspondence between virtual computing environments of the first set of multiple virtual computing environments and members of the team as enumerated by the team roster; automatically create, based on the first input, administrator access for a first administrator to each virtual computing environment, of the first set of multiple virtual computing environments; automatically link each virtual computing environment, of the first set of multiple virtual computing environments, to a first project associated with the first project definition; automatically link the first project to a team defined by the team definition; allocate, to the team, a predefined quantity of compute resources; automatically allocate, to the first project, a portion of the predefined quantity of compute resources that were allocated to the team; and automatically allocate, to each virtual computing environment, of the first set of multiple virtual computing environments, a first initial allocation of compute resources, the first initial allocation of compute resources being based on the portion of the compute resources allocated to the first project and on a quantity of virtual computing environments in the first set of virtual computing environments; wherein emulated computing, by a virtual computing environment, consumes compute resources allocated to the virtual computing environment.
20. The computer storage media of claim 19 , comprising further computer-executable instructions, which, when executed by the computing device, cause the computing device to further: receive a second input comprising a second project definition comprising a second template; automatically generate, based on the second input, a second set of multiple virtual computing environments, the second set of multiple virtual computing environments also comprising a unique virtual computing environment for each member of the team, wherein each virtual computing environment comprises emulation of computing hardware specified by the second template; automatically provide, to each member of the team, user access to the unique virtual computing environment of the second set of multiple virtual computing environments such that there is a one-to-one correspondence between virtual computing environments of the second set of multiple virtual computing environments and members of the team; automatically create, based on the second input, administrator access for the first administrator to each virtual computing environment of the second set of multiple virtual computing environments; automatically link each virtual computing environment, of the second set of multiple virtual computing environments, to a second project associated with the second project definition; automatically link the second project to the team; automatically allocate, to the second project, another portion of the predefined quantity of compute resources that were allocated to the team; and automatically allocate, to each virtual computing environment, of the second set of multiple virtual computing environments, a second initial allocation of compute resources, the second initial allocation of compute resources being based on the another portion of the compute resources allocated to the second project and on a quantity of virtual computing environments in the second set of virtual computing environments.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
May 31, 2018
April 6, 2021
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.