Maximizing Throughput of Multi-user Parallel Data Processing Systems
Abstract
The invention provides systems and methods for maximizing revenue generating throughput of a multi-user parallel data processing platform across a set of users of the service provided with the platform. The invented techniques, for any given user contract among the contracts supported by the platform, and on any given billing assessment period, determine a level of a demand for the capacity of the platform associated with the given contract that is met by a level of access to the capacity of the platform allocated to the given contract, and assess billables for the given contract at least in part based on such met demand and a level of assured access to the capacity of the platform associated with the given contract, as well as billing rates, applicable for the given billing assessment period, for the met demand and the level of assured access associated with the given contract.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A system for improving data processing service throughput per a unit cost of the service through billing adjustment techniques, the system comprising:
digital logic for repeatedly allocating an array of processing cores among software programs of a set of users of the service; and digital logic for assessing billables for the service for a given user of the service on successive billing assessment periods (BAPs), wherein the assessing is done, for any given BAP among the successive BAPs, based at least in part on amounts of cores among said array that the given user i) has an entitlement for, with such an amount referred to as a core entitlement (CE), and ii) got allocated to meet its demand for cores, with such an amount referred to as a demand based core allocation (DBCA).
2 . The system of claim 1 , wherein the digital logic for assessing the billables for the service further involves logic that multiplies the DBCA with a DBCA billing rate set for the given BAP.
3 . The system of claim 1 , wherein the digital logic for assessing the billables for the service further involves logic that multiplies the CE with a CE billing rate set for the given BAP.
4 . The system of claim 1 , wherein the assessing is done furthermore based on at least one of: a billing rate for CEs and a billing rate for DBCAs.
5 . The system of claim 4 , wherein at least one of the billing rate for CEs and the billing rate for DBCAs is varied from one BAP to another among the successive BAPs.
6 . In a multi-user data processing platform, a method for improving data processing service throughput per unit cost of the service through billing adjustment techniques, the method comprising:
repeatedly allocating an array of processing cores for processing software programs of a set of users of the service; and assessing billables for the service for a given user of the service on successive billing assessment periods (BAPs), wherein the assessing is done, for successive BAPs, based at least in part on quantities of cores among said array that the given user i) has an entitlement for and ii) got allocated to meet its demands for cores.
7 . The method of claim 6 , wherein the BAPs are: i) time periods between consecutive occurrences of said allocating, or ii) time periods for which billing rates used in the assessing of the billables are constant.
8 . The system of claim 6 , wherein the allocating is done at least in part based on at least one of: i) entitlements and ii) demands, for quantities of cores among said array by one or more of the software programs of the set of users.
9 . The method of claim 6 , wherein the assessing is done furthermore based at least in part on a value of a billing rate for cores among said array that the given user's software program has an entitlement for on a given BAP among the successive BAPs.
10 . The method of claim 6 , wherein the assessing is done furthermore based at least in part on a value of a billing rate for cores among said array that the given user's software program got allocated to meet its demand for cores on a given BAP among the successive BAPs.
11 . A system for improving a revenue generation capability of a data processing platform providing a pool of processing resources that are shared dynamically among user software programs, the system comprising:
digital logic for repeatedly allocating the pool of resources for processing the user programs at least in part based on entitlements for the pool of resources by the user programs; digital logic for adjusting a billing rate for said entitlements, for individual billing assessment periods (BAPs) among successive BAPs, at least in part based on a relative popularity of the entitlements on the individual BAPs; and digital logic for determining billables associated with at least one of the user software programs, based at least in part on the adjusting of the billing rate for the entitlements.
12 . The system of claim 11 , wherein the pool of resources comprises an array of processing cores that are repeatedly allocated among the user software programs.
13 . The system of claim 11 , wherein the digital logic for allocating performs its allocating of the pool of resources furthermore at least in part based on demands by the user software programs for the resources among said pool.
14 . The system of claim 11 further comprising digital logic for adjusting, for successive BAPs, a billing rate for resources among the pool allocated to a user program to meet a demand expressed by the user program for such resources, and wherein the determining is furthermore based at least in part on the adjusting of the billing rate for such resources.
15 . The system of claim 11 wherein the digital logic for allocating, the digital logic for adjusting and the digital logic for determining comprise hardware logic that, on at least some BAPs among the successive BAPs, operates automatically without software involvement.
16 . A method for improving a revenue generation capability of a data processing platform providing a pool of processing resources that are shared dynamically among user software programs, the method comprising:
repeatedly allocating the pool of resources for processing the user programs at least in part based on entitlements for the pool of resources by the user programs; adjusting a billing rate for said entitlements, for successive billing assessment periods (BAPs), at least in part based on a relative popularity of the entitlements on individual BAPs among the successive BAPs; and determining billables associated with the user programs, based at least in part on said adjusting of the billing rate for the entitlements.
17 . The method tem of claim 16 , wherein the determining further involves, for a given user program, and on any given BAP among the successive BAPs, multiplying the entitlements of the given user program for the pool of resources with the billing rate for said entitlements on the given BAP.
18 . The method of claim 16 , wherein the allocating furthermore is based at least in part on a demand for the resources by a user program among the pool for a given capacity allocation period.
19 . The method of claim 16 further involving a step of adjusting, for successive BAPs, a billing rate for resources among the pool allocated to a user program to meet a demand by the user program for such resources, and wherein the determining is furthermore based at least in part on the adjusting of the billing rate for such resources.
20 . The method of claim 16 , wherein the determining furthermore is based at least in part on i) resolving a level of the resources among the pool allocated to a user program to meet a demand by the user program for such resources on a given BAP and ii) observing a billing rate applicable for the resources resolved by the substep i) on the given BAP.
21 . A billing method for a multi-user data processing platform supporting a set of user contracts, the method comprising, on at least one given billing assessment period (BAP) among successive BAPs, and for at least one given user contract among said set:
determining a level of a demand for a capacity of the platform by the given contract that is met by a level of access to the capacity of the platform allocated to the given contract, with said level of a demand referred to as a met demand; and assessing billables for the given contract, at least in part based on i) a level of assured access to the capacity of the platform provided for the given contract and ii) the met demand associated with the given contract.
22 . The method of claim 21 , wherein the assessing is done furthermore based at least in part on a billing rate, set for any given BAP among the successive BAPs, for at least one of: i) units of the level of assured access associated with the given contract, and ii) units of the met demand associated with the given contract.
23 . The method of claim 22 , wherein the billing rate is set to a different value on at least some BAPs among the successive BAPs, in order to increase the billables associated with the set of user contracts.
24 . The method of claim 21 , wherein the capacity of the platform is periodically, once for each successive capacity allocation periods, reallocated among the set of user contracts.
25 . The method of claim 24 , wherein the capacity is reallocated at least in part based on at least one of: i) the level of assured access to the capacity of the platform associated with the given contract, and ii) the demand for the capacity of the platform by the given contract.Join the waitlist — get patent alerts
Track US2013117168A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.