Patent ID: 7730086

Claim:
A method of assigning a computer to service a request for a data set, said method comprising the steps of: (a) providing a neural network having only two layers, an input layer having J input nodes and an output layer having K output nodes, each of said output nodes associated with one computer out of a series of computers, and associated weights w(i,k) between each said input node and each said output node; (b) receiving a request for particular data set; (c) inputting to said input layer an input vector having an entry R(I) at input node I, said entry R(I) being dependent upon a number of requests for said particular data set over a predetermined period of time and (d) selecting a computer associated with a selected one of said output nodes to service said data request, where said selected output node is associated with a specific weight, said specific weight selected to minimize a predetermined metric measuring a distance between said vector entry R(I) and said weights w(i,k), where i=I associated with said input node I and said output nodes; (e) updating said specific weight with a predetermined update rule where said update rule comprises updating said specific weight with a first factor dependent on the distance between said specific weight and said entry R(I) and with a second factor for balancing the load across a selected subset of said output nodes where said second factor comprises beta*(Σ m w(I,m))−gamma*(w(I,k)), where beta and gamma are constants; and (f) transmitting said request for said particular data set to said selected computer.