Dynamic server switching for maximum server availability and load balancing
First Claim
1. A dynamic server switching system for a client-server network that is populated by a plurality of servers and a plurality of clients, wherein clients and servers communicate via communication methods that serve to interconnect the clients and servers, said dynamic server switching system comprising:
- means for storing routing data that defines a hierarchical ordering of servers for each of said plurality of clients, including a primary server and at least one alternate server designated for each of said plurality of clients;
means, responsive to a one of said plurality of clients failing to receive service from said primary server defined for said one client, for retrieving an entry from said stored routing data to identify an available one of said least one alternate server designated for said one of said plurality of clients; and
means, responsive to said retrieved entry, for directing service requests that are received from said one of said plurality of clients to said identified one of said at least one alternate server as defined by said retrieved data.
3 Assignments
0 Petitions
Accused Products
Abstract
The dynamic server switching system maintains a list in each client which identifies the primary server for that client and the preferred communication method as well as a hierarchy of successively secondary servers and communication method pairs. In the event that the client does not have requests served by the designated primary server or the designated communication method, the system traverses the list to ascertain the identity of the first available alternate server-communication method pair. The client then uses this retrieved data to initiate future requests. The client periodically tests the primary server-communication method pair to determine whether the fault has been cleared. If so, the client reestablishes the originally selected primary server-communication method pair as the request route. This system dynamically load balances in the face of failures, handles transient faults and can use a neuromorphic processing element to monitor system activity and rewrite entries in the lists as a function of changing system activity. In this manner, the system provides dynamic server switching for maximum service availability without consuming significant processing resources.
-
Citations
23 Claims
-
1. A dynamic server switching system for a client-server network that is populated by a plurality of servers and a plurality of clients, wherein clients and servers communicate via communication methods that serve to interconnect the clients and servers, said dynamic server switching system comprising:
-
means for storing routing data that defines a hierarchical ordering of servers for each of said plurality of clients, including a primary server and at least one alternate server designated for each of said plurality of clients; means, responsive to a one of said plurality of clients failing to receive service from said primary server defined for said one client, for retrieving an entry from said stored routing data to identify an available one of said least one alternate server designated for said one of said plurality of clients; and means, responsive to said retrieved entry, for directing service requests that are received from said one of said plurality of clients to said identified one of said at least one alternate server as defined by said retrieved data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A dynamic server switching system for an automated cartridge library system that stores a plurality of magnetic tape cartridges, each of which contains data for use by at least one processor connected thereto, wherein said automated cartridge library system includes a plurality of library access modules resident on said at least one processor for enabling said at least one processor to obtain access to said data stored on said plurality of magnetic tape cartridges, and wherein said at least one processor also includes a plurality of client processes, wherein said client processes communicate with said plurality of library access modules via communication methods that serve to interconnect the client processes and said plurality of library access modules, said dynamic server switching system comprising:
-
means for storing routing data that defines a hierarchical ordering of said plurality of library access modules for each of said plurality of client processes, including a primary library access module and at least one alternate library access module designated for each of said plurality of client processes; means, responsive to a one of said plurality of client processes failing to receive service from said primary library access module defined for said one client process, for retrieving an entry from said stored routing data to identify an available one of said least one alternate library access module designated for said one of said plurality of client processes; and means, responsive to said retrieved entry, for directing service requests that are received from said one of said plurality of client processes to said identified one of said at least one alternate library access modules as defined by said retrieved data. - View Dependent Claims (12, 13)
-
-
14. A method for dynamically switching servers for a client-server network that is populated by a plurality of servers and a plurality of clients, wherein clients and servers communicate via communication methods that serve to interconnect the clients and servers, said method comprising the steps of:
-
storing routing data that defines a hierarchical ordering of servers for each of said plurality of clients, including a primary server and at least one alternate server designated for each of said plurality of clients, in a memory; retrieving, in response to a one of said plurality of clients failing to receive service from said primary server defined for said one client, an entry from said stored routing data located in said memory to identify an available one of said least one alternate server designated for said one of said plurality of clients; and directing, in response to said retrieved entry, service requests that are received from said one of said plurality of clients to said identified one of said at least one alternate server as defined by said retrieved data. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
-
21. A method for dynamically switching servers for an automated cartridge library system that stores a plurality of magnetic tape cartridges, each of which contain data for use by at least one processor connected thereto, wherein said automated cartridge library system includes a plurality of library access modules resident on said at least one processor for enabling said at least one processor to obtain access to said data stored on said plurality of magnetic tape cartridges, and wherein said at least one processor also includes a plurality of client processes, wherein said client processes communicate with said plurality of library access modules via communication methods that serve to interconnect the client processes and said plurality of library access modules, said method for dynamically switching servers comprising the steps of:
-
storing in a memory routing data that defines a hierarchical ordering of said plurality of library access modules for each of said plurality of client processes, including a primary library access module and at least one alternate library access module designated for each of said plurality of client processes; retrieving from said memory, in response to a one of said plurality of client processes failing to receive service from said primary library access module defined for said one client process, an entry from said stored routing data to identify an available one of said least one alternate library access module designated for said of said plurality of client processes; and directing, in response to said retrieved entry, service requests that are received from said one of said plurality of client processes to said one of said at least one identified alternate library access module as defined by said retrieved data. - View Dependent Claims (22, 23)
-
Specification