Browse Prior Art Database

Multi-stage selection algorithm for optimal selection of cluster members in heterogeneous networks

IP.com Disclosure Number: IPCOM000127258D
Original Publication Date: 2005-Aug-19
Included in the Prior Art Database: 2005-Aug-19
Document File: 2 page(s) / 43K

Publishing Venue

IBM

Abstract

Algorithm for selection of cluster member including connectivity

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 48% of the total text.

Page 1 of 2

Multi-stage selection algorithm for optimal selection of cluster members in heterogeneous networks

When a client application must connect to a server that can perform some task-related work, it is well-known to provide a plurality of servers to which the client can connect. This is advantageous for both fault tolerance and scalability, because there are a number of endpoints available and task workload is distributed across the plurality of servers. The collection of servers is a cluster, which contains cluster members. Each cluster member must be accessible to the client application and capable of providing the service. Membership of the cluster implies that the member is capable of performing the work associated with the client's intentions - e.g. the member has database access, or has the relevant business logic installed, etc.

      If all cluster members have equivalent connectivity to the network the choice of cluster member need consider only the suitability of each member to perform the task associated with the client's intentions - e.g. whether that member currently have less CPU intensive work than other members, or whether the queue of work requests on that member shorter than the queues on other members. Where network connectivity is homogeneous, the choice is fairly simple. In contrast, the cluster members may not have homogeneous networking capability. In this latter case the selection of an appropriate member is not so straightforward. In addition to selecting which server from the plurality of servers to use, it is necessary to decide which protocol the client and server will use to communicate, and the specific endpoint on the server to which the client will connect. The technique described below relates to how the endpoint is chosen.

      It is well-known to select a cluster member based on the two criteria of availability and server workload. The algorithm described below selects on these existing criteria and client-server network connectivity.

      The technique described is an algorithm that uses filtering and selection to select a cluster member and network endpoint based on three criteria of availability, workload profile and connectivity. Selecting a cluster member based on all three criteria requires care; if the selections are made in the wrong order the result can be invalid or sub-optimal. The algorithm described below performs a sequence of steps that deliver a satisfactory result which will additionally be generally the most efficient selection.

      In the following text it is assumed that the cluster of servers is what is known as an "active cluster". This means that a member of the cluster is, by definition, active and hence available. A member that is not available withdraws from the cluster. With an active cluster, membership is therefore an indication that the member is available. It is also possible to apply the algorithm described to a cluster that contains inactive members, it just requires the additional step t...