1461129489-c9a8c7cc-ecc6-4df8-8f64-e14760f333c2

1. An apparatus comprising:
first and second crystalline material layers positioned adjacent to each other and forming a first heterointerface;
a third crystalline material layer positioned adjacent to the second crystalline material layer and forming a second heterointerface;
a first ferroelectric layer positioned adjacent to the first crystalline material layer and having a ferroelectric domain applying an electric field to a first region of the first heterointerface to induce a quasi two-dimensional electron gas in the first region of the first heterointerface; and
a second ferroelectric layer positioned adjacent to the third crystalline material layer and having a ferroelectric domain applying an electric field to a first region of the second heterointerface to induce a quasi two-dimensional electron gas in the first region of the second heterointerface.
2. The apparatus of claim 1, wherein the crystalline material layers comprise one of:
an oxide-based dielectric, or a semiconductor.
3. The apparatus of claim 1, wherein:
the ferroelectric layers comprise one of: Pb(Zr,Ti)O3, BiFeO3, BaTiO3, or strained SrTiO3; and
the first and second crystalline material layers comprise one of: SrTiO3, PbVO3, LaAlO3, LaMnO3, LaCaMnO3, LaSrMnO3, or a doped silicon, germanium, or GaAs.
4. The apparatus of claim 1, wherein the
first ferroelectric layer further includes a plurality of ferroelectric domains applying an electric field to the first heterointerface; and wherein the
the second ferroelectric layer includes a plurality of ferroelectric domains applying an electric field to the second heterointerface.
5. The apparatus of claim 4, further comprising:
a substrate;
a first oxide layer, on the substrate; and
a second oxide layer on the first oxide layer, wherein the second ferroelectric layer is on the second oxide layer.
6. The apparatus of claim 5, wherein the first oxide layer comprises one of SrTiO3, DyScO3, or GdScO3, and the second oxide layer comprises one of SrRrO3, or LaSrCoO3, on the SrTiO3, DyScO3, or GdScO3.
7. The apparatus of claim 1, further comprising:
a substrate;
a first oxide layer, on the substrate; and
a second oxide layer on the first oxide layer, wherein the second ferroelectric layer is on the second oxide layer.
8. The apparatus of claim 7, in the first oxide layer comprises one of SrTiO3, DyScO3, or GdScO3, and the second oxide layer comprises one of SrRrO3, or LaSrCoO3, on the SrTiO3, DyScO3, or GdScO3.
9. The apparatus of claim 1, wherein the first region of the first heterointerface forms a gate, and wherein the first region of the second heterointerface forms a channel.
10. The apparatus of claim 9, wherein the first and second ferroelectric layers have a coercive voltage greater than a gate voltage for turning on the channel.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A method of controlling memory usage in a computer system having limited physical memory, wherein one or more application programs execute in conjunction with an operating system, the method comprising:
at a first memory usage threshold, requesting at least one of the application programs to limit its use of memory;
at a second memory usage threshold that is more critical than the first memory usage threshold, requesting at least one of the application programs to close itself;
at a third memory usage threshold that is more critical than the first and second memory usage thresholds, terminating at least one of the application programs without allowing its further execution; and
reclaiming unused stack memory and discarding read-only memory before requesting at least one of the application programs to close itself and before terminating at least one of the application programs, further comprising:
before performing the requesting that at least one of the application programs close itself, prompting a user to select one of the application programs to be closed; and
before performing the terminating, prompting the user to select one of the application programs to be terminated.
2. A method as recited in claim 1, wherein the reclaiming and discarding are performed at further memory usage thresholds that are set in relation to the second and third memory usage thresholds.
3. A method as recited in claim 1, wherein the reclaiming and discarding are performed at further memory usage thresholds that are set in relation to the first, second, and third memory usage thresholds.
4. A method of controlling memory usage in a computer system having limited physical memory, wherein one or more application programs execute in conjunction with an operating system, the method as recited in claim 1, further comprising:
monitoring memory usage; and
at the first memory threshold, sending a message from the operating system to at least one of the application programs requesting the application program to reduce its current use of memory.
5. A method as recited in claim 4, further comprising sending the message to the application program when memory usage reaches a defined threshold.
6. A method as recited in claim 4, wherein the application programs have respective message loops, the method further comprising sending the message to the application program through its message loop.
7. A method as recited in claim 4, wherein the application programs have respective message loops, the method further comprising sending the message to a particular application program that was least recently active.
8. A computer-readable storage medium having computer-executable instructions for performing the method recited in claim 4.
9. A method of controlling memory usage in a computer system having limited physical memory, wherein one or more application programs execute in conjunction with an operating system, the method comprising:
at a first memory usage threshold, requesting at least one of the application programs to limit its use of memory,
at a second memory usage threshold that is more critical than the first memory usage threshold, requesting at least one of the application programs to close itself;
at a third memory usage threshold that is more critical than the first and second memory usage thresholds, terminating at least one of the application programs without allowing its further execution; and
reclaiming unused stack memory and discarding read-only memory before requesting at least one of the application programs to close itself and before terminating at least one of the application programs;
before performing the requesting that at least one of the application programs close itself, requiring a user to select one of the application programs to be closed; and
before performing the terminating, requiring the user to select one of the application programs to be terminated.
10. The method of claim 9, further comprising before performing the requesting step, prompting a user to select one of the application programs to be closed; and
before performing the terminating step, prompting the user to select one of the application programs to be terminated.
11. A computer-readable storage medium having computer-executable instructions for performing acts for controlling memory usage in a computer system having limited physical memory, wherein one or more application programs execute in conjunction with an operating system, by performing acts of:
at a first memory usage threshold, requesting at least one of the application programs to limit its use of memory;
at a second memory usage threshold that is more critical than the first second memory usage thresholds, requesting at least one of the application programs to close itself;
at a third memory usage threshold that is more critical than the first and second memory usage thresholds, terminating at least one of the application programs without allowing its further execution; and
reclaiming unused stack memory and discarding read-only memory before requesting at least one of the application programs to close itself and before terminating at least one of the application further comprising:
before performing the requesting that at least one of the application programs close itself, prompting a user to select one of the application programs to be closed; and
before performing the terminating, prompting the user to select one of the application programs to be terminated.
12. A computer-readable storage medium as recited in claim 11, the instructions being executable to perform additional acts comprising:
before performing the requesting step, requiring a user to select one of the application programs to be closed; and
before performing the terminating step, requiring the user to select one of the application programs to be terminated.
13. A computer-readable storage medium as recited in claim 11, wherein the application programs have respective message loops, the instructions being executable to perform a further act of sending the message to the application program through its message loop.
14. A computer-readable storage medium as recited in claim 11, wherein the application programs have respective message loops, the instructions being executable to perform a further act of sending the message to a particular application program that was least recently active.
15. A computer-readable storage medium as recited in claim 11 wherein at least one application program includes a message loop that receives messages from an operating system, the application program being responsive to a particular message received through its message loop to reduce its current use of memory.
16. The computer-readable storage medium of claim 11, further comprising instructions configured to cause a processor to reclaim unused stack memory at one or more of the memory thresholds.
17. The computer-readable storage medium of claim 11, further comprising instructions configured to cause a processor to discard read-only memory at one or more of the memory thresholds.
18. The computer-readable storage medium of claim 11, further comprising instructions configured to cause a processor to perform acts of reclaiming unused stack memory and discarding read-only memory before requesting at least one of the application programs to close itself and before terminating at least one of the application programs.
19. The computer-readable storage medium of claim 11, further comprising instructions configured to cause a processor to perform acts of sending a message from the operating system to at least one of the application programs including a particular application program that was least recently active, requesting the application program to reduce its current use of memory.
20. A computer system comprising:
a processor;
an operating system that is executable by the processor and that utilizes a physical memory;
a virtual memory system that includes physical memory but does not include secondary storage;
one or more application programs that utilize the virtual memory system;
wherein the operating system is configured to perform the following acts:
monitoring physical memory usage; and
at increasingly critical physical memory usage thresholds, wielding increasing control over said one or more application programs to reduce physical memory usage, wherein the act of wielding increasing control comprises the following acts:
at a first memory threshold, requesting at least one of the application programs to limit its use of memory;
at a second memory threshold, prompting a user to select at least one of the application programs and then requesting that the at least one selected application program close itself;
at a third memory threshold, prompting the user to select at least one of the application programs and then terminating it without allowing its further execution; and
before prompting the user at the second memory threshold, reclaiming unused stack memory and discarding read-only memory.
21. A computer system as recited in claim 20, wherein the operating system is further configured to perform the following additional act:
at one or more of the memory thresholds, reclaiming unused stack memory.
22. A computer system as recited in claim 20, wherein the operating system is further configured to perform the following additional act:
at one or more of the memory thresholds, discarding read-only memory.
23. A computer system as recited in claim 20, wherein the act of wielding increasing control comprises the following act:
at the third memory threshold, prompting the user to select at least one of the application programs and then the operating system requesting that the at least one selected application program close itself.
24. An article of manufacture comprising a computer-readable medium including computer-executable instructions thereon that are configured, when executed electronically, to cause a computer system to perform acts of:
controlling memory usage in a computer system having limited physical memory, wherein one or more application programs execute in conjunction with an operating system by requesting, at a first memory usage threshold, at least one of the application programs to limit its use of memory,
requesting, at a second memory usage threshold that is more critical than the first memory usage threshold, at least one of the application programs to close itself;
terminating, at a third memory usage threshold that is more critical than the first and second memory usage thresholds, at least one of the application programs without allowing its further execution;
reclaiming unused stack memory and discarding read-only memory before requesting at least one of the application programs to close itself and before terminating at least one of the application programs;
prompting a user to select one of the application programs to be closed before performing the requesting that at least one of the application programs close itself; and
prompting the user to select one of the application programs to be terminated, before performing the terminating.
25. An article of manufacture comprising a computer-readable medium including computer-executable instructions thereon that are configured, when executed electronically, to cause a computer system to perform acts of:
first determining that a first memory threshold has been achieved;
requesting at least one of the application programs to limit its use of memory responsive to first determining;
second determining that a second memory usage threshold that is more critical than the first memory usage threshold has been achieved;
requesting at least one of the application programs to close itself responsive to second determining;
third determining that a third memory usage threshold that is more critical than the first and second memory usage thresholds has been achieved;
terminating at least one of the application programs without allowing its further execution responsive to third determining;
reclaiming unused stack memory and discarding read-only memory before requesting at least one of the application programs to close itself and before terminating at least one of the application programs;
requiring a user to select one of the application programs to be closed before requesting that at least one of the application programs close itself; and
requiring the user to select one of the application programs to be terminated before terminating.
26. An article of manufacture comprising a computer-readable medium including computer-executable instructions thereon that are configured, when executed electronically, to cause a computer system to perform acts of:
executing one or more application programs that utilize a virtual memory system that includes physical memory but does not include secondary storage;
executing an operating system that utilizes the physical memory, wherein the operating system is configured to perform acts of:
monitoring physical memory usage; and
wielding increasing control over said one or more application programs at increasingly critical physical memory usage thresholds to reduce physical memory usage, wherein wielding comprises acts of:
requesting at least one of the application programs to limit its use of memory at a first memory threshold;
prompting a user to select at least one of the application programs and then requesting that the at least one selected application program close itself at a second memory threshold;
prompting the user to select at least one of the application programs and then terminating it without allowing its further execution at a third memory threshold; and
before prompting the user at the second memory threshold, reclaiming unused stack memory and discarding read-only memory.

1461129479-e33d1242-c9cf-49fd-92c1-2ea471ea8aa6

1. A method performed with a computing system for managing content on a computing device, the method comprising:
identifying a data object comprising business data values defined in a structured format, the structured format comprising the business data values defined by two or more first dimensions and two or more second dimensions;
determining a particular first dimension and a muted first dimension of the two or more first dimensions and a particular second dimension and a muted second dimension of the two or more second dimensions, the determining comprising:
determining an outer level first dimension as one of the two or more first dimensions, the outer level first dimension comprising a plurality of members;
determining an inner level first dimension as one of the two or more first dimensions, the inner level first dimension comprising a plurality of members that comprise a subset of the outer level first dimension;
setting the inner level first dimension as the particular first dimension, and the outer level first dimension as the muted first dimension;
determining an outer level second dimension as one of the two or more second dimensions, the outer level second dimension comprising a plurality of members;
determining an inner level second dimension as one of the two or more second dimensions, the inner level second dimension comprising a plurality of members that comprise a subset of the outer level second dimension;
setting the inner level second dimension as the particular second dimension, and the outer level second dimension as the muted second dimension;

generating a display grid for display on a computing device, the display grid comprising a portion of the business data values corresponding to the particular first dimensions the particular second dimension, the muted first dimension, and the muted second dimension, wherein the display of the generated display grid is independent of the muted first dimension and the muted second dimension;
preparing the display grid for display on the computing device;
receiving a first command from the user of the computing device through the context interface;
in response to receiving the first command:
determining the outer level first dimension as the other one of the two or more first dimensions to provide an updated outer level first dimension,
setting the updated outer level first dimension as the particular first dimension and the inner level first dimension as the muted first dimension;

regenerating the display grid for display on the computing device, the display grid comprising a portion of the business data values corresponding to the swi-tehed particular first dimension the particular second dimension, the muted first dimension, and the muted second dimension, wherein the display of the regenerated display grid is independent of the muted first dimension and the muted second dimension; and
preparing the regenerated display grid for display on the computing device.
2. The method of claim 1, wherein the computing device comprises a mobile device that comprises one of a smartphone, a tablet, a PDA, or a cellular phone.
3. The method of claim 1, further comprising:
receiving a second command from the user of the computing device;
in response to receiving the second command, displaying a context interface on the computing device, the context interface comprising the particular first and second dimensions and at least a portion of the plurality of members of the outer level first dimension and at least a portion of the plurality of members of the outer level second dimension.
4. The method of claim 3, further comprising:
receiving a third command from the user of the computing device through the context interface;
in response to receiving the third command, switching the particular first dimension with one of the plurality of members of the outer level first dimension;
regenerating the display grid for display on the computing device, the display grid comprising a portion of the business data values corresponding to the switched first dimension, the particular second dimension, the muted first dimension, and the muted second dimension; and
preparing the regenerated display grid for display on the computing device.
5. The method of claim 4, wherein receiving a third command from the user of the computing device through the context interface comprises receiving rotational contact on a touchscreen at or near a portion of the context interface.
6. The method of claim 3, wherein receiving a second command comprises receiving contact on a touchscreen of the computing device at or near a particular business data value displayed in the display grid, and the context interface comprises a pie menu interface that comprises:
a center portion that comprises the particular business data value;
a first ring that circumscribes the center portion and comprises the particular first dimension;
a second ring that circumscribes the first ring and comprises the particular second dimension; and
a third ring that circumscribes at least one of the first and second rings and comprises one of the first dimensions other than the particular first dimension.
7. The method of claim 1, wherein receiving a first command from the user of the computing device through the context interface comprises receiving pinching contact on a touchscreen at or near a portion of the context interface toward a center of the context interface.
8. The method of claim 1, wherein the one or more second dimensions comprise two or more second dimensions.
9. The method of claim 1, wherein generating the display grid for display on the computing device further comprises generating the display grid including a horizontal dimension that corresponds to the particular first dimension that comprises the inner level first dimension and a vertical dimension that corresponds to the particular second dimension that comprises the inner level second dimension.
10. The method of claim 9, wherein regenerating the display grid for display on the computing device further comprises regenerating the display grid including the horizontal dimension that corresponds to the particular first dimension that comprises the updated outer level first dimension and the vertical dimension that corresponds to the particular second dimension that comprises the inner level second dimension.
11. A non-transitory computer storage medium encoded with a computer program, the program comprising instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:
identifying a data object comprising business data values defined in a structured format, the structured format comprising the business data values defined by two or more first dimensions and two or more second dimensions;
determining a particular first dimension and a muted first dimension of the two or more first dimensions and a particular second dimension and a muted second dimension of the two or more second dimensions, the determining comprising:
determining an outer level first dimension as one of the two or more first dimensions, the outer level first dimension comprising a plurality of members;
determining an inner level first dimension as one of the two or more first dimensions, the inner level first dimension comprising a plurality of members that comprise a subset of the outer level first dimension;
setting the inner level first dimension as the particular first dimension, and the outer level first dimensions as the muted first dimension;
determining an outer level second dimension as one of the two or more second dimensions, the outer level second dimension comprising a plurality of members;
determining an inner level second dimension as one of the two or more second dimensions, the inner level second dimension comprising a plurality of members that comprise a subset of the outer level second dimension;
setting the inner level second dimension as the particular second dimension, and the outer level second dimension as the muted second dimension;

generating a display grid for display on a computing device, the display grid comprising a portion of the business data values corresponding to the particular first dimensions the particular second dimension, the muted first dimension, and the muted second dimension, wherein the display of the generated display grid is independent of the muted first dimension and the muted second dimension;
preparing the display grid for display on the computing device;
receiving a first command from the user of the computing device through the context interface;
in response to receiving the first command:
determining the outer level first dimension as the other one of the two or more first dimensions to provide an updated out level first dimension,
setting the updated outer level first dimension as the particular first dimension, and the inner level first dimension as the muted first dimension;

regenerating the display grid for display on the computing device, the display grid comprising a portion of the business data values corresponding to the particular first dimensions the particular second dimension, the muted first dimension, and the muted second dimension, wherein the display of the regenerated display grid is independent of the muted first dimension and the muted second dimension; and
preparing the regenerated display grid for display on the computing device.
12. The computer storage medium of claim 11, wherein the computing device comprises a mobile device that comprises one of a smartphone, a tablet, a PDA, or a cellular phone.
13. The computer storage medium of claim 11, wherein the operations further comprise:
receiving a second command from a user of the computing device;
in response to receiving the second command, causing a context interface to be displayed on the computing device, the context interface comprising the particular first and second dimensions and at least a portion of the plurality of members of the outer level first dimension and at least a portion of the plurality of members of the outer level second dimension.
14. The computer storage medium of claim 13, wherein the operations further comprise: receiving a third command from the user of the computing device through the context interface;
in response to receiving the third command, switching the particular first dimension with one of the plurality of members of the outer level first dimension; regenerating the display grid for display on the computing device, the display grid comprising a portion of the business data values corresponding to the switched first dimension, the particular second dimension, the muted first dimensions, and the muted second dimensions; and
preparing the regenerated display grid for display on the computing device.
15. The computer storage medium of claim 14, wherein receiving a third command from the user of the computing device through the context interface comprises determining that rotational contact on a touchscreen occurs at or near a portion of the context interface.
16. The computer storage medium of claim 13, wherein receiving a second command comprises receiving contact on a touchscreen of the computing device at or near a particular business data value displayed in the display grid, and
the context interface comprises a pie menu interface that comprises:
a center portion that comprises the particular business data value;
a first ring that circumscribes the center portion and comprises the particular first dimension;
a second ring that circumscribes the first ring and comprises the particular second dimension; and
a third ring that circumscribes at least one of the first and second rings and comprises one of the first dimensions other than the particular first dimension.
17. The computer storage medium of claim 11, wherein receiving a second command from the user of the computing device through the context interface comprises determining that pinching contact on a touchscreen occurs at or near a portion of the context interface toward a center of the context interface.
18. The computer storage medium of claim 11, wherein the one or more second dimensions comprise two or more second dimensions.
19. A system of one or more computers configured to perform operations comprising:
identifying a data object comprising business data values defined in a structured format, the structured format comprising the business data values defined by two or more first dimensions and two or more second dimensions;
determining a particular first dimension and a muted first dimension of the two or more first dimensions and a particular second dimension and a muted second dimension of the two or more second dimensions, the determining comprising:
determining an outer level first dimension as one of the two or more first dimensions, the outer level first dimension comprising a plurality of members;
determining an inner level first dimension as one of the two or more first dimensions, the inner level first dimension comprising a plurality of members that comprise a subset of the outer level first dimension;
setting the inner level first dimension as the particular first dimension, and the outer level first dimension as the muted first dimension;
determining an outer level second dimension as one of the two or more second dimensions, the outer level second dimension comprising a plurality of members;
determining an inner level second dimension as one of the two or more second dimensions, the inner level second dimension comprising a plurality of members that comprise a subset of the outer level second dimension;
setting the inner level second dimension as the particular second dimension, and the outer level second dimension as the muted second dimension;

generating a display grid for display on a computing device, the display grid comprising a portion of the business data values corresponding to the particular first dimensions the particular second dimension, the muted first dimension, and the muted second dimension, wherein the display of the generated display grid is independent of the muted first dimension and the muted second dimension;
preparing the display grid for display on the computing device;
receiving a first command from the user of the computing device through the context interface;
in response to receiving the first command:
determining the outer level first dimension as the other one of the two or more first dimensions to provide an updated outer level first dimension,

setting the updated outer level first dimension as the particular first dimension, and the inner level first dimension as the muted first dimension;
regenerating the display grid for display on the computing device, the display grid comprising a portion of the business data values corresponding to the particular first dimensions the particular second dimension, the muted first dimensions, and the muted second dimension, wherein the display of the regenerated display grid is independent of the muted first dimension and the muted second dimension; and
preparing the regenerated display grid for display on the computing device.
20. The system of claim 19, wherein the computing device comprises a mobile device that comprises one of a smartphone, a tablet, a PDA, or a cellular phone.
21. The system of claim 19, wherein the operations further comprise:
receiving a second command from a user of the computing device;
in response to receiving the second command, causing a context interface to be displayed on the computing device, the context interface comprising the particular first and second dimensions and at least a portion of the plurality of members of the outer level first dimension and at least a portion of the plurality of members of the outer level second dimension.
22. The system of claim 21, wherein the operations further comprise:
receiving a third command from the user of the computing device through the context interface;
in response to receiving the third command, switching the particular first dimension with one of the plurality of members of the outer level first dimension;
regenerating the display grid for display on the computing device, the display grid comprising a portion of the business data values corresponding to the switched first dimension, the particular second dimension, the muted first dimension, and the muted second dimensions; and
preparing the regenerated display grid for display on the computing device.
23. The system of claim 22, wherein receiving a third command from the user of the computing device through the context interface comprises determining that rotational contact on a touchscreen occurs at or near a portion of the context interface.
24. The system of claim 21, wherein receiving a second command comprises receiving contact on a touchscreen of the computing device at or near a particular business data value displayed in the display grid, and
the context interface comprises a pie menu interface that comprises:
a center portion that comprises the particular business data value;
a first ring that circumscribes the center portion and comprises the particular first dimension;
a second ring that circumscribes the first ring and comprises the particular second dimension; and
a third ring that circumscribes at least one of the first and second rings and comprises one of the first dimensions other than the particular first dimension.
25. The system of claim 19, wherein receiving a second command from the user of the computing device through the context interface comprises determining that pinching contact on a touchscreen occurs at or near a portion of the context interface toward a center of the context interface.
26. The system of claim 19, wherein the one or more second dimensions comprise two or more second dimensions.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A computer-implemented process for managing computing resources provided to customers in an on-demand data center, the computer-implemented process comprising:
providing a shared computing environment wherein computing resources are shared between the customers;
providing to each customer one or more logical partitions of computing resources within the shared computing environment;
allocating at least one processing engine to each logical partition;
modeling a selected customer’s resource utilization as a beta distribution, wherein the mode of the beta distribution marks the selected customer’s anticipated resource utilization;
iteratively selecting a random resource utilization value from the beta distribution and, for each logical partition, calculating a processing engine differential, wherein the processing engine differential is the difference between the number of processing engines allocated to each logical partition and the number of processing engines necessary to provide the random resource utilization to each logical partition;
for each iteration, calculating a collective processing engine differential until the collective processing engine differential converges on an optimal processing engine differential; and
adjusting the number of processing engines by the optimal processing engine differential to achieve an optimal free pool size.
2. The computer-implemented process of claim 1 wherein the number of iterations is at least 2000.
3. The computer-implemented process of claim 1 wherein the selected customer’s anticipated resource utilization is an anticipated peak resource utilization.
4. The computer-implemented process of claim 3 wherein the number of iterations is at least 2000.
5. The computer-implemented process of claim 1 wherein the selected customer’s anticipated resource utilization is an anticipated average resource utilization.
6. The computer-implemented process of claim 5 wherein the number of iterations is at least 2000.
7. A computer program product for managing computing resources provided to customers in an on-demand data center, wherein the computing resources are shared between the customers and one or more logical partitions of computing resources are allocated to each customer, the computer program product comprising a computer-useable medium having a computer-readable program, wherein the computer-readable program when executed on a computer causes the computer to:
model a selected customer’s resource utilization as a beta distribution, wherein the mode of the beta distribution marks the selected customer’s anticipated resource utilization;
iteratively select a random resource utilization value from the beta distribution and, for each logical partition, calculate a processing engine differential, wherein the processing engine differential is the difference between a number of processing engines allocated to each logical partition and the number of processing engines necessary to provide the random resource utilization to each logical partition;
for each iteration, calculate a collective processing engine differential until the collective processing engine differential converges on an optimal processing engine differential; and
adjust the number of processing engines by the optimal processing engine differential to achieve an optimal free pool size.
8. The computer program product of claim 7 wherein the number of iterations is at least 2000.
9. The computer program product of claim 7 wherein the selected customer’s anticipated resource utilization is an anticipated peak resource utilization.
10. The computer program product of claim 9 wherein the number of iterations is at least 2000.
11. The computer program product of claim 7 wherein the selected customer’s anticipated resource utilization is an anticipated average resource utilization.
12. The computer program product of claim 11 wherein the number of iterations is at least 2000.
13. A computer for managing computing resources provided to customers in an on-demand data center, wherein the computing resources are shared between the customers and one or more logical partitions of computing resources are allocated to each customer, the computer comprising:
a processor;
a memory coupled to the processor; and
a computer program stored in the memory, the computer program operable to cause the processor to
model a selected customer’s resource utilization as a beta distribution, wherein the mode of the beta distribution marks the selected customer’s anticipated resource utilization;
iteratively select a random resource utilization value from the beta distribution and, for each logical partition, calculate a processing engine differential, wherein the processing engine differential is the difference between a number of processing engines allocated to each logical partition and the number of processing engines necessary to provide the random resource utilization to each logical partition;
for each iteration, calculate a collective processing engine differential until the collective processing engine differential converges on an optimal processing engine differential; and
adjust the number of processing engines by the optimal processing engine differential to achieve an optimal free pool size.
14. The computer of claim 13 wherein the number of iterations is at least 2000.
15. The computer of claim 13 wherein the selected customer’s anticipated resource utilization is an anticipated peak resource utilization.
16. The computer of claim 15 wherein the number of iterations is at least 2000.
17. The computer of claim 13 wherein the selected customer’s anticipated resource utilization is an anticipated average resource utilization.
18. The computer of claim 17 wherein the number of iterations is at least 2000.