US20060117317A1 - On-demand utility services utilizing yield management - Google Patents

On-demand utility services utilizing yield management Download PDF

Info

Publication number
US20060117317A1
US20060117317A1 US10/987,748 US98774804A US2006117317A1 US 20060117317 A1 US20060117317 A1 US 20060117317A1 US 98774804 A US98774804 A US 98774804A US 2006117317 A1 US2006117317 A1 US 2006117317A1
Authority
US
United States
Prior art keywords
computing
service
yield management
price
level
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/987,748
Inventor
Catherine Crawford
Zhen Liu
Laura Wynter
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to US10/987,748 priority Critical patent/US20060117317A1/en
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CRAWFORD, CATHERINE H., LIU, ZHEN, WYNTER, LAURA
Priority to CNA2005101194397A priority patent/CN1773539A/en
Publication of US20060117317A1 publication Critical patent/US20060117317A1/en
Priority to US12/133,720 priority patent/US10373081B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/02Reservations, e.g. for tickets, services or events
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06312Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06315Needs-based resource requirements planning or analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising

Definitions

  • the present invention relates to techniques for provision of on-demand utility services and, more particularly, to techniques for provision of on-demand utility services utilizing a yield management framework.
  • a group of computing resources that perform one or more related functions may be referred to as a “computing center.”
  • a computing center may be composed of a number of processor resources (e.g., servers), disk storage, applications, software tools, and internal communication links between the various devices and with the external clients.
  • Clients send their jobs to the system through an external network and jobs are queued and processed through the system. Results may be received by clients during the process or only at the end of the process.
  • Computing centers may take on a number of forms such as, for example, web server farms, scientific computing centers, or on-demand facilities for general computing use.
  • resource management in computing centers attempts to satisfy constraints associated with the computing needs of the current clients of the system.
  • no existing resource management system associated with such computing centers incorporates yield management techniques.
  • there is no such system that considers global objectives and makes use of a possibly high degree of price and demand segmentation to achieve those objectives and links them with the operation (e.g., resource allocation, scheduling, monitoring) of the computing center.
  • the present invention provides techniques for provision of on-demand utility services utilizing a yield management framework.
  • a system for managing one or more computing resources associated with a computing center comprises: (i) a resource management subsystem for managing the one or more computing resources associated with the computing center, wherein the computing center is able to provide one or more computing services in response to one or more customer demands; and (ii) a yield management subsystem coupled to the resource management subsystem, wherein the yield management subsystem optimizes provision of the one or more computing services in accordance with the resource management subsystem and the one or more computing resources.
  • the yield management subsystem comprises a yield management reservation subsystem which determines one or more optimized price/service-level combinations associated with provision of the one or more computing services. Further, the yield management subsystem comprises a yield management scheduler which determines one or more schedules for providing the one or more computing services in accordance with the one or more optimized price/service-level combinations. Also, the yield management subsystem comprises a yield management monitor which tracks one or more service level agreements and a degree of satisfaction thereof, and which compiles aggregate statistics for use by the a yield management reservation subsystem. Still further, the yield management subsystem comprises one or more yield management marketing strategy templates which provide one or more yield management-based marketing strategies for use by the a yield management reservation subsystem.
  • the yield management subsystem may further comprise a service level agreement advisor which adds one or more customer-specific service requirements to the scheduling of a workload of a customer on a virtual cluster allocated to that customer.
  • the one or more computing services may comprise one or more on-demand utility services.
  • the yield management reservation subsystem may be further operative to offer more than one price for the same service level, where prices are offered in limited quantities, and the quantities are optimized depending on resource levels and demand models.
  • the yield management reservation subsystem may be future operative to suggest varying the quantities to be made available at each price and service level over a given period of time so as to effect usage patterns.
  • the resource management system may comprise one or more of a subscription module, a billing module, a service level agreement definition module, and a provisioning module.
  • FIG. 1 is a block diagram illustrating a computing center environment with which techniques of the present invention may be implemented
  • FIG. 2 is a block diagram illustrating an implementation of a yield management system within a computing center architecture, according to an embodiment of the invention
  • FIG. 3 is a diagram illustrating a yield management-based methodology for use in accordance with a computing center architecture, according to an embodiment of the invention
  • FIG. 4 is a block diagram illustrating a generalized hardware architecture of at least a portion of a computer system suitable for implementing a yield management-based computing center, according to an embodiment of the present invention.
  • FIG. 5 is a diagram illustrating marketing strategy templates, according to embodiments of the present invention.
  • the present invention provides techniques that allow a yield management system to link to an existing resource management system associated with a computing center. While illustrative embodiments will be described in the context of an on-demand utility computing center, it is to be understood that the principles of the invention are not limited to such computing environments but are more generally applicable to any type of computing environments in which yield management techniques may be useful.
  • a “demand,” as generally used in accordance with the invention, refers to an estimate of the likely number of users or requests to the system, and generally depends upon the characteristics of the system. For example, the better the system, the higher the demand.
  • a “price” is a characteristic of the system that, as generally used in accordance with the invention, refers to the cost paid by a user of the system for the use or request in question.
  • a “service-level” is also a characteristic of the system that, as generally used in accordance with the invention, refers to non-monetary attributes of the service provided, e.g., processing time, reliability, guarantee of access, etc.
  • a “product,” as generally used in accordance with the invention, refers to a price-service-level pair or combination. For example, use of capacity in a hosting facility may be offered at a certain price and with a particular guarantee of access. Then, the same capacity at a different price and/or with a different guarantee of access is a different product.
  • An “on-demand utility service,” as generally used in accordance with the invention, refers to information technology (IT) services which allow businesses to access IT infrastructures, software applications and business processes over the network when, and only if, they need them.
  • IT information technology
  • a further characteristic of an “on-demand utility service” is that it converts IT from a fixed to a variable cost.
  • an illustrative system embodying the yield management-based methodology includes a yield management reservation system, a yield management scheduler and arbitrator, a service level agreement advisor, a yield management monitoring system and statistics generator, yield management marketing strategies templates, and customer-facing modules such as subscription and billing services.
  • the yield management components are based on a fine segmentation of customer demand using data on price/service-level elasticities (also known as price/service-level sensitivity, elastic demand curves, etc.) that relate levels of demand to price and service levels offered to the clients and link these demand-side characteristics with the supply-side through a yield management scheduler and arbitrator and the yield management reservation system.
  • price/service-level elasticities also known as price/service-level sensitivity, elastic demand curves, etc.
  • an on-demand utility computing center of the invention may be characterized by a yield management reservation system that offers more than one price for the same service level, where prices are offered in limited quantities, and the quantities are optimized depending on resource levels and demand models.
  • the invention provides methodologies for linking a yield management reservation system with resource allocation systems for computing centers and for converting an existing platform to a yield management-driven system.
  • computing center environment 100 comprises: a plurality of clients 102 - 1 , 102 - 2 , . . . 102 -N and a computing center 104 coupled via an external network 106 .
  • external network 106 may be the Internet or World Wide Web.
  • Computing center 104 itself comprises a resource management subsystem 108 comprising an allocation and scheduling module 110 and a monitoring module 112 .
  • Computing center 104 also comprises a billing and subscription subsystem 114 comprising a billing module 116 and a subscription module 118 .
  • Computing center 104 also comprises resources 120 such as processor resource(s) 122 (e.g., one or more central processing units (CPUs), one or more servers, etc.), disk storage 124 , application(s) 126 , software tool(s) 128 , and internal network resource(s) 130 .
  • processor resource(s) 122 e.g., one or more central processing units (CPUs), one or more servers, etc.
  • disk storage 124 disk storage 124
  • application(s) 126 e.g., one or more central processing units (CPUs), one or more servers, etc.
  • application(s) 126 e.g., one or more central processing units (CPUs), one or more servers, etc.
  • Internal network resource(s) 130 may, by way of example only, comprise communication links between the various components and with the external clients, and may also comprise the actual bandwidth of the internal network that connects the various resources of the computing center.
  • applications 126 may comprise database programs, office or management software, scientific applications, etc.; while software tools 128 may comprise software that enables other applications and services on the system, middleware, etc.
  • Allocation and scheduling module 110 generally serves to assign proportions of processing and memory resources to each service class. It is to be understood that a computing center may typically recognize one or more service classes (i.e., respective grouping of clients based on a particular service requested and/or a priority requested). Allocation and scheduling module 110 may also set a queuing discipline to state how to handle the transactions in each service class (for example, first-in-first out, etc.).
  • monitoring in conventional computing centers is performed on the service class basis (or even on the entire-system level) to determine performance (e.g., response time). That is, in conventional computing center environments, there is no tracking (monitoring) on the transaction-level which would be needed to do billing at that level. So, conventional monitoring tracks system or service-class performance. It will be seen that the present invention provides techniques for tracking or monitoring on the transaction-level.
  • Billing module 116 generally handles generation and processing of bills associated with services provided by the computing center to the clients.
  • Subscription module 118 generally handles issues relating to a user's subscribing to the services of the computing center.
  • clients 102 - 1 , 102 - 2 , . . . , 102 -N send their jobs (more generally, requests) to computing center 104 through external network 106 and jobs are queued and processed through computing center 104 .
  • Results generated by computing center 104 may be received by clients during the process or only at the end of the process. While the invention is not limited to any particular form of a computing center, computing center 104 may represent a web server farm, a scientific computing center, and/or an on-demand facility for general computing use.
  • the present invention provides techniques that allow a yield management system to link to an existing resource management system associated with a computing center such as a computing center which provides on-demand utility services.
  • the system components may include the subscription and billing services that interact with customers, the resource allocation and scheduling components that link customer requests to the computing center hardware, software, and network infrastructure, and the monitoring tools that evaluate the throughput and response times of each job, and keep track of those parameters and possibly others with respect to service-level promises.
  • a yield management reservation system In order to implement a yield management reservation system for utility computing centers, a yield management reservation system needs to be integrated with existing management systems. In accordance with the present invention, this may be accomplished using additional yield-management-based modules such as a yield management scheduler and arbitrator, or broker, that offers to a traditional scheduler the local decisions that if applied would optimize the yield management objective.
  • additional yield-management-based modules such as a yield management scheduler and arbitrator, or broker, that offers to a traditional scheduler the local decisions that if applied would optimize the yield management objective.
  • the yield-management scheduler determines in what order to process jobs that best satisfy the promises made by the yield management reservation system, from the point of view of current and predicted future demands, and therefore current and possible future profits/benefit.
  • a yield management monitoring tool may be used to compile and report the statistics needed by yield management prediction and assignment functions.
  • Other components may include tools for integrating marketing strategies into the reservation system, demand and resource level prediction functions, and modules for billing, subscription, and contract (e.g., service level agreement or SLA) definition.
  • FIG. 2 a block diagram illustrates an implementation of a yield management system within a typical computing center architecture (e.g., the computing system architecture of FIG. 1 ).
  • FIG. 1 the functional components that are added to the existing computing center architecture are illustratively depicted in FIG. 1 as hatched line boxes. However, it is to be understood that the invention is not limited to any particular implementation.
  • a computing center environment 200 comprises a yield management node 202 .
  • Yield management node 202 itself comprises a yield management reservation system (YMR) 206 , marketing strategies templates 208 , a yield management scheduler and arbitrator (YMS) 210 , a yield management monitoring statistics generator 212 , a subscription module 214 , a billing module 215 , an SLA dictionary 216 , a provisioner 218 , an event console 220 , and SLA advisors 222 - 1 through 222 -N (shown functionally connected to YMS 210 via dotted lines).
  • YMR yield management reservation system
  • YMS yield management scheduler and arbitrator
  • yield management monitoring statistics generator 212 a subscription module 214 , a billing module 215 , an SLA dictionary 216 , a provisioner 218 , an event console 220 , and SLA advisors 222 - 1 through 222 -N (shown functionally connected to YMS 210 via dotted lines).
  • computing center environment 200 comprises customer management nodes 204 - 1 through 204 -N.
  • each customer management node 204 functionally corresponds to a client (e.g., 102 - 1 through 102 -N of FIG. 1 ). That is, each management node represents clusters of servers managed by a scheduler and load balancer.
  • each management node functionally represents the computing center resources (e.g., shown as compute nodes or CNs) that are being used to service the request of the given client, and the computing center resource management functions that are being used to manage the resources.
  • a management node may be shown to include a cluster systems management module (CSM), and depending on the management function being performed at the time, a platform load scheduling system (LSF), a load leveler (LL), or a portable batch system (PBS).
  • CSM is a technology which performs remote monitoring, control and events on a managed distributed cluster.
  • LSF platform load scheduling system
  • LL load leveler
  • PBS portable batch system
  • CSM is a technology which performs remote monitoring, control and events on a managed distributed cluster.
  • PBS, LSF, and LL are batch scheduling systems for parallel and serial jobs.
  • the functions “Node list,” “Add node,” and “Del[ete] node,” shown in each customer management node are typical operations of existing schedulers/load balancers.
  • the SLA Advisor 222 translates information on priorities and desired actions from the yield management system to those lower-level operations understood by the schedulers/load balancers.
  • the different clusters may be physical clusters or virtual clusters running different applications/jobs for different customers.
  • Each customer or application is therefore associated with a service level agreement that stipulates the qualities desired of the resource and the prices and penalties to be paid/received, respectively, by the customer, depending upon the quality provided by the computing center.
  • Existing systems operate as follows.
  • the scheduling and resource allocation discliplines follow a pre-determined priority, independent of the external demand (present or predicted), and independent of the different resource availability levels. For example, in such existing systems, tasks are ordered as first-come, first-served.
  • the various yield management modules of the invention permit collecting, analyzing, and utilizing both external, customer demand data and resource availability information to adjust, dynamically, the priorities assigned to different jobs or customers on the system.
  • yield management monitoring statistics generator 212 gathers data on the current state of the system to provide current and predicted levels of these parameters. Resource levels are updated automatically by determining the available capacities as a function of the jobs currently on the system. In addition, the monitoring tool determines the values of the actual service quality (e.g., delays, throughput achieved, etc.) that the jobs in the system receive.
  • the actual service quality e.g., delays, throughput achieved, etc.
  • Yield management marketing strategies templates 208 provide input to yield management reservation system 206 as to when to introduce changes into the pricing or offerings.
  • a second function of the templates module is the collection of external demand (usage) data.
  • Demand data can be updated by re-calibrating a demand model based on the latest historical information, as well as new data that is provided to the system.
  • FIG. 5 illustrates marketing strategy templates that implement various price change policies A ( 502 ), B ( 504 ), and C ( 506 ).
  • yield management statistics generator 212 may trigger a different event from the marketing strategies template 208 , in which lower price points are introduces for weekend days, and once again, yield management reservation system 206 is re-executed to determine the new set of offerings and prices.
  • yield management reservation system 206 may implement includes the techniques disclosed in the U.S. Patent application identified as Ser. No. 10/718,210 filed on Nov. 20, 2003 and entitled “Methods and Apparatus for Managing Computing Resources Based on Yield Management Framework,” the disclosure of which is incorporated by reference herein.
  • Such a reservation system can be shown to increase revenue as the number of optimal price points are increased. It does so by opening only a limited number of slots at each price point, where that number is computed optimally by a mathematical program.
  • a more detailed explanation of the yield management theory and approach associated with the above-referenced Ser. No. 10/718,210 is provided below (in a section entitled “Illustrative Yield Management Theory and Approach”). It is to be understood, however, that the invention is not limited to this theory and approach and thus other yield management reservation techniques may be employed in accordance with the present invention.
  • Yield management scheduler and arbitrator 210 translates, into a set of fixed priorities for each time period, the resource level that should be allocated to each job, in accordance with the service class and price points/offering type at which that job subscribed to the system.
  • This module works with an SLA advisor 222 to make use of the particular protocols that the scheduler and load balances require.
  • SLA dictionary 216 is a hashmap of SLA terms and customers, as well as the SLA objectives and their technical specifications.
  • Provisioner 218 executes workflows to build systems, which may include a linux box, cluster of linux boxes, or a tiered network, and where the term “build” refers to initializing all features necessary to begin operation on the system.
  • Event console 220 is a remote client on which system events can be published, where system events include any information on hardware, software, network or I/O that is to be monitored (e.g., outages, starts and stops, utilization levels.).
  • FIG. 3 a step-by-step example of the use of a yield management system is now provided, within a configuration such as that shown in FIG. 2 .
  • the first step denoted as ( 1 ), which my be an initialization of the system, or the first step at standard check-points, is to collect data on user demand, and to determine which marketing strategy should be in place. This fixes the range of possible price points to use on the optimization program.
  • step ( 2 ) involves collecting usage data on the resource, and the available level of capacity on the system, current and predicted. This also is an input into the optimization program.
  • Step ( 3 ) involves running the yield management optimization program on the collected and predicted data, described above.
  • the output of this program is the optimal number of slots of each available type to offer to customers/jobs at each price point.
  • the system is ready to receive customer subscriptions.
  • step ( 4 ) involves the yield management scheduling and arbitration tool informing the primary scheduler as to the priorities to assign to each of the jobs (existing and new) in the system.
  • This data can be sent to the SLA advisor, if there is one, or directly to a central scheduler and load balancer.
  • the exemplary customer management node 204 may include a Load Leveler Resource Manager (LL RM), an ALARM Resource Manager (ALARM RM), and a Central Scheduler.
  • the LL RM is an agent process responsible for monitoring LL performance data as well as configuring LL resource pools as instructed by a human or other agents in the system, e.g., ALARM RM.
  • ALARM RM is an agent process responsible for monitoring and setting events for resources based upon an SLA.
  • the Central Scheduler is a component within the LL system responsible for optimally placing batch jobs on a remote system. The Central Scheduler is configured to understand the available resources in a cluster. An SLA advisor can reconfigure available rescues based upon SLA events and predictions.
  • the last step denoted as ( 5 ), illustrates how the yield management monitoring tool keeps track of the parameters that are part of each job's offering, so as to re-optimize priorities at the next time step, for both the current jobs now in the system and new jobs that will join.
  • FIG. 4 a block diagram illustrates a generalized hardware architecture of at least a portion of a computer system suitable for implementing a yield management-based computing center according to an embodiment of the present invention. More particularly, FIG. 4 depicts an illustrative hardware implementation of at least a portion of a computer system in accordance with which one or more components/steps of a yield management node and customer management nodes (e.g., components/steps described in the context of FIGS. 1 through 3 ) may be implemented, according to an embodiment of the present invention.
  • the illustrative architecture of FIG. 4 may also be used in implementing any and all of the resource components of computing center 104 (e.g., servers, etc.) and any and all of the computing systems associated with clients 102 ( FIG. 1 ).
  • the individual components/steps may be implemented on one such computer system, or more preferably, on more than one such computer system.
  • the individual computer systems and/or devices may be connected via a suitable network, e.g., the Internet or World Wide Web.
  • a suitable network e.g., the Internet or World Wide Web.
  • the system may be realized via private or local networks. The invention is not limited to any particular network.
  • the computer system 400 may be implemented in accordance with a processor 402 , a memory 404 , I/ 0 devices 406 , and a network interface 408 , coupled via a computer bus 410 or alternate connection arrangement.
  • processor as used herein is intended to include any processing device, such as, for example, one that includes a CPU (central processing unit) and/or other processing circuitry. It is also to be understood that the term “processor” may refer to more than one processing device and that various elements associated with a processing device may be shared by other processing devices.
  • memory as used herein is intended to include memory associated with a processor or CPU, such as, for example, RAM, ROM, a fixed memory device (e.g., hard drive), a removable memory device (e.g., diskette), flash memory, etc.
  • input/output devices or “I/O devices” as used herein is intended to include, for example, one or more input devices (e.g., keyboard, mouse, etc.) for entering data to the processing unit, and/or one or more output devices (e.g., speaker, display, etc.) for presenting results associated with the processing unit.
  • input devices e.g., keyboard, mouse, etc.
  • output devices e.g., speaker, display, etc.
  • network interface as used herein is intended to include, for example, one or more transceivers to permit the computer system to communicate with another computer system via an appropriate communications protocol.
  • software components including instructions or code for performing the methodologies described herein may be stored in one or more of the associated memory devices (e.g., ROM, fixed or removable memory) and, when ready to be utilized, loaded in part or in whole (e.g., into RAM) and executed by a CPU.
  • ROM read-only memory
  • RAM random access memory
  • the present invention provides apparatus and methodologies for implementation and use of yield management in on-demand utility services.
  • the yield management system makes use of a fine segmentation of customer demand, and defines optimal quantities to offer at multiple price levels, so as to maximize profits or revenues.
  • An illustrative implementation may comprise: (i) a yield management reservation system (YMR), which includes a demand forecasting module and determines the number of slots to propose at each price/service-level combination, based on a maximization of expected profits; (ii) a yield management scheduler and arbitrator (YMS), which ties into the SLA Advisor or directly to an existing (e.g., non-priority-based) scheduler and satisfies the promises of the YMR offerings or, in the presence of conflict, arbitrates with a view toward greatest profit maximization; (iii) an SLA Advisor, which, if needed, adds customer-specific service-requirements to the scheduling of a customer's workload on a virtual cluster allocated to that customer, and sends these requirements to an existing (e.g., non-priority-based) scheduler; (iv) a yield management monitoring system and statistics generator, which keeps track of service-level agreements and the degree of satisfaction of each, and compiles aggregate statistics needed by the YMR
  • These components may be integrated internally, and ideally linked to demand and resource-level prediction modules, as well as marketing input to define offerings of interest, and subscription, billing, and contract definition modules.
  • the invention provides for the integration of a yield management reservation system, or optimization program, within an IT utility.
  • the different components needed for the operation of the system are described, as they fit into existing componentry in present-day IT clusters.
  • the heart of the yield management system is an optimization framework that combines user data with resource information and determines highly segmented, optimal offerings/price points to provide to potential subscribers that maximize IT provider revenue, and allows the provider to respond optimally to competitors' offerings or accomplish other management objectives such as smoothing usage to less-used periods.
  • a yield management reservation subsystem of the invention may be operative to suggest varying the quantities to be made available at each price and service level over a given period of time so as to effect usage patterns.
  • a yield management reservation subsystem of the invention may be operative to suggest varying the quantities to be made available at each price and service level over a given period of time so as to effect usage patterns.
  • the present invention also comprises techniques for providing computing resource management services.
  • a service provider agrees (e.g., via a service level agreement or some informal agreement or arrangement) with a service customer or client to provide computing resource management services. That is, by way of one example only, the service provider may host the customer's web site and associated applications (e.g., e-commerce applications). Then, in accordance with terms of the contract between the service provider and the service customer, the service provider provides yield management services which may comprise one or more of the methodologies of the invention described herein. By way of example, this may also include automatically controlling one ore more resources so as to optimize performance of such resources to the benefit of the service customer.
  • This step involves obtaining a representation of the demand for the use of the computing center.
  • the demand can be defined in a number of ways, such as an explicit analytical function of demand for the “product” (price-service-level) as a function of both the price and service-level.
  • the forms of such functions are well understood in the general marketing and economics literature, and should have basic properties such as demand decreasing in price at a given service quality level, and demand increasing with increasing service quality.
  • the precise shape of these curves can be estimated from historical data (calibrated) and demand predictions can then be made by forecasting increases or decreases in the data that served to calibrate the curve, and recalibrating.
  • a different method for describing demand for the computing center is known as discrete choice modeling, and involves using so-called preference functions that give the percentage of the total user population that is likely to choose among the (discrete set of) possibilities.
  • the set of possibilities are the price-service-level offerings (that have been referred to herein as “products”).
  • the percentage of the demand for each choice is given by a stochastic model that incorporates “perception error” into the choices.
  • the principal models in use today are based upon either the Weibull distribution, giving rise to the “logit discrete choice model,” or the Gaussian distribution of perception error, giving rise to the “probit discrete choice model,” see, e.g., M. Ben-Akiva et al., “Discrete Choice Analysis: Theory and Application to Travel Demand,” MIT Press, 1985.
  • these discrete choice models can be calibrated in a straightforward manner based upon historical data about the choices made in the past and the parameters of the offerings of those choices (e.g., their prices, qualities, market conditions, etc.). Similarly, forecasts can be made by projecting new values for the input data and re-deriving a forecasted logit model.
  • the current and future (predicted) resource levels should be quantified for the methodology to provide a set of optimal future actions and offering characteristics. In the simplest setting, this may be the capacity level of each piece of equipment.
  • the load level on machines (e.g., processing resources) 1 - 5 of type X may be 70%
  • the load level of machine 6 of type Y may be 85%
  • the bandwidth used between equipment Y and Z may be 50%, etc.
  • the usage levels for the rest of the planning period should also be known. This includes the fact that the jobs which are currently using, for example, machines 1 - 5 will finish if left uninterrupted in T 1 hours, while that on machine 6 if uninterrupted will finish in T 2 hours, etc. It also includes reservations made for future time periods. Finally, it can include forecasts of future loads.
  • This data is aggregated into the form of capacity levels per equipment type per time period, where time is divided into periods according to the minimum and maximum durations of jobs into the system.
  • the third initialization step is to set the reasonable range of price levels for the service offerings, which are defined by the types of equipment available, for example, their processing speeds, etc.
  • a maximum number of price classes for each service quality type can be determined in advance.
  • the range of reasonable prices should be input. For example, for a unit time slice on a computing center facility, the minimum price may be $1 (per minute, hour, etc.). This type of data should be input into the model at the outset.
  • the optimal solution can be obtained by using a nonlinear programming solver on the resulting mathematical model, one exemplary implementation of which is provided below.
  • Many such solvers are commercially available; others are distributed freely available.
  • Applicable algorithms for constrained nonlinear programming may be found in numerous textbooks, for example, in D. P. Bertsekas, “Nonlinear Programming,” 2nd ed. Cambridge, Mass.: Athena Scientific, 1999.
  • the solver may preferably be part of the computer system implementing the yield management techniques.
  • the computer system implementing the yield management techniques may call a solver located on a host machine or remotely from the computer system.
  • a linear programming solver may be used.
  • One of the most widely used linear programming algorithms is the simplex method.
  • a description may be found in numerous textbooks, for example, in S. G. Nash et al., “Linear and Nonlinear Programming,” McGraw-Hill, 1996.
  • such a solver may be employed if the random quantities are expressed in terms of their expected (mean) values, and functional relationships for job so journeyn time are externally given.
  • a nonlinear programming solver algorithm may be employed.
  • the output of the mathematical model would then be the set of prices to offer, and quantities available at each price for each service-quality type.
  • the output may be the number of CPU (central processing unit) units to offer on the machine of speed S 1 at price P 1 , to offer at time T 1 , T 2 , etc., and the same for the other optimal price levels at each machine speed.
  • New demand data can be obtained through marketing studies or interviews that a new set of users may be interested in using the computing center. In order to attract new clientele, one could announce special low cost promotions for a restricted time. Adding the new demand information (if available) to the model, and reducing substantially the minimum price (see subsection C above), and then rerunning the mathematical model, the output will contain a new set of optimal prices and quantities of each for each type of service-level. These will still be calculated to optimize the revenue based on the new promotion and lower introductory costs.
  • a different objective is to smooth the demand level over time, or equivalently, smooth the usage level to reduce peak-time bursts.
  • the usage patterns can be effectively smoothed across time.
  • different scenarios can be tested and compared as this objective of smoothing usage patterns.
  • nonlinear programming solving routines may be used.
  • linear programming solving routines may be used.

Abstract

Techniques for provision of on-demand utility services utilizing a yield management framework are disclosed. For example, in one illustrative aspect of the invention, a system for managing one or more computing resources associated with a computing center comprises: (i) a resource management subsystem for managing the one or more computing resources associated with the computing center, wherein the computing center is able to provide one or more computing services in response to one or more customer demands; and (ii) a yield management subsystem coupled to the resource management subsystem, wherein the yield management subsystem optimizes provision of the one or more computing services in accordance with the resource management subsystem and the one or more computing resources.

Description

    FIELD OF THE INVENTION
  • The present invention relates to techniques for provision of on-demand utility services and, more particularly, to techniques for provision of on-demand utility services utilizing a yield management framework.
  • BACKGROUND OF THE INVENTION
  • It is known that a group of computing resources that perform one or more related functions may be referred to as a “computing center.” Typically, a computing center may be composed of a number of processor resources (e.g., servers), disk storage, applications, software tools, and internal communication links between the various devices and with the external clients. Clients send their jobs to the system through an external network and jobs are queued and processed through the system. Results may be received by clients during the process or only at the end of the process. Computing centers may take on a number of forms such as, for example, web server farms, scientific computing centers, or on-demand facilities for general computing use.
  • It would be desirable for resource management systems associated with such computing centers to take into account the varying requirements of different customers (clients), and the different levels of service that were promised to each client.
  • Currently, resource management in computing centers attempts to satisfy constraints associated with the computing needs of the current clients of the system. However, no existing resource management system associated with such computing centers incorporates yield management techniques. In particular, there is no such system that considers global objectives and makes use of a possibly high degree of price and demand segmentation to achieve those objectives and links them with the operation (e.g., resource allocation, scheduling, monitoring) of the computing center.
  • Thus, a need exists for improved resource management techniques associated with computing centers.
  • SUMMARY OF THE INVENTION
  • The present invention provides techniques for provision of on-demand utility services utilizing a yield management framework.
  • For example, in one illustrative aspect of the invention, a system for managing one or more computing resources associated with a computing center comprises: (i) a resource management subsystem for managing the one or more computing resources associated with the computing center, wherein the computing center is able to provide one or more computing services in response to one or more customer demands; and (ii) a yield management subsystem coupled to the resource management subsystem, wherein the yield management subsystem optimizes provision of the one or more computing services in accordance with the resource management subsystem and the one or more computing resources.
  • The yield management subsystem comprises a yield management reservation subsystem which determines one or more optimized price/service-level combinations associated with provision of the one or more computing services. Further, the yield management subsystem comprises a yield management scheduler which determines one or more schedules for providing the one or more computing services in accordance with the one or more optimized price/service-level combinations. Also, the yield management subsystem comprises a yield management monitor which tracks one or more service level agreements and a degree of satisfaction thereof, and which compiles aggregate statistics for use by the a yield management reservation subsystem. Still further, the yield management subsystem comprises one or more yield management marketing strategy templates which provide one or more yield management-based marketing strategies for use by the a yield management reservation subsystem.
  • The yield management subsystem may further comprise a service level agreement advisor which adds one or more customer-specific service requirements to the scheduling of a workload of a customer on a virtual cluster allocated to that customer. The one or more computing services may comprise one or more on-demand utility services. The yield management reservation subsystem may be further operative to offer more than one price for the same service level, where prices are offered in limited quantities, and the quantities are optimized depending on resource levels and demand models. The yield management reservation subsystem may be future operative to suggest varying the quantities to be made available at each price and service level over a given period of time so as to effect usage patterns. The resource management system may comprise one or more of a subscription module, a billing module, a service level agreement definition module, and a provisioning module.
  • These and other objects, features and advantages of the present invention will become apparent from the following detailed description of illustrative embodiments thereof, which is to be read in connection with the accompanying drawings.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram illustrating a computing center environment with which techniques of the present invention may be implemented;
  • FIG. 2 is a block diagram illustrating an implementation of a yield management system within a computing center architecture, according to an embodiment of the invention;
  • FIG. 3 is a diagram illustrating a yield management-based methodology for use in accordance with a computing center architecture, according to an embodiment of the invention;
  • FIG. 4 is a block diagram illustrating a generalized hardware architecture of at least a portion of a computer system suitable for implementing a yield management-based computing center, according to an embodiment of the present invention; and
  • FIG. 5 is a diagram illustrating marketing strategy templates, according to embodiments of the present invention.
  • DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
  • The present invention provides techniques that allow a yield management system to link to an existing resource management system associated with a computing center. While illustrative embodiments will be described in the context of an on-demand utility computing center, it is to be understood that the principles of the invention are not limited to such computing environments but are more generally applicable to any type of computing environments in which yield management techniques may be useful.
  • Before providing detailed descriptions of the inventive techniques, some terms used herein will be generally defined.
  • A “demand,” as generally used in accordance with the invention, refers to an estimate of the likely number of users or requests to the system, and generally depends upon the characteristics of the system. For example, the better the system, the higher the demand.
  • A “price” is a characteristic of the system that, as generally used in accordance with the invention, refers to the cost paid by a user of the system for the use or request in question.
  • A “service-level” is also a characteristic of the system that, as generally used in accordance with the invention, refers to non-monetary attributes of the service provided, e.g., processing time, reliability, guarantee of access, etc.
  • A “product,” as generally used in accordance with the invention, refers to a price-service-level pair or combination. For example, use of capacity in a hosting facility may be offered at a certain price and with a particular guarantee of access. Then, the same capacity at a different price and/or with a different guarantee of access is a different product.
  • An “on-demand utility service,” as generally used in accordance with the invention, refers to information technology (IT) services which allow businesses to access IT infrastructures, software applications and business processes over the network when, and only if, they need them. A further characteristic of an “on-demand utility service” is that it converts IT from a fixed to a variable cost.
  • Thus, in accordance with principles of the invention, techniques defining how an on-demand utility service can be operated with a yield management system are provided.
  • As will be illustratively explained in detail herein, the present invention provides techniques for the implementation and use of yield management-based utility services. In general, an illustrative system embodying the yield management-based methodology includes a yield management reservation system, a yield management scheduler and arbitrator, a service level agreement advisor, a yield management monitoring system and statistics generator, yield management marketing strategies templates, and customer-facing modules such as subscription and billing services.
  • The yield management components are based on a fine segmentation of customer demand using data on price/service-level elasticities (also known as price/service-level sensitivity, elastic demand curves, etc.) that relate levels of demand to price and service levels offered to the clients and link these demand-side characteristics with the supply-side through a yield management scheduler and arbitrator and the yield management reservation system. Thus, an on-demand utility computing center of the invention may be characterized by a yield management reservation system that offers more than one price for the same service level, where prices are offered in limited quantities, and the quantities are optimized depending on resource levels and demand models.
  • Accordingly, the invention provides methodologies for linking a yield management reservation system with resource allocation systems for computing centers and for converting an existing platform to a yield management-driven system.
  • Referring initially to FIG. 1, a block diagram illustrates a typical computing center environment with which techniques of the present invention may be implemented. As shown, computing center environment 100 comprises: a plurality of clients 102-1, 102-2, . . . 102-N and a computing center 104 coupled via an external network 106. By way of example only, external network 106 may be the Internet or World Wide Web.
  • Computing center 104 itself comprises a resource management subsystem 108 comprising an allocation and scheduling module 110 and a monitoring module 112. Computing center 104 also comprises a billing and subscription subsystem 114 comprising a billing module 116 and a subscription module 118. Computing center 104 also comprises resources 120 such as processor resource(s) 122 (e.g., one or more central processing units (CPUs), one or more servers, etc.), disk storage 124, application(s) 126, software tool(s) 128, and internal network resource(s) 130.
  • Internal network resource(s) 130 may, by way of example only, comprise communication links between the various components and with the external clients, and may also comprise the actual bandwidth of the internal network that connects the various resources of the computing center. Further, by way of example only, applications 126 may comprise database programs, office or management software, scientific applications, etc.; while software tools 128 may comprise software that enables other applications and services on the system, middleware, etc.
  • Allocation and scheduling module 110 generally serves to assign proportions of processing and memory resources to each service class. It is to be understood that a computing center may typically recognize one or more service classes (i.e., respective grouping of clients based on a particular service requested and/or a priority requested). Allocation and scheduling module 110 may also set a queuing discipline to state how to handle the transactions in each service class (for example, first-in-first out, etc.).
  • It is to be understood that monitoring in conventional computing centers is performed on the service class basis (or even on the entire-system level) to determine performance (e.g., response time). That is, in conventional computing center environments, there is no tracking (monitoring) on the transaction-level which would be needed to do billing at that level. So, conventional monitoring tracks system or service-class performance. It will be seen that the present invention provides techniques for tracking or monitoring on the transaction-level.
  • Billing module 116 generally handles generation and processing of bills associated with services provided by the computing center to the clients. Subscription module 118 generally handles issues relating to a user's subscribing to the services of the computing center.
  • In general, clients 102-1, 102-2, . . . , 102-N send their jobs (more generally, requests) to computing center 104 through external network 106 and jobs are queued and processed through computing center 104. Results generated by computing center 104 may be received by clients during the process or only at the end of the process. While the invention is not limited to any particular form of a computing center, computing center 104 may represent a web server farm, a scientific computing center, and/or an on-demand facility for general computing use.
  • As mentioned above, the present invention provides techniques that allow a yield management system to link to an existing resource management system associated with a computing center such as a computing center which provides on-demand utility services. The system components may include the subscription and billing services that interact with customers, the resource allocation and scheduling components that link customer requests to the computing center hardware, software, and network infrastructure, and the monitoring tools that evaluate the throughput and response times of each job, and keep track of those parameters and possibly others with respect to service-level promises.
  • In order to implement a yield management reservation system for utility computing centers, a yield management reservation system needs to be integrated with existing management systems. In accordance with the present invention, this may be accomplished using additional yield-management-based modules such as a yield management scheduler and arbitrator, or broker, that offers to a traditional scheduler the local decisions that if applied would optimize the yield management objective.
  • That is, the yield-management scheduler determines in what order to process jobs that best satisfy the promises made by the yield management reservation system, from the point of view of current and predicted future demands, and therefore current and possible future profits/benefit. Similarly, a yield management monitoring tool may be used to compile and report the statistics needed by yield management prediction and assignment functions. Other components may include tools for integrating marketing strategies into the reservation system, demand and resource level prediction functions, and modules for billing, subscription, and contract (e.g., service level agreement or SLA) definition.
  • An embodiment of a yield management-based computing center, according to an illustrative embodiment of the present invention, will now be described.
  • Referring now to FIG. 2, a block diagram illustrates an implementation of a yield management system within a typical computing center architecture (e.g., the computing system architecture of FIG. 1).
  • It is to be appreciated that the functional components that are added to the existing computing center architecture are illustratively depicted in FIG. 1 as hatched line boxes. However, it is to be understood that the invention is not limited to any particular implementation.
  • As shown, a computing center environment 200 comprises a yield management node 202. Yield management node 202 itself comprises a yield management reservation system (YMR) 206, marketing strategies templates 208, a yield management scheduler and arbitrator (YMS) 210, a yield management monitoring statistics generator 212, a subscription module 214, a billing module 215, an SLA dictionary 216, a provisioner 218, an event console 220, and SLA advisors 222-1 through 222-N (shown functionally connected to YMS 210 via dotted lines).
  • Further, computing center environment 200 comprises customer management nodes 204-1 through 204-N. It is to be appreciated that each customer management node 204 functionally corresponds to a client (e.g., 102-1 through 102-N of FIG. 1). That is, each management node represents clusters of servers managed by a scheduler and load balancer. Thus, each management node functionally represents the computing center resources (e.g., shown as compute nodes or CNs) that are being used to service the request of the given client, and the computing center resource management functions that are being used to manage the resources. For example, a management node may be shown to include a cluster systems management module (CSM), and depending on the management function being performed at the time, a platform load scheduling system (LSF), a load leveler (LL), or a portable batch system (PBS). As is known, CSM is a technology which performs remote monitoring, control and events on a managed distributed cluster. PBS, LSF, and LL are batch scheduling systems for parallel and serial jobs.
  • The functions “Node list,” “Add node,” and “Del[ete] node,” shown in each customer management node are typical operations of existing schedulers/load balancers. The SLA Advisor 222 translates information on priorities and desired actions from the yield management system to those lower-level operations understood by the schedulers/load balancers.
  • The different clusters may be physical clusters or virtual clusters running different applications/jobs for different customers. Each customer or application is therefore associated with a service level agreement that stipulates the qualities desired of the resource and the prices and penalties to be paid/received, respectively, by the customer, depending upon the quality provided by the computing center.
  • Existing systems (e.g., computing centers without the hatched line boxes) operate as follows. The scheduling and resource allocation discliplines follow a pre-determined priority, independent of the external demand (present or predicted), and independent of the different resource availability levels. For example, in such existing systems, tasks are ordered as first-come, first-served.
  • Advantageously, the various yield management modules of the invention permit collecting, analyzing, and utilizing both external, customer demand data and resource availability information to adjust, dynamically, the priorities assigned to different jobs or customers on the system.
  • In particular, yield management monitoring statistics generator 212 gathers data on the current state of the system to provide current and predicted levels of these parameters. Resource levels are updated automatically by determining the available capacities as a function of the jobs currently on the system. In addition, the monitoring tool determines the values of the actual service quality (e.g., delays, throughput achieved, etc.) that the jobs in the system receive.
  • Yield management marketing strategies templates 208 provide input to yield management reservation system 206 as to when to introduce changes into the pricing or offerings. A second function of the templates module is the collection of external demand (usage) data. Demand data can be updated by re-calibrating a demand model based on the latest historical information, as well as new data that is provided to the system. FIG. 5 illustrates marketing strategy templates that implement various price change policies A (502), B (504), and C (506).
  • As an example, consider that a competitor proposes a promotional, low price for a particular offering type. When this information is provided to the marketing strategies module, an event is triggered. That module then tells the reservation system to recalculate the offerings available at each price point, adding the competitor's lower price point into the palette of possible prices. In accordance with the yield management theory and framework, an optimal, and limited, number of slots would be opened at this lower price point.
  • Similarly, consider an example in which the resource level during the weekend is deemed low, from statistics collected by the yield management statistics generator 212. This may trigger a different event from the marketing strategies template 208, in which lower price points are introduces for weekend days, and once again, yield management reservation system 206 is re-executed to determine the new set of offerings and prices.
  • One illustrative embodiment of a theory and approach that yield management reservation system 206 may implement includes the techniques disclosed in the U.S. Patent application identified as Ser. No. 10/718,210 filed on Nov. 20, 2003 and entitled “Methods and Apparatus for Managing Computing Resources Based on Yield Management Framework,” the disclosure of which is incorporated by reference herein. Such a reservation system can be shown to increase revenue as the number of optimal price points are increased. It does so by opening only a limited number of slots at each price point, where that number is computed optimally by a mathematical program. A more detailed explanation of the yield management theory and approach associated with the above-referenced Ser. No. 10/718,210 is provided below (in a section entitled “Illustrative Yield Management Theory and Approach”). It is to be understood, however, that the invention is not limited to this theory and approach and thus other yield management reservation techniques may be employed in accordance with the present invention.
  • Yield management scheduler and arbitrator 210 translates, into a set of fixed priorities for each time period, the resource level that should be allocated to each job, in accordance with the service class and price points/offering type at which that job subscribed to the system. This module works with an SLA advisor 222 to make use of the particular protocols that the scheduler and load balances require.
  • SLA dictionary 216 is a hashmap of SLA terms and customers, as well as the SLA objectives and their technical specifications.
  • Provisioner 218 executes workflows to build systems, which may include a linux box, cluster of linux boxes, or a tiered network, and where the term “build” refers to initializing all features necessary to begin operation on the system.
  • Event console 220 is a remote client on which system events can be published, where system events include any information on hardware, software, network or I/O that is to be monitored (e.g., outages, starts and stops, utilization levels.).
  • Turning now to FIG. 3, a step-by-step example of the use of a yield management system is now provided, within a configuration such as that shown in FIG. 2.
  • The first step, denoted as (1), which my be an initialization of the system, or the first step at standard check-points, is to collect data on user demand, and to determine which marketing strategy should be in place. This fixes the range of possible price points to use on the optimization program. Then, step (2) involves collecting usage data on the resource, and the available level of capacity on the system, current and predicted. This also is an input into the optimization program.
  • Step (3) involves running the yield management optimization program on the collected and predicted data, described above. The output of this program is the optimal number of slots of each available type to offer to customers/jobs at each price point. At this point, the system is ready to receive customer subscriptions. Once there are subscriptions to these offerings, step (4) involves the yield management scheduling and arbitration tool informing the primary scheduler as to the priorities to assign to each of the jobs (existing and new) in the system. This data can be sent to the SLA advisor, if there is one, or directly to a central scheduler and load balancer.
  • As shown in FIG. 3, the exemplary customer management node 204 may include a Load Leveler Resource Manager (LL RM), an ALARM Resource Manager (ALARM RM), and a Central Scheduler. The LL RM is an agent process responsible for monitoring LL performance data as well as configuring LL resource pools as instructed by a human or other agents in the system, e.g., ALARM RM. ALARM RM is an agent process responsible for monitoring and setting events for resources based upon an SLA. The Central Scheduler is a component within the LL system responsible for optimally placing batch jobs on a remote system. The Central Scheduler is configured to understand the available resources in a cluster. An SLA advisor can reconfigure available rescues based upon SLA events and predictions.
  • The last step, denoted as (5), illustrates how the yield management monitoring tool keeps track of the parameters that are part of each job's offering, so as to re-optimize priorities at the next time step, for both the current jobs now in the system and new jobs that will join.
  • Referring lastly to FIG. 4, a block diagram illustrates a generalized hardware architecture of at least a portion of a computer system suitable for implementing a yield management-based computing center according to an embodiment of the present invention. More particularly, FIG. 4 depicts an illustrative hardware implementation of at least a portion of a computer system in accordance with which one or more components/steps of a yield management node and customer management nodes (e.g., components/steps described in the context of FIGS. 1 through 3) may be implemented, according to an embodiment of the present invention. The illustrative architecture of FIG. 4 may also be used in implementing any and all of the resource components of computing center 104 (e.g., servers, etc.) and any and all of the computing systems associated with clients 102 (FIG. 1).
  • Further, it is to be understood that the individual components/steps may be implemented on one such computer system, or more preferably, on more than one such computer system. In the case of an implementation on a distributed system, the individual computer systems and/or devices may be connected via a suitable network, e.g., the Internet or World Wide Web. However, the system may be realized via private or local networks. The invention is not limited to any particular network.
  • As shown, the computer system 400 may be implemented in accordance with a processor 402, a memory 404, I/0 devices 406, and a network interface 408, coupled via a computer bus 410 or alternate connection arrangement.
  • It is to be appreciated that the term “processor” as used herein is intended to include any processing device, such as, for example, one that includes a CPU (central processing unit) and/or other processing circuitry. It is also to be understood that the term “processor” may refer to more than one processing device and that various elements associated with a processing device may be shared by other processing devices.
  • The term “memory” as used herein is intended to include memory associated with a processor or CPU, such as, for example, RAM, ROM, a fixed memory device (e.g., hard drive), a removable memory device (e.g., diskette), flash memory, etc.
  • In addition, the phrase “input/output devices” or “I/O devices” as used herein is intended to include, for example, one or more input devices (e.g., keyboard, mouse, etc.) for entering data to the processing unit, and/or one or more output devices (e.g., speaker, display, etc.) for presenting results associated with the processing unit.
  • Still further, the phrase “network interface” as used herein is intended to include, for example, one or more transceivers to permit the computer system to communicate with another computer system via an appropriate communications protocol.
  • Accordingly, software components including instructions or code for performing the methodologies described herein may be stored in one or more of the associated memory devices (e.g., ROM, fixed or removable memory) and, when ready to be utilized, loaded in part or in whole (e.g., into RAM) and executed by a CPU.
  • Advantageously, as illustratively explained herein, the present invention provides apparatus and methodologies for implementation and use of yield management in on-demand utility services. The yield management system makes use of a fine segmentation of customer demand, and defines optimal quantities to offer at multiple price levels, so as to maximize profits or revenues. An illustrative implementation may comprise: (i) a yield management reservation system (YMR), which includes a demand forecasting module and determines the number of slots to propose at each price/service-level combination, based on a maximization of expected profits; (ii) a yield management scheduler and arbitrator (YMS), which ties into the SLA Advisor or directly to an existing (e.g., non-priority-based) scheduler and satisfies the promises of the YMR offerings or, in the presence of conflict, arbitrates with a view toward greatest profit maximization; (iii) an SLA Advisor, which, if needed, adds customer-specific service-requirements to the scheduling of a customer's workload on a virtual cluster allocated to that customer, and sends these requirements to an existing (e.g., non-priority-based) scheduler; (iv) a yield management monitoring system and statistics generator, which keeps track of service-level agreements and the degree of satisfaction of each, and compiles aggregate statistics needed by the YMR and billing services; and (v) a yield management marketing strategies template module, which proposes a palette of yield management-based marketing strategies and allows them to be incorporated optimally into the YMR, and which allows user-generated strategies to be defined as well.
  • These components may be integrated internally, and ideally linked to demand and resource-level prediction modules, as well as marketing input to define offerings of interest, and subscription, billing, and contract definition modules.
  • Thus, the invention provides for the integration of a yield management reservation system, or optimization program, within an IT utility. The different components needed for the operation of the system are described, as they fit into existing componentry in present-day IT clusters. The heart of the yield management system is an optimization framework that combines user data with resource information and determines highly segmented, optimal offerings/price points to provide to potential subscribers that maximize IT provider revenue, and allows the provider to respond optimally to competitors' offerings or accomplish other management objectives such as smoothing usage to less-used periods.
  • For instance, a yield management reservation subsystem of the invention may be operative to suggest varying the quantities to be made available at each price and service level over a given period of time so as to effect usage patterns. Thus, it would be possible to smooth usage patterns for the on-demand utility service by inducing users to shift to under-utilized periods of time during the given period.
  • To integrate the optimization program into an existing IT system, it is necessary to link it to the subscription engine as well as to the functional modules of the IT system. Such linking components are described herein, as are the ways in which the overall yield management system can be used to increase provider revenue and accomplish management goals.
  • It is to be further appreciated that the present invention also comprises techniques for providing computing resource management services.
  • By way of example, a service provider agrees (e.g., via a service level agreement or some informal agreement or arrangement) with a service customer or client to provide computing resource management services. That is, by way of one example only, the service provider may host the customer's web site and associated applications (e.g., e-commerce applications). Then, in accordance with terms of the contract between the service provider and the service customer, the service provider provides yield management services which may comprise one or more of the methodologies of the invention described herein. By way of example, this may also include automatically controlling one ore more resources so as to optimize performance of such resources to the benefit of the service customer.
  • Illustrative Yield Management Theory and Approach
  • The following is a description of an illustrative yield management theory and approach that the present invention may implement. Such a yield management theory and approach is further described in the above-referenced Ser. No. 10/718,210 patent application. However, it is to be appreciated that the invention is not limited to this particular implementation.
  • A. Determining a Segmentation/Description of the Demand Based on Demand-Side Data:
  • This step involves obtaining a representation of the demand for the use of the computing center. The demand can be defined in a number of ways, such as an explicit analytical function of demand for the “product” (price-service-level) as a function of both the price and service-level. The forms of such functions are well understood in the general marketing and economics literature, and should have basic properties such as demand decreasing in price at a given service quality level, and demand increasing with increasing service quality. The precise shape of these curves can be estimated from historical data (calibrated) and demand predictions can then be made by forecasting increases or decreases in the data that served to calibrate the curve, and recalibrating.
  • A different method for describing demand for the computing center is known as discrete choice modeling, and involves using so-called preference functions that give the percentage of the total user population that is likely to choose among the (discrete set of) possibilities. In this case, the set of possibilities are the price-service-level offerings (that have been referred to herein as “products”). The percentage of the demand for each choice is given by a stochastic model that incorporates “perception error” into the choices. The principal models in use today are based upon either the Weibull distribution, giving rise to the “logit discrete choice model,” or the Gaussian distribution of perception error, giving rise to the “probit discrete choice model,” see, e.g., M. Ben-Akiva et al., “Discrete Choice Analysis: Theory and Application to Travel Demand,” MIT Press, 1985.
  • Like the demand curve described above, these discrete choice models can be calibrated in a straightforward manner based upon historical data about the choices made in the past and the parameters of the offerings of those choices (e.g., their prices, qualities, market conditions, etc.). Similarly, forecasts can be made by projecting new values for the input data and re-deriving a forecasted logit model.
  • B. Aggregating the Current and Predicted Usage Levels of the Resources:
  • The current and future (predicted) resource levels should be quantified for the methodology to provide a set of optimal future actions and offering characteristics. In the simplest setting, this may be the capacity level of each piece of equipment. For example, the load level on machines (e.g., processing resources) 1-5 of type X may be 70%, the load level of machine 6 of type Y may be 85%, the bandwidth used between equipment Y and Z may be 50%, etc.
  • In addition to instantaneous usage levels, the usage levels for the rest of the planning period should also be known. This includes the fact that the jobs which are currently using, for example, machines 1-5 will finish if left uninterrupted in T1 hours, while that on machine 6 if uninterrupted will finish in T2 hours, etc. It also includes reservations made for future time periods. Finally, it can include forecasts of future loads.
  • This data is aggregated into the form of capacity levels per equipment type per time period, where time is divided into periods according to the minimum and maximum durations of jobs into the system.
  • C. Setting Levels of Prices and Services to Potentially be Offered to Clients Based on the Current and Predicted Demand and Resource Data, as Well as a Maximum Number of Different “Products” (Price-Service-Level Combinations) to Offer:
  • The third initialization step is to set the reasonable range of price levels for the service offerings, which are defined by the types of equipment available, for example, their processing speeds, etc. In addition, a maximum number of price classes for each service quality type can be determined in advance.
  • In addition to the number of price-service quality types to offer, the range of reasonable prices should be input. For example, for a unit time slice on a computing center facility, the minimum price may be $1 (per minute, hour, etc.). This type of data should be input into the model at the outset.
  • Finally, if there is a maximum price obtained by examining competitors or by making a reasonable guess, then this too can be input at this initialization phase.
  • D. Evaluating the Total Revenue for Each Combination Offered of Those Price and Service-Levels Available to Clients:
  • With the data from steps A, B and C input into the model, it is possible to evaluate, through an optimization program, the total revenue (or other measure) associated with each configuration of the parameter, namely the prices, quantities to offer at each price and similarly for each service-level, for each point in time during the planning period.
  • Based on evaluations of the revenue objective at each configuration, by running an optimization program to convergence, an optimal solution and set of parameters may be obtained.
  • E. Determining the Optimal Configuration in Terms of Prices, Service-Levels, and Quantities to be Offered to Clients that Maximizes the Expected Revenue of the System:
  • The optimal solution can be obtained by using a nonlinear programming solver on the resulting mathematical model, one exemplary implementation of which is provided below. Many such solvers are commercially available; others are distributed freely available. Applicable algorithms for constrained nonlinear programming may be found in numerous textbooks, for example, in D. P. Bertsekas, “Nonlinear Programming,” 2nd ed. Cambridge, Mass.: Athena Scientific, 1999.
  • Further, the solver may preferably be part of the computer system implementing the yield management techniques. Alternatively, the computer system implementing the yield management techniques may call a solver located on a host machine or remotely from the computer system.
  • In simple versions, a linear programming solver may be used. One of the most widely used linear programming algorithms is the simplex method. A description may be found in numerous textbooks, for example, in S. G. Nash et al., “Linear and Nonlinear Programming,” McGraw-Hill, 1996. For example, such a solver may be employed if the random quantities are expressed in terms of their expected (mean) values, and functional relationships for job sojourn time are externally given. In more complex cases, however, a nonlinear programming solver algorithm may be employed.
  • The output of the mathematical model would then be the set of prices to offer, and quantities available at each price for each service-quality type. For example, the output may be the number of CPU (central processing unit) units to offer on the machine of speed S1 at price P1, to offer at time T1, T2, etc., and the same for the other optimal price levels at each machine speed.
  • Given the above detailed description of a yield management methodology, we now turn to a description of techniques for using the methodology to perform additional objectives such as increasing market share (e.g., through promotions, whose reduced prices and quantities can be determined optimally), responding to a competitor (e.g., by offering a highly limited number of low-cost or better quality-of-service offerings), or smoothing demand (e.g., by inducing higher usage at low-use times of day/week).
  • Using the management framework described above, it is straightforward to implement specialized objectives, which are valid at different times, based on market or resource conditions. These alternate objectives require no new tool or methodological development but only require re-running the mathematical model with specialized data inputs in each case. Below we discuss the three specialized objectives described above:
  • 1. Increasing Market Share (e.g., Through Promotions, Whose Reduced Prices and Quantities can be Determined Optimally):
  • At times when it is desirable to offer special promotions to increase market share, it is possible to do so in an optimal manner using a yield management system of the invention. In particular, consider the following example:
  • New demand data can be obtained through marketing studies or interviews that a new set of users may be interested in using the computing center. In order to attract new clientele, one could announce special low cost promotions for a restricted time. Adding the new demand information (if available) to the model, and reducing substantially the minimum price (see subsection C above), and then rerunning the mathematical model, the output will contain a new set of optimal prices and quantities of each for each type of service-level. These will still be calculated to optimize the revenue based on the new promotion and lower introductory costs.
  • 2. Responding to a Competitor (e.g., by Offering a Highly Limited Number of Low-Cost or Better Quality-of-Service Offerings):
  • Similarly to 1, above, if a competitor offers a promotion or new pricing structure, it is possible to respond quickly and optimally by lowering the minimum price level to the competitor's and recalculating the optimal offering structure (quantities to offer at each price and service-level). If new demand data can be obtained following the competitor's price change, then this should be added to the model as well.
  • 3. Smoothing Demand (e.g., by Inducing Higher Usage at Low-Use Times of Day/Week):
  • A different objective is to smooth the demand level over time, or equivalently, smooth the usage level to reduce peak-time bursts. By offering promotions (described above) and price incentives, valid for low-use time of day or of the week, the usage patterns can be effectively smoothed across time. In order to determine the best way to achieve the goal of smoothing with the yield management tool of the invention, different scenarios can be tested and compared as this objective of smoothing usage patterns.
  • For example, consider that one wishes to define a new price-service offering policy which will shift some usage from Fridays to weekends and possibly add new customers for weekends, to make better use of idle capacity. By testing different minimum prices for weekend periods (all being lower than the present level), and higher minimum levels on Fridays, and by observing the predicted response (optimal quantities available at each price level at each time period), and the resulting revenue, one can make an informed decision about how to set promotional weekend prices to achieve the objective of smoothing demand by bringing more usage on the weekends. Similarly, one can offer, for the same price, higher quality levels (e.g., faster processing speeds) to achieve the same objective as with limited quantity low-price promotions for weekends and higher prices on Fridays.
  • Next, we present an exemplary implementation of the techniques described through a particular set of mathematical equations for an example application, and information on the algorithmic method for solving them. The model takes the form of a nonlinear optimization problem, with the following notation being used in this implementation. Consider:
      • A set of heterogeneous computing resources, such as used in server farms, distributed computing, grids, application utilities, etc.
      • A pool of nodes, or computing resources to allocate (Nq) and storage (S).
      • Define a node class as q, which is characterized by processing speed, for servers, bandwidth, for networks, and other relevant parameters, for q=1 . . . Q.
      • Define workload types, (Wc), and probabilities of arrival of each job type, (Γ c), for c=1 . . . C.
      • Define a goal: Expected value of the optimal allocation of Nq and S at each decision epoch to maximize revenue by using highly segmented pricing and offering structures.
      • In particular, determine the optimal number of “slots” (nikq, Si) to offer for each service type, q, at each price (rikq are the price levels for each of the “slots,” and pik, the price levels for storage) at each time period, i, so as to optimize the goal.
      • Obtain relevant data:
        • An estimation of the sojourn time of a unit job according to node type (T(q)).
        • A model of user preferences using demand curves or discrete choice models, e.g., logit choice probability functions, referred to as (Pk).
        • Set maximum number of price classes per service type, K.
        • Set planning period (number of individual time periods), I.
      • Solve: max n ikq 0 , S i 0 E [ c = 1 C i = 1 I k = 1 K T i ( W c , n ikq , c ) ( q = 1 Q r ikq n ikq + p ik S i ) P k ( W c , S i ) Γ c ]
        ∀i, q
        N q−Σk,z≦i,z+T i >i n zkq≧0,
        ∀i
        S−Σ k,z≦i,z+T i >i S Z≧0,
  • To solve the above mathematical model, nonlinear programming solving routines may be used. In simple cases, in which preference functions, P, and sojourn times, T, are replaced by constants, linear programming solving routines may be used.
  • Although illustrative embodiments of the present invention have been described herein with reference to the accompanying drawings, it is to be understood that the invention is not limited to those precise embodiments, and that various other changes and modifications may be made by one skilled in the art without departing from the scope or spirit of the invention.

Claims (18)

1. A system for managing one or more computing resources associated with a computing center, comprising:
a resource management subsystem for managing the one or more computing resources associated with the computing center, wherein the computing center is able to provide one or more computing services in response to one or more customer demands; and
a yield management subsystem coupled to the resource management subsystem, wherein the yield management subsystem optimizes provision of the one or more computing services in accordance with the resource management subsystem and the one or more computing resources, the yield management subsystem comprising:
a yield management reservation subsystem which determines one or more optimized price/service-level combinations associated with provision of the one or more computing services;
a yield management scheduler which determines one or more schedules for providing the one or more computing services in accordance with the one or more optimized price/service-level combinations;
a yield management monitor which tracks one or more service level agreements and a degree of satisfaction thereof, and which compiles aggregate statistics for use by the a yield management reservation subsystem; and
one or more yield management marketing strategy templates which provide one or more yield management-based marketing strategies for use by the a yield management reservation subsystem.
2. The system of claim 1, wherein the yield management subsystem further comprises a service level agreement advisor which adds one or more customer-specific service requirements to the scheduling of a workload of a customer on a virtual cluster allocated to that customer.
3. The system of claim 1, wherein the one or more computing services comprise one or more on-demand utility services.
4. The system of claim 1, wherein the yield management reservation subsystem is further operative to offer more than one price for the same service level, where prices are offered in limited quantities, and the quantities are optimized depending on resource levels and demand models.
5. The system of claim 1, wherein the yield management reservation subsystem is further operative to suggest varying the quantities to be made available at each price and service level over a given period of time so as to effect usage patterns.
6. The system of claim 1, wherein the resource management system comprises one or more of a subscription module, a billing module, a service level agreement definition module, and a provisioning module.
7. A method of managing one or more computing resources associated with a computing center, the computing center including a resource management subsystem for use in managing the one or more computing resources associated with the computing center, wherein the computing center is able to provide one or more computing services in response to one or more customer demands, the method comprising the steps of:
determining one or more optimized price/service-level combinations associated with one or more computing services provided in accordance with the resource management subsystem and the one or more computing resources;
determining one or more schedules for providing the one or more computing services in accordance with the one or more optimized price/service-level combinations;
tracking one or more service level agreements and a degree of satisfaction thereof while compiling aggregate statistics for use in determining the one or more optimized price/service-level combinations; and
providing one or more yield management-based marketing strategies for use in determining the one or more optimized price/service-level combinations.
8. The method of claim 7, further comprising the step of adding one or more customer-specific service requirements to the scheduling of a workload of a customer on a virtual cluster allocated to that customer.
9. The method of claim 7, wherein the step of determining one or more optimized price/service-level combinations associated with one or more computing services further comprises the one or more computing services being one or more on-demand utility services.
10. The method of claim 7, wherein the step of determining one or more optimized price/service-level combinations associated with one or more computing services further comprises offering more than one price for the same service level, wherein prices are offered in limited quantities, and the quantities are optimized depending on one or more resource levels and one or more demand models.
11. The method of claim 7, wherein the step of determining one or more optimized price/service-level combinations associated with one or more computing services further comprises suggesting varying the quantities to be made available at each price and service level over a given period of time so as to effect one or more usage patterns.
12. Apparatus for managing one or more computing resources associated with a computing center, the computing center including a resource management subsystem for use in managing the one or more computing resources associated with the computing center, wherein the computing center is able to provide one or more computing services in response to one or more customer demands, the apparatus comprising:
a memory; and
at least one processor coupled to the memory and operative to: (i) determine one or more optimized price/service-level combinations associated with one or more computing services provided in accordance with the resource management subsystem and the one or more computing resources; (ii) determine one or more schedules for providing the one or more computing services in accordance with the one or more optimized price/service-level combinations; (iii) track one or more service level agreements and a degree of satisfaction thereof while compiling aggregate statistics for use in determining the one or more optimized price/service-level combinations; and (iv) provide one or more yield management-based marketing strategies for use in determining the one or more optimized price/service-level combinations.
13. The apparatus of claim 12, wherein the at least one processor is further operative to add one or more customer-specific service requirements to the scheduling of a workload of a customer on a virtual cluster allocated to that customer.
14. The apparatus of claim 12, wherein the one or more computing services comprise one or more on-demand utility services.
15. The apparatus of claim 12, wherein the at least one processor is further operative to offer more than one price for the same service level, wherein prices are offered in limited quantities, and the quantities are optimized depending on one or more resource levels and one or more demand models.
16. The apparatus of claim 12, wherein the at least one processor is further operative to suggest varying the quantities to be made available at each price and service level over a given period of time so as to effect one or more usage patterns.
17. A computing center, comprising:
a resource management subsystem for use in managing one or more computing resources associated with the computing center, wherein the computing center is able to provide one or more computing services in response to one or more customer demands; and
a yield management subsystem coupled to the resource management subsystem, wherein the yield management subsystem optimizes provision of the one or more computing services in accordance with the resource management subsystem and the one or more computing resources, the yield management subsystem comprising:
a yield management reservation subsystem which determines one or more optimized price/service-level combinations associated with provision of the one or more computing services;
a yield management scheduler which determines one or more schedules for providing the one or more computing services in accordance with the one or more optimized price/service-level combinations;
a yield management monitor which tracks one or more service level agreements and a degree of satisfaction thereof, and which compiles aggregate statistics for use by the a yield management reservation subsystem; and
one or more yield management marketing strategy templates which provide one or more yield management-based marketing strategies for use by the a yield management reservation subsystem.
18. An article of manufacture for managing one or more computing resources associated with a computing center, the computing center including a resource management subsystem for use in managing the one or more computing resources associated with the computing center, wherein the computing center is able to provide one or more computing services in response to one or more customer demands, the article of manufacture comprising a machine readable medium containing one or more programs which when executed implement the steps of:
determining one or more optimized price/service-level combinations associated with one or more computing services provided in accordance with the resource management subsystem and the one or more computing resources;
determining one or more schedules for providing the one or more computing services in accordance with the one or more optimized price/service-level combinations;
tracking one or more service level agreements and a degree of satisfaction thereof while compiling aggregate statistics for use in determining the one or more optimized price/service-level combinations; and
providing one or more yield management-based marketing strategies for use in determining the one or more optimized price/service-level combinations.
US10/987,748 2004-11-12 2004-11-12 On-demand utility services utilizing yield management Abandoned US20060117317A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US10/987,748 US20060117317A1 (en) 2004-11-12 2004-11-12 On-demand utility services utilizing yield management
CNA2005101194397A CN1773539A (en) 2004-11-12 2005-11-11 System and method for managing one or more computing resources utilizing computing center
US12/133,720 US10373081B2 (en) 2004-11-12 2008-06-05 On-demand utility services utilizing yield management

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/987,748 US20060117317A1 (en) 2004-11-12 2004-11-12 On-demand utility services utilizing yield management

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/133,720 Continuation US10373081B2 (en) 2004-11-12 2008-06-05 On-demand utility services utilizing yield management

Publications (1)

Publication Number Publication Date
US20060117317A1 true US20060117317A1 (en) 2006-06-01

Family

ID=36568608

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/987,748 Abandoned US20060117317A1 (en) 2004-11-12 2004-11-12 On-demand utility services utilizing yield management
US12/133,720 Expired - Fee Related US10373081B2 (en) 2004-11-12 2008-06-05 On-demand utility services utilizing yield management

Family Applications After (1)

Application Number Title Priority Date Filing Date
US12/133,720 Expired - Fee Related US10373081B2 (en) 2004-11-12 2008-06-05 On-demand utility services utilizing yield management

Country Status (2)

Country Link
US (2) US20060117317A1 (en)
CN (1) CN1773539A (en)

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060212334A1 (en) * 2005-03-16 2006-09-21 Jackson David B On-demand compute environment
US20070220123A1 (en) * 2006-03-14 2007-09-20 Bal Agrawal System and method for service provider search
US20080140756A1 (en) * 2004-11-29 2008-06-12 Shinichi Tanaka Information Processing System, Information Processing Apparatus, Information Processing Method, Recording Medium, and Program
US20080167940A1 (en) * 2007-01-05 2008-07-10 Parijat Dube Method and structure for increasing revenue for on-demand environments
US20080271038A1 (en) * 2007-04-30 2008-10-30 Jerome Rolia System and method for evaluating a pattern of resource demands of a workload
US20080282253A1 (en) * 2007-05-10 2008-11-13 Gerrit Huizenga Method of managing resources within a set of processes
US20090222319A1 (en) * 2008-02-29 2009-09-03 International Business Machines Corporation System and method for calculating piecewise price and incentive
US20090222297A1 (en) * 2008-02-29 2009-09-03 International Business Machines Corporation System and method for composite pricing of services to provide optimal bill schedule
US20090222366A1 (en) * 2008-02-29 2009-09-03 International Business Machines Corporation System and method for generating optimal bill/payment schedule
US20090222311A1 (en) * 2008-02-29 2009-09-03 International Business Machines Corporation System and method for calculating potential maximal price and share rate
US20100058342A1 (en) * 2007-01-11 2010-03-04 Fumio Machida Provisioning system, method, and program
CN101876895A (en) * 2009-04-28 2010-11-03 中国科学院计算技术研究所 Package integrated method of application software under grid computing environment
US20100325637A1 (en) * 2009-06-18 2010-12-23 Microsoft Corporation Allocation of resources to a scheduler in a process
US7925757B1 (en) * 2006-07-25 2011-04-12 Hewlett-Packard Development Company, L.P. Determining a portion of required capacity attributed to applications in multiple classes of service
US20110119675A1 (en) * 2008-07-29 2011-05-19 Alibaba Group Holding Limited Concurrent Data Processing and Electronic Bookkeeping
US20120023501A1 (en) * 2010-07-20 2012-01-26 Nec Laboratories America, Inc. Highly scalable sla-aware scheduling for cloud services
US8156502B1 (en) * 2007-06-08 2012-04-10 Hewlett-Packard Development Company, L.P. Computer resource allocation as a function of demand type
US20120179824A1 (en) * 2005-03-16 2012-07-12 Adaptive Computing Enterprises, Inc. System and method of brokering cloud computing resources
US8782120B2 (en) 2005-04-07 2014-07-15 Adaptive Computing Enterprises, Inc. Elastic management of compute resources between a web server and an on-demand compute environment
US8799186B2 (en) 2010-11-02 2014-08-05 Survey Engine Pty Ltd. Choice modelling system and method
US20150134280A1 (en) * 2011-09-16 2015-05-14 Autogrid Inc. Scalable and web-based dr platform for communication of a dr signal using a network server
US9075657B2 (en) 2005-04-07 2015-07-07 Adaptive Computing Enterprises, Inc. On-demand access to compute resources
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
US20180131780A1 (en) * 2014-01-08 2018-05-10 Veex Inc. Systems and methods for dynamically managing capabilities on network monitoring devices
US10204387B2 (en) 2013-05-08 2019-02-12 Nmetric, Llc Sequentially configuring manufacturing equipment to reduce reconfiguration times
US10382339B2 (en) * 2015-01-12 2019-08-13 Citrix Systems, Inc. Large scale bandwidth management of IP flows using a hierarchy of traffic shaping devices
US10977090B2 (en) 2006-03-16 2021-04-13 Iii Holdings 12, Llc System and method for managing a hybrid compute environment
US11467883B2 (en) 2004-03-13 2022-10-11 Iii Holdings 12, Llc Co-allocating a reservation spanning different compute resources types
US11494235B2 (en) 2004-11-08 2022-11-08 Iii Holdings 12, Llc System and method of providing system jobs within a compute environment
US11522952B2 (en) 2007-09-24 2022-12-06 The Research Foundation For The State University Of New York Automatic clustering for self-organizing grids
US11526304B2 (en) 2009-10-30 2022-12-13 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US11568367B2 (en) * 2019-11-07 2023-01-31 Zebel Group, Inc. Automated parameterized modeling and scoring intelligence system
US11630704B2 (en) 2004-08-20 2023-04-18 Iii Holdings 12, Llc System and method for a workload management and scheduling module to manage access to a compute environment according to local and non-local user identity information
US11652706B2 (en) 2004-06-18 2023-05-16 Iii Holdings 12, Llc System and method for providing dynamic provisioning within a compute environment
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US11960937B2 (en) 2022-03-17 2024-04-16 Iii Holdings 12, Llc System and method for an optimizing reservation in time of compute resources based on prioritization function and reservation policy parameter

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8286170B2 (en) * 2007-01-31 2012-10-09 International Business Machines Corporation System and method for processor thread allocation using delay-costs
US8352336B2 (en) 2007-05-01 2013-01-08 Jda Software Group, Inc. System and method for allocating manufactured products to sellers using profitable order promising
US8271974B2 (en) * 2008-10-08 2012-09-18 Kaavo Inc. Cloud computing lifecycle management for N-tier applications
US10867259B2 (en) * 2009-01-15 2020-12-15 Bmc Software, Inc. Unified service model for business service management
US8799037B2 (en) 2010-10-14 2014-08-05 Palto Alto Research Center Incorporated Computer-implemented system and method for managing motor vehicle parking reservations
US8869161B2 (en) * 2010-11-18 2014-10-21 Fujitsu Limited Characterization and assignment of workload requirements to resources based on predefined categories of resource utilization and resource availability
US9087453B2 (en) * 2013-03-01 2015-07-21 Palo Alto Research Center Incorporated Computer-implemented system and method for spontaneously identifying and directing users to available parking spaces
CN104951855B (en) * 2014-03-28 2022-08-02 伊姆西Ip控股有限责任公司 Apparatus and method for facilitating management of resources
US10735348B2 (en) * 2016-04-29 2020-08-04 International Business Machines Corporation Providing an optimal resource to a client computer via interactive dialog
US11087256B2 (en) * 2017-05-05 2021-08-10 Servicenow, Inc. Graphical user interface for discovering consumption of services

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5255184A (en) * 1990-12-19 1993-10-19 Andersen Consulting Airline seat inventory control method and apparatus for computerized airline reservation systems
US5270921A (en) * 1990-12-19 1993-12-14 Andersen Consulting Virtual fare methods for a computerized airline seat inventory control system
US5640569A (en) * 1995-04-28 1997-06-17 Sun Microsystems, Inc. Diverse goods arbitration system and method for allocating resources in a distributed computer system
US6085169A (en) * 1996-09-04 2000-07-04 Priceline.Com Incorporated Conditional purchase offer management system
US6085164A (en) * 1993-09-15 2000-07-04 Sabre Inc. Apparatus and method of allocating flight inventory resources based on the current market value
US6101484A (en) * 1999-03-31 2000-08-08 Mercata, Inc. Dynamic market equilibrium management system, process and article of manufacture
US6526392B1 (en) * 1998-08-26 2003-02-25 International Business Machines Corporation Method and system for yield managed service contract pricing
US6567824B2 (en) * 1998-08-31 2003-05-20 Grantley Patent Holdings, Ltd. Integrated inventory management system
US20040249658A1 (en) * 2003-03-14 2004-12-09 Sven Schwerin-Wenzel Services integration
US6952688B1 (en) * 1999-10-31 2005-10-04 Insyst Ltd. Knowledge-engineering protocol-suite

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6601083B1 (en) 1996-08-29 2003-07-29 Frederick John Reznak Multitasking data processing system and method of controlling allocation of a shared resource
US6009407A (en) 1998-02-27 1999-12-28 International Business Machines Corporation Integrated marketing and operations decisions-making under multi-brand competition
US6263315B1 (en) 1998-11-02 2001-07-17 Pricing Research Corporation Revenue management system and method
US6910024B2 (en) * 2000-02-04 2005-06-21 Hrl Laboratories, Llc System for pricing-based quality of service (PQoS) control in networks
US6671673B1 (en) 2000-03-24 2003-12-30 International Business Machines Corporation Method for integrated supply chain and financial management
US10115076B2 (en) 2000-04-21 2018-10-30 Goalassist Corporation System and method employing capacity/demand management for human-factor resources
US7110960B2 (en) 2000-06-09 2006-09-19 Manugistics, Inc. Event revenue management system
US20020065699A1 (en) 2000-09-14 2002-05-30 Kalyan Talluri General discrete choice model and optimization algorithm for revenue management
US6968323B1 (en) * 2000-10-05 2005-11-22 International Business Machines Corporation Dynamic allocation and pricing of resources of web server farm
US6526935B2 (en) 2001-06-08 2003-03-04 Ralph Shaw Cardioid cycle internal combustion engine
US7191143B2 (en) 2001-11-05 2007-03-13 Keli Sev K H Preference information-based metrics
US7213065B2 (en) 2001-11-08 2007-05-01 Racemi, Inc. System and method for dynamic server allocation and provisioning
US20040136394A1 (en) * 2003-01-09 2004-07-15 Robert Onno Bulk service configuration in communications networks
US7783557B2 (en) 2003-03-25 2010-08-24 Future Freight Corporation Computer-implemented display to facilitate trading in multi-modal freight shipment derivatives
US6880478B2 (en) * 2003-07-18 2005-04-19 Lockheed Martin Corporation Two degree of freedom rudder/stabilizer for waterborne vessels
US8788310B2 (en) * 2003-11-20 2014-07-22 International Business Machines Corporation Methods and apparatus for managing computing resources based on yield management framework
US7941427B2 (en) * 2004-04-14 2011-05-10 International Business Machines Corporation Dynamically managing computer resources based on valuations of work items being processed

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5255184A (en) * 1990-12-19 1993-10-19 Andersen Consulting Airline seat inventory control method and apparatus for computerized airline reservation systems
US5270921A (en) * 1990-12-19 1993-12-14 Andersen Consulting Virtual fare methods for a computerized airline seat inventory control system
US6085164A (en) * 1993-09-15 2000-07-04 Sabre Inc. Apparatus and method of allocating flight inventory resources based on the current market value
US5640569A (en) * 1995-04-28 1997-06-17 Sun Microsystems, Inc. Diverse goods arbitration system and method for allocating resources in a distributed computer system
US6085169A (en) * 1996-09-04 2000-07-04 Priceline.Com Incorporated Conditional purchase offer management system
US6526392B1 (en) * 1998-08-26 2003-02-25 International Business Machines Corporation Method and system for yield managed service contract pricing
US6567824B2 (en) * 1998-08-31 2003-05-20 Grantley Patent Holdings, Ltd. Integrated inventory management system
US6101484A (en) * 1999-03-31 2000-08-08 Mercata, Inc. Dynamic market equilibrium management system, process and article of manufacture
US6952688B1 (en) * 1999-10-31 2005-10-04 Insyst Ltd. Knowledge-engineering protocol-suite
US20040249658A1 (en) * 2003-03-14 2004-12-09 Sven Schwerin-Wenzel Services integration

Cited By (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11467883B2 (en) 2004-03-13 2022-10-11 Iii Holdings 12, Llc Co-allocating a reservation spanning different compute resources types
US11652706B2 (en) 2004-06-18 2023-05-16 Iii Holdings 12, Llc System and method for providing dynamic provisioning within a compute environment
US11630704B2 (en) 2004-08-20 2023-04-18 Iii Holdings 12, Llc System and method for a workload management and scheduling module to manage access to a compute environment according to local and non-local user identity information
US11537435B2 (en) 2004-11-08 2022-12-27 Iii Holdings 12, Llc System and method of providing system jobs within a compute environment
US11537434B2 (en) 2004-11-08 2022-12-27 Iii Holdings 12, Llc System and method of providing system jobs within a compute environment
US11861404B2 (en) 2004-11-08 2024-01-02 Iii Holdings 12, Llc System and method of providing system jobs within a compute environment
US11762694B2 (en) 2004-11-08 2023-09-19 Iii Holdings 12, Llc System and method of providing system jobs within a compute environment
US11709709B2 (en) 2004-11-08 2023-07-25 Iii Holdings 12, Llc System and method of providing system jobs within a compute environment
US11656907B2 (en) 2004-11-08 2023-05-23 Iii Holdings 12, Llc System and method of providing system jobs within a compute environment
US11886915B2 (en) 2004-11-08 2024-01-30 Iii Holdings 12, Llc System and method of providing system jobs within a compute environment
US11494235B2 (en) 2004-11-08 2022-11-08 Iii Holdings 12, Llc System and method of providing system jobs within a compute environment
US20080140756A1 (en) * 2004-11-29 2008-06-12 Shinichi Tanaka Information Processing System, Information Processing Apparatus, Information Processing Method, Recording Medium, and Program
US20060212333A1 (en) * 2005-03-16 2006-09-21 Jackson David B Reserving Resources in an On-Demand Compute Environment from a local compute environment
US9961013B2 (en) 2005-03-16 2018-05-01 Iii Holdings 12, Llc Simple integration of on-demand compute environment
US8782231B2 (en) 2005-03-16 2014-07-15 Adaptive Computing Enterprises, Inc. Simple integration of on-demand compute environment
US20060224741A1 (en) * 2005-03-16 2006-10-05 Jackson David B Automatic workload transfer to an on-demand center
US11658916B2 (en) 2005-03-16 2023-05-23 Iii Holdings 12, Llc Simple integration of an on-demand compute environment
US11356385B2 (en) 2005-03-16 2022-06-07 Iii Holdings 12, Llc On-demand compute environment
US11134022B2 (en) 2005-03-16 2021-09-28 Iii Holdings 12, Llc Simple integration of an on-demand compute environment
US10608949B2 (en) 2005-03-16 2020-03-31 Iii Holdings 12, Llc Simple integration of an on-demand compute environment
US10333862B2 (en) 2005-03-16 2019-06-25 Iii Holdings 12, Llc Reserving resources in an on-demand compute environment
US7698430B2 (en) 2005-03-16 2010-04-13 Adaptive Computing Enterprises, Inc. On-demand compute environment
US9413687B2 (en) * 2005-03-16 2016-08-09 Adaptive Computing Enterprises, Inc. Automatic workload transfer to an on-demand center
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
US9112813B2 (en) 2005-03-16 2015-08-18 Adaptive Computing Enterprises, Inc. On-demand compute environment
US20120179824A1 (en) * 2005-03-16 2012-07-12 Adaptive Computing Enterprises, Inc. System and method of brokering cloud computing resources
US20060212334A1 (en) * 2005-03-16 2006-09-21 Jackson David B On-demand compute environment
US8370495B2 (en) 2005-03-16 2013-02-05 Adaptive Computing Enterprises, Inc. On-demand compute environment
US9015324B2 (en) * 2005-03-16 2015-04-21 Adaptive Computing Enterprises, Inc. System and method of brokering cloud computing resources
US8631130B2 (en) 2005-03-16 2014-01-14 Adaptive Computing Enterprises, Inc. Reserving resources in an on-demand compute environment from a local compute environment
US9075657B2 (en) 2005-04-07 2015-07-07 Adaptive Computing Enterprises, Inc. On-demand access to compute resources
US11831564B2 (en) 2005-04-07 2023-11-28 Iii Holdings 12, Llc On-demand access to compute resources
US10986037B2 (en) 2005-04-07 2021-04-20 Iii Holdings 12, Llc On-demand access to compute resources
US11496415B2 (en) 2005-04-07 2022-11-08 Iii Holdings 12, Llc On-demand access to compute resources
US11522811B2 (en) 2005-04-07 2022-12-06 Iii Holdings 12, Llc On-demand access to compute resources
US8782120B2 (en) 2005-04-07 2014-07-15 Adaptive Computing Enterprises, Inc. Elastic management of compute resources between a web server and an on-demand compute environment
US10277531B2 (en) 2005-04-07 2019-04-30 Iii Holdings 2, Llc On-demand access to compute resources
US11533274B2 (en) 2005-04-07 2022-12-20 Iii Holdings 12, Llc On-demand access to compute resources
US11765101B2 (en) 2005-04-07 2023-09-19 Iii Holdings 12, Llc On-demand access to compute resources
US8825736B2 (en) * 2006-03-14 2014-09-02 Lifeworx, Inc. System and method for service provider search
US9129326B2 (en) * 2006-03-14 2015-09-08 Lifeworx, Inc. System and method for service provider search
US20140337179A1 (en) * 2006-03-14 2014-11-13 Lifeworx, Inc. System and method for service provider search
US20070220123A1 (en) * 2006-03-14 2007-09-20 Bal Agrawal System and method for service provider search
US11650857B2 (en) 2006-03-16 2023-05-16 Iii Holdings 12, Llc System and method for managing a hybrid computer environment
US10977090B2 (en) 2006-03-16 2021-04-13 Iii Holdings 12, Llc System and method for managing a hybrid compute environment
US7925757B1 (en) * 2006-07-25 2011-04-12 Hewlett-Packard Development Company, L.P. Determining a portion of required capacity attributed to applications in multiple classes of service
US20080167940A1 (en) * 2007-01-05 2008-07-10 Parijat Dube Method and structure for increasing revenue for on-demand environments
US20100058342A1 (en) * 2007-01-11 2010-03-04 Fumio Machida Provisioning system, method, and program
US8677353B2 (en) * 2007-01-11 2014-03-18 Nec Corporation Provisioning a standby virtual machine based on the prediction of a provisioning request being generated
US8543711B2 (en) * 2007-04-30 2013-09-24 Hewlett-Packard Development Company, L.P. System and method for evaluating a pattern of resource demands of a workload
US20080271038A1 (en) * 2007-04-30 2008-10-30 Jerome Rolia System and method for evaluating a pattern of resource demands of a workload
US20080282253A1 (en) * 2007-05-10 2008-11-13 Gerrit Huizenga Method of managing resources within a set of processes
US8752055B2 (en) * 2007-05-10 2014-06-10 International Business Machines Corporation Method of managing resources within a set of processes
US8156502B1 (en) * 2007-06-08 2012-04-10 Hewlett-Packard Development Company, L.P. Computer resource allocation as a function of demand type
US11522952B2 (en) 2007-09-24 2022-12-06 The Research Foundation For The State University Of New York Automatic clustering for self-organizing grids
US7962357B2 (en) 2008-02-29 2011-06-14 International Business Machines Corporation System and method for calculating potential maximal price and share rate
US20090222319A1 (en) * 2008-02-29 2009-09-03 International Business Machines Corporation System and method for calculating piecewise price and incentive
US8180691B2 (en) 2008-02-29 2012-05-15 International Business Machines Corporation System and method for generating optimal bill/payment schedule
US7979329B2 (en) 2008-02-29 2011-07-12 International Business Machines Corporation System and method for generating optimal bill/payment schedule
US20090222297A1 (en) * 2008-02-29 2009-09-03 International Business Machines Corporation System and method for composite pricing of services to provide optimal bill schedule
US8055530B2 (en) 2008-02-29 2011-11-08 International Business Machines Corporation System and method for composite pricing of services to provide optimal bill schedule
US20090222366A1 (en) * 2008-02-29 2009-09-03 International Business Machines Corporation System and method for generating optimal bill/payment schedule
US20110213689A1 (en) * 2008-02-29 2011-09-01 International Business Machines Corporation System and method for generating optimal bill/payment schedule
US20090222311A1 (en) * 2008-02-29 2009-09-03 International Business Machines Corporation System and method for calculating potential maximal price and share rate
US8316373B2 (en) * 2008-07-29 2012-11-20 Alibaba Group Holding Limited Concurrent data processing and electronic bookkeeping
US20110119675A1 (en) * 2008-07-29 2011-05-19 Alibaba Group Holding Limited Concurrent Data Processing and Electronic Bookkeeping
CN101876895A (en) * 2009-04-28 2010-11-03 中国科学院计算技术研究所 Package integrated method of application software under grid computing environment
US20100325637A1 (en) * 2009-06-18 2010-12-23 Microsoft Corporation Allocation of resources to a scheduler in a process
US8719831B2 (en) * 2009-06-18 2014-05-06 Microsoft Corporation Dynamically change allocation of resources to schedulers based on feedback and policies from the schedulers and availability of the resources
US11526304B2 (en) 2009-10-30 2022-12-13 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US8776076B2 (en) * 2010-07-20 2014-07-08 Nec Laboratories America, Inc. Highly scalable cost based SLA-aware scheduling for cloud services
US20120023501A1 (en) * 2010-07-20 2012-01-26 Nec Laboratories America, Inc. Highly scalable sla-aware scheduling for cloud services
US8799186B2 (en) 2010-11-02 2014-08-05 Survey Engine Pty Ltd. Choice modelling system and method
US20150134280A1 (en) * 2011-09-16 2015-05-14 Autogrid Inc. Scalable and web-based dr platform for communication of a dr signal using a network server
US10204387B2 (en) 2013-05-08 2019-02-12 Nmetric, Llc Sequentially configuring manufacturing equipment to reduce reconfiguration times
US10282793B2 (en) 2013-05-08 2019-05-07 Nmetric, Llc Bus stop systems and methods of allocating service-based resources
US10296986B2 (en) * 2013-05-08 2019-05-21 Nmetric, Llc Bus stop systems and methods of prioritizing service-based resources
US20180131780A1 (en) * 2014-01-08 2018-05-10 Veex Inc. Systems and methods for dynamically managing capabilities on network monitoring devices
US11252243B2 (en) * 2014-01-08 2022-02-15 Veex Inc. Systems and methods for dynamically managing capabilities on network monitoring devices
US10382339B2 (en) * 2015-01-12 2019-08-13 Citrix Systems, Inc. Large scale bandwidth management of IP flows using a hierarchy of traffic shaping devices
US11568367B2 (en) * 2019-11-07 2023-01-31 Zebel Group, Inc. Automated parameterized modeling and scoring intelligence system
US11960937B2 (en) 2022-03-17 2024-04-16 Iii Holdings 12, Llc System and method for an optimizing reservation in time of compute resources based on prioritization function and reservation policy parameter

Also Published As

Publication number Publication date
US20080235703A1 (en) 2008-09-25
US10373081B2 (en) 2019-08-06
CN1773539A (en) 2006-05-17

Similar Documents

Publication Publication Date Title
US10373081B2 (en) On-demand utility services utilizing yield management
Toka et al. Machine learning-based scaling management for kubernetes edge clusters
US10942781B2 (en) Automated capacity provisioning method using historical performance data
US8788310B2 (en) Methods and apparatus for managing computing resources based on yield management framework
US9755988B2 (en) Method and system for arbitraging computer resources in a cloud computing environment
US8140371B2 (en) Providing computing service to users in a heterogeneous distributed computing environment
EP2615803B1 (en) Performance interference model for managing consolidated workloads in QoS-aware clouds
US8352951B2 (en) Method and apparatus for utility-based dynamic resource allocation in a distributed computing system
US9015723B2 (en) Resource optimization for real-time task assignment in multi-process environments
US9504061B2 (en) Networked resource provisioning system
KR20040019033A (en) Managing server resources for hosted applications
US20020019873A1 (en) System and method for modeling and provisioning information system capacity
US7113986B2 (en) System and method for modeling information system capacity and accepting sessions in an information system
Passacantando et al. Service provisioning problem in cloud and multi-cloud systems
Byde et al. Market-based resource allocation for utility data centers
Sharghivand et al. A comprehensive survey on auction mechanism design for cloud/edge resource management and pricing
Sahni et al. Heterogeneity-aware adaptive auto-scaling heuristic for improved QoS and resource usage in cloud environments
US20090178050A1 (en) Control of Access to Services and/or Resources of a Data Processing System
Püschel et al. Management of cloud infastructures: Policy-based revenue optimization
Son et al. Adaptive trade-off strategy for bargaining-based multi-objective SLA establishment under varying cloud workload
US20080091446A1 (en) Method and system for maximizing revenue generated from service level agreements
Nimis et al. SORMA–Business Cases for an Open Grid Market: Concept and Implementation
Zhao et al. Cost minimization in multiple IaaS clouds: A double auction approach
Hellerstein et al. A framework for applying inventory control to capacity management for utility computing
Mitrani Management of server farms for performance and profit

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CRAWFORD, CATHERINE H.;LIU, ZHEN;WYNTER, LAURA;REEL/FRAME:015700/0652;SIGNING DATES FROM 20041129 TO 20041202

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION