Patent US2906206A successfully refreshed from Google Patents.
Patent US5828847A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5828847A Expired / Lapsed US ⏱️ 0.0 years remaining

Dynamic server switching for maximum server availability and load balancing

Assignee: Oracle America Inc
•
Filing: 1996-04-19
•
Granted: 1998-10-27
•
Expires: 2016-04-19
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Chuck Royal Gehr
  • 👤 Paul David Von Behren
  • 👤 Michael Patrick Williams
  • 👤 Robert Barry Wood

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-27 21:46
CPC Classifications
H; H04; H04L; H04L9/00; H04L9/40

Claims Analysis

Total Claims: 27
Claim 1
Independent Claim 172 words
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.
Claim 2
Dependent Claim 172 words
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.
Claim 3
Dependent Claim 32 words
The dynamic server switching system of claim 1 further comprising: means, responsive to said client directing service requests to said identified alternate server, for retrying said primary server on a periodic basis.
Claim 4
Dependent Claim 35 words
The dynamic server switching system of claim 2 further comprising: means, responsive to said primary server responding to a retry service request, for directing newly generated service requests from said client to said primary server.
Claim 5
Dependent Claim 36 words
The dynamic server switching system of claim 3 further comprising: means, responsive to said primary server responding to a retry service request, for completing existing service requests that were previously directed to said identified alternate server.
Claim 6
Dependent Claim 25 words
The dynamic server switching system of claim 1 further comprising: means for revising entries in said stored routing data as a function of client-server activity.
Claim 7
Dependent Claim 24 words
The dynamic server switching system of claim 5 wherein said means for revising entries maps temporal variations in client activity to said routing data.
Claim 8
Dependent Claim 65 words
The dynamic server switching system of claim 5 wherein said means for revising entries creates a plurality of sets of said routing data, each of said sets of said routing data representative of a state of said client-server system, and writes a selected one of said sets of said routing data into said means for storing in response to said client-server system attaining said state.
Claim 9
Dependent Claim 51 words
The dynamic server switching system of claim 1 further comprising: means for maintaining at least one server as an unused spare server; means, responsive to a one of said primary servers being unavailable to said clients, for activating said spare server to serve requests in place of said unavailable primary server.
Claim 10
Dependent Claim 25 words
The dynamic server switching system of claim 1 wherein said means for storing routing data comprises a communication interface located within each of said clients.
Claim 11
Dependent Claim 34 words
The dynamic server switching system of claim 9 wherein said means for storing routing data additionally stores communication method data indicative of a communication protocol utilized in said communication interface located in said client.
Claim 12
Dependent Claim 272 words
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.
Claim 13
Dependent Claim 272 words
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.
Claim 14
Dependent Claim 68 words
The dynamic server switching system of claim 11 further comprising: means, responsive to said client process directing service requests to said identified alternate library access module, for retrying said primary library access module on a periodic basis; and means, responsive to said primary library access module responding to a retry service request, for directing newly generated service requests from said client process to said primary library access module.
Claim 15
Dependent Claim 63 words
The dynamic server switching system of claim 11 further comprising: means for maintaining at least one library access module as an unused spare library access module; and means, responsive to a one of said primary library access modules being unavailable to said client processes, for activating said spare library access module to serve requests in place of said unavailable primary library access module.
Claim 16
Independent Claim 176 words
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.
Claim 17
Independent Claim 176 words
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.
Claim 18
Dependent Claim 31 words
The method of claim 14 further comprising the step of: retrying, in response to said client directing service requests to said identified alternate server, said primary server on a periodic basis.
Claim 19
Dependent Claim 34 words
The method of claim 14 further comprising the step of: directing, in response to said primary server responding to a retry service request, newly generated service requests from said client to said primary server.
Claim 20
Dependent Claim 23 words
The method of claim 14 further comprising the step of: revising entries in said stored routing data as a function of client-server activity.
Claim 21
Dependent Claim 62 words
The method of claim 17 wherein said step of revising entries creates a plurality of sets of said routing data, each of said sets of said routing data representative of a state of said client-server system and writes a selected one of said sets of said routing data into said means for storing in response to said client-server system attaining said state.
Claim 22
Dependent Claim 49 words
The method of claim 14 further comprising the steps of: maintaining at least one server as an unused spare server; and activating, in response to a one of said primary servers being unavailable to said clients, said spare server to serve requests in place of said unavailable primary server.
Claim 23
Dependent Claim 49 words
The dynamic server switching system of claim 14 wherein said memory for storing routing data is located in a communication interface located within each of said clients and said memory additionally stores communication method data indicative of a communication protocol utilized in said communication interface located in said client.
Claim 24
Independent Claim 278 words
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.
Claim 25
Independent Claim 278 words
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.
Claim 26
Dependent Claim 64 words
The method of claim 21 further comprising the steps of: retrying, in response to said client process directing service requests to said identified alternate library access module, said primary library access module on a periodic basis; and directing, in response to said primary library access module responding to a retry service request, service requests from said client process to said primary library access module.
Claim 27
Dependent Claim 60 words
The method of claim 21 further comprising the steps of: maintaining at least one library access module as an unused spare library access module; and activating, in response to a one of said primary library access modules being unavailable to said client processes, said spare library access module to serve requests in place of said unavailable primary library access module.

References Cited (Backward Citations)

US5119488A Cited
US5341477A Cited
US5522046A Cited
US5444693A Cited
US5535334A Cited
US5588151A Cited
US5581753A Cited
US5603029A Cited
US5630133A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-10-26 2002-04-27 2002-10-27 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-10-26 2006-04-27 2006-10-27 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-10-26 2010-04-27 2010-10-27 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag