The invention relates to computer technology associated with the financial aspects of data processing, particularly as it deals with the economic and practical analysis for selecting energy providers based on multiple energy criteria.
Currently, computing workloads are processed within relatively static data centers. Disaster recovery mechanisms exist to transfer data or processing to an alternate site based on an outage at the original location. Meanwhile, IT power costs have been increasing, causing some experts to predict that power costs will soon overtake computer hardware costs.
Grid computing enables the distribution of compute workloads based on available resources. It does not include methods for determination of a processing location based on real-time energy costs. The nature of computational workloads is unique in that they are more easily relocated than other power needs. A company cannot decide to shut down its downtown Chicago headquarter offices and shift that function to western New York, only to move it back the following week. Similarly, a consumer cannot decide to relocate its residence from Virginia to North Carolina based on power prices, only to return a day later. Such decisions can be more reliably made, of course, over the long term, but the geographically-independent nature of compute jobs provides a unique mobility.
Power and air conditioning costs are a significant burden for corporate IT budgets. The cumulative energy cost for servers and data centers in the U.S. in the year 2006 was approximately $3.3 billion annually. The overall electricity used by IT servers doubled between 2000 and 2005, and is expected to continue to grow. Customers are seeking ways to improve their profitability by reducing their power costs. In today's environment computing jobs are assigned to data centers based on the availability of computing resources. There are no existing methods to assign computing jobs based on energy resource metrics. Two separate target locations in consideration for a computing job assignment by a dispatcher could both be capable of completing the job but there may be varying costs associated with power consumption at those diverse locations.
Jobs can be dispatched based on real-time energy costs. However, it would be advantageous for both the energy provider and the consumer to have a system that enables a renegotiation of power costs based on an intent to redistribute workload. This could lower costs for the consumer, retain customers for the energy provider and reduce the amount of time and cost associated with transferring a workload to another location.
This invention relates to methods and systems for customer-initiated automated and dynamic negotiation of power rates based on compute workload balancing. It enables customers to negotiate directly with power providers or through an auction. For purposes of the present invention, power is defined as the electrical energy resource used by businesses and individual consumers. The power rate is the amount charged by the power provider per unit of time or other quantitatively measurable elemental unit of use.
This invention also relates to the automated negotiation of power rates between consumer and provider, based on computational processing requirements and current energy provider costs, given that a certain percentage (either totally or partially known) of the workload may be shifted to another provider. Such shifting of workloads may entail geographic redistribution of the workload to take advantage of preferred power rates or conditions in other geographies or it may be a geographically-stationary scenario wherein a different power service provider is tapped for providing the service.
In either case, a customer or workload dispatcher may inform a utility that it is about to redirect X load for processing compute jobs to another location at Y price. This enables the utility to lower its price in order to keep the cost equivalent, or close enough to retain the business. A successful renegotiation will result in a cost falling below a threshold and the canceling of the workload redistribution decision.
Additionally, the customer may place “energy blocks” out for bid to multiple energy providers, in order to obtain the lowest energy costs. An energy block is a unit of power that a consumer is willing to commit to spend and consume, typically within a given time frame. The consumer chooses how to consume that energy but typically the larger the energy block(s) the more of a discount a provider will be willing to give.
The consumer may also consider the relative price differential of green energy versus conventional energy, taking into account the triple bottom line of economic viability, social responsibility, and environmental impact. The term ‘green energy’ has been described as a source of energy which is considered to be environmentally friendly and non-polluting. Such a source may be solar, wind, biomass, or hydro energy.
In another embodiment, the invention also involves a method and a system for a power consumer to initiate and negotiate a price with an energy provider for the consumer's future compute workload requirements. This involves the steps of estimating its future compute workload power requirements. Current rates are obtained from eligible providers. The overall cost of transferring from one provider to another is calculated. Armed with this information, a target price for the workload requirement is then determined. With this information, the consumer can determine the amount of the workload to redistribute based upon the consumer's requirements, current rates of eligible providers, and redistribution costs. The current energy provider may optionally be given an opportunity to adjust its energy costs to the consumer in response to the target price determined by the consumer. The consumer can conclude by awarding a contract for future energy requirements to a low bidder. Alternatively, the consumer can initiate an auction between two or more energy suppliers to meet the energy requirements of the consumer based upon the target price.
In addition, the invention also utilizes a computer-readable medium and a program product containing the necessary instruction for the consumer to negotiate with an energy supplier based upon these steps. Alternatively, the negotiation can be carried out by a service provider using these same criteria.
These and other features of this invention will be more readily understood from the following detailed description of the various aspects of the invention taken in conjunction with the accompanying drawing in which:
The drawings are not intended to be drawn to scale. Instead, the drawings are merely a schematic representation, not intended to portray specific parameters of the invention. The drawings are intended to depict only typical embodiments of the invention, and therefore should not be considered as limiting the scope of the invention.
According to one embodiment of the invention, two main methods are disclosed for price negotiation for power. The first is negotiation between one consumer and one provider, and the second is an auction scenario, wherein one consumer communicates with several potential energy providers.
This invention may utilize the framework described in co-pending patent Docket END920070333US 1 entitled FRAMEWORK FOR DISTRIBUTION OF COMPUTER WORKLOADS BASED ON REAL TIME ENERGY COSTS and the methods describe in END920070334US 1 entitled ANALYSIS OF ENERGY-RELATED FACTORS FOR SELECTING COMPUTATIONAL JOB LOCATIONS. Optionally, this invention may utilize other frameworks and distribution methods for negotiation of power rates.
Compute workload jobs possess a unique characteristic over manual work in that such jobs are easily relocated to other locations. Grid computing is well known and demonstrates that compute workloads are mobile and may be run independent of a particular location.
Negotiation among customers and energy providers may occur directly or through a third party.
Negotiation directly between the consumer and a provider utilizes the combined usage of the following steps for the negotiation:
First, collection of competitive data by a workload dispatcher; Then, automated negotiation between customer and provider based on predefined metrics; and
Finally, reach a conclusion with either a decision to stay with existing provider, or shift providers based on these negotiations.
On the other hand, auto negotiation directly between the customer and multiple power providers utilizes the combined usage of the following procedure for negotiation:
Collection of competitive data by a workload dispatcher;
Automated negotiation between customer and multiple providers, using auction scenario; and
Conclude with either a decision to stay or shift providers based on these negotiations.
In more detail, a targeted price negotiation wherein the customer negotiates individually with the provider involves the following steps:
In another embodiment, auto negotiation using an auction will utilize the following for pricing of power through an auction:
Calculating power usage needs;
Posting power needs to a “publicly available” workload dispatcher;
Collecting bids from power providers;
Concluding with a decision to stay with the present provider or shift providers based on these bids.
A power price auction scenario in which the customer puts the job out to bid involves the following:
In another aspect of the present invention, energy providers can utilize creative pricing schemes, such as the following to entice users and maximize their profits.
When a customer can be flexible with the date and time a job can be run, opportunities are available for negotiating discounted rates. These negotiations may occur either directly between consumer and provider, or on an auction system described above. Scientific compute jobs run by university students are an example of a type of job that would consume large compute resources (which require power to run and cool). Since these are research tasks, they may be more flexible on timing than real-time business transactions. In this iteration of the invention, the customer registers compute work job, indicating flexible timing for when it is run (e.g. any time in next 3 days). The provider and customer negotiate and agree to discounted pricing for customer's timing flexibility. The job is then put into wait state. When the provider has excess capacity, the customer is automatically notified, and the job is automatically initiated or the customer then gives the authorization to proceed.
Referring now to
In the case of the former, communication throughout the network can occur via any combination of various types of communications links. For example, the communication links can comprise addressable connections that may utilize any combination of wired and/or wireless transmission methods.
Where communications occur via the Internet, connectivity could be provided by conventional TCP/IP sockets-based protocol, and an Internet service provider could be used to establish connectivity to the Internet. Still yet, computer infrastructure 108 is intended to demonstrate that some or all of the components of the implementation could be deployed, managed, serviced, etc. by a service provider who offers to implement, deploy, and/or perform the functions of the present invention for others.
As shown, the computer system 100 includes a computer 104, a processing unit (CPU) 112, a memory 116, a bus 120, and input/output (I/O) interfaces 124. Further, the computer system 100 is shown in communication with external I/O devices/resources 128 and storage system 132. In general, the processing unit 112 executes computer program code, such as a code to implement the initiation and conducting of the negotiation of the present invention, which code is stored in memory 116 and/or storage system 132. It is to be appreciated that two or more, including all, of these components may be implemented as a single component.
While executing computer program code, the processing unit 112 (also shown as CPU 112) can read and/or write data to/from the memory 116, the storage system 132, and/or the I/O interfaces. The bus 120 provides a communication link between each of the components in computer 104. The external devices 128 can comprise any devices (e.g., keyboard, pointing device, display, etc.) that enable a user to interact with computer 104 and/or any devices (e.g., network card, modem, etc.) that enable computer system to communicate with one or more other computing devices.
The computer infrastructure 108 is only illustrative of various types of computer infrastructures for implementing the invention. For example, in one embodiment, computer infrastructure 108 comprises two or more computing devices (e.g., a server cluster) that communicate over a network to perform the various process steps of the invention. Moreover, computer 104 is only representative of various possible computers that can include numerous combinations of hardware.
To this extent, in other embodiments, the computer system 100 can comprise any specific purpose computing article of manufacture comprising hardware and/or computer program code for performing specific functions, any computing article of manufacture that comprises a combination of specific purpose and general purpose hardware/software, or the like. In each case, the program code and hardware can be created using standard programming and engineering techniques, respectively.
Moreover, the processing unit 112 may comprise a single processing unit, or be distributed across multiple processing units in one or more locations, e.g., on a client and server. Similarly, the memory 116 and/or the storage system 132 can comprise any combination of various types of data storage and/or transmission media that reside at one or more physical locations. Power costs 60, shown in outline in
Further, I/O interface 124 can comprise any of the systems for exchanging information with one or more of the external devices 128. Still further, it is understood that one or more additional components (e.g., system software, math co-processing unit, etc.) not shown in
The storage system 132 can be any type of system (e.g., a database) capable of providing storage for information under the present invention. To this extent, the storage system 132 could include one or more storage devices, such as a magnetic disk drive or an optical disk drive. In another embodiment, the storage system 132 includes data distributed across, for example, a local area network (LAN), wide area network (WAN) or a storage area network (SAN) (not shown). In addition, although not shown, additional components, such as cache memory, communication systems, system software, etc., may be incorporated into computer system 100.
While shown and described herein as a method and system for conducting negotiations between a customer and power providers, it is understood that the invention further provides various alternative embodiments. For example, in one embodiment, the invention provides a computer-readable/useable medium that includes computer program code to enable a computer infrastructure to manage negotiations. To this extent, the computer-readable/useable medium includes program code that implements each of the various process steps of the invention.
It is understood that the terms “computer-readable medium” or “computer useable medium” comprise one or more of any type of physical embodiment of the program code. In particular, the computer-readable/useable medium can comprise program code embodied on one or more portable storage articles of manufacture (e.g., a compact disc, a magnetic disk, a tape, etc.), on one or more data storage portions of a computing device, such as the memory 116 (
In another embodiment, the invention provides a business method that performs the process steps of the invention on a subscription, advertising, and/or fee basis. That is, a service provider could offer to manage the user's interface with the power providers. In this case, the service provider can perform the function of the workload dispatcher 40, and can create, maintain and support a computer infrastructure that performs the process steps of the invention for one or more customers. In return, the service provider can receive payment from the customer(s) under a subscription and/or fee agreement and/or the service provider can receive payment from the sale of advertising content to one or more third parties.
In still another embodiment, the invention provides a computer-implemented method for executing the computer bidding system of the present invention. In this case, a computer infrastructure, such as computer infrastructure 108 (
As used herein, it is understood that the terms “program code” and “computer program code” are synonymous and mean any expression, in any language, code or notation, of a set of instructions intended to cause a computing device having an information processing capability to perform a particular function either directly or after either or both of the following: (a) conversion to another language, code or notation; and/or (b) reproduction in a different material form. To this extent, program code can be embodied as one or more of: an application/software program, component software/a library of functions, an operating system, a basic I/O system/driver for a particular computing and/or I/O device, and the like.
The foregoing description of various aspects of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and obviously, many modifications and variations are possible. Such modifications and variations that may be apparent to a person skilled in the art are intended to be included within the scope of the invention as defined by the accompanying claims.