×

Methods and apparatus for dynamic allocation of servers to a plurality of customers to maximize the revenue of a server farm

  • US 7,783,759 B2
  • Filed: 12/10/2002
  • Issued: 08/24/2010
  • Est. Priority Date: 12/10/2002
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method for optimizing server farm resource usage among a plurality of contract customers comprising steps performed by a processor of:

  • providing a long term forecast of server resource workload for each contract customer having a contract for on-going usage of server resources at a server farm based on previously monitored workload conditions;

    building a resource allocation plan for allocation of server resources to customers for a plurality of time slots based on the long term forecast and customer contract information;

    controlling the allocation of server resources in accordance with the resource allocation plan;

    monitoring the current workload conditions of server resources during operation of the server farm;

    providing a short term forecast based on currently monitored workload conditions at said server resources;

    evaluating refinement of the resource allocation plan should said short term forecast differ from said long term forecast;

    refining the resource allocation plan to generate a current resource allocation plan when the short term forecast differs from said long term forecast by more than a predetermined threshold; and

    adjusting the allocation of server resources in accordance with the current resource allocation plan, wherein said providing a long term forecast comprises the steps of;

    constructing an expected revenue function (ERF) for every customer; and

    constructing a time slot allocation of resources for each of a plurality of time slots using the ERF for every customer andwherein said constructing an ERF, whereby ERFi,t[j] is a weight that corresponds to an expected revenue from allocating a jth server to customer i at time slot t, comprises the steps of;

    providing input of MLISLAi comprising the contract of customer i, a FORECASTi,t comprising a forecasted probability distribution of load Mti for customer i at time slot t whereby FORECASTi,t(x) is a probability that a load Mt will be at least x, REVENUE[j] comprises a charge or rate for a jth server if needed, PENALTY[j] comprises a penalty for a jth server if required and not allocated, Pr[j needed] is a probability that a jth server is needed for the customer at time t, and Pr[j required] comprises a probability that a jth server is required for the customer at time slot t; and

    determining the following;

    for j =1, . . . , n;

    Let Mneeded min be the minimum load Mt s.t. MAP(Mt)=(x,y) and y≧

    jPr[j needed]=Pr[M≧

    Mneededmin]=FORECASTi,t(Mneededmin)Let be the minimum load Mt s.t. MAP(Mt)=(x,y) and xjPr[j required]=Pr[Mt≧

    Mneededmin]=FORECASTi,t(Mneededmin)ERFi,t[j]=Pr[j needed*REVENUE[j]+Pr[j required]*GUARANTEE[j]*PENALTY[j].

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×