Browse Prior Art Database

Data-Dependent Workload Balancing

IP.com Disclosure Number: IPCOM000117173D
Original Publication Date: 1996-Jan-01
Included in the Prior Art Database: 2005-Mar-31
Document File: 4 page(s) / 175K

Publishing Venue

IBM

Related People

Harrison, RB: AUTHOR [+3]

Abstract

In an environment which uses intelligent workload balancing to allocate work to servers, certain types of information can be used to make the decision. Typically, the types of information used are: o Availability/health state of servers o Performance characteristics of servers o Affinity o The name of the piece of work, e.g., transaction name.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 35% of the total text.

Data-Dependent Workload Balancing

      In an environment which uses intelligent workload balancing to
allocate work to servers, certain types of information can be used to
make the decision.  Typically, the types of information used are:
  o  Availability/health state of servers
  o  Performance characteristics of servers
  o  Affinity
  o  The name of the piece of work, e.g., transaction name.

      In many cases however a decision based on performance and
availability information is not the optimal one.  The piece of work
may be sent to a system which has the best performance
characteristics at a point in time but the data/resource(s) required
by the piece of work may not be accessible by the fastest path.

      The data required for making a data or resource based decision
is typically available in the form of data input by the user or
information that has been previously collected by the users programs.
For example:
  o  A users application may put up an order entry dialog panel
asking
      for the customer number.  The transaction which can look up
      customer info can be run on eight servers but to get best
      performance it is better to run on the server where that
      customer's data is local.
  o  Another example is where a client receives data back from a
      server based on an initial enquiry.  This data can be used in
      future workload balancing decisions.

      The problem is that this extra data could take many forms, and
a program to make the decisions would require an infinite variety of
paths to handle the variety of data forms.  Furthermore, the
specification of parameters, on which to base the separation of the
workload (e.g., the range of customer numbers to route to a
particular server), is not easy to do.

      The workload balancing system described here has the capability
to utilize user entered data of data collected by the users
application program, in making informed workload balancing decisions.

      In this workload balancing system, a central location contains
a map of resource definitions, which relate resources required by
particular tasks to the servers on which they are available.  This
map is distributed on request to client systems where routing
decisions are made according to a workload balancing algorithm, and
maintained by a subscription mechanism which distributes changes to
clients requiring notification.

There are two significant elements added to the above to enable
data-dependent routing at the client:
  1.  A data model enhancement which allows the mapping between
       resources and servers to be more precisely specified, with
       the introduction of routing data.
  2.  The provision of a user exit in the dynamic routing program,
       where code can be added to compare the data associated with
the
       current task with the defined routing data distributed with
the
  ...