/* * LoadBalanceManager.java * * Load Balance Manager data and operations for random selection of * servers. * * Created by: Arthur L. Blais * Visteon/Ford Microelectronics Inc. * Colorado Springs, CO * * Date: Fri Sep 24 08:43:13 MDT 1999 * **************************************************************************** * * Class Methods * * **************************************************************************** */ import java.util.Random; public class LoadBalanceManager { int id; // id number int serverCount; // total number of servers int server[]; // server reqeust count // Pseudo-Random Variate Seeds private static long seed = 98391; // random number instances private static Random randNumber; // = new Random( seed ); public LoadBalanceManager( int n, int s, int t ) { id = n; serverCount = s; server = new int[ serverCount ]; for ( int i = 0; i < serverCount; i++ ) { server[i] = 0; } randNumber = new Random( seed ); } /** * getId */ int getId() { return id; } /** * requestComplete */ void requestComplete( int s ) { server[s]--; } /** * nextServer * */ int nextServer() { int nextServer = Math.abs( randNumber.nextInt() ) % serverCount; server[nextServer]++; return( nextServer ); } }