← Back to Patent Explorer
US6052718A Expired / Lapsed US ⏱️ 0.0 years remaining

Replica routing

Assignee: Cisco Technology Inc
•
Filing: 1997-01-07
•
Granted: 2000-04-18
•
Expires: 2017-01-07
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present invention is a new method called replica routing that automatically directs client computers that request a service to a server replica for that service. The replica chosen by replica routing is the replica that is expected to provide the best performance to the client based upon the client's location in the internetwork topology and the estimated performance of the internetwork. In addition, the system and method is designed to permit new replicas to be flexibly added undue administrative overhead.

Inventors

  • 👤 David K. Gifford

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 21:40
CPC Classifications
H; H04; H04L; H04L67/00; H04L67/01; H04L67/10; H04L67/1001; H04L61/00; H04L61/09; H04L61/25; H04L61/2503; H04L61/256; H04L61/2567; H04L61/30; H04L63/00; H04L63/20; H04L67/1004; H04L67/101; H04L67/1012

Claims Analysis

Total Claims: 54
Claim 1
Independent Claim 283 words
An internetwork replica routing system comprising: a plurality of server replicas, at least one replica router, and at least one client computer interconnected by a communications internetwork; the client computer being programmed to cause a network request, including a source interwork address of the network request, to be transmitted over the communications internetwork; at least one replica router being programmed to receive the network request and the source internetwork address of the network request and to calculate a performance metric value for each of at least some of the server replicas that specifies estimated communication performance between the client computer and the server replica, based upon the client computer's location in the internetwork as evidenced by the source internetwork address of the network request, and based upon a replica routing database that contains performance metric information with respect to a plurality of IP address portions sufficient to make routing decisions based upon the network request, and being programmed to cause the client computer to be directed to at least one server replica that is estimated to provide good performance based upon the client computer's location in the internetwork, the replica router selecting the at least one server replica to which it causes the client computer to be directed based on the performance metric values of the server replicas as calculated by the replica router, the replica router further being programmed to update dynamically the replica routing database based on internetwork performance information periodically received by the replica router in the form of advertisements, wherein the period of updates may dynamically change; the server replica to which the client computer is directed being programmed to respond to the network request from the client computer.
Claim 2
Dependent Claim 283 words
An internetwork replica routing system comprising: a plurality of server replicas, at least one replica router, and at least one client computer interconnected by a communications internetwork; the client computer being programmed to cause a network request, including a source interwork address of the network request, to be transmitted over the communications internetwork; at least one replica router being programmed to receive the network request and the source internetwork address of the network request and to calculate a performance metric value for each of at least some of the server replicas that specifies estimated communication performance between the client computer and the server replica, based upon the client computer's location in the internetwork as evidenced by the source internetwork address of the network request, and based upon a replica routing database that contains performance metric information with respect to a plurality of IP address portions sufficient to make routing decisions based upon the network request, and being programmed to cause the client computer to be directed to at least one server replica that is estimated to provide good performance based upon the client computer's location in the internetwork, the replica router selecting the at least one server replica to which it causes the client computer to be directed based on the performance metric values of the server replicas as calculated by the replica router, the replica router further being programmed to update dynamically the replica routing database based on internetwork performance information periodically received by the replica router in the form of advertisements, wherein the period of updates may dynamically change; the server replica to which the client computer is directed being programmed to respond to the network request from the client computer.
Claim 3
Dependent Claim 56 words
The system of claim 1 wherein: the server replicas are programmed to cause server replica advertisements to be sent to the replica router, the advertisements containing internetwork performance information from which the replica router can calculate the performance metric value; and the replica router is programmed to maintain a database computed from the server replica advertisements.
Claim 4
Dependent Claim 405 words
An internetwork replica routing system comprising: a plurality of server replicas, at least one replica router, and at least one client computer interconnected by a communications internetwork; the client computer being programmed to cause a network request, including a source internetwork address of the network request, to be transmitted over the communications internetwork; at least one replica router being programmed to receive the network request and the source internetwork address of the network request and to calculate a performance metric value for each of at least some of the server replicas that specifies estimated communication performance between the client computer and the server replica, based upon the client computer's location in the internetwork as evidenced by the source internetwork address of the network request, and based upon a replica routing database, and being programmed to cause the client computer to be directed to at least one server replica that is estimated to provide good performance based upon the client computer's location in the internetwork, the replica router selecting the at least one server replica to which it causes the client computer to be directed based on the performance metric values of the server replicas as calculated by the replica router, the replica router further being programmed to update dynamically the replica routing database based on internetwork performance information periodically received by the replica router, wherein the period of updates may dynamically change, the server replica to which the client computer is directed being programmed to respond to a network request from the client computer; the server replicas being programmed to cause server replica advertisements to be sent to the replica router, the advertisements containing internetwork performance information from which the replica router can calculate the performance metric value; the replica router being programmed to maintain a database computed from the server replica advertisements; wherein each of the replica advertisements contains the actual source IP address of the server replica that caused it to be sent, and at least one replica router is programmed to match source IP addresses accompanying the replica advertisements to the actual source IP address contained in the replica advertisements to determine whether any of the server replicas are located behind firewalls, and to select a server replica or another replica router to which it causes the client computer to be directed based on whether the client computer is located behind a common firewall with the server replica or another replica router.
Claim 5
Dependent Claim 405 words
An internetwork replica routing system comprising: a plurality of server replicas, at least one replica router, and at least one client computer interconnected by a communications internetwork; the client computer being programmed to cause a network request, including a source internetwork address of the network request, to be transmitted over the communications internetwork; at least one replica router being programmed to receive the network request and the source internetwork address of the network request and to calculate a performance metric value for each of at least some of the server replicas that specifies estimated communication performance between the client computer and the server replica, based upon the client computer's location in the internetwork as evidenced by the source internetwork address of the network request, and based upon a replica routing database, and being programmed to cause the client computer to be directed to at least one server replica that is estimated to provide good performance based upon the client computer's location in the internetwork, the replica router selecting the at least one server replica to which it causes the client computer to be directed based on the performance metric values of the server replicas as calculated by the replica router, the replica router further being programmed to update dynamically the replica routing database based on internetwork performance information periodically received by the replica router, wherein the period of updates may dynamically change, the server replica to which the client computer is directed being programmed to respond to a network request from the client computer; the server replicas being programmed to cause server replica advertisements to be sent to the replica router, the advertisements containing internetwork performance information from which the replica router can calculate the performance metric value; the replica router being programmed to maintain a database computed from the server replica advertisements; wherein each of the replica advertisements contains the actual source IP address of the server replica that caused it to be sent, and at least one replica router is programmed to match source IP addresses accompanying the replica advertisements to the actual source IP address contained in the replica advertisements to determine whether any of the server replicas are located behind firewalls, and to select a server replica or another replica router to which it causes the client computer to be directed based on whether the client computer is located behind a common firewall with the server replica or another replica router.
Claim 6
Dependent Claim 60 words
The system of claim 1 wherein: the server replicas are programmed to cause to be sent to the replica router a network performance table describing performance that can be expected between the server replica and certain network numbers; and the replica router is programmed to calculate the performance metric value for a server replica based upon the network performance table.
Claim 7
Dependent Claim 45 words
The system of claim 1 wherein the replica router is programmed to calculate the performance metric value of a server replica based upon the performance metric value of at least one network router located in a path from the client computer to the replica router.
Claim 8
Dependent Claim 41 words
The system of claim 1, wherein the client computer is programmed to cause the network request for access to the server replica to be sent to the replica router by multicasting or broadcasting the replica routing request over the communications internetwork.
Claim 9
Dependent Claim 65 words
The system of claim 1, wherein there are a plurality of replica routers arranged in a hierarchy, each of the replica routers being programmed to cause the client computer to be directed to a server replica that is estimated to provide good performance based upon the client computer's location in the internetwork by directing the client computer to a replica router lower in the hierarchy.
Claim 10
Dependent Claim 76 words
The system of claim 7 wherein: at least one the replica routers is programmed to cause a replica router advertisement to be sent to a replica router higher in the hierarchy, the replica router advertisement containing information from which the replica router higher in the hierarchy can cause the performance metric value to be calculated; and the replica router higher in the hierarchy is programmed to store the replica router advertisement in a database of advertisements.
Claim 11
Dependent Claim 422 words
An internetwork replica routing system comprising: a plurality of server replicas, a plurality of replica routers arranged in a hierarchy, and at least one client computer interconnected by a communications internetwork; the client computer being programmed to cause a network request, including a source internetwork address of the network request, to be transmitted over the communications internetwork; at least one of the replica routers being programmed to receive the network request and the source internetwork address of the network request and to calculate a performance metric value for each of at least some of the server replicas that specifies estimated communication performance between the client computer and the server replica, based upon the client computer's location in the internetwork as evidenced by the source internetwork address of the network request, and based upon a replica routing database, and being programmed to cause the client computer to be directed to at least one server replica that is estimated to provide good performance based upon the client computer's location in the internetwork, the replica router selecting the at least one server replica to which it causes the client computer to be directed based on the performance metric values of the server replicas as calculated by the replica router, the replica router further being programmed to update dynamically the replica routing database based on internetwork performance information periodically received by the replica router, wherein the period of updates may dynamically change, the server replica to which the client computer is directed being programmed to respond to a network request from the client computer; at least one of the replica routers being programmed to cause the client computer to be directed to a server replica that is estimated to provide good performance based upon the client computer's location in the internetwork by directing the client computer to a replica router lower in the hierarchy; at least one the replica routers being programmed to cause a replica router advertisement to be sent to a replica router higher in the hierarchy, the replica router advertisement containing information from which the replica router higher in the hierarchy can cause the performance metric value to be calculated; and the replica router higher in the hierarchy being programmed to store the replica router advertisement in a database of advertisements; wherein the replica router higher in the hierarchy is programmed to match the replica router advertisement to its actual source IP address to determine whether the replica router that caused the replica router advertisement to be sent is located behind a firewall.
Claim 12
Dependent Claim 422 words
An internetwork replica routing system comprising: a plurality of server replicas, a plurality of replica routers arranged in a hierarchy, and at least one client computer interconnected by a communications internetwork; the client computer being programmed to cause a network request, including a source internetwork address of the network request, to be transmitted over the communications internetwork; at least one of the replica routers being programmed to receive the network request and the source internetwork address of the network request and to calculate a performance metric value for each of at least some of the server replicas that specifies estimated communication performance between the client computer and the server replica, based upon the client computer's location in the internetwork as evidenced by the source internetwork address of the network request, and based upon a replica routing database, and being programmed to cause the client computer to be directed to at least one server replica that is estimated to provide good performance based upon the client computer's location in the internetwork, the replica router selecting the at least one server replica to which it causes the client computer to be directed based on the performance metric values of the server replicas as calculated by the replica router, the replica router further being programmed to update dynamically the replica routing database based on internetwork performance information periodically received by the replica router, wherein the period of updates may dynamically change, the server replica to which the client computer is directed being programmed to respond to a network request from the client computer; at least one of the replica routers being programmed to cause the client computer to be directed to a server replica that is estimated to provide good performance based upon the client computer's location in the internetwork by directing the client computer to a replica router lower in the hierarchy; at least one the replica routers being programmed to cause a replica router advertisement to be sent to a replica router higher in the hierarchy, the replica router advertisement containing information from which the replica router higher in the hierarchy can cause the performance metric value to be calculated; and the replica router higher in the hierarchy being programmed to store the replica router advertisement in a database of advertisements; wherein the replica router higher in the hierarchy is programmed to match the replica router advertisement to its actual source IP address to determine whether the replica router that caused the replica router advertisement to be sent is located behind a firewall.
Claim 13
Independent Claim 271 words
A method of replica routing in a communications internetwork comprising a plurality of server replicas, at least one replica router, and at least one client computer, comprising the steps of: at the client computer, causing a network request, including a source internetwork address of the network request, to be transmitted over the communications internetwork; receiving the network request, and the source internetwork address of the network request, at at least one replica router; calculating, at the replica router, a performance metric value for each of at least some of the server replicas that specifies estimated communication performance between the client computer and the server replica, based upon the client computer's location in the internetwork as evidenced by the source internetwork address of the network request, and based upon a replica routing database that contains performance metric information with respect to a plurality of IP address portions sufficient to make routing decisions based upon the network request; causing the client computer to be directed to at least one server replica that is estimated to provide good performance based upon the client computer's location in the internetwork, the at least one server replica to which the client computer is directed being selected based on the performance metric values of the server replicas as calculated by the replica router; updating dynamically, at the replica router, the replica routing database based on internetwork performance information periodically received by the replica router in the form of advertisements, wherein the period of updates may dynamically change; and responding, at the server replica to which the client computer is directed, to the network request from the client computer.
Claim 14
Independent Claim 271 words
A method of replica routing in a communications internetwork comprising a plurality of server replicas, at least one replica router, and at least one client computer, comprising the steps of: at the client computer, causing a network request, including a source internetwork address of the network request, to be transmitted over the communications internetwork; receiving the network request, and the source internetwork address of the network request, at at least one replica router; calculating, at the replica router, a performance metric value for each of at least some of the server replicas that specifies estimated communication performance between the client computer and the server replica, based upon the client computer's location in the internetwork as evidenced by the source internetwork address of the network request, and based upon a replica routing database that contains performance metric information with respect to a plurality of IP address portions sufficient to make routing decisions based upon the network request; causing the client computer to be directed to at least one server replica that is estimated to provide good performance based upon the client computer's location in the internetwork, the at least one server replica to which the client computer is directed being selected based on the performance metric values of the server replicas as calculated by the replica router; updating dynamically, at the replica router, the replica routing database based on internetwork performance information periodically received by the replica router in the form of advertisements, wherein the period of updates may dynamically change; and responding, at the server replica to which the client computer is directed, to the network request from the client computer.
Claim 15
Dependent Claim 55 words
The method of claim 10 further comprising the steps of: at the server replicas, causing server replica advertisements to be sent to the replica router, the advertisements containing internetwork performance information from which the replica router can calculate the performance metric values; and the replica router maintaining a database computed from the server replica advertisements.
Claim 16
Independent Claim 388 words
A method of replica routing in a communications internetwork comprising a plurality of server replicas, at least one replica router, and at least one client computer, comprising the steps of: at the client computer, causing a network request, including a source internetwork address of the network request, to be transmitted over the communications internetwork; receiving the network request, and the source internetwork address of the network request, at least one replica router; calculating, at the replica router, a performance metric value for each of at least some of the server replicas that specifies estimated communication performance between the client computer and the server replica, based upon the client computer's location in the internetwork as evidenced by the source internetwork address of the network request, and based upon a replica routing database; causing the client computer to be directed to at least one server replica that is estimated to provide good performance based upon the client computer's location in the internetwork, the at least one server replica to which the client computer is directed being selected based on the performance metric values of the server replicas as calculated by the replica router; updating dynamically, at the replica router, the replica routing database based on internetwork performance information periodically received by the replica router, wherein the period of updates may dynamically change; responding, at the server replica to which the client computer is directed, to the network request from the client computer; at the server replicas, causing server replica advertisements to be sent to the replica router, the advertisements containing internetwork performance information from which the replica router can calculate the performance metric values; and the replica router maintaining a database computed from the server replica advertisements; wherein each of the replica advertisements contains the actual source IP address of the server replica that caused it to be sent, and further comprising the step of matching, at the replica router, source IP addresses accompanying the replica advertisements to the actual source IP address contained in the replica advertisements to determine whether any of the server replicas are located behind firewalls, and to select a server replica or another replica router to which it causes the client computer to be directed based on whether the client computer is located behind a common firewall with the server replica or another replica router.
Claim 17
Independent Claim 388 words
A method of replica routing in a communications internetwork comprising a plurality of server replicas, at least one replica router, and at least one client computer, comprising the steps of: at the client computer, causing a network request, including a source internetwork address of the network request, to be transmitted over the communications internetwork; receiving the network request, and the source internetwork address of the network request, at least one replica router; calculating, at the replica router, a performance metric value for each of at least some of the server replicas that specifies estimated communication performance between the client computer and the server replica, based upon the client computer's location in the internetwork as evidenced by the source internetwork address of the network request, and based upon a replica routing database; causing the client computer to be directed to at least one server replica that is estimated to provide good performance based upon the client computer's location in the internetwork, the at least one server replica to which the client computer is directed being selected based on the performance metric values of the server replicas as calculated by the replica router; updating dynamically, at the replica router, the replica routing database based on internetwork performance information periodically received by the replica router, wherein the period of updates may dynamically change; responding, at the server replica to which the client computer is directed, to the network request from the client computer; at the server replicas, causing server replica advertisements to be sent to the replica router, the advertisements containing internetwork performance information from which the replica router can calculate the performance metric values; and the replica router maintaining a database computed from the server replica advertisements; wherein each of the replica advertisements contains the actual source IP address of the server replica that caused it to be sent, and further comprising the step of matching, at the replica router, source IP addresses accompanying the replica advertisements to the actual source IP address contained in the replica advertisements to determine whether any of the server replicas are located behind firewalls, and to select a server replica or another replica router to which it causes the client computer to be directed based on whether the client computer is located behind a common firewall with the server replica or another replica router.
Claim 18
Dependent Claim 56 words
The method of claim 10 further comprising the steps of: causing to be sent to the replica router a network performance table describing performance that can be expected between the client computer and certain network numbers; and calculating, at the replica router, the performance metric value for a server replica based upon the network performance table.
Claim 19
Dependent Claim 47 words
The method of claim 10 further comprising the step of calculating, at the replica router, the performance metric value of a server replica based upon the performance metric value of at least one network router located in a path from the client computer to the replica router.
Claim 20
Dependent Claim 43 words
The method of claim 10, further comprising the step of causing the network request for access to the server replica to be sent from the client computer to the replica router by multicasting or broadcasting the replica routing request over the communications internetwork.
Claim 21
Dependent Claim 72 words
The method of claim 10, wherein there are a plurality of replica routers arranged in a hierarchy, and the method further comprises the step of at least one of the replica routers causing the client computer to be directed to a server replica that is estimated to provide good performance based upon the client computer's location in the internetwork by directing the client computer to a replica router lower in the hierarchy.
Claim 22
Dependent Claim 74 words
The method of claim 16 further comprising the steps of: causing a replica router advertisement to be sent from one of the replica routers to a replica router higher in the hierarchy, the replica router advertisement containing information from which the replica router higher in the hierarchy can cause the performance metric value to be calculated; and the replica router higher in the hierarchy storing the replica router advertisement in a database of advertisements.
Claim 23
Independent Claim 366 words
A method of replica routing in a communications internetwork comprising a plurality of server replicas, a plurality of replica routers arranged in a hierarchy, and at least one client computer, comprising the steps of: at the client computer, causing a network request, including a source internetwork address of the network request, to be transmitted over the communications internetwork; receiving the network request, and the source internetwork address of the network request, at at least one replica router; calculating, at the replica router, a performance metric value for each of at least some of the server replicas that specifies estimated communication performance between the client computer and the server replica, based upon the client computer's location in the internetwork as evidenced by the source internetwork address of the network request, and based upon a replica routing database; the replica router causing the client computer to be directed to at least one server replica that is estimated to provide good performance based upon the client computer's location in the internetwork by directing the client computer to a replica router lower in the hierarchy, the at least one server replica to which the client computer is directed being selected based on the performance metric values of the server replicas as calculated by the replica router; updating dynamically, at the replica router, the replica routing database based on internetwork performance information periodically received by the replica router, wherein the period of updates may be dynamically change; and responding, at the server replica to which the client computer is directed, to the network request from the client computer; causing a replica router advertisement to be sent from one of the replica routers to a replica router higher in the hierarchy, the replica router advertisement containing information from which the replica router higher in the hierarchy can cause the performance metric value to be calculated; the replica router higher in the hierarchy storing the replica router advertisement in a database of advertisements; and matching, at the replica router higher in the hierarchy, the replica router advertisement to its actual source IP address to determine whether the replica router that caused the replica router advertisement to be sent is located behind a firewall.
Claim 24
Independent Claim 366 words
A method of replica routing in a communications internetwork comprising a plurality of server replicas, a plurality of replica routers arranged in a hierarchy, and at least one client computer, comprising the steps of: at the client computer, causing a network request, including a source internetwork address of the network request, to be transmitted over the communications internetwork; receiving the network request, and the source internetwork address of the network request, at at least one replica router; calculating, at the replica router, a performance metric value for each of at least some of the server replicas that specifies estimated communication performance between the client computer and the server replica, based upon the client computer's location in the internetwork as evidenced by the source internetwork address of the network request, and based upon a replica routing database; the replica router causing the client computer to be directed to at least one server replica that is estimated to provide good performance based upon the client computer's location in the internetwork by directing the client computer to a replica router lower in the hierarchy, the at least one server replica to which the client computer is directed being selected based on the performance metric values of the server replicas as calculated by the replica router; updating dynamically, at the replica router, the replica routing database based on internetwork performance information periodically received by the replica router, wherein the period of updates may be dynamically change; and responding, at the server replica to which the client computer is directed, to the network request from the client computer; causing a replica router advertisement to be sent from one of the replica routers to a replica router higher in the hierarchy, the replica router advertisement containing information from which the replica router higher in the hierarchy can cause the performance metric value to be calculated; the replica router higher in the hierarchy storing the replica router advertisement in a database of advertisements; and matching, at the replica router higher in the hierarchy, the replica router advertisement to its actual source IP address to determine whether the replica router that caused the replica router advertisement to be sent is located behind a firewall.
Claim 25
Dependent Claim 262 words
An internetwork replica routing system comprising: a plurality of server replicas, at least one replica router, and at least one client computer interconnected by a communications internetwork; at least one replica router being programmed to receive server replica advertisements, each of the advertisements containing at least one identifier of a network in the communications internetwork to be serviced by a server replica and internetwork performance information with respect to the network; the client computer being programmed to cause a network request, including a source internetwork address of the network request, to be transmitted over the communications internetwork; at least one replica router being programmed to maintain a database computed from the server replica advertisements, to receive the network request including the source internetwork address of the network request, and to cause the client computer to be directed to at least one of the server replicas based upon the relationship between the networks identified in the advertisements in the database and a network in which the client computer is located as evidenced by the source internetwork address of the network request, the replica router further being programmed to update dynamically the database based on server replica advertisements periodically received by the replica router in the form of advertisements, wherein the period of updates may dynamically change, the database containing performance metric information with respect to a plurality of IP address portions sufficient to make routing decisions based upon the network request; the server replica to which the client computer is directed being programmed to respond to the network request from the client computer.
Claim 26
Dependent Claim 262 words
An internetwork replica routing system comprising: a plurality of server replicas, at least one replica router, and at least one client computer interconnected by a communications internetwork; at least one replica router being programmed to receive server replica advertisements, each of the advertisements containing at least one identifier of a network in the communications internetwork to be serviced by a server replica and internetwork performance information with respect to the network; the client computer being programmed to cause a network request, including a source internetwork address of the network request, to be transmitted over the communications internetwork; at least one replica router being programmed to maintain a database computed from the server replica advertisements, to receive the network request including the source internetwork address of the network request, and to cause the client computer to be directed to at least one of the server replicas based upon the relationship between the networks identified in the advertisements in the database and a network in which the client computer is located as evidenced by the source internetwork address of the network request, the replica router further being programmed to update dynamically the database based on server replica advertisements periodically received by the replica router in the form of advertisements, wherein the period of updates may dynamically change, the database containing performance metric information with respect to a plurality of IP address portions sufficient to make routing decisions based upon the network request; the server replica to which the client computer is directed being programmed to respond to the network request from the client computer.
Claim 27
Independent Claim 249 words
A method of replica routing in a communications internetwork comprising a plurality of server replicas, at least one replica router, and at least one client computer, comprising the steps of: causing server replica advertisements to be sent to the replica router, each of the advertisements containing at least one identifier of a network in the communications internetwork to be serviced by a server replica and internetwork performance information with respect to the network; at the client computer, causing a network request, including a source internetwork address of the network request, to be transmitted over the communications internetwork; the replica router maintaining a database computed from the server replica advertisements; receiving, at the replica router, the network request including the source internetwork address of the network request; causing the client computer to be directed to at least one of the server replicas based upon the relationship between the networks identified in the advertisements in the database and a network in which the client computer is located as evidenced by the source internetwork address of the network request; updating dynamically, at the replica router, the database based on server replica advertisements periodically received by the replica router, wherein the period of updates may dynamically change, the database containing performance metric information with respect to a plurality of IP address portions sufficient to make routine decisions based upon the network request; and responding, at the server replica to which the client computer is directed, to a network request from the client computer.
Claim 28
Independent Claim 249 words
A method of replica routing in a communications internetwork comprising a plurality of server replicas, at least one replica router, and at least one client computer, comprising the steps of: causing server replica advertisements to be sent to the replica router, each of the advertisements containing at least one identifier of a network in the communications internetwork to be serviced by a server replica and internetwork performance information with respect to the network; at the client computer, causing a network request, including a source internetwork address of the network request, to be transmitted over the communications internetwork; the replica router maintaining a database computed from the server replica advertisements; receiving, at the replica router, the network request including the source internetwork address of the network request; causing the client computer to be directed to at least one of the server replicas based upon the relationship between the networks identified in the advertisements in the database and a network in which the client computer is located as evidenced by the source internetwork address of the network request; updating dynamically, at the replica router, the database based on server replica advertisements periodically received by the replica router, wherein the period of updates may dynamically change, the database containing performance metric information with respect to a plurality of IP address portions sufficient to make routine decisions based upon the network request; and responding, at the server replica to which the client computer is directed, to a network request from the client computer.
Claim 29
Dependent Claim 34 words
The system of claim 1 wherein the replica router is programmed to receive the internetwork performance information as a consequence of at least one message transmitted between the server replicas and the replica router.
Claim 30
Dependent Claim 31 words
The method of claim 10 wherein the replica router receives the internetwork performance information as a consequence of at least one message transmitted between the server replicas and the replica router.
Claim 31
Dependent Claim 215 words
An internetwork replica routing system comprising: a plurality of server replicas, at least one replica router, and at least one client computer interconnected by a communications internetwork; the client computer being programmed to cause a network request, including a source internetwork address of the network request, to be transmitted over the communications internetwork; the replica router being programmed to receive the network request including the source internetwork address of the network request, and to calculate a performance metric value for each of at least some of the server replicas that specifies estimated communication performance between the client computer and the server replica based upon a replica routing database that contains performance metric information with respect to a plurality of IP address portions sufficient to make routing decisions based upon the network request, and to cause identification of a plurality of server replicas that are estimated to provide good performance to be sent to the client computer; the client computer being programmed to perform empirical performance experiments to choose one of the plurality of server replicas, estimated by the replica router to provide good performance, from which to access information; the server replica identified by the replica router and chosen by the client computer being programmed to respond to a network request from the client computer.
Claim 32
Dependent Claim 215 words
An internetwork replica routing system comprising: a plurality of server replicas, at least one replica router, and at least one client computer interconnected by a communications internetwork; the client computer being programmed to cause a network request, including a source internetwork address of the network request, to be transmitted over the communications internetwork; the replica router being programmed to receive the network request including the source internetwork address of the network request, and to calculate a performance metric value for each of at least some of the server replicas that specifies estimated communication performance between the client computer and the server replica based upon a replica routing database that contains performance metric information with respect to a plurality of IP address portions sufficient to make routing decisions based upon the network request, and to cause identification of a plurality of server replicas that are estimated to provide good performance to be sent to the client computer; the client computer being programmed to perform empirical performance experiments to choose one of the plurality of server replicas, estimated by the replica router to provide good performance, from which to access information; the server replica identified by the replica router and chosen by the client computer being programmed to respond to a network request from the client computer.
Claim 33
Independent Claim 208 words
A method of replica routing in a communications internetwork comprising a plurality of server replicas, at least one replica router, and at least one client computer, comprising the steps of: at the client computer, causing a network request, including a source internetwork address of the network request, to be transmitted over the communications internetwork; at the replica router, receiving the network request including the source internetwork address of the network request, and calculating a performance metric value for each of at least some of the server replicas that specifies estimated communication performance between the client computer and the server replica based upon a replica routing database that contains performance metric information with respect to a plurality of IP address portions sufficient to make routing decisions based upon the network request, and causing identification of a plurality of server replicas that are estimated to provide good performance to be sent to the client computer; at the client computer, performing empirical performance experiments to choose one of the plurality of server replicas, estimated by the replica router to provide good performance, from which to access information; at the server replica identified by the replica router and chosen by the client computer, responding to the network request from the client computer.
Claim 34
Independent Claim 208 words
A method of replica routing in a communications internetwork comprising a plurality of server replicas, at least one replica router, and at least one client computer, comprising the steps of: at the client computer, causing a network request, including a source internetwork address of the network request, to be transmitted over the communications internetwork; at the replica router, receiving the network request including the source internetwork address of the network request, and calculating a performance metric value for each of at least some of the server replicas that specifies estimated communication performance between the client computer and the server replica based upon a replica routing database that contains performance metric information with respect to a plurality of IP address portions sufficient to make routing decisions based upon the network request, and causing identification of a plurality of server replicas that are estimated to provide good performance to be sent to the client computer; at the client computer, performing empirical performance experiments to choose one of the plurality of server replicas, estimated by the replica router to provide good performance, from which to access information; at the server replica identified by the replica router and chosen by the client computer, responding to the network request from the client computer.
Claim 35
Dependent Claim 288 words
A computer program product comprising: a computer usable medium having computer readable program code tangibly embedded in said computer program product, the program code being configured to cause a replica router to: receive a network request, including a source internetwork address of the network request, the network request including the source internetwork address of the network request being transmitted over a communications internetwork of an internetwork replica routing system interconnecting at least one replica router, at least one client computer that causes the network request including the source internetwork address of the network request to be transmitted, and a plurality of server replicas programmed to respond to the network request from the client computer; calculate a performance metric value for each of at least some of the server replicas that specifies estimated communication performance between the client computer and the server replica, based upon the client computer's location in the internetwork as evidenced by the source internetwork address of the network request, based upon a replica routing database that contains performance metric information with respect to a plurality of IP address portions sufficient to make routing decisions based upon the network request; cause the client computer to be directed to at least one server replica that is estimated to provide good performance based upon the client computer's location in the internetwork, the replica router selecting the at least one server replica to which it causes the client computer to be directed based on the performance metric values of the server replicas as calculated by the replica router; and update dynamically the replica routing database based on internetwork performance information periodically received by the replica router in the form of advertisements, wherein the period of updates may dynamically change.
Claim 36
Dependent Claim 288 words
A computer program product comprising: a computer usable medium having computer readable program code tangibly embedded in said computer program product, the program code being configured to cause a replica router to: receive a network request, including a source internetwork address of the network request, the network request including the source internetwork address of the network request being transmitted over a communications internetwork of an internetwork replica routing system interconnecting at least one replica router, at least one client computer that causes the network request including the source internetwork address of the network request to be transmitted, and a plurality of server replicas programmed to respond to the network request from the client computer; calculate a performance metric value for each of at least some of the server replicas that specifies estimated communication performance between the client computer and the server replica, based upon the client computer's location in the internetwork as evidenced by the source internetwork address of the network request, based upon a replica routing database that contains performance metric information with respect to a plurality of IP address portions sufficient to make routing decisions based upon the network request; cause the client computer to be directed to at least one server replica that is estimated to provide good performance based upon the client computer's location in the internetwork, the replica router selecting the at least one server replica to which it causes the client computer to be directed based on the performance metric values of the server replicas as calculated by the replica router; and update dynamically the replica routing database based on internetwork performance information periodically received by the replica router in the form of advertisements, wherein the period of updates may dynamically change.
Claim 37
Dependent Claim 258 words
A computer program product comprising: a computer usable medium having computer readable program code tangibly embedded in said computer program product, the program code being configured to cause a replica router to: receive a network request, including a source internetwork address of the network request, the network request including the source internetwork address of the network request being transmitted over a communications internetwork of an internetwork replica routing system interconnecting at least one replica router, at least one client computer that causes the network request including the source internetwork address of the network request to be transmitted, and a plurality of server replicas programmed to respond to a network request from the client computer; receive server replica advertisements, each of the advertisements containing at least one identifier of a network in the communications internetwork to be serviced by a server replica and internetwork performance information with respect to the network; maintain a database computed from the server replica advertisements; cause the client computer to be directed to at least one of the server replicas based upon the relationship between the networks identified in the advertisements in the database and a network in which the client computer is located as evidenced by the source internetwork address of the network request; and update dynamically the database based on server replica advertisements periodically received by the replica router, wherein the period of updates may dynamically change, the database containing performance metric information with respect to a plurality of IP address portions sufficient to make routing decisions based upon the network request.
Claim 38
Dependent Claim 258 words
A computer program product comprising: a computer usable medium having computer readable program code tangibly embedded in said computer program product, the program code being configured to cause a replica router to: receive a network request, including a source internetwork address of the network request, the network request including the source internetwork address of the network request being transmitted over a communications internetwork of an internetwork replica routing system interconnecting at least one replica router, at least one client computer that causes the network request including the source internetwork address of the network request to be transmitted, and a plurality of server replicas programmed to respond to a network request from the client computer; receive server replica advertisements, each of the advertisements containing at least one identifier of a network in the communications internetwork to be serviced by a server replica and internetwork performance information with respect to the network; maintain a database computed from the server replica advertisements; cause the client computer to be directed to at least one of the server replicas based upon the relationship between the networks identified in the advertisements in the database and a network in which the client computer is located as evidenced by the source internetwork address of the network request; and update dynamically the database based on server replica advertisements periodically received by the replica router, wherein the period of updates may dynamically change, the database containing performance metric information with respect to a plurality of IP address portions sufficient to make routing decisions based upon the network request.
Claim 39
Dependent Claim 299 words
A computer program product comprising: a computer usable medium having computer readable program code tangibly embedded in said computer program product, the program code being configured to cause a server replica to cause server replica advertisements to be sent to a replica router over a communications internetwork of an internetwork replica routing system interconnecting a plurality of server replicas, at least one client computer, and at least one replica router, each of the advertisements containing at least one identifier of a network in the communications internetwork to be serviced by the server replica and internetwork performance information with respect to the network; the client computer causing a network request for access to a server replica and a source internetwork address of the network request to be transmitted over the communications internetwork, and the replica router receiving the network request and the internetwork address; and the program code being configured to cause the server replica to respond to a network request, the network request including a source internetwork address of the network request being caused to be transmitted over the communications internetwork by the client computer and being received by the replica router, which maintains a database computed from the server replica advertisements, which causes the client computer to be directed to the server replica based upon the relationship between the networks identified in the advertisements in the database and a network in which the client computer is located as evidenced by the source internetwork address of the network request, and which updates dynamically the database based on server replica advertisements periodically received by the replica router, wherein the period of updates may dynamically change, the database containing performance metric information with respect to a plurality of IP address portions sufficient to make routing decisions based upon the network request.
Claim 40
Dependent Claim 299 words
A computer program product comprising: a computer usable medium having computer readable program code tangibly embedded in said computer program product, the program code being configured to cause a server replica to cause server replica advertisements to be sent to a replica router over a communications internetwork of an internetwork replica routing system interconnecting a plurality of server replicas, at least one client computer, and at least one replica router, each of the advertisements containing at least one identifier of a network in the communications internetwork to be serviced by the server replica and internetwork performance information with respect to the network; the client computer causing a network request for access to a server replica and a source internetwork address of the network request to be transmitted over the communications internetwork, and the replica router receiving the network request and the internetwork address; and the program code being configured to cause the server replica to respond to a network request, the network request including a source internetwork address of the network request being caused to be transmitted over the communications internetwork by the client computer and being received by the replica router, which maintains a database computed from the server replica advertisements, which causes the client computer to be directed to the server replica based upon the relationship between the networks identified in the advertisements in the database and a network in which the client computer is located as evidenced by the source internetwork address of the network request, and which updates dynamically the database based on server replica advertisements periodically received by the replica router, wherein the period of updates may dynamically change, the database containing performance metric information with respect to a plurality of IP address portions sufficient to make routing decisions based upon the network request.
Claim 41
Dependent Claim 216 words
A computer program product comprising: a computer usable medium having computer readable program code tangibly embedded in said computer program product, the program code being configured to cause a client computer to: cause a network request, including a source internetwork address of the network request, to be transmitted over a communications internetwork of an internetwork replica routing system interconnecting at least one client computer, a plurality of server replicas programmed to respond to a network request from the client computer, and at least one replica router that calculates a performance metric value for each of at least some of the server replicas that specifies estimated communication performance between the client computer and the server replica based upon a replica routing database that contains performance metric information with respect to a plurality of IP address portion sufficient to make routing decisions based upon the network request transmitted over the communications request, and that causes identification of a plurality of server replicas that are estimated to provide good performance to be sent to the client computer; and perform empirical performance experiments to choose one of the plurality of server replicas from which to access information and to cause the information to be accessed from the server replica identified by the replica router and chosen by the client computer.
Claim 42
Dependent Claim 216 words
A computer program product comprising: a computer usable medium having computer readable program code tangibly embedded in said computer program product, the program code being configured to cause a client computer to: cause a network request, including a source internetwork address of the network request, to be transmitted over a communications internetwork of an internetwork replica routing system interconnecting at least one client computer, a plurality of server replicas programmed to respond to a network request from the client computer, and at least one replica router that calculates a performance metric value for each of at least some of the server replicas that specifies estimated communication performance between the client computer and the server replica based upon a replica routing database that contains performance metric information with respect to a plurality of IP address portion sufficient to make routing decisions based upon the network request transmitted over the communications request, and that causes identification of a plurality of server replicas that are estimated to provide good performance to be sent to the client computer; and perform empirical performance experiments to choose one of the plurality of server replicas from which to access information and to cause the information to be accessed from the server replica identified by the replica router and chosen by the client computer.
Claim 43
Dependent Claim 50 words
The system of claim 9 wherein the replica router higher in the hierarchy is programmed to cause the performance metric value to be calculated by redirecting the client computer to a server replica or replica router that is in turn programmed to cause the performance metric value to be calculated.
Claim 44
Dependent Claim 289 words
An internetwork replica routing system comprising: a plurality of server replicas, at least one replica router, and at least one client computer interconnected by a communications internetwork; the client computer being programmed to cause a network request, including a source internetwork address of the network request, to be transmitted over the communications internetwork; at least one replica router being programmed to receive the network request including the source internetwork address of the network request and to select a server replica having a performance metric value better than at least some of the server replicas, the performance metric value being an estimate of communication performance between the client computer and the server replica, the replica router selecting the server replica based upon the client computer's location in the internetwork as evidenced by the source internetwork address of the network request, and based upon a replica routing database that contains a plurality of IP address portions sufficient to make routing decisions based upon the network request, the replica routing database being computed using performance metric information with respect to a plurality of IP address portions sufficient to make routing decisions based upon the network request, the replica router being programmed to cause the client computer to be directed to at least one server replica that is estimated to provide good performance based upon the client computer's location in the internetwork, the replica router further being programmed to update dynamically the replica routing database based on advertisements periodically received by the replica router, wherein the period of updates may dynamically change, the advertisements being computed based on internetwork performance information; the server replica to which the client computer is directed being programmed to respond to the network request from the client computer.
Claim 45
Dependent Claim 289 words
An internetwork replica routing system comprising: a plurality of server replicas, at least one replica router, and at least one client computer interconnected by a communications internetwork; the client computer being programmed to cause a network request, including a source internetwork address of the network request, to be transmitted over the communications internetwork; at least one replica router being programmed to receive the network request including the source internetwork address of the network request and to select a server replica having a performance metric value better than at least some of the server replicas, the performance metric value being an estimate of communication performance between the client computer and the server replica, the replica router selecting the server replica based upon the client computer's location in the internetwork as evidenced by the source internetwork address of the network request, and based upon a replica routing database that contains a plurality of IP address portions sufficient to make routing decisions based upon the network request, the replica routing database being computed using performance metric information with respect to a plurality of IP address portions sufficient to make routing decisions based upon the network request, the replica router being programmed to cause the client computer to be directed to at least one server replica that is estimated to provide good performance based upon the client computer's location in the internetwork, the replica router further being programmed to update dynamically the replica routing database based on advertisements periodically received by the replica router, wherein the period of updates may dynamically change, the advertisements being computed based on internetwork performance information; the server replica to which the client computer is directed being programmed to respond to the network request from the client computer.
Claim 46
Dependent Claim 282 words
An internetwork replica routing system comprising: a plurality of server replicas, at least one replica router, and at least one client computer interconnected by a communications internetwork; at least one replica router being programmed to receive server replica advertisements, each of the advertisements containing at least one identifier of a network in the communications internetwork to be serviced by a server replica, the advertisements being computed using internetwork performance information with respect to the network; the client computer being programmed to cause a network request, including a source internetwork address of the network request, to be transmitted over the communications internetwork; at least one replica router being programmed to maintain a database computed from the server replica advertisements, to receive the network request including the source internetwork address of the network request, and to cause the client computer to be directed to at least one of the server replicas based upon the relationship between the networks identified in the advertisements in the database and a network in which the client computer is located as evidenced by the source internetwork address of the network request, the replica router further being programmed to update dynamically the database based on server replica advertisements periodically received by the replica router, wherein the period of updates may dynamically change, the database containing a plurality of IP address portions sufficient to make routing decisions based upon the network request, the database being computed using performance metric information with respect to a plurality of IP address portions sufficient to make routing decisions based upon the network request; the server replica to which the client computer is directed being programmed to respond to the network request from the client computer.
Claim 47
Dependent Claim 282 words
An internetwork replica routing system comprising: a plurality of server replicas, at least one replica router, and at least one client computer interconnected by a communications internetwork; at least one replica router being programmed to receive server replica advertisements, each of the advertisements containing at least one identifier of a network in the communications internetwork to be serviced by a server replica, the advertisements being computed using internetwork performance information with respect to the network; the client computer being programmed to cause a network request, including a source internetwork address of the network request, to be transmitted over the communications internetwork; at least one replica router being programmed to maintain a database computed from the server replica advertisements, to receive the network request including the source internetwork address of the network request, and to cause the client computer to be directed to at least one of the server replicas based upon the relationship between the networks identified in the advertisements in the database and a network in which the client computer is located as evidenced by the source internetwork address of the network request, the replica router further being programmed to update dynamically the database based on server replica advertisements periodically received by the replica router, wherein the period of updates may dynamically change, the database containing a plurality of IP address portions sufficient to make routing decisions based upon the network request, the database being computed using performance metric information with respect to a plurality of IP address portions sufficient to make routing decisions based upon the network request; the server replica to which the client computer is directed being programmed to respond to the network request from the client computer.
Claim 48
Dependent Claim 38 words
The system of claim 30 wherein the server replica is programmed to store information that it subsequently causes to be provided to the client computer when the server replica reponds to a network request from the client computer.
Claim 49
Dependent Claim 36 words
The system of claim 30 wherein the replica routing database contains a plurality of IP address portions sufficient to make routing decisions based upon the source internetwork address of a network request from the client computer.
Claim 50
Dependent Claim 249 words
An internetwork replica routing system comprising: a plurality of server replicas, a plurality of replica routers, and at least one client computer interconnected by a communications internetwork; the client computer being programmed to cause a first network request, including a first internetwork source address, to be transmitted over the communications internetwork; a first replica router being programmed to receive the first network request including the first internetwork source address and to select a second replica router, and being programmed to cause a second network request including a second internetwork source address to be sent to the second replica router; the second replica router selecting at least one server replica that is estimated to provide good performance based upon the client computer's location in the internetwork as evidenced by the second internetwork source address, the second replica router selecting the at least one server replica to which it causes the client computer to be directed based upon a replica routing database, the replica routing database being computer using performance metric information with respect to a plurality of IP address portions sufficient to make routing decisions based upon the second network request, the second replica router further being programmed to update dynamically the replica routing database based on internetwork performance information periodically received by the second replica router, wherein the period of updates may dynamically change, the at least one server replica to which the client computer is directed being programmed to respond to a network request from the client computer.
Claim 51
Dependent Claim 249 words
An internetwork replica routing system comprising: a plurality of server replicas, a plurality of replica routers, and at least one client computer interconnected by a communications internetwork; the client computer being programmed to cause a first network request, including a first internetwork source address, to be transmitted over the communications internetwork; a first replica router being programmed to receive the first network request including the first internetwork source address and to select a second replica router, and being programmed to cause a second network request including a second internetwork source address to be sent to the second replica router; the second replica router selecting at least one server replica that is estimated to provide good performance based upon the client computer's location in the internetwork as evidenced by the second internetwork source address, the second replica router selecting the at least one server replica to which it causes the client computer to be directed based upon a replica routing database, the replica routing database being computer using performance metric information with respect to a plurality of IP address portions sufficient to make routing decisions based upon the second network request, the second replica router further being programmed to update dynamically the replica routing database based on internetwork performance information periodically received by the second replica router, wherein the period of updates may dynamically change, the at least one server replica to which the client computer is directed being programmed to respond to a network request from the client computer.
Claim 52
Dependent Claim 39 words
The system of claim 34 wherein the first replica router selects the second replica router based upon the first network request and based on the client computer's location in the internetwork as evidenced by the first internetwork source address.
Claim 53
Dependent Claim 31 words
The system of claim 35 where the first replica router selects the second replica router based upon another replica routing database computed using information from at least one BGP routing table.
Claim 54
Dependent Claim 54 words
The system of claim 34 wherein the second replica router causes an identification of a plurality of server replicas that are estimated to provide good performance to be sent to the client computer, and wherein the client computer is programmed to choose one of the plurality of server replicas from which to access information.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-04-18 2003-10-18 2004-04-18 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-04-18 2007-10-18 2008-04-18 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-04-18 2011-10-18 2012-04-18 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag