Claims
- 1. A method for managing a computer network connected to the Internet through a plurality of routes, comprising the steps of;
sending polling requests through a plurality of routes from a computer network to a remote server computer; receiving replies from the remote server computer corresponding to the polling requests and measuring proximities of the remote server computer to the computer network based on the received replies.
- 2. The method of claim 1 wherein the plurality of routes assign respective IP addresses to the computer network, and wherein said sending step designates a source IP address for each polling request corresponding to the route through which the polling request is sent.
- 3. The method of claim 1 wherein said polling requests are TCP/IP requests.
- 4. The method of claim 1 wherein said polling requests are UDP requests.
- 5. The method, of claim 1 wherein said polling requests are ping requests.
- 6. The method of claim 1 wherein said measuring step measures proximities based on the number of hops undergone by the received replies in travel from the remote server to the computer network.
- 7. The method of claim 1 wherein said measuring step measures proximities based on the number of hops undergone by the received replies in traveling a round trip from the computer network to the remote server and back to the computer network.
- 8. The method of claim 1 wherein said measuring step measures proximities based on the TTL. of the received replies in travelling from the remote server to the computer network.
- 9. The method of claim 1 wherein said measuring step measures proximities based on the TTL of the received replies in travelling a round trip from the computer network to the remote server and back from the remote server to the computer network.
- 10. The method of claim 1 wherein said measuring step measures proximities based on the latency of the received replies in travelling from the remote server to the computer network.
- 11. The method of claim 1 wherein said measuring step measures proximities based on the latency of the received replies in traveling a round trip from the computer network to the remote server and back from the remote server to the computer network.
- 12. The method of claim 1 further comprising the steps of:
rating the plurality of routes based on the measured proximities; and entering the ratings in a proximity table within a table entry indexed by an address related to the remote server computer.
- 13. The method of claim 12 wherein said rating step determines the best three choices for routes based on the measured proximities.
- 14. The method of claim 12 wherein the, address related to the remote server computer is a subnet IP address of the remote server computer.
- 15. A method for managing a computer network connected to the Internet through a plurality of routes, comprising the steps of:
receiving a request from a client within a computer network directed to a remote server computer, looking up a table entry within a proximity table indexed by an address related to the remote server computer, the tables entries of the proximity table containing ratings for a plurality of routes; and selecting one of the plurality of routes through which to route the client request, based on the ratings within the table entry looked up in the proximity table.
- 16. The method of claim 15 wherein the address related to the remote server is a subnet IP address of the remote server.
- 17. The method of claim 15 wherein the table entries contain the best three choices for routes through which to route the client request, and wherein said selecting step selects the best route, from among the best three choices for routes, that is available and not overloaded.
- 18. The method of claim 17 wherein said selecting step determines whether or not an route is overloaded based upon a user-configurable load threshold.
- 19. The method of claim 17 wherein said selecting step selects an route based on current load, in the event that all three of the best three choices for route are unavailable or overloaded.
- 20. The method of claim 15 wherein the plurality of routes assign respective IP addresses to the computer network, and wherein the method further comprises the step of setting the source IP address of the client request corresponding to the selected route.
- 21. The method of claim 20 wherein the computer network is a private network, visible externally through a network address translation.
- 22. The method of claim 21 further comprising the steps of:
receiving a response from the remote server directed to the source IP address designated for the client request; and translating the source IP address designated for the client address to the IP address for the client within the private network.
- 23. A network management system for managing a computer network connected to the Internet through a plurality of routes, comprising:
a network controller sending polling requests through a plurality of routes from a computer network to a remote server computer, and receiving replies from the remote server computer corresponding to the polling requests; and a proximity analyzer measuring proximities of the remote server computer to the computer network based on the replies.
- 24. The network management system of claim 23 wherein the plurality of routes assign respective IP addresses to the computer network and wherein said network controller designates a source IP address for each polling request corresponding to the route through which the polling request is sent.
- 25. The network management system of claim 23 wherein said polling requests are TCP/IP requests.
- 26. The network management system of claim 23 wherein said polling requests are UDP requests.
- 27. The network management system of claim 23 wherein said polling requests are ping requests.
- 28. The network management system of claim 23 wherein said proximity analyzer measures proximities based on the number of hops undergone by the received replies in travelling from the remote server to the computer network.
- 29. The network management system of claim 23 wherein said proximity analyzer measures proximities based on the number of hops undergone by the received replies in travelling a round trip from the computer network to the remote server and back to the computer network.
- 30. The network management system of claim 23 wherein said proximity analyzer measures proximities based on the TTL of the received replies in travelling from the remote server to the computer network
- 31. The network management system of claim 23 wherein said proximity analyzer measures proximities based on the TTL of the received replies in travelling a round trip from the computer network to the remote server and back to the computer network.
- 32. The network management system of claim 23 wherein said proximity analyze measures proximities based on the latency of the received replies in travelling from the remote server to the computer network.
- 33. The network management system of claim 23 wherein said proximity analyzer measures proximities based on the latency of the received replies in traveling a round trip from the computer network to the remote server and back to the computer network.
- 34. The network management system of claim 23 wherein said proximity analyzer rates the plurality of routes based on the measured proximities, the system further comprising a data manager entering the ratings in a proximity table within a table entry indexed by an address related to the remote server computer.
- 35. The network management system of claim 34 wherein said proximity analyzer determines the best three choices for routes based on the measured proximities.
- 36. The network management system of claim 34 wherein the address related to the remote server computer is a subnet IP address of the remote server computer.
- 37. A network management system for managing a computer network connected to the Internet through a plurality of routes, comprising:
a network controller receiving a client request from within a computer network directed to a remote server computer, and select one of a plurality of routes through which to route the client request; and a data manager looking up a table entry within a proximity table indexed by an address related to the remote server computer, the tables entries of the proximity table containing ratings for a plurality of routes, and wherein said network controller selects one of the plurality of routes based on the ratings within the table entry looked up in the proximity table.
- 38. The network management system of claim 37 wherein the address related to the remote server is a subnet IP address of the remote server.
- 39. The network management system of claim 37 wherein the table entries contain the best three choices for routes through which to route the client request, and wherein said network controller selects the best route, from among the best three choices for routes, that is available and not overloaded.
- 40. The network management system of claim 39 wherein said network controller determines whether or not a route is overloaded based upon a user configurable load threshold.
- 41. The network management system of claim 39 wherein said network controller selects a route based on current load, in the event that all three of the best three choices for route are unavailable or overloaded.
- 42. The network management system of claim 37 wherein the plurality of routes assign respective IP addresses to the computer network and wherein said network controller sets the source IP address of the client request corresponding to the selected route.
- 43. The network management system of claim 42 wherein the computer network is a private network, visible externally through a network address translation.
- 44. The network management system of claim 43 wherein said network controller receives a response from the remote server directed to the source IP address designated for the client request, the system further comprising a network address translator translating the source IP address designated for the client address to the IP address for the client within the private network.
- 45. A method for managing a computer network connected to the Internet through a plurality of routes, comprising the steps of:
receiving a DNS resolution query from a remote computer for a domain name within a computer network, sending poling requests through a plurality of routes from the computer network to the remote computer; receiving replies from the remote computer corresponding to the polling requests; and measuring proximities of the remote computer to the computer network based on the replies.
- 46. The method of claim 45 wherein the plurality of routes assign respective IP addresses to the computer network, and wherein said sending step designates a source IP address for each polling request corresponding to the route through which the polling request is sent.
- 47. The method of claim 45 wherein said polling requests are TCP/IP requests.
- 48. The method of claim 45 wherein said polling requests are UDP requests.
- 49. The method of claim 45 wherein said polling requests are ping requests.
- 50. The method of claim 45 wherein said measuring step measures proximities based on the number of hops undergone by the received replies in travelling from the remote, server to the computer network.
- 51. The method of claim 45 wherein said measuring step measures proximities based on the TTL of the received replies in travelling from the remote server to the computer network
- 52. The method of claim 45 fisher comprising the steps of:
rating the plurality of routes based on the measured proximities; and entering the ratings in a proximity table within a table entry indexed by an address related to the remote server computer.
- 53. The method of claim 52 wherein said rating step determines the best three choices for routes based on the measured proximities.
- 54. The method of claim 52 wherein the address related to the remote server computer is a subnet IP address of the remote server computer
- 55. A method for managing a computer network connected to the Internet through a plurality of routes, comprising the steps of:
receiving a DNS resolution query from a remote computer for a domain name within a computer network; looking up a table entry within a proximity table indexed by an address related to the remote computer, the tables entries of the proximity table containing ratings for a plurality of routes; selecting one of the plurality of routes, based on the ratings within the table entry looked up in the proximity table; and responding to the DNS resolution query with an IP address associated with the selected one of the plurality of routes.
- 56. The method of claim 55 wherein the address related to the remote computer is a subnet IP address of the remote computer.
- 57. The method of claim 55 wherein the table entries contain the best three choices for routes through which to connect to the remote computer from within the computer network, and wherein said selecting step selects the best route, from among the best three choices for routes, that is available and not overloaded.
- 58. The method of claim 57 wherein said selecting step determines whether or not an route is overloaded based upon a user configurable load threshold.
- 59. The method of claim 57 wherein said selecting step selects an route based on current load, in the event that all three of the best three choices for route are unavailable or overloaded.
- 60. The method of claim 55 wherein the plurality of routes assign respective IP addresses to the computer network, and wherein said responding step designates an IP address corresponding to the selected route.
- 61. The method of claim 60 wherein said responding step designates an IP address of an internal server that supports the domain name in the DNS query
- 62. The method of claim 60 wherein the computer network is a private network, visible externally through a network address translation.
- 63. The method of claim 61 further comprising the steps of:
receiving a request having a destination IP address corresponding to the selected route; and translating the destination IP address to an IP address within the private network.
- 64. A network management system for managing a computer network connected to the Internet through a plurality of routes, comprising:
a network controller receiving a DNS resolution query from a remote computer for a domain name within a computer network, sending polling requests through a plurality of routes from the computer network to the remote computer, and receiving replies from the remote computer corresponding to the polling requests; and a proximity analyzer measuring proximities of the remote computer to the computer network via the plurality of routes, based on the replies.
- 65. The network management system of claim 64 wherein the plurality of routes assign respective IP addresses to the computer network, and wherein said network controller designates a source IP address for each polling request corresponding to the route through which the polling request is sent.
- 66. The network management system of claim 64 wherein said polling requests are TCP/IP requests.
- 67. The network management system of claim 64 wherein said polling requests are UDP requests.
- 68. The network management system of claim 64 wherein said polling requests are ping requests.
- 69. The network management system of claim 64 wherein said proximity analyzer measures proximities based on the number of hops undergone by the received replies in travelling from the remote server to the computer network.
- 70. The network management system of claim 64 wherein said proximity analyzer measures proximities based on the TTL of the received replies in travelling from the remote server to the computer network
- 71. The network management system of claim 64 wherein said proximity analyzer rates the plurality of routes based on the measured proximities, and enters the ratings in a proximity table within a table entry indexed by an address related to the remote server computer.
- 72. The network management system of claim 71 wherein said proximity analyzer determines the best three choices for routes based on the measured proximities.
- 73. The network management system of claim 71 wherein the address related to the remote server computer is a subnet IP address of the remote server computer.
- 74. A network management system for managing a computer network connected to the Internet through a plurality of routes, comprising:
a network controller receiving a DNS resolution query from a remote computer for a domain name within a computer network, selecting one of a plurality of routes, and responding to the DNS resolution query with an IP address associated with the selected route; and a data manager looking up a table entry within a proximity table indexed by an address related to the remote computer, the tables entries of the proximity table containing ratings for the plurality of routes, and said network controller selects an route based on ratings within the table entry looked up in the proximity table.
- 75. The network management system of claim 74 wherein the address related to the remote computer is a subnet IP address of the remote computer.
- 76. The network management system of claim 74 wherein the table entries contain the best three choices for routes through which to connect to the remote computer from within the computer network, and wherein said network controller selects the best route, from among the best three choices for routes, that is available and not overloaded.
- 77. The network management system of claim 76 wherein said network controller determines whether or not a route is overloaded based upon a user-configurable load threshold.
- 78. The network management system of claim 75 wherein said network controller selects a route based on current load, in the event that all three of the best three choices for route are unavailable or overloaded.
- 79. The network management system of claim 74 wherein the plurality of routes assign respective IP addresses to the computer network, and wherein said network controller designates an IP address corresponding to the selected route.
- 80. The network management system of claim 79 wherein said network controller designates an IP address of an internal server that supports the domain name in the DNS query.
- 81. The network management system of claim 79 wherein the computer network is a private network, visible externally through a network address translation.
- 82. The network management system of claim 80 wherein said network controller receives a request having a destination IP address corresponding to the selected route; the system further comprising a network address translator translating the destination IP address to an IP address within the private network
- 83. A routing system for routing data via a network from a first node to a second node;
said network having a plurality of available routes from said first node to said second node; wherein said system comprises a route selector operable to select one of said routes for sending data between said first node and second node on the combined basis of content information of said data, an obtained quality level of the routes and proximity information.
- 84. A routing system for routing data via a network from a first node to a second node;
said network having a plurality of available routes from said first node to said second node; wherein said system comprises a route selector operable to select one of said routes or sending data between said first node and second node on the basis of costing information of said routes.
- 85. A routing system according to claim 83 and wherein said route selector is operable to select one of said routes for sending data between said first node and second node additionally on the basis of costing information of said routes,
- 86. A routing system according to claim 85 and wherein said route selector is operable to perform optimization between content information of said data and costing information of said routes, to select a route.
- 87. A routing system according to claim 83 wherein said route selector is operable to perform optimization additionally on the basis of delay time of said connection, to select a route.
- 88. A routing system according to claim 83 wherein said route selector is operable to perform optimization additionally on the basis of data packet loss of said connection, to select a route.
- 89. A routing system according to claim 84 wherein said route selector is operable to perform optimization additionally on the basis of delay time of said connection, to select a route.
- 90. A routing system according to claim 84 wherein said route selector is operable to perform optimization additionally on the basis of data packet loss of said connection, to select a route.
- 91. A routing system according to claim 85 wherein said route selector is operable to perform optimization additionally on the basis of delay time of said connection.
- 92. A routing system according to claim 83 wherein said route selector is operable to build a Decision Parameter Table comprising parameters of said routes.
- 93. A routing system according to claim 83 wherein a Destinations Table is built to summarize the connection data for each one of a plurality of possible destination nodes.
- 94. A routing system according to claim 83 and wherein a different Decision Parameter Table is said for each said respective content.
- 95. A routing system according to claim 91 and wherein said Decision Parameter Table comprises at least of one of a group of parameters comprising: Data packet content; Hops factor; Packet loss factor; Response time factor; and Path quality factor.
- 96. A routing system according to claim 95 and wherein a Decision Function Fcontent is defined for each path from said first node to said second node, based on said Decision Parameter Table.
- 97. A routing system according to claim 96 and wherein said Decision Fcontent is defined as:
Fcontent=F (Hops weighting factor *Hops Count factor, Response weighting factor*Response time factor; Path quality, weighting factor*Path quality factor; Packet loss weighting factor*Packet loss factor).
- 98. A routing system according to claim 97 and wherein said Hops weighting factor, Hops count factor, Response weighting factor, Response time actor, Path quality weighting factor, Path quality factor, Packet loss weighting factor, and Packet loss factor, are normalized for each path between said first node and said second node.
- 99. A routing system according to claim 98 and wherein said route selector is operable to decide on said path for routing said data packet from said first node to said second node based on said Decision Function.
- 100. A routing system according to claim 83 and wherein said network is the Internet.
- 101. A routing system according to claim 84 and wherein said network is the Internet.
- 102. A routing system according to claim 83 and wherein said network routes are provided by different Internet Service Providers.
- 103. A routing system according to claim 84 and wherein said network routes are provided by different Internet Service Providers.
- 104. A method for routing data by a content routing system from a first node to a second node via a network and comprising the steps of;
providing a plurality of available routes from said first node to said second node; and method of selecting one of said routes for sending data between said first node and second node on the basis of content information of said data
- 105. A method for routing data by a content rout system from a first node to a second node via a network and comprising the steps of;
providing a plurality of available routes from said first node to said second node; and a route selector selecting one of said routes for sending data between said first node and second node on the basis of costing information of said routes.
- 106. A method for routing data by a content routing system according to claim 104 selecting one of said routes for sending data between said first node and second node on the basis of costing information of said routes.
- 107. A method for routing data by a content routing system according to claim 106 further comprises the step of performing optimization between content information of said data and costing information of said routes.
- 108. A method for routing data by a content routing system according to claim 104 further comprises the step of performing optimization additionally on the basis of delay time of said connection.
- 109. A method for routing data by a content routing system according to claim 104 further comprises the step of performing optimization additionally on the data packet loss rate of said connection
- 110. A method for routing data by a content routing system according to claim 104 further comprises the step of performing optimization additionally on the basis of delay time and data packet loss rate of said connection.
- 111. A method for routing data by a content routing system according to claim 105 further comprises the step of performing optimization additionally on the basis of delay time of said connection.
- 112. A method for routing data by a content routing system according to claim 105 further comprises the step of performing optimization additionally on the data packet loss rate of said connection.
- 113. A method for routing data by a content routing system according to claim 105 further comprises the step of performing optimization additionally on the basis of delay time and data packet loss rate of said connection.
- 114. A method for routing data by a content routing system according to claim 106 further comprises the step of performing optimization additionally on the basis of delay time of said connection.
- 115. A method for routing data by at content routing system according to claim 106 further comprises the step of performing optimization additionally on the data packet loss rate of said connection.
- 116. A method for routing data by a content routing system according to claim 106 further comprises the. step of performing optimization additionally on the basis of delay time and data packet loss rate of said connection.
- 117. A method for calculating a path quality parameter for a network path between a first node and a second node, comprising the step of checking the availability of the path, the cost of the path connection, and the data packet loss rate of the path.
- 118. A routing system according to claim 83 and wherein the available routes possess a path quality factor Qi.
- 119. A content routing system according to claim 118 and wherein said path quality factor Qiis defined as being a function of the traffic load, packet loss, and link pricing.
- 120. A content routing system according to claim 119 and wherein the path quality factor Qi is dependent on the content of said data packet.
- 121. A content routing system according to claim 118 and wherein said path quality factor Qi is checked periodically.
- 122. The method of claim 7 wherein a Destinations Table is built based on said proximities.
REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation-in-part of assignee's pending application U.S. Ser. No. 09/115,643, filed on Jul. 15, 1998, and entitled “Load Balancing.”
Divisions (1)
|
Number |
Date |
Country |
Parent |
09467763 |
Dec 1999 |
US |
Child |
10449016 |
Jun 2003 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
09115643 |
Jul 1998 |
US |
Child |
09467763 |
Dec 1999 |
US |