CA2374621C - On-demand overlay routing for computer-based communication networks - Google Patents
On-demand overlay routing for computer-based communication networks Download PDFInfo
- Publication number
- CA2374621C CA2374621C CA002374621A CA2374621A CA2374621C CA 2374621 C CA2374621 C CA 2374621C CA 002374621 A CA002374621 A CA 002374621A CA 2374621 A CA2374621 A CA 2374621A CA 2374621 C CA2374621 C CA 2374621C
- Authority
- CA
- Canada
- Prior art keywords
- path
- message
- destination
- network
- source
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/121—Shortest path evaluation by minimising delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/124—Shortest path evaluation using a combination of metrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
Abstract
Methods and apparatus are disclosed for dynamically discovering and utilizing an optimized network path through overlay routing for the transmission of data. A determination whether to use a default network path or to instead use an alternate data forwarding path through one or more overlay nodes is based on real-time measurement of costs associated with the alternative paths, in response to a user request for transmission of message data to a destination on the network. Cost metrics include delay, throughput, jitter, loss, and security. The system chooses the best path among the default forwarding path and the multiple alternate forwarding paths, and implements appropriate control actions to force data transmission along the chosen path. No modification of established network communication protocols is required.
Description
ON-DEMAND OVERLAY ROUTING FOR
COMPUTER-BASED COMMUNICATION NETWORKS
Field of the Invention This invention relates to computer networks, and more specifically to a mechanism for finding improved communication paths through a heterogeneous computer network by means of an overlay network.
Background and Prior Art The Internet today consists of a collection of interconnected administrative domains. Each domain is under the control of one or more administrators who decide what hardware equipment to employ and what control software to run. This localized control of the administrative domains requires the coexistence of a number of disparate, heterogeneous systems. The basic communication protocol through which different domains communicate is IP (Internet Protocol). Each Internet data communication is translated into the delivery of a sequence of varving sized IP
protocol packets that travel across one or more administrative domains until they reach the final destination.
In IP, the sender of the data only specifies the destination address, whereas the network (the collection of hardware and software systems distributed through several administrative domains) chooses a forwarding path through which to route the IP
packets. Routing protocols cooperate across different administrative domains, and through a variety of different software and hardware techniques, to monitor the presence and/or the state of connections in the Internet. Because of the great size and heterogeneous nature of the Internet, and the complexity of the routing task, these routing protocols are typically minimalistic and tend to focus on guarantee of connection and minimizing routing hops rather than optimizing performance. The result, among other problems, is the familiar, frustrating user experience of protracted delay when attempting to access information through the World Wide Web, particularly during periods of heavy usage.
Many proposals to improve the utilization of the Internet exist and feature a wide variety of sophistication and/or response time in changing forwarding paths and thus providing the best routing performance. In practice, these proposals are hardly being used because it is very hard to coordinate their deployment into the Internet.
Inter-operation among different administrative domains is crucial and any change to the protocols affecting the forwarding paths may greatly affect the availability of connections. As a result, in practice the forwarding paths between endpoints are determined using very simplistic cost functions and/or heuristics and/or manual intervention. This scheme tends to greatly under-utilize the networks.
Depending on local configurations, when faults occur, previously chosen forwarding paths that experience a breakage will be followed for several minutes or hours until the fault is remedied or some manual forwarding path reconfiguration occurs.
Several companies, such as Inktomi (Traffic Server product, http://www.inktomi.com) and Akamai (FreeFlow product, http://w-~A~v.akamai.com) are currently offering and/or developing technology for improving Internet communications speeds by mechanisms which essentially replicate or cache copies of frequently-referenced Internet content, and strategically distribute such copies "closer" to the end-user clients who need the information. Such approaches are valuable, but are often limited or ineffective with respect to dynamically generated content (such as cgi-scripted web pages). Moreover, these approaches generally entail significant costs for using large-capacity computer servers to physically store extra copies of massive volumes of data, and for maintaining synchronization among the various repositories of frequently updated content.
What is needed is a mechanism enabling the selection of optimized network paths for the transmission of data, including dynamically generated data, without requiring any change whatsoever to firmly entrenched communication protocols like IP. Furthermore, preferably the mechanism should be essentially transparent to users of the network.
COMPUTER-BASED COMMUNICATION NETWORKS
Field of the Invention This invention relates to computer networks, and more specifically to a mechanism for finding improved communication paths through a heterogeneous computer network by means of an overlay network.
Background and Prior Art The Internet today consists of a collection of interconnected administrative domains. Each domain is under the control of one or more administrators who decide what hardware equipment to employ and what control software to run. This localized control of the administrative domains requires the coexistence of a number of disparate, heterogeneous systems. The basic communication protocol through which different domains communicate is IP (Internet Protocol). Each Internet data communication is translated into the delivery of a sequence of varving sized IP
protocol packets that travel across one or more administrative domains until they reach the final destination.
In IP, the sender of the data only specifies the destination address, whereas the network (the collection of hardware and software systems distributed through several administrative domains) chooses a forwarding path through which to route the IP
packets. Routing protocols cooperate across different administrative domains, and through a variety of different software and hardware techniques, to monitor the presence and/or the state of connections in the Internet. Because of the great size and heterogeneous nature of the Internet, and the complexity of the routing task, these routing protocols are typically minimalistic and tend to focus on guarantee of connection and minimizing routing hops rather than optimizing performance. The result, among other problems, is the familiar, frustrating user experience of protracted delay when attempting to access information through the World Wide Web, particularly during periods of heavy usage.
Many proposals to improve the utilization of the Internet exist and feature a wide variety of sophistication and/or response time in changing forwarding paths and thus providing the best routing performance. In practice, these proposals are hardly being used because it is very hard to coordinate their deployment into the Internet.
Inter-operation among different administrative domains is crucial and any change to the protocols affecting the forwarding paths may greatly affect the availability of connections. As a result, in practice the forwarding paths between endpoints are determined using very simplistic cost functions and/or heuristics and/or manual intervention. This scheme tends to greatly under-utilize the networks.
Depending on local configurations, when faults occur, previously chosen forwarding paths that experience a breakage will be followed for several minutes or hours until the fault is remedied or some manual forwarding path reconfiguration occurs.
Several companies, such as Inktomi (Traffic Server product, http://www.inktomi.com) and Akamai (FreeFlow product, http://w-~A~v.akamai.com) are currently offering and/or developing technology for improving Internet communications speeds by mechanisms which essentially replicate or cache copies of frequently-referenced Internet content, and strategically distribute such copies "closer" to the end-user clients who need the information. Such approaches are valuable, but are often limited or ineffective with respect to dynamically generated content (such as cgi-scripted web pages). Moreover, these approaches generally entail significant costs for using large-capacity computer servers to physically store extra copies of massive volumes of data, and for maintaining synchronization among the various repositories of frequently updated content.
What is needed is a mechanism enabling the selection of optimized network paths for the transmission of data, including dynamically generated data, without requiring any change whatsoever to firmly entrenched communication protocols like IP. Furthermore, preferably the mechanism should be essentially transparent to users of the network.
Summary of the Invention The present invention provides an on-demand method and system for discovering optimized paths for the transmission of data between source and destination points on a heterogeneous, computer-based communications network.
The invention further provides methods and apparatus for transmitting data along such optimized paths, in a transparent manner that does not require modification of existing communication protocols. The data to be transmitted can (but need not) include pages that are dynamically generated in response to an initial request received by the source from the destination, such as an http request to get a cgi-scripted web page.
Briefly, the present invention discloses steps and means, responsive to requests for transmission of data, for measuring a cost of communicating data from the source point to the destination point along a default path, the default path being derived by means of one or more existing routing mechanisms of the communications network. The invention further provides steps and means for measuring the costs of transmitting the message from the source to the destination along one or more non-default, alternative paths passing through a special group of intermediate nodes. In a preferred embodiment, those intermediate nodes are referred to as an "overlay network". An optimized path for sending the requested transmission is ultimately selected by comparing the default cost against the alternative costs.
Further, the present invention discloses steps and means for transmitting messages along an optimized non-default path passing through overlay nodes, including forwarding of the message from the source to a first one of the intermediate overlay nodes, and from a last one of the intermediate nodes to the destination, in a manner that does not require modification of existing network communication protocols. In a further embodiment, the invention includes steps and means for returning a reply to the transmitted message back along the optimized non-default path from the destination to the source.
The invention further provides methods and apparatus for transmitting data along such optimized paths, in a transparent manner that does not require modification of existing communication protocols. The data to be transmitted can (but need not) include pages that are dynamically generated in response to an initial request received by the source from the destination, such as an http request to get a cgi-scripted web page.
Briefly, the present invention discloses steps and means, responsive to requests for transmission of data, for measuring a cost of communicating data from the source point to the destination point along a default path, the default path being derived by means of one or more existing routing mechanisms of the communications network. The invention further provides steps and means for measuring the costs of transmitting the message from the source to the destination along one or more non-default, alternative paths passing through a special group of intermediate nodes. In a preferred embodiment, those intermediate nodes are referred to as an "overlay network". An optimized path for sending the requested transmission is ultimately selected by comparing the default cost against the alternative costs.
Further, the present invention discloses steps and means for transmitting messages along an optimized non-default path passing through overlay nodes, including forwarding of the message from the source to a first one of the intermediate overlay nodes, and from a last one of the intermediate nodes to the destination, in a manner that does not require modification of existing network communication protocols. In a further embodiment, the invention includes steps and means for returning a reply to the transmitted message back along the optimized non-default path from the destination to the source.
Note that whenever referring to "optimized" or "optimal" paths throughout this patent, we simply mean paths that are deemed preferable with respect to selected cost/performance criteria and with respect to a set of identified alternative paths. We are not speaking of global optimality.
In accordance with an illustrative embodiment of the invention, there is provided a method for determining an optimized path for transmitting a message from a source to a destination within a packet-switched computer-based communications network.
The method includes, in response to a request to transmit the message, measuring a cost from the source to the destination along a default path. The default path is derived by means of one or more existing routing mechanisms of the communications network. The method further includes measuring an alternative cost of transmitting the message from the source to the destination along at least one alternative path. The alternative path passes through one or more intermediate nodes not on the default path. The intermediate nodes define a virtual topology on top of the computer-based communications network. The method further includes determining the optimized path by comparing the default cost and the alternative cost.
In accordance with another illustrative embodiment of the invention, there is provided a method for determining an optimized path for transmitting a message from a source to a destination within a computer-based communications network having a static topology. The method includes, in response to a request to transmit the message, measuring a cost from the source to the destination along a default path. The default path is derived by means of one or more existing routing mechanisms of the communications network. The method further includes measuring an alternative cost of transmitting the message from the source to the destination along at least one alternative path. The alternative path passes through one or more intermediate nodes not on the default path. The intermediate nodes define a virtual topology on top of the computer-based communications network. The method further includes determining the optimized path by comparing the default cost and the alternative cost.
In accordance with another illustrative embodiment of the present invention, there is provided an overlay network apparatus for determining an optimized path for transmitting a message from a source to a destination within a packet-switched computer-based communications network. The communications network is characterized by one or more established communications protocols. The apparatus includes a set of one or more intermediate nodes. The intermediate nodes are operable to transmit and receive data in conformance with the established communications protocols. The apparatus also includes alternate path discovery means, responsive to a request for transmitting the message from the source to the destination, operable to discover an alternate path between the source and the destination passing through one or more of the intermediate nodes not on a default path. The default path is derived by means of one or more existing routing mechanisms of the communications network. The intermediate nodes define a virtual topology on top of the computer-based communications network. The apparatus also includes forwarding means for forwarding the message from the source to the destination by way of the alternative path, without requiring a modification of the established communications protocols.
In accordance with another illustrative embodiment of the invention, there is provided an apparatus for conducting an electronic commerce transaction between a first party and a second party. The first and second party are respectively connected to a computer-based communications network by way of a first network node and second network node.
The communications network is characterized by one or more established communications protocols.
The apparatus includes a set of one or more intermediate nodes. The intermediate nodes are operable to transmit and receive data in conformance with the established communications protocols. The apparatus also includes alternate path discovery means, responsive to a request to transmit a communication from the first network node to the second network node as a part of the electronic commerce transaction. The alternate path discovery means is operable to discover an alternate path between the first network node and the second network node passing through one or more of the intermediate nodes not on a default path. The default path is derived by means of one or more existing routing mechanisms of the communications network. The intermediate nodes define a virtual topology on top of the computer-based communications network. The apparatus also includes forwarding means for forwarding the message from the first network node to the second network node by way of the alternate path, without requiring a modification of the established communications protocols.
In accordance with another illustrative embodiment of the invention, there is provided a method for exchanging a message and a reply between a source and a destination within a computer-based communications network. The network includes one or more existing routing mechanisms for deriving a default path for communication between multiple points on the network. The method includes identifying one or more intermediate nodes that are not on the default path for communication between the source and the destination. The default path is derived by means of one or more existing routing mechanisms of the communications network.
The intermediate nodes define a virtual topology on top of the computer-based communications network. The method also includes transmitting the message from the source to a first one of the one or more intermediate nodes. The method further includes transmitting the message from a last one of the one or more intermediate nodes to the destination, and modifying source address information for the message so as to replace an identification of the source with an identification of the last intermediate node. The method further includes receiving, at the last intermediate node, the reply from the destination, transmitting the reply from the first intermediate node to the source. The message and the reply are exchanged between the source and the destination by way of a non-default communication path.
Other aspects and features of the present invention will become apparent to those ordinarily skilled in the art upon review of the following description of specific embodiments of the invention in conjunction with the accompanying figures.
Brief Description of the Drawings Figure 1 provides an architectural overview of an overlay network, in a preferred embodiment of the present invention, integrated with a heterogeneous client-server network such as the Internet.
Figure 2 diagrams the basic series of steps performed in a preferred embodiment of the present invention in order to discover an improved forwarding path for data transmission through one or more overlay nodes, and to transmit the data to its intended destination through the improved path.
Figure 3a graphically represents an example of overlay network topology, with full mesh connectivity.
Figure 3b graphical represents an example of overlay network topology, after pruning in accordance with a preferred embodiment of the present invention.
Figure 4a graphically represents the discovery of an optimized path through overlay nodes for transmitting network data from a source to a destination.
Figure 4b graphically represents the association of a cost with an optimized path through overlay nodes for transmitting network data from a source to a destination.
Figure 5 diagrams the steps performed in a preferred embodiment of the invention in order to transmit data along an optimized forwarding path through one or more overlay network nodes, without modification of existing network routing protocols.
Detailed Description of the Invention A. Overview A preferred embodiment of the present invention provides a mechanism for finding and using optimized paths for the transmission of data between source and destination points on a computer network such as the Intemet, for example, without requiring any modifications to existing communication protocols. The mechanism preferably combines an overlay routing mechanism with an on-demand routing mechanism, which may be very briefly summarized as follows:
1) An overlay network of altemate routing mechanisms is constructed on top of the existing Internet routing mechanisms to find and exploit available resources.
The overlay routing mechanism is completely transparent and separate from the Internet routing protocols and is preferably deployed throughout some small, but widely distributed, portion of the Intemet as a distributed user application. Figure exemplifies the concept. Nodes 100 and 160 are, respectively, source and destination nodes for an intended communication on a network such as the Internet. These nodes are connected to the underlying network via transmission links 110 and 170, respectively. Nodes 140a-n (connected to the underlying network via links 145a-n) represent other network nodes, and might potentially be nodes that are utilized in a default communication path between node 100 and node 160, depending on the routing mechanisms of the network. Overlay network nodes 130a-n utilize existing network transmission lines and infrastructure, via network links 135a-n, to create a virtual topology. The overlay network preferably includes a number of computing devices such as nodes 130a-n that cooperate to provide forwarding paths overlaid over an underlying network. Overlay network nodes preferably communicate using existing, established Internet protocols and thus do not require any modifications to current standards. Each overlay node 130 preferably includes overlay path module 150, and either the source or destination node similarly includes overlay path module 120; these components are programmed and operable to combine available IP
protocols in order to provide additional functionality for exploiting overlay routing when it is advantageous to do so, as described below in detail.
In accordance with an illustrative embodiment of the invention, there is provided a method for determining an optimized path for transmitting a message from a source to a destination within a packet-switched computer-based communications network.
The method includes, in response to a request to transmit the message, measuring a cost from the source to the destination along a default path. The default path is derived by means of one or more existing routing mechanisms of the communications network. The method further includes measuring an alternative cost of transmitting the message from the source to the destination along at least one alternative path. The alternative path passes through one or more intermediate nodes not on the default path. The intermediate nodes define a virtual topology on top of the computer-based communications network. The method further includes determining the optimized path by comparing the default cost and the alternative cost.
In accordance with another illustrative embodiment of the invention, there is provided a method for determining an optimized path for transmitting a message from a source to a destination within a computer-based communications network having a static topology. The method includes, in response to a request to transmit the message, measuring a cost from the source to the destination along a default path. The default path is derived by means of one or more existing routing mechanisms of the communications network. The method further includes measuring an alternative cost of transmitting the message from the source to the destination along at least one alternative path. The alternative path passes through one or more intermediate nodes not on the default path. The intermediate nodes define a virtual topology on top of the computer-based communications network. The method further includes determining the optimized path by comparing the default cost and the alternative cost.
In accordance with another illustrative embodiment of the present invention, there is provided an overlay network apparatus for determining an optimized path for transmitting a message from a source to a destination within a packet-switched computer-based communications network. The communications network is characterized by one or more established communications protocols. The apparatus includes a set of one or more intermediate nodes. The intermediate nodes are operable to transmit and receive data in conformance with the established communications protocols. The apparatus also includes alternate path discovery means, responsive to a request for transmitting the message from the source to the destination, operable to discover an alternate path between the source and the destination passing through one or more of the intermediate nodes not on a default path. The default path is derived by means of one or more existing routing mechanisms of the communications network. The intermediate nodes define a virtual topology on top of the computer-based communications network. The apparatus also includes forwarding means for forwarding the message from the source to the destination by way of the alternative path, without requiring a modification of the established communications protocols.
In accordance with another illustrative embodiment of the invention, there is provided an apparatus for conducting an electronic commerce transaction between a first party and a second party. The first and second party are respectively connected to a computer-based communications network by way of a first network node and second network node.
The communications network is characterized by one or more established communications protocols.
The apparatus includes a set of one or more intermediate nodes. The intermediate nodes are operable to transmit and receive data in conformance with the established communications protocols. The apparatus also includes alternate path discovery means, responsive to a request to transmit a communication from the first network node to the second network node as a part of the electronic commerce transaction. The alternate path discovery means is operable to discover an alternate path between the first network node and the second network node passing through one or more of the intermediate nodes not on a default path. The default path is derived by means of one or more existing routing mechanisms of the communications network. The intermediate nodes define a virtual topology on top of the computer-based communications network. The apparatus also includes forwarding means for forwarding the message from the first network node to the second network node by way of the alternate path, without requiring a modification of the established communications protocols.
In accordance with another illustrative embodiment of the invention, there is provided a method for exchanging a message and a reply between a source and a destination within a computer-based communications network. The network includes one or more existing routing mechanisms for deriving a default path for communication between multiple points on the network. The method includes identifying one or more intermediate nodes that are not on the default path for communication between the source and the destination. The default path is derived by means of one or more existing routing mechanisms of the communications network.
The intermediate nodes define a virtual topology on top of the computer-based communications network. The method also includes transmitting the message from the source to a first one of the one or more intermediate nodes. The method further includes transmitting the message from a last one of the one or more intermediate nodes to the destination, and modifying source address information for the message so as to replace an identification of the source with an identification of the last intermediate node. The method further includes receiving, at the last intermediate node, the reply from the destination, transmitting the reply from the first intermediate node to the source. The message and the reply are exchanged between the source and the destination by way of a non-default communication path.
Other aspects and features of the present invention will become apparent to those ordinarily skilled in the art upon review of the following description of specific embodiments of the invention in conjunction with the accompanying figures.
Brief Description of the Drawings Figure 1 provides an architectural overview of an overlay network, in a preferred embodiment of the present invention, integrated with a heterogeneous client-server network such as the Internet.
Figure 2 diagrams the basic series of steps performed in a preferred embodiment of the present invention in order to discover an improved forwarding path for data transmission through one or more overlay nodes, and to transmit the data to its intended destination through the improved path.
Figure 3a graphically represents an example of overlay network topology, with full mesh connectivity.
Figure 3b graphical represents an example of overlay network topology, after pruning in accordance with a preferred embodiment of the present invention.
Figure 4a graphically represents the discovery of an optimized path through overlay nodes for transmitting network data from a source to a destination.
Figure 4b graphically represents the association of a cost with an optimized path through overlay nodes for transmitting network data from a source to a destination.
Figure 5 diagrams the steps performed in a preferred embodiment of the invention in order to transmit data along an optimized forwarding path through one or more overlay network nodes, without modification of existing network routing protocols.
Detailed Description of the Invention A. Overview A preferred embodiment of the present invention provides a mechanism for finding and using optimized paths for the transmission of data between source and destination points on a computer network such as the Intemet, for example, without requiring any modifications to existing communication protocols. The mechanism preferably combines an overlay routing mechanism with an on-demand routing mechanism, which may be very briefly summarized as follows:
1) An overlay network of altemate routing mechanisms is constructed on top of the existing Internet routing mechanisms to find and exploit available resources.
The overlay routing mechanism is completely transparent and separate from the Internet routing protocols and is preferably deployed throughout some small, but widely distributed, portion of the Intemet as a distributed user application. Figure exemplifies the concept. Nodes 100 and 160 are, respectively, source and destination nodes for an intended communication on a network such as the Internet. These nodes are connected to the underlying network via transmission links 110 and 170, respectively. Nodes 140a-n (connected to the underlying network via links 145a-n) represent other network nodes, and might potentially be nodes that are utilized in a default communication path between node 100 and node 160, depending on the routing mechanisms of the network. Overlay network nodes 130a-n utilize existing network transmission lines and infrastructure, via network links 135a-n, to create a virtual topology. The overlay network preferably includes a number of computing devices such as nodes 130a-n that cooperate to provide forwarding paths overlaid over an underlying network. Overlay network nodes preferably communicate using existing, established Internet protocols and thus do not require any modifications to current standards. Each overlay node 130 preferably includes overlay path module 150, and either the source or destination node similarly includes overlay path module 120; these components are programmed and operable to combine available IP
protocols in order to provide additional functionality for exploiting overlay routing when it is advantageous to do so, as described below in detail.
In our preferred embodiment, the overlay network includes a set of ordinary computer systems (e.g., Pentium-based PC's) co-located at Internet sites such as major ISP
locations. These PC's each include overlay path modules 150 in the form of additional custom software modules, for purposes of the present invention, operable to measure and record connection cost information and optimal forwarding path information, as described in greater detail herein. The overlay network is a virtual network; in other words, although it uses new additional hardware (co-located boxes), it preferably uses the existing network and cabling infrastructure for all communications. Effectively, this overlay network provides a large set of alternate paths with measurable communication costs around the Internet. Clients can use these alternate paths if they are found to provide better service to their desired destinations than would a default path.
2) Alternate, improved forwarding paths through the overlay network nodes are discovered on demand. The process is outlined in the flow diagram of Figure 2.
In step 200, the pertinent process is initiated when a user who is connected to source "A"
(i.e., node 100 of Fig. 1) (either directly or indirectly as by way of a network gateway) requests communication of a message to destination B. In response, at step 210, if the threshold cost is exceeded by the default path for the requested communication, then at steps 220-225 (as described in more detail below) overlay path module 120 broadcasts queries which are received and processed by one or more of overlay nodes 130a-n; overlay path modules 150 cooperate to discover alternative paths through overlay nodes 130 and to measure the costs of such alternate paths. Measuring the cost of data transmission along a given path (per steps 210, 220) is generally performed using conventional techniques, depending on the cost metric to be measured. For example, connection delay time can easily be measured by "pinging"
the destination of interest from the source node of interest. At steps 230-235 these alternative paths are compared to the existing Internet route or previously chosen overlay routes.
3) If a new path is found through the overlay network nodes that has better performance than the default path, at steps 230 and 235, then at step 240 information describing this improved path is preferably sent to each of the overlay network nodes 130 that will be involved in the new path. At step 250, a preferred embodiment of our invention employs a mechanism to route packets through the new path in a transparent manner and without modification of any of the default Internet communication mechanisms. Preferably, a form of IP encapsulation is used, as described below in more detail. The default path is preferably used in step 260, in those cases where no new path is found through the overlay network nodes that has better performance than the default path.
The various processes and structures in a preferred embodiment of the present invention will now be discussed individually in greater detail.
B. On-Demand Discovery of Improved Overlay Forwarding Paths 1. Monitorin~
Our invention preferably provides on-demand routing, discovering and adding useful forwarding paths through the overlay network only when needed. This avoids having to pre-compute and record all possible forwarding paths in advance, and advantageously uses the default Internet routing mechanism for bootstrapping and default operations. More particularly, the preferred embodiment of our invention creates a new forwarding path from endpoint A to endpoint B only when: (1) an end-to-end communication is requested between A and B (per step 200 of Fig. 2), and (2) a path id discovered through the overlay routing network that provides better performance than the default Internet route (per steps 210-215 of Fig. 2).
Therefore, the discovery of an overlay forwarding path preferably starts with monitoring one or more cost/performance metrics of interest for the data communications that are carried out on the default Internet routing path. Such monitoring would most typically be performed at a gateway router or the source endpoint, node 100. Module 110 employs a predetermined cost function that combines the monitored metrics and detects end-to-end communications that do not meet specific predetermined requirements. For such communications, the detection process would extract from the monitoring operations (1) the source address A, (2) the destination address B and (3) the cost of the data communication from A to B.
locations. These PC's each include overlay path modules 150 in the form of additional custom software modules, for purposes of the present invention, operable to measure and record connection cost information and optimal forwarding path information, as described in greater detail herein. The overlay network is a virtual network; in other words, although it uses new additional hardware (co-located boxes), it preferably uses the existing network and cabling infrastructure for all communications. Effectively, this overlay network provides a large set of alternate paths with measurable communication costs around the Internet. Clients can use these alternate paths if they are found to provide better service to their desired destinations than would a default path.
2) Alternate, improved forwarding paths through the overlay network nodes are discovered on demand. The process is outlined in the flow diagram of Figure 2.
In step 200, the pertinent process is initiated when a user who is connected to source "A"
(i.e., node 100 of Fig. 1) (either directly or indirectly as by way of a network gateway) requests communication of a message to destination B. In response, at step 210, if the threshold cost is exceeded by the default path for the requested communication, then at steps 220-225 (as described in more detail below) overlay path module 120 broadcasts queries which are received and processed by one or more of overlay nodes 130a-n; overlay path modules 150 cooperate to discover alternative paths through overlay nodes 130 and to measure the costs of such alternate paths. Measuring the cost of data transmission along a given path (per steps 210, 220) is generally performed using conventional techniques, depending on the cost metric to be measured. For example, connection delay time can easily be measured by "pinging"
the destination of interest from the source node of interest. At steps 230-235 these alternative paths are compared to the existing Internet route or previously chosen overlay routes.
3) If a new path is found through the overlay network nodes that has better performance than the default path, at steps 230 and 235, then at step 240 information describing this improved path is preferably sent to each of the overlay network nodes 130 that will be involved in the new path. At step 250, a preferred embodiment of our invention employs a mechanism to route packets through the new path in a transparent manner and without modification of any of the default Internet communication mechanisms. Preferably, a form of IP encapsulation is used, as described below in more detail. The default path is preferably used in step 260, in those cases where no new path is found through the overlay network nodes that has better performance than the default path.
The various processes and structures in a preferred embodiment of the present invention will now be discussed individually in greater detail.
B. On-Demand Discovery of Improved Overlay Forwarding Paths 1. Monitorin~
Our invention preferably provides on-demand routing, discovering and adding useful forwarding paths through the overlay network only when needed. This avoids having to pre-compute and record all possible forwarding paths in advance, and advantageously uses the default Internet routing mechanism for bootstrapping and default operations. More particularly, the preferred embodiment of our invention creates a new forwarding path from endpoint A to endpoint B only when: (1) an end-to-end communication is requested between A and B (per step 200 of Fig. 2), and (2) a path id discovered through the overlay routing network that provides better performance than the default Internet route (per steps 210-215 of Fig. 2).
Therefore, the discovery of an overlay forwarding path preferably starts with monitoring one or more cost/performance metrics of interest for the data communications that are carried out on the default Internet routing path. Such monitoring would most typically be performed at a gateway router or the source endpoint, node 100. Module 110 employs a predetermined cost function that combines the monitored metrics and detects end-to-end communications that do not meet specific predetermined requirements. For such communications, the detection process would extract from the monitoring operations (1) the source address A, (2) the destination address B and (3) the cost of the data communication from A to B.
Computation of cost information is discussed further below. This information is then used in the process of on-demand forwarding path discovery, as discussed below.
2. Finding an Improved Path Source node 100 (as well as any of the routers on the default Internet forwarding path) can potentially discover end-to-end communications that do not meet specific requirements. In that event, in order to initiate steps 220-225, module 120 sends a query to the overlay network nodes 130 to determine if the overlay network is capable of offering a better forwarding path. The query is preferably sent to a specified number ("q") of the overlay network routers 130, depending on the configuration. In a relatively simple embodiment, each of the q forwarding path query messages preferably includes: (1) a destination address B, (2) a source address A, and (3) an identifier for a predefined cost function F. In the example illustrated in Fig. 1, source A is node 100, and destination B is node 160. Cost function F is preferably drawn from a set of network communication performance metrics such as delay, throughput, jitter or loss, in accordance with the practitioner's priorities and needs.
When each of the q overlay network nodes 130i receives a forwarding path query, it performs step 220 and measures the assigned cost function F with respect to communications transmitted to destination address B from overlay node, yielding the value F(B,i). F(B,i) is measured for a default network path from the ith overlay node to destination B. In this simple embodiment, the querying node's module 120 receives a single reply from each of the q overlay network routers queried. The querying node at any time during the reception of the replies may decide to pick a particular forwarding path and ignore any additional query replies. In order to pick an optimized forwarding path, the querying node's module 120 preferably combines the F(B) value in each reply with the cost function F(i,A) which measures the cost of communication to overlay node 130i from the querying node, once again along a default network path. As those of skill in the art will appreciate, the combining of cost functions may entail adding values (as where the cost metric is delay) or calculating the minimum value (as for bandwidth), or in general may involve a complex parameterized combination of the cost functions. In any case, at steps 235 module 120 preferably uses the computed total costs for the alternative overlay paths and for the default path to select an optimized path for communication between source node 100 (A) and destination node 160 (B).
2. Finding an Improved Path Source node 100 (as well as any of the routers on the default Internet forwarding path) can potentially discover end-to-end communications that do not meet specific requirements. In that event, in order to initiate steps 220-225, module 120 sends a query to the overlay network nodes 130 to determine if the overlay network is capable of offering a better forwarding path. The query is preferably sent to a specified number ("q") of the overlay network routers 130, depending on the configuration. In a relatively simple embodiment, each of the q forwarding path query messages preferably includes: (1) a destination address B, (2) a source address A, and (3) an identifier for a predefined cost function F. In the example illustrated in Fig. 1, source A is node 100, and destination B is node 160. Cost function F is preferably drawn from a set of network communication performance metrics such as delay, throughput, jitter or loss, in accordance with the practitioner's priorities and needs.
When each of the q overlay network nodes 130i receives a forwarding path query, it performs step 220 and measures the assigned cost function F with respect to communications transmitted to destination address B from overlay node, yielding the value F(B,i). F(B,i) is measured for a default network path from the ith overlay node to destination B. In this simple embodiment, the querying node's module 120 receives a single reply from each of the q overlay network routers queried. The querying node at any time during the reception of the replies may decide to pick a particular forwarding path and ignore any additional query replies. In order to pick an optimized forwarding path, the querying node's module 120 preferably combines the F(B) value in each reply with the cost function F(i,A) which measures the cost of communication to overlay node 130i from the querying node, once again along a default network path. As those of skill in the art will appreciate, the combining of cost functions may entail adding values (as where the cost metric is delay) or calculating the minimum value (as for bandwidth), or in general may involve a complex parameterized combination of the cost functions. In any case, at steps 235 module 120 preferably uses the computed total costs for the alternative overlay paths and for the default path to select an optimized path for communication between source node 100 (A) and destination node 160 (B).
3. Finding Improved Paths through Multiple Overlay Nodes In general, for an overlay network with multiple overlay nodes 130a-n, it may be useful to consider alternative overlay paths that pass through more than one overlay node ("multi-hop paths"). This section describes an alternative, preferred embodiment that includes discovery of multi-hop paths.
In principle, an overlay network is capable of logical complete connectivity (in other words, any overlay node can communicate with any other node) through the underlying default Internet routing mechanisms. However, for purposes of multi-hop path discovery, it is generally not computationally worthwhile attempting to exhaustively evaluate the set of all possible multi-hop paths. Therefore, in our preferred embodiment, a topological representation of overlay network connectivity is pruned so as to reduce the number of possible forwarding paths to other overlay nodes from any given overlay node to a fixed, relatively small number ("N"). For example, Figure 3a illustrates the initial topological representation for an overlay network consisting of 8 nodes with complete connectivity, while Figure 3b illustrates a pruned topology for the same overlay network, but this time with N = 2.
In this alternative preferred embodiment, each overlay node module 150 measures the cost of communication (via the underlying network's default communication paths) to all other overlay router nodes. For each of a given node 130i's neighbors, the cost functions L(j, i) measuring the cost of default communication from overlay node 130i to neighbor overlay node 130j are used for pruning and subsequently for route discovery. In the pruning process, each overlay network node 130i starts with the full connectivity mesh to all other overlay network nodes, and a set of costs L(j,i) associated with the links to each other overlay node 130j. The pruning operation preferably consists of two phases. In the first phase, direct links that are more expensive than indirect links are deleted. In the second phase, if there are still more than N direct links from any given overlay node, additional direct links with worst cost functions are pruned. At the end of these two phases each overlay network router has <=N direct link connections, thus satisfying the preferred constraint, and the resulting overall topology of the overlay network may or may not be fully connected. The resulting topology is then used in the subsequent process of alternate path discovery.
The forming of the initial topology and the determination of the final logical topology and associate link costs are preferably performed using the default Internet communication mechanisms. If the overlay nodes are connected to each other by means of specialized or enhanced communication mechanisms -- which is by no means required -- overlay link costs L(j,i) would be computed on that basis.
Step 225 in conjunction with step 220 of Fig. 2 correspond to the path discovery process in the multi-hop embodiment. In this embodiment, path queries are sent to the overlay network as previously described in the simplified embodiment, but such queries preferably further include a "time-to-live" field ("TTL') that is decremented each time a forwarding path query is received by a node. Just as in the simplified embodiment, at step 220 each overlay node receiving a path query computes a value F(B,i). In addition, however, if the TTL field is non-zero, each overlay node receiving such a query decrements the TTL field and forwards the query to all of its neighbors in the pruned representation of the overlay network logical topology (preferably at most N neighbors, as discussed above). Each such overlay node then replies to the querying node with its own measured F(B,i), and the set of costs L(i,j) for links to each of its topological neighbors.
In this multi-hop preferred embodiment, in order to compute and compare the relevant total costs for each of the possible overlay forwarding paths at steps 230-235, module 110 of the querying node combines all of the appropriate cost functions.
Thus, in the example of Figure 4a, the ultimate communication path of interest is between gateway node G (through which source node A accesses the network) and destination node B. The cost of the default network path from G to B is represented abstractly by node R, and shown to have total cost C(A,B). Fig. 4a also depicts a pruned topology representation for overlay network 400, as in Fig. 3b, with eight overlay nodes and a connectivity of N = 2. As indicated in Fig. 4a, in this example gateway node G sends a single path-discovery query to overlay node 01, and receives a total of three alternate overlay path replies. In Fig. 4b, one such alternate overlay path is the multi-hop forwarding path shown passing from gateway G to overlay node 01 to overlay node 02 and finally to destination B. In that example, the relevant total cost for the alternate overlay path is derived by combining F(O 1, G), L(02, 01), and F(B, 02).
C. Construction and Use of Overlay Forwarding Paths In the event that an overlay forwarding path is selected at steps 230-235 as the optimized path for sending the user's requested communication, a preferred embodiment of our invention combines existing Internet protocols in an manner that dynamically constructs forwarding paths through the overlay network.
Referring again to Figure 2, following the detection of an improved overlay forwarding path at steps 230 and 235, information describing the improved forwarding path is stored at step 240 by the originator of the path query (e.g., typically module 110 of source node 100) and by each of the overlay nodes involved in the improved path. The path information is preferably stored at each overlay node 130 in a table or the like, so that when given a specified destination endpoint, an overlay node on the forwarding path can retrieve the address of the next node on the non-default path to whom the message should be forwarded. In a preferred embodiment of our invention, this information may be deleted by the overlay nodes if no end-to-end communication happens between A and B for more than a predefined amount of time, or if the overlay forwarding path's performance is believed to become worse that the default Internet path -- or simply after some specified amount of time passes, so that subsequent communication requests will result in discovery and measurement of overlay paths based on the new, current state of the network.
Figure 5 provides a more detailed view of the method performed to transmit message data through a non-default overlay path (step 250 of Figure 2), in a preferred embodiment of the present invention. By way of background, message packets in accordance with protocols like the IP protocol generally include "source" and "destination" fields. The "destination" field is used by routing mechanisms in the nodes of the underlying communications network (e.g., the Internet) to forward packets toward their intended destination. In a preferred embodiment of the present invention, a technique called "encapsulation" is a primary mechanism by which our system effectively bypasses default Internet routing paths and utilizes optimized, alternative forwarding paths through overlay nodes. Encapsulation substitutes an original destination IP address with a different destination IP address, and records the original destination address in an encoded capsule.
For illustration, we will begin with a simple example, in which the message is one-way (no reply), and the altemative overlay path is a one-hop path (i.e., it goes through a single overlay node). In this example, the client at node 100 (or a client connected through gateway node 100 to the network) wishes to send a message on a network such as the Internet to destination node 160. In accordance with a preferred embodiment of the present invention, steps 210-240 are first perfotmed, to discover an optimized overlay path for communicating with 160. Suppose this process determines that, at the present moment, an optimized path for sending a message to 160 (better than the default network path, at any rate) is to send packets from 100 to overlay node 130a, and then to forward them from 130a to 160. In other words, the desired path strategy is to send packets from 100 to 130a using the default network path for 1004130a, and then forward those packets from 130a to 160 using the default network path for 130a4160. At step 250, this transmission is actually carried out, as detailed in Fig. 5. At step 500, overlay software 120 at node 100 addresses the packets to 130a, instead of 160, but also "encapsulates" or encodes the address of 160 in a predetennined format incorporated in the message. The message is then sent to overlay node 130a, at step 510, preferably by means of default network routing mechanisms. When 130a receives the packets, overlay software 150a decodes or de-encapsulates the encapsulated data, and finds the encoded "160" address. At step 520, module 150a of node 130a checks the overlay path infonnation stored earlier at step 240 to identify the next node on the overlay forwarding path. Because, in this example, there are no more overlay nodes on the forwarding path, software 150a proceeds to step 530, and restores the original message with its destination address reset to node 160. Again, because this example involves no reply message, software 150a proceeds to step 580 and simply forwards the packets on to their final destination at node 160. In this way, the original message gets from client (or gateway) 100 to destination node 160, along an optimized non-default path passing through overlay node 130a. This is accomplished without any need to modify the established communications protocols of the underlying network (e.g., IP), and without any modification (or even awareness) of destination node 160.
We next present a further example, involving a multi-hop overlay path; once again, the example treats a one-way communication. In this example, we assume that the process of steps 210-240 discovers an optimized path for transmitting messages from 100 to 160, passing through overlay nodes 130a and 130b. In other words, this time the desired path strategy is to send packets from 100 to 130a using the default network path for 1004130a, then forward those packets from 130a to 130b using the default network path for 130a4130b, and finally to forward those packets from 130b to 160 using the default network path for 130b4160. Once again, at step 500, overlay software 120 at node 100 addresses the packets to 130a, and encapsulates the address of 160. The message is then sent to overlay node 130a, at step 510.
When 130a receives the packets, overlay software 150a finds the encoded "160"
address, and at step 520, software 150a of node 130a checks the overlay path information stored earlier at step 240 and identifies overlay node 130b as the next node on the overlay forwarding path. Following the flow of Fig. 5, module 150a loops back to step 510 and forwards the message to overlay node 130b, where module 150b performs similar functionality. This time, at step 520, module 150b determines that there are no more overlay nodes on the forwarding path, and thereupon (at step 530) restores the original message with its destination address reset to node 160.
Because this example again involves no reply message, software 150b proceeds to step and forwards the packets on to their final destination at node 160. In this way, the original message gets from client (or gateway) 100 to destination node 160, along an optimized non-default path passing through overlay nodes 130a and 130b; and once again, this is accomplished without any need to modify the established communications protocols of the underlying network.
As a third example, we will now consider the case of a message that requests a return reply (such as an http request to get a file), once again in the context of the multi-hop forwarding path through overlay nodes 130a and 130b as in the previous example. In this scenario, our preferred embodiment operates in the same manner as in the previous example, until module 150b reaches step 535 and determines that the message does indeed request a return reply from the destination node 160.
Following the flow in Fig. 5, at step 540 module 150b "masquerades" source information for the packets. In our preferred embodiment, the last overlay node on a forwarding path performs the task of masquerading, in order to allow bi-directional use of the overlay forwarding path. In the absence of masquerading, the reply sent by node 160 to node 100 would normally follow a return path using default network routing. In general, masquerading replaces the source address of IP packets with the address of the node executing the masquerade, and records enough information locally so as to be able restore the original source address if and when a replay IP packet is returned. In a preferred embodiment and in the context of a network like the Internet, module 150 of a masquerading node locally stores the original source address and the port from which it sent the packet (a port uniquely identifies which connections a node has with any other network node). At step 550, overlay node 135b sends the masqueraded message to destination node160. If and when reply packets are sent from node 160, they will be addressed to overlay node 135b, because of the masqueraded source information. When the reply comes back on the appropriate port of node 135b, at step 570 module 150b retrieves the original source address for node 100 that was previously stored at step 540 -- which is the true intended destination of the reply message being handled -- and constructs a reply message encapsulating the intended destination address of node 100. Returning to step 510, module 150b forwards the encapsulated message to the next overlay node on an optimized path to node 100, by accessing path information previously stored at step 240 (in this case, the path information is of course just the inverse of the optimized overlay path for communications being sent from source 100 to destination 160).
In this manner, control and data packets exchanged between source and destination endpoints on a network are advantageously re-routed through an overlay network without any modification of the source or destination nodes (except for the addition of module 110 at the source), and without any modification of the established communication protocols for the underlying network. This transparency is a valuable benefit created by preferred embodiments of the present invention, because it increases the applicability of this approach as a practical solution for legacy network-based applications.
D. Cost Metrics, Applications There are many potential applications of this invention to practical problems of interest to companies, individuals, and other entities. Cost/performance metrics may be freely chosen as beneficial for desired applications. For example, preferable metrics include delay, throughput, jitter, and loss. Some sample applications will now be discussed.
1. Reliability Online trading is an Internet application that is assuming a very important role in today's global economy. Real-time trading requires uninterrupted access to the points of sale. A delay of a few minutes in carrying out an order can cost an online trader large amounts of money. In fact it can be argued that the trader with the best and most reliable Internet service will have a definite advantage over others. In this application of our invention we illustrate how dynamic on-demand overlay routing can allow routing around a failure that would otherwise cause the inability to sell or buy shares.
At present, all Internet routing protocols have a built-in mechanism to rebuild routing paths, and therefore ultimately allow detection and reaction to a network fault in appropriate ways. In the default case, a stock trader's ability to carry out orders in the presence of a link failure is dependent on the rerouting capability of its ISP and may greatly vary. Current routing practices typically require anywhere from a minimum of 45 seconds for a localized ad-hoc solution, to a maximum of several hours depending on the particular ISP. The fast, light-weight, on-demand routing capability made possible in accordance with the present invention can potentially reduce the time required for suitable re-routing to less than a few seconds.
In a preferred embodiment, when a stock trader pushes a button to enter a trade, the TCP
connection delay is passively measured by a rerouting daemon running on the trader's internal network. This measurement is performed with a timeout of 1 second. In case of a link failure the TCP connection measurement would timeout. Immediately after this measurement, our rerouting daemon sends a query to the overlay network specifying its measured connection time (1 second in case of a link failure).
If the overlay network is able to find an alternate route to the destination it will return the new route to the rerouting daemon within a few milliseconds. The new route is immediately installed on the stock trader's local network and any subsequent TCP
connection requests are forwarded through the newly discovered route rather than the faulty route. This rerouting mechanism has two major advantages for the stock trader:
(1) The reaction to finding a new route is reduced from minutes to less than two seconds and (2) the rerouting mechanism is entirely decoupled from his/her ISP
configuration and can be independently managed.
2. Bandwidth The diffusion of multimedia data through the Internet is likely to become much more prominent with the increase of bandwidth to the home. Current bandwidth availability is enough for audio transmission and some low quality video but in the near future, the increase in bandwidth will allow the transmission of full motion video. In addition to the increase of raw bandwidth Quality of Service Routing and other resource allocation protocols (such as RSVP) will allow user applications to acquire a predictable amount of bandwidth in order to guarantee an adequate level of service. The transition of the Internet to using these new protocols is likely to be problematic and diffused over several years.
In this domain, the present invention enables the addition of an additional layer of control on top of the QOS service provided by Internet standards. In this application the overlay network's function is to oversee the resulting performance of the system and its protocols. In this case one can think of an overlay system in accordance with the present invention as a fall-back when the default Internet mechanism does not deliver the necessary quality of service. An overlay routing system in accordance with the present invention can be used to find paths that offer better bandwidth than those provided by the default Internet protocols (either current or future).
In this application the end system which is receiving the video can passively monitor the quality of the video being received. A rerouting daemon running on the local network of the user detects that the video quality is poor by measuring the average bit rate consumed by the reception of the video. When the bit rate falls below a certain threshold the routing daemon can query the overlay network for a better path.
The overlay network measures the available bit rates that are available through alternate paths and returns the appropriate overlay-fonvarding path to the user (if any). The overlay nodes measure the available bit rate of the alternate paths by requesting a video from the video source and measuring the quality of the link. Such requests will be performed using the default Internet protocols and thus do not need to be described here. The overlay nodes requesting the video should be configured to possess the same credentials of the user on whose behalf the rerouting is attempted. In addition to measuring the effective throughput from the video source, the overlay nodes also measure, through the transmission of test packets, the quality of the overlay links to the user. If an overlay forwarding path with better total bandwidth is found, the routing daemon is notified and the video reception is rerouted through the overlay network. In this transition loss of synchronization may occur and the user may experience discontinuity in the viewing; this drawback needs to be considered in allowing the rerouting only when the discomfort of the signal degradation due to loss of bandwidth can be considered greater than the resynchronization discontinuity.
3. Delay Hyperspace is bringing people together in ways that were unimaginable a few years ago. The many-to-many communication paradigm made possible by the Internet is creating a revolution in how people communicate, do business and spend their leisure time. In many of these revolutionary applications one gets the illusion of interacting with a community of other users in near real-time. As an example of how our system can be used in this context, we describe a video game application in which a user participates in a video game over the Internet. In this application lowering the transmission delay can enhance the quality of the game. In addition, if the game is played by several individuals located at different locations on the Internet, lower delay may also provide an advantage in playing the game because of a faster response time.
A preferred embodiment of the present invention can find overlay forwarding paths that reduce the total transmission delay. In this type of application the measurement of the quality of the end-to-end default-forwarding path is actively carried out. This type of application would most likely run over UDP, which lacks control-signaling messages that can be used to passively measure round trip delays.
Furthermore, unlike the video streaming application, no predefined quality of service can be used in assessing the quality of the link.
In this application the routing daemon (located on the user private network) sends test packets to the destination which provoke a reply (for example an ICMP
echo packet). The round-trip delay is therefore iteratively measured by the routing daemon in order to assess the delay to the destination. If the delay is measured to be too high (above a predefined threshold) the routing daemon queries the overlay network to see if a lower delay route can be found. If a lower delay route is found the routing daemon seamlessly switches the route to the overlay thus improving the quality of the transmission. In this case the user may or may not experience any discontinuity in the game depending on how the game is implemented.
E. Conclusion, Scope of the Invention Thus the reader will see that preferred embodiments of on-demand overlay routing in accordance with the present invention can provide a practical, lightweight, economical mechanism for improving network performance. The mechanism is highly transparent, as well, and does not necessitate changes in underlying network protocols such as IP, or in client application programs that rely upon network communications.
While the above description includes many specifics and examples, these should not be construed as limitations on the scope of the invention, but rather as exemplification of a preferred embodiment thereof. Many other variations are possible. For example, while the previous examples were presented in terms of an IP
network like the Internet, the present invention is applicable to networking protocols other than IP, and to other network layers and communication protocols including but by no means limited to http, ftp, TCP, and SSL. The invention is applicable as well to packet-switched networks other than the Internet, and to other static-topology networks (whether packet switched or connection-oriented). Also, the same mechanisms can be used where other network properties are optimized (e.g., security), and can be realized with software-only implementations such as by using active networks infrastructure, or other available computational resources).
Accordingly, the scope of the invention should be determined not by the embodiment illustrated, but by the appended claims and their legal equivalents.
In principle, an overlay network is capable of logical complete connectivity (in other words, any overlay node can communicate with any other node) through the underlying default Internet routing mechanisms. However, for purposes of multi-hop path discovery, it is generally not computationally worthwhile attempting to exhaustively evaluate the set of all possible multi-hop paths. Therefore, in our preferred embodiment, a topological representation of overlay network connectivity is pruned so as to reduce the number of possible forwarding paths to other overlay nodes from any given overlay node to a fixed, relatively small number ("N"). For example, Figure 3a illustrates the initial topological representation for an overlay network consisting of 8 nodes with complete connectivity, while Figure 3b illustrates a pruned topology for the same overlay network, but this time with N = 2.
In this alternative preferred embodiment, each overlay node module 150 measures the cost of communication (via the underlying network's default communication paths) to all other overlay router nodes. For each of a given node 130i's neighbors, the cost functions L(j, i) measuring the cost of default communication from overlay node 130i to neighbor overlay node 130j are used for pruning and subsequently for route discovery. In the pruning process, each overlay network node 130i starts with the full connectivity mesh to all other overlay network nodes, and a set of costs L(j,i) associated with the links to each other overlay node 130j. The pruning operation preferably consists of two phases. In the first phase, direct links that are more expensive than indirect links are deleted. In the second phase, if there are still more than N direct links from any given overlay node, additional direct links with worst cost functions are pruned. At the end of these two phases each overlay network router has <=N direct link connections, thus satisfying the preferred constraint, and the resulting overall topology of the overlay network may or may not be fully connected. The resulting topology is then used in the subsequent process of alternate path discovery.
The forming of the initial topology and the determination of the final logical topology and associate link costs are preferably performed using the default Internet communication mechanisms. If the overlay nodes are connected to each other by means of specialized or enhanced communication mechanisms -- which is by no means required -- overlay link costs L(j,i) would be computed on that basis.
Step 225 in conjunction with step 220 of Fig. 2 correspond to the path discovery process in the multi-hop embodiment. In this embodiment, path queries are sent to the overlay network as previously described in the simplified embodiment, but such queries preferably further include a "time-to-live" field ("TTL') that is decremented each time a forwarding path query is received by a node. Just as in the simplified embodiment, at step 220 each overlay node receiving a path query computes a value F(B,i). In addition, however, if the TTL field is non-zero, each overlay node receiving such a query decrements the TTL field and forwards the query to all of its neighbors in the pruned representation of the overlay network logical topology (preferably at most N neighbors, as discussed above). Each such overlay node then replies to the querying node with its own measured F(B,i), and the set of costs L(i,j) for links to each of its topological neighbors.
In this multi-hop preferred embodiment, in order to compute and compare the relevant total costs for each of the possible overlay forwarding paths at steps 230-235, module 110 of the querying node combines all of the appropriate cost functions.
Thus, in the example of Figure 4a, the ultimate communication path of interest is between gateway node G (through which source node A accesses the network) and destination node B. The cost of the default network path from G to B is represented abstractly by node R, and shown to have total cost C(A,B). Fig. 4a also depicts a pruned topology representation for overlay network 400, as in Fig. 3b, with eight overlay nodes and a connectivity of N = 2. As indicated in Fig. 4a, in this example gateway node G sends a single path-discovery query to overlay node 01, and receives a total of three alternate overlay path replies. In Fig. 4b, one such alternate overlay path is the multi-hop forwarding path shown passing from gateway G to overlay node 01 to overlay node 02 and finally to destination B. In that example, the relevant total cost for the alternate overlay path is derived by combining F(O 1, G), L(02, 01), and F(B, 02).
C. Construction and Use of Overlay Forwarding Paths In the event that an overlay forwarding path is selected at steps 230-235 as the optimized path for sending the user's requested communication, a preferred embodiment of our invention combines existing Internet protocols in an manner that dynamically constructs forwarding paths through the overlay network.
Referring again to Figure 2, following the detection of an improved overlay forwarding path at steps 230 and 235, information describing the improved forwarding path is stored at step 240 by the originator of the path query (e.g., typically module 110 of source node 100) and by each of the overlay nodes involved in the improved path. The path information is preferably stored at each overlay node 130 in a table or the like, so that when given a specified destination endpoint, an overlay node on the forwarding path can retrieve the address of the next node on the non-default path to whom the message should be forwarded. In a preferred embodiment of our invention, this information may be deleted by the overlay nodes if no end-to-end communication happens between A and B for more than a predefined amount of time, or if the overlay forwarding path's performance is believed to become worse that the default Internet path -- or simply after some specified amount of time passes, so that subsequent communication requests will result in discovery and measurement of overlay paths based on the new, current state of the network.
Figure 5 provides a more detailed view of the method performed to transmit message data through a non-default overlay path (step 250 of Figure 2), in a preferred embodiment of the present invention. By way of background, message packets in accordance with protocols like the IP protocol generally include "source" and "destination" fields. The "destination" field is used by routing mechanisms in the nodes of the underlying communications network (e.g., the Internet) to forward packets toward their intended destination. In a preferred embodiment of the present invention, a technique called "encapsulation" is a primary mechanism by which our system effectively bypasses default Internet routing paths and utilizes optimized, alternative forwarding paths through overlay nodes. Encapsulation substitutes an original destination IP address with a different destination IP address, and records the original destination address in an encoded capsule.
For illustration, we will begin with a simple example, in which the message is one-way (no reply), and the altemative overlay path is a one-hop path (i.e., it goes through a single overlay node). In this example, the client at node 100 (or a client connected through gateway node 100 to the network) wishes to send a message on a network such as the Internet to destination node 160. In accordance with a preferred embodiment of the present invention, steps 210-240 are first perfotmed, to discover an optimized overlay path for communicating with 160. Suppose this process determines that, at the present moment, an optimized path for sending a message to 160 (better than the default network path, at any rate) is to send packets from 100 to overlay node 130a, and then to forward them from 130a to 160. In other words, the desired path strategy is to send packets from 100 to 130a using the default network path for 1004130a, and then forward those packets from 130a to 160 using the default network path for 130a4160. At step 250, this transmission is actually carried out, as detailed in Fig. 5. At step 500, overlay software 120 at node 100 addresses the packets to 130a, instead of 160, but also "encapsulates" or encodes the address of 160 in a predetennined format incorporated in the message. The message is then sent to overlay node 130a, at step 510, preferably by means of default network routing mechanisms. When 130a receives the packets, overlay software 150a decodes or de-encapsulates the encapsulated data, and finds the encoded "160" address. At step 520, module 150a of node 130a checks the overlay path infonnation stored earlier at step 240 to identify the next node on the overlay forwarding path. Because, in this example, there are no more overlay nodes on the forwarding path, software 150a proceeds to step 530, and restores the original message with its destination address reset to node 160. Again, because this example involves no reply message, software 150a proceeds to step 580 and simply forwards the packets on to their final destination at node 160. In this way, the original message gets from client (or gateway) 100 to destination node 160, along an optimized non-default path passing through overlay node 130a. This is accomplished without any need to modify the established communications protocols of the underlying network (e.g., IP), and without any modification (or even awareness) of destination node 160.
We next present a further example, involving a multi-hop overlay path; once again, the example treats a one-way communication. In this example, we assume that the process of steps 210-240 discovers an optimized path for transmitting messages from 100 to 160, passing through overlay nodes 130a and 130b. In other words, this time the desired path strategy is to send packets from 100 to 130a using the default network path for 1004130a, then forward those packets from 130a to 130b using the default network path for 130a4130b, and finally to forward those packets from 130b to 160 using the default network path for 130b4160. Once again, at step 500, overlay software 120 at node 100 addresses the packets to 130a, and encapsulates the address of 160. The message is then sent to overlay node 130a, at step 510.
When 130a receives the packets, overlay software 150a finds the encoded "160"
address, and at step 520, software 150a of node 130a checks the overlay path information stored earlier at step 240 and identifies overlay node 130b as the next node on the overlay forwarding path. Following the flow of Fig. 5, module 150a loops back to step 510 and forwards the message to overlay node 130b, where module 150b performs similar functionality. This time, at step 520, module 150b determines that there are no more overlay nodes on the forwarding path, and thereupon (at step 530) restores the original message with its destination address reset to node 160.
Because this example again involves no reply message, software 150b proceeds to step and forwards the packets on to their final destination at node 160. In this way, the original message gets from client (or gateway) 100 to destination node 160, along an optimized non-default path passing through overlay nodes 130a and 130b; and once again, this is accomplished without any need to modify the established communications protocols of the underlying network.
As a third example, we will now consider the case of a message that requests a return reply (such as an http request to get a file), once again in the context of the multi-hop forwarding path through overlay nodes 130a and 130b as in the previous example. In this scenario, our preferred embodiment operates in the same manner as in the previous example, until module 150b reaches step 535 and determines that the message does indeed request a return reply from the destination node 160.
Following the flow in Fig. 5, at step 540 module 150b "masquerades" source information for the packets. In our preferred embodiment, the last overlay node on a forwarding path performs the task of masquerading, in order to allow bi-directional use of the overlay forwarding path. In the absence of masquerading, the reply sent by node 160 to node 100 would normally follow a return path using default network routing. In general, masquerading replaces the source address of IP packets with the address of the node executing the masquerade, and records enough information locally so as to be able restore the original source address if and when a replay IP packet is returned. In a preferred embodiment and in the context of a network like the Internet, module 150 of a masquerading node locally stores the original source address and the port from which it sent the packet (a port uniquely identifies which connections a node has with any other network node). At step 550, overlay node 135b sends the masqueraded message to destination node160. If and when reply packets are sent from node 160, they will be addressed to overlay node 135b, because of the masqueraded source information. When the reply comes back on the appropriate port of node 135b, at step 570 module 150b retrieves the original source address for node 100 that was previously stored at step 540 -- which is the true intended destination of the reply message being handled -- and constructs a reply message encapsulating the intended destination address of node 100. Returning to step 510, module 150b forwards the encapsulated message to the next overlay node on an optimized path to node 100, by accessing path information previously stored at step 240 (in this case, the path information is of course just the inverse of the optimized overlay path for communications being sent from source 100 to destination 160).
In this manner, control and data packets exchanged between source and destination endpoints on a network are advantageously re-routed through an overlay network without any modification of the source or destination nodes (except for the addition of module 110 at the source), and without any modification of the established communication protocols for the underlying network. This transparency is a valuable benefit created by preferred embodiments of the present invention, because it increases the applicability of this approach as a practical solution for legacy network-based applications.
D. Cost Metrics, Applications There are many potential applications of this invention to practical problems of interest to companies, individuals, and other entities. Cost/performance metrics may be freely chosen as beneficial for desired applications. For example, preferable metrics include delay, throughput, jitter, and loss. Some sample applications will now be discussed.
1. Reliability Online trading is an Internet application that is assuming a very important role in today's global economy. Real-time trading requires uninterrupted access to the points of sale. A delay of a few minutes in carrying out an order can cost an online trader large amounts of money. In fact it can be argued that the trader with the best and most reliable Internet service will have a definite advantage over others. In this application of our invention we illustrate how dynamic on-demand overlay routing can allow routing around a failure that would otherwise cause the inability to sell or buy shares.
At present, all Internet routing protocols have a built-in mechanism to rebuild routing paths, and therefore ultimately allow detection and reaction to a network fault in appropriate ways. In the default case, a stock trader's ability to carry out orders in the presence of a link failure is dependent on the rerouting capability of its ISP and may greatly vary. Current routing practices typically require anywhere from a minimum of 45 seconds for a localized ad-hoc solution, to a maximum of several hours depending on the particular ISP. The fast, light-weight, on-demand routing capability made possible in accordance with the present invention can potentially reduce the time required for suitable re-routing to less than a few seconds.
In a preferred embodiment, when a stock trader pushes a button to enter a trade, the TCP
connection delay is passively measured by a rerouting daemon running on the trader's internal network. This measurement is performed with a timeout of 1 second. In case of a link failure the TCP connection measurement would timeout. Immediately after this measurement, our rerouting daemon sends a query to the overlay network specifying its measured connection time (1 second in case of a link failure).
If the overlay network is able to find an alternate route to the destination it will return the new route to the rerouting daemon within a few milliseconds. The new route is immediately installed on the stock trader's local network and any subsequent TCP
connection requests are forwarded through the newly discovered route rather than the faulty route. This rerouting mechanism has two major advantages for the stock trader:
(1) The reaction to finding a new route is reduced from minutes to less than two seconds and (2) the rerouting mechanism is entirely decoupled from his/her ISP
configuration and can be independently managed.
2. Bandwidth The diffusion of multimedia data through the Internet is likely to become much more prominent with the increase of bandwidth to the home. Current bandwidth availability is enough for audio transmission and some low quality video but in the near future, the increase in bandwidth will allow the transmission of full motion video. In addition to the increase of raw bandwidth Quality of Service Routing and other resource allocation protocols (such as RSVP) will allow user applications to acquire a predictable amount of bandwidth in order to guarantee an adequate level of service. The transition of the Internet to using these new protocols is likely to be problematic and diffused over several years.
In this domain, the present invention enables the addition of an additional layer of control on top of the QOS service provided by Internet standards. In this application the overlay network's function is to oversee the resulting performance of the system and its protocols. In this case one can think of an overlay system in accordance with the present invention as a fall-back when the default Internet mechanism does not deliver the necessary quality of service. An overlay routing system in accordance with the present invention can be used to find paths that offer better bandwidth than those provided by the default Internet protocols (either current or future).
In this application the end system which is receiving the video can passively monitor the quality of the video being received. A rerouting daemon running on the local network of the user detects that the video quality is poor by measuring the average bit rate consumed by the reception of the video. When the bit rate falls below a certain threshold the routing daemon can query the overlay network for a better path.
The overlay network measures the available bit rates that are available through alternate paths and returns the appropriate overlay-fonvarding path to the user (if any). The overlay nodes measure the available bit rate of the alternate paths by requesting a video from the video source and measuring the quality of the link. Such requests will be performed using the default Internet protocols and thus do not need to be described here. The overlay nodes requesting the video should be configured to possess the same credentials of the user on whose behalf the rerouting is attempted. In addition to measuring the effective throughput from the video source, the overlay nodes also measure, through the transmission of test packets, the quality of the overlay links to the user. If an overlay forwarding path with better total bandwidth is found, the routing daemon is notified and the video reception is rerouted through the overlay network. In this transition loss of synchronization may occur and the user may experience discontinuity in the viewing; this drawback needs to be considered in allowing the rerouting only when the discomfort of the signal degradation due to loss of bandwidth can be considered greater than the resynchronization discontinuity.
3. Delay Hyperspace is bringing people together in ways that were unimaginable a few years ago. The many-to-many communication paradigm made possible by the Internet is creating a revolution in how people communicate, do business and spend their leisure time. In many of these revolutionary applications one gets the illusion of interacting with a community of other users in near real-time. As an example of how our system can be used in this context, we describe a video game application in which a user participates in a video game over the Internet. In this application lowering the transmission delay can enhance the quality of the game. In addition, if the game is played by several individuals located at different locations on the Internet, lower delay may also provide an advantage in playing the game because of a faster response time.
A preferred embodiment of the present invention can find overlay forwarding paths that reduce the total transmission delay. In this type of application the measurement of the quality of the end-to-end default-forwarding path is actively carried out. This type of application would most likely run over UDP, which lacks control-signaling messages that can be used to passively measure round trip delays.
Furthermore, unlike the video streaming application, no predefined quality of service can be used in assessing the quality of the link.
In this application the routing daemon (located on the user private network) sends test packets to the destination which provoke a reply (for example an ICMP
echo packet). The round-trip delay is therefore iteratively measured by the routing daemon in order to assess the delay to the destination. If the delay is measured to be too high (above a predefined threshold) the routing daemon queries the overlay network to see if a lower delay route can be found. If a lower delay route is found the routing daemon seamlessly switches the route to the overlay thus improving the quality of the transmission. In this case the user may or may not experience any discontinuity in the game depending on how the game is implemented.
E. Conclusion, Scope of the Invention Thus the reader will see that preferred embodiments of on-demand overlay routing in accordance with the present invention can provide a practical, lightweight, economical mechanism for improving network performance. The mechanism is highly transparent, as well, and does not necessitate changes in underlying network protocols such as IP, or in client application programs that rely upon network communications.
While the above description includes many specifics and examples, these should not be construed as limitations on the scope of the invention, but rather as exemplification of a preferred embodiment thereof. Many other variations are possible. For example, while the previous examples were presented in terms of an IP
network like the Internet, the present invention is applicable to networking protocols other than IP, and to other network layers and communication protocols including but by no means limited to http, ftp, TCP, and SSL. The invention is applicable as well to packet-switched networks other than the Internet, and to other static-topology networks (whether packet switched or connection-oriented). Also, the same mechanisms can be used where other network properties are optimized (e.g., security), and can be realized with software-only implementations such as by using active networks infrastructure, or other available computational resources).
Accordingly, the scope of the invention should be determined not by the embodiment illustrated, but by the appended claims and their legal equivalents.
Claims (31)
PROPERTY OR PRIVILEGE IS CLAIMED ARE DEFINED AS FOLLOWS:
1. A method for determining an optimized path for transmitting a message from a source to a destination within a packet-switched computer-based communications network, the method comprising the following steps:
a) in response to a request to transmit the message, measuring a cost from the source to the destination along a default path, the default path being derived by means of one or more existing routing mechanisms of the communications network;
b) measuring an alternative cost of transmitting the message from the source to the destination along at least one alternative path, the alternative path passing through one or more intermediate nodes not on the default path, wherein the intermediate nodes define a virtual topology on top of the computer-based communications network;
c) determining the optimized path by comparing the default cost and the alternative cost.
a) in response to a request to transmit the message, measuring a cost from the source to the destination along a default path, the default path being derived by means of one or more existing routing mechanisms of the communications network;
b) measuring an alternative cost of transmitting the message from the source to the destination along at least one alternative path, the alternative path passing through one or more intermediate nodes not on the default path, wherein the intermediate nodes define a virtual topology on top of the computer-based communications network;
c) determining the optimized path by comparing the default cost and the alternative cost.
2. The method of claim 1, wherein the steps of the method are performed in real-time in response to the request to transmit the message, and in a manner requiring no explicit interaction with any human user.
3. The method of claim 1, wherein the message is dynamically generated in response to a previous request received by the source from the destination.
4. The method of claim 1, wherein step (b) is only performed in the event that the default cost exceeds a specified threshold cost.
5. The method of claim 1, further including the following steps:
d) transmitting the message from the source to a first one of the one or more intermediate nodes, and e) transmitting the message from a last one of the one or more intermediate nodes to the destination, whereby the message is transmitted from the source to the destination by way of the optimized path.
d) transmitting the message from the source to a first one of the one or more intermediate nodes, and e) transmitting the message from a last one of the one or more intermediate nodes to the destination, whereby the message is transmitted from the source to the destination by way of the optimized path.
6. The method of claim 5, wherein the first intermediate node and the last intermediate node are one and the same.
7. The method of claim 5, wherein the first intermediate node and the last intermediate node are distinct.
8. The method of claim 5, wherein one or more existing routing mechanisms of the communications network are utilized to perform steps (d) and (e).
9. The method of claim 8, wherein step (d) further includes the step of modifying the message so as to address the message to the first intermediate node, and so as to encapsulate an address of the destination within the message.
10. The method of claim 8, wherein step (e) further includes, in the event that the message requests a reply message, the step of modifying source address information for the message so as to replace an identification of the source with an identification of the last intermediate node.
11. The method of claim 1, further including the step of storing information about the optimized path in storage accessible to the one or more intermediate nodes.
12. The method of claim 11, wherein the step of storing information about the optimized path further includes storing, for each of the one or more intermediate nodes on the optimized path, a next address for forwarding the message.
13. The method of claim 1, wherein step (b) includes measuring a set of alternative costs for transmitting the message from the source to the destination, each such alternative cost corresponding to one of a plurality of alternative paths, each such alternative path passing through one or more intermediate nodes not on the default path; and wherein step (c) further includes comparing the default cost and the set of alternative costs.
14. The method of claim 13, further including the steps of:
determining a pruned topology representing potentially optimizing connections between the intermediate nodes for use in the alternative paths, and using the pruned topology to generate the plurality of alternative paths.
determining a pruned topology representing potentially optimizing connections between the intermediate nodes for use in the alternative paths, and using the pruned topology to generate the plurality of alternative paths.
15. The method of claim 1, wherein the communications network is characterized by one or more established communications protocols, and wherein the method is performed without requiring modification of the established communications protocols.
16. The method of claim 15, wherein the established communications protocols include one or more protocols selected from the group comprising: Internet Protocol, http, ftp, SSL, and TCP.
17. The method of claim 1, wherein the packet-switched computer-based communications network has a static topology.
18. The method of claim 1, wherein the packet-switched computer-based communications network has a dynamic topology.
19. The method of claim 1, wherein the default cost and the alternative cost are derived from one or more metrics selected from the group comprising: delay, bandwidth, jitter, loss, and security.
20. The method of claim 1, wherein the one or more intermediate nodes comprise computer hardware.
21. The method of claim 1, wherein the one or more intermediate nodes comprise computer software.
22. The method of claim 1, wherein the one or more intermediate nodes are operable to transmit and receive data in conformance with established communications protocols.
23. The method of claim 22, wherein the one or more intermediate nodes are further operable to transmit and receive in conformance with protocols other than the established communications protocols.
24. A method for determining an optimized path for transmitting a message from a source to a destination within a computer-based communications network having a static topology, the method comprising the following steps:
a) in response to a request to transmit the message, measuring a cost from the source to the destination along a default path, the default path being derived by means of one or more existing routing mechanisms of the communications network;
b) measuring an alternative cost of transmitting the message from the source to the destination along at least one alternative path, the alternative path passing through one or more intermediate nodes not on the default path, wherein the intermediate nodes define a virtual topology on top of the computer-based communications network;
c) determining the optimized path by comparing the default cost and the alternative cost.
a) in response to a request to transmit the message, measuring a cost from the source to the destination along a default path, the default path being derived by means of one or more existing routing mechanisms of the communications network;
b) measuring an alternative cost of transmitting the message from the source to the destination along at least one alternative path, the alternative path passing through one or more intermediate nodes not on the default path, wherein the intermediate nodes define a virtual topology on top of the computer-based communications network;
c) determining the optimized path by comparing the default cost and the alternative cost.
25. The method of claim 24, wherein the computer-based communications network is connection-oriented.
26. An overlay network apparatus for determining an optimized path for transmitting a message from a source to a destination within a packet-switched computer-based communications network, the communications network being characterized by one or more established communications protocols, the apparatus comprising:
a) a set of one or more intermediate nodes, the intermediate nodes being operable to transmit and receive data in conformance with the established communications protocols;
b) alternate path discovery means, responsive to a request for transmitting the message from the source to the destination, operable to discover an alternate path between the source and the destination passing through one or more of the intermediate nodes not on a default path, the default path being derived by means of one or more existing routing mechanisms of the communications network, wherein the intermediate nodes define a virtual topology on top of the computer-based communications network; and c) forwarding means for forwarding the message from the source to the destination by way of the alternative path, without requiring a modification of the established communications protocols.
a) a set of one or more intermediate nodes, the intermediate nodes being operable to transmit and receive data in conformance with the established communications protocols;
b) alternate path discovery means, responsive to a request for transmitting the message from the source to the destination, operable to discover an alternate path between the source and the destination passing through one or more of the intermediate nodes not on a default path, the default path being derived by means of one or more existing routing mechanisms of the communications network, wherein the intermediate nodes define a virtual topology on top of the computer-based communications network; and c) forwarding means for forwarding the message from the source to the destination by way of the alternative path, without requiring a modification of the established communications protocols.
27. An apparatus for conducting an electronic commerce transaction between a first party and a second party, the first and second party being respectively connected to a computer-based communications network by way of a first network node and second network node, the communications network being characterized by one or more established communications protocols, the apparatus comprising:
a) a set of one or more intermediate nodes, the intermediate nodes being operable to transmit and receive data in conformance with the established communications protocols;
b) alternate path discovery means, responsive to a request to transmit a communication from the first network node to the second network node as a part of the electronic commerce transaction, said alternate path discovery means being operable to discover an alternate path between the first network node and the second network node passing through one or more of the intermediate nodes not on a default path, the default path being derived by means of one or more existing routing mechanisms of the communications network, wherein the intermediate nodes define a virtual topology on top of the computer-based communications network; and c) forwarding means for forwarding the message from the first network node to the second network node by way of the alternate path, without requiring a modification of the established communications protocols.
a) a set of one or more intermediate nodes, the intermediate nodes being operable to transmit and receive data in conformance with the established communications protocols;
b) alternate path discovery means, responsive to a request to transmit a communication from the first network node to the second network node as a part of the electronic commerce transaction, said alternate path discovery means being operable to discover an alternate path between the first network node and the second network node passing through one or more of the intermediate nodes not on a default path, the default path being derived by means of one or more existing routing mechanisms of the communications network, wherein the intermediate nodes define a virtual topology on top of the computer-based communications network; and c) forwarding means for forwarding the message from the first network node to the second network node by way of the alternate path, without requiring a modification of the established communications protocols.
28. A method for exchanging a message and a reply between a source and a destination within a computer-based communications network, wherein the network includes one or more existing routing mechanisms for deriving a default path for communication between multiple points on the network, the method comprising the following steps:
a) identifying one or more intermediate nodes that are not on the default path for communication between the source and the destination, the default path being derived by means of one or more existing routing mechanisms of the communications network, wherein the intermediate nodes define a virtual topology on top of the computer-based communications network;
b) transmitting the message from the source to a first one of the one or more intermediate nodes, c) transmitting the message from a last one of the one or more intermediate nodes to the destination, and modifying source address information for the message so as to replace an identification of the source with an identification of the last intermediate node, d) receiving, at the last intermediate node, the reply from the destination, and e) transmitting the reply from the first intermediate node to the source, whereby the message and the reply are exchanged between the source and the destination by way of a non-default communication path.
a) identifying one or more intermediate nodes that are not on the default path for communication between the source and the destination, the default path being derived by means of one or more existing routing mechanisms of the communications network, wherein the intermediate nodes define a virtual topology on top of the computer-based communications network;
b) transmitting the message from the source to a first one of the one or more intermediate nodes, c) transmitting the message from a last one of the one or more intermediate nodes to the destination, and modifying source address information for the message so as to replace an identification of the source with an identification of the last intermediate node, d) receiving, at the last intermediate node, the reply from the destination, and e) transmitting the reply from the first intermediate node to the source, whereby the message and the reply are exchanged between the source and the destination by way of a non-default communication path.
29. The method of claim 28, wherein one or more existing routing mechanisms of the communications network are utilized to perform steps (b), (c), (d), and (e);
wherein step (b) further includes modifying the message so as to encapsulate an address of the destination within the message; and wherein step (e) further includes modifying the reply so as to encapsulate an address of the source within the message.
wherein step (b) further includes modifying the message so as to encapsulate an address of the destination within the message; and wherein step (e) further includes modifying the reply so as to encapsulate an address of the source within the message.
30. The method of claim 28, wherein the message and the reply are part of an electronic commerce transaction.
31. The method of claim 28, wherein the reply is dynamically generated.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/336,487 US6275470B1 (en) | 1999-06-18 | 1999-06-18 | On-demand overlay routing for computer-based communication networks |
US09/336,487 | 1999-06-18 | ||
PCT/US2000/016732 WO2000079730A2 (en) | 1999-06-18 | 2000-06-16 | On-demand overlay routing for computer-based communication networks |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2374621A1 CA2374621A1 (en) | 2000-12-28 |
CA2374621C true CA2374621C (en) | 2008-05-06 |
Family
ID=23316317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002374621A Expired - Lifetime CA2374621C (en) | 1999-06-18 | 2000-06-16 | On-demand overlay routing for computer-based communication networks |
Country Status (8)
Country | Link |
---|---|
US (5) | US6275470B1 (en) |
EP (2) | EP1898571B1 (en) |
JP (1) | JP4677155B2 (en) |
AT (1) | ATE383013T1 (en) |
AU (1) | AU5620900A (en) |
CA (1) | CA2374621C (en) |
DE (1) | DE60037660T2 (en) |
WO (1) | WO2000079730A2 (en) |
Families Citing this family (288)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6453334B1 (en) | 1997-06-16 | 2002-09-17 | Streamtheory, Inc. | Method and apparatus to allow remotely located computer programs and/or data to be accessed on a local computer in a secure, time-limited manner, with persistent caching |
US8010627B1 (en) * | 1998-09-25 | 2011-08-30 | Sprint Communications Company L.P. | Virtual content publishing system |
US6757740B1 (en) | 1999-05-03 | 2004-06-29 | Digital Envoy, Inc. | Systems and methods for determining collecting and using geographic locations of internet users |
US7685311B2 (en) | 1999-05-03 | 2010-03-23 | Digital Envoy, Inc. | Geo-intelligent traffic reporter |
US7844729B1 (en) | 1999-05-03 | 2010-11-30 | Digital Envoy, Inc. | Geo-intelligent traffic manager |
US6275470B1 (en) * | 1999-06-18 | 2001-08-14 | Digital Island, Inc. | On-demand overlay routing for computer-based communication networks |
US6601090B1 (en) | 1999-06-25 | 2003-07-29 | Nortel Networks Limited | System and method for servicing internet object accessess from a coupled intranet |
WO2001003380A1 (en) * | 1999-07-02 | 2001-01-11 | Fujitsu Limited | Service allotting device |
US8543901B1 (en) | 1999-11-01 | 2013-09-24 | Level 3 Communications, Llc | Verification of content stored in a network |
US7062782B1 (en) * | 1999-12-22 | 2006-06-13 | Uunet Technologies, Inc. | Overlay network for tracking denial-of-service floods in unreliable datagram delivery networks |
US20020046273A1 (en) * | 2000-01-28 | 2002-04-18 | Lahr Nils B. | Method and system for real-time distributed data mining and analysis for network |
CA2398499C (en) * | 2000-01-28 | 2010-08-24 | Ibeam Broadcasting Corporation | A system and method for rewriting a media resource request and/or response between origin server and client |
AU2001236576A1 (en) * | 2000-01-28 | 2001-08-07 | Ibeam Broadcasting Corporation | A system and method for performing broadcast-enabled disk drive replication in adistributed data delivery network |
US20020042817A1 (en) * | 2000-01-28 | 2002-04-11 | Lahr Nils B. | System and method for mirroring and caching compressed data in a content distribution system |
AUPQ545600A0 (en) * | 2000-02-04 | 2000-03-02 | Geobytes Inc | Method and apparatus for identifying locale of internet users |
US6684250B2 (en) * | 2000-04-03 | 2004-01-27 | Quova, Inc. | Method and apparatus for estimating a geographic location of a networked entity |
US6671819B1 (en) * | 2000-04-06 | 2003-12-30 | Bbnt Solutions Llc | System and methods routing packets on alterate paths |
US6904017B1 (en) * | 2000-05-08 | 2005-06-07 | Lucent Technologies Inc. | Method and apparatus to provide centralized call admission control and load balancing for a voice-over-IP network |
US7213062B1 (en) | 2000-06-01 | 2007-05-01 | General Instrument Corporation | Self-publishing network directory |
US6836806B1 (en) | 2000-06-01 | 2004-12-28 | Aerocast, Inc. | System for network addressing |
US6658000B1 (en) | 2000-06-01 | 2003-12-02 | Aerocast.Com, Inc. | Selective routing |
US6879998B1 (en) | 2000-06-01 | 2005-04-12 | Aerocast.Com, Inc. | Viewer object proxy |
US6904460B1 (en) | 2000-06-01 | 2005-06-07 | Aerocast.Com, Inc. | Reverse content harvester |
US6718383B1 (en) | 2000-06-02 | 2004-04-06 | Sun Microsystems, Inc. | High availability networking with virtual IP address failover |
US6732186B1 (en) | 2000-06-02 | 2004-05-04 | Sun Microsystems, Inc. | High availability networking with quad trunking failover |
US6763479B1 (en) * | 2000-06-02 | 2004-07-13 | Sun Microsystems, Inc. | High availability networking with alternate pathing failover |
US6728780B1 (en) | 2000-06-02 | 2004-04-27 | Sun Microsystems, Inc. | High availability networking with warm standby interface failover |
ATE326805T1 (en) * | 2000-06-15 | 2006-06-15 | Ericsson Telefon Ab L M | METHOD AND ARRANGEMENTS IN A TELECOMMUNICATIONS SYSTEM |
FI20001553A (en) * | 2000-06-29 | 2001-12-30 | Nokia Networks Oy | Method and apparatus for conducting data packets in communication networks |
US7111163B1 (en) | 2000-07-10 | 2006-09-19 | Alterwan, Inc. | Wide area network using internet with quality of service |
US7213077B2 (en) * | 2000-07-21 | 2007-05-01 | Hughes Network Systems, Inc. | Method and system for providing buffer management in a performance enhancing proxy architecture |
US6973038B1 (en) * | 2000-07-28 | 2005-12-06 | Tactical Networks A.S. | System and method for real-time buying and selling of internet protocol (IP) transit |
US7002993B1 (en) * | 2000-08-18 | 2006-02-21 | Juniper Networks, Inc. | Method and apparatus providing media aggregation in a packet-switched network |
US7586899B1 (en) | 2000-08-18 | 2009-09-08 | Juniper Networks, Inc. | Methods and apparatus providing an overlay network for voice over internet protocol applications |
US6981055B1 (en) | 2000-08-22 | 2005-12-27 | Internap Network Services Corporation | Method and system for optimizing routing through multiple available internet route providers |
DE60130844T2 (en) * | 2000-08-29 | 2008-07-17 | International Business Machines Corp. | Autonomous OSPF system with a main network separated into two sections |
US7444398B1 (en) | 2000-09-13 | 2008-10-28 | Fortinet, Inc. | System and method for delivering security services |
US7574495B1 (en) | 2000-09-13 | 2009-08-11 | Fortinet, Inc. | System and method for managing interworking communications protocols |
US7389358B1 (en) | 2000-09-13 | 2008-06-17 | Fortinet, Inc. | Distributed virtual system to support managed, network-based services |
US7487232B1 (en) | 2000-09-13 | 2009-02-03 | Fortinet, Inc. | Switch management system and method |
US7272643B1 (en) | 2000-09-13 | 2007-09-18 | Fortinet, Inc. | System and method for managing and provisioning virtual routers |
US7111072B1 (en) * | 2000-09-13 | 2006-09-19 | Cosine Communications, Inc. | Packet routing system and method |
US8250357B2 (en) | 2000-09-13 | 2012-08-21 | Fortinet, Inc. | Tunnel interface for securing traffic over a network |
US8023421B2 (en) | 2002-07-25 | 2011-09-20 | Avaya Inc. | Method and apparatus for the assessment and optimization of network traffic |
US7349994B2 (en) | 2000-10-17 | 2008-03-25 | Avaya Technology Corp. | Method and apparatus for coordinating routing parameters via a back-channel communication medium |
US7406539B2 (en) | 2000-10-17 | 2008-07-29 | Avaya Technology Corp. | Method and apparatus for performance and cost optimization in an internetwork |
US7363367B2 (en) * | 2000-10-17 | 2008-04-22 | Avaya Technology Corp. | Systems and methods for robust, real-time measurement of network performance |
IL155355A0 (en) | 2000-10-17 | 2003-11-23 | Routescience Technologies Inc | Method and apparatus for performance and cost optimization in an internetwork |
US7487237B2 (en) | 2000-10-17 | 2009-02-03 | Avaya Technology Corp. | Load optimization |
US7720959B2 (en) | 2000-10-17 | 2010-05-18 | Avaya Inc. | Method and apparatus for characterizing the quality of a network path |
US7336613B2 (en) * | 2000-10-17 | 2008-02-26 | Avaya Technology Corp. | Method and apparatus for the assessment and optimization of network traffic |
US7756032B2 (en) | 2000-10-17 | 2010-07-13 | Avaya Inc. | Method and apparatus for communicating data within measurement traffic |
US7080161B2 (en) * | 2000-10-17 | 2006-07-18 | Avaya Technology Corp. | Routing information exchange |
US7133929B1 (en) * | 2000-10-24 | 2006-11-07 | Intel Corporation | System and method for providing detailed path information to clients |
US7062567B2 (en) | 2000-11-06 | 2006-06-13 | Endeavors Technology, Inc. | Intelligent network streaming and execution system for conventionally coded applications |
US8831995B2 (en) | 2000-11-06 | 2014-09-09 | Numecent Holdings, Inc. | Optimized server for streamed applications |
US20030141093A1 (en) * | 2000-12-21 | 2003-07-31 | Jacob Tirosh | System and method for routing a media stream |
US7551562B2 (en) * | 2000-12-29 | 2009-06-23 | Tropos Networks | Determining bidirectional path quality within a wireless mesh network |
US6956821B2 (en) * | 2001-01-30 | 2005-10-18 | Telefonaktiebolaget L M Ericsson (Publ) | Path determination in a data network |
US7668958B2 (en) * | 2001-10-18 | 2010-02-23 | Intel Corporation | Method for discovery and routing using a priori knowledge in the form of application programme within mobile AD-HOC networks |
US7190961B2 (en) * | 2001-10-18 | 2007-03-13 | Intel Corporation | Method for discovery and routing within mobile ad-hoc networks |
EP1388073B1 (en) | 2001-03-01 | 2018-01-10 | Akamai Technologies, Inc. | Optimal route selection in a content delivery network |
IL141855A0 (en) * | 2001-03-07 | 2002-03-10 | Onetiercommunications Inc | A method and apparatus for providing an improved quality of service for data transfer over the internet |
US20020143798A1 (en) * | 2001-04-02 | 2002-10-03 | Akamai Technologies, Inc. | Highly available distributed storage system for internet content with storage site redirection |
US7269157B2 (en) | 2001-04-10 | 2007-09-11 | Internap Network Services Corporation | System and method to assure network service levels with intelligent routing |
US7171474B2 (en) * | 2001-04-25 | 2007-01-30 | Sun Microsystems, Inc. | Persistent repository for on-demand node creation for fabric devices |
US6920491B2 (en) * | 2001-04-25 | 2005-07-19 | Sun Microsystems, Inc. | Fabric device configuration interface for onlining fabric devices for use from a host system |
US7200646B2 (en) * | 2001-04-25 | 2007-04-03 | Sun Microsystems, Inc. | System and method for on-demand node creation for fabric devices |
US20020194407A1 (en) * | 2001-04-25 | 2002-12-19 | Kim Hyon T. | Maintaining fabric device configuration through dynamic reconfiguration |
US7380017B2 (en) | 2001-05-03 | 2008-05-27 | Nortel Networks Limited | Route protection in a communication network |
US6778825B2 (en) * | 2001-05-08 | 2004-08-17 | The Boeing Company | Path discovery method for return link communications between a mobile platform and a base station |
FI20011392A (en) * | 2001-06-28 | 2002-12-29 | Nokia Corp | Procedure for multicast distribution in a telecommunications system |
US7181547B1 (en) * | 2001-06-28 | 2007-02-20 | Fortinet, Inc. | Identifying nodes in a ring network |
US20030046378A1 (en) * | 2001-07-14 | 2003-03-06 | Zimmel Sheri L. | Apparatus and method for existing network configuration |
GB0121135D0 (en) * | 2001-08-31 | 2001-10-24 | Roke Manor Research | A method of deriving a route through a network |
US20090292821A1 (en) * | 2001-09-26 | 2009-11-26 | Grib Timothy E | Method and apparatus for performance measurement of different network routes between devices |
US7860964B2 (en) | 2001-09-28 | 2010-12-28 | Level 3 Communications, Llc | Policy-based content delivery network selection |
EP2403219B1 (en) | 2001-09-28 | 2014-10-22 | Level 3 CDN International, Inc. | Method for name to address resolution |
US7373644B2 (en) * | 2001-10-02 | 2008-05-13 | Level 3 Communications, Llc | Automated server replication |
US20080279222A1 (en) * | 2001-10-18 | 2008-11-13 | Level 3 Communications Llc | Distribution of traffic across a computer network |
US20030079027A1 (en) | 2001-10-18 | 2003-04-24 | Michael Slocombe | Content request routing and load balancing for content distribution networks |
US7561517B2 (en) | 2001-11-02 | 2009-07-14 | Internap Network Services Corporation | Passive route control of data networks |
US7133365B2 (en) * | 2001-11-02 | 2006-11-07 | Internap Network Services Corporation | System and method to provide routing control of information over networks |
US7668966B2 (en) * | 2001-11-02 | 2010-02-23 | Internap Network Services Corporation | Data network controller |
US7222190B2 (en) * | 2001-11-02 | 2007-05-22 | Internap Network Services Corporation | System and method to provide routing control of information over data networks |
US20040001439A1 (en) * | 2001-11-08 | 2004-01-01 | Jones Bryce A. | System and method for data routing for fixed cell sites |
US20030101279A1 (en) * | 2001-11-29 | 2003-05-29 | Rajiv Maheshwari | Method for transferring messages along optimally redundant network paths in a distributed communication network |
US6925061B2 (en) * | 2001-12-26 | 2005-08-02 | Tropic Network Inc. | Multi-constraint routing system and method |
US20030145294A1 (en) * | 2002-01-25 | 2003-07-31 | Ward Julie Ann | Verifying interconnect fabric designs |
US7423995B1 (en) * | 2002-01-28 | 2008-09-09 | Bbn Technologies Corp. | Criteria for tearing down network links |
US9167036B2 (en) | 2002-02-14 | 2015-10-20 | Level 3 Communications, Llc | Managed object replication and delivery |
US7099277B2 (en) * | 2002-02-20 | 2006-08-29 | Mitsubishi Electric Research Laboratories, Inc. | Dynamic optimal path selection in multiple communications networks |
US7804785B2 (en) * | 2002-04-19 | 2010-09-28 | Avaya Inc. | Network system having an instructional sequence for performing packet processing and optimizing the packet processing |
US6965951B2 (en) * | 2002-05-17 | 2005-11-15 | Sun Microsystems, Inc. | Device centric discovery and configuration for fabric devices |
US7116665B2 (en) | 2002-06-04 | 2006-10-03 | Fortinet, Inc. | Methods and systems for a distributed provider edge |
US7161904B2 (en) | 2002-06-04 | 2007-01-09 | Fortinet, Inc. | System and method for hierarchical metering in a virtual router based network switch |
US7376125B1 (en) * | 2002-06-04 | 2008-05-20 | Fortinet, Inc. | Service processing switch |
US7203192B2 (en) | 2002-06-04 | 2007-04-10 | Fortinet, Inc. | Network packet steering |
US8310935B1 (en) * | 2002-06-20 | 2012-11-13 | Signafor, Inc. | Communications failure recovery in data packet networks based on fast determination of alternate routes |
US20040015611A1 (en) * | 2002-06-25 | 2004-01-22 | Kim Hyon T. | Interfaces to multiple layers of device properties in a storage network |
EP1387527A1 (en) * | 2002-07-30 | 2004-02-04 | Agilent Technologies Inc. | Identifying network routers and paths |
US7096383B2 (en) | 2002-08-29 | 2006-08-22 | Cosine Communications, Inc. | System and method for virtual router failover in a network routing system |
US7467408B1 (en) * | 2002-09-09 | 2008-12-16 | Cisco Technology, Inc. | Method and apparatus for capturing and filtering datagrams for network security monitoring |
CN100459534C (en) | 2002-10-07 | 2009-02-04 | 日本电信电话株式会社 | Layer network node and network constituted throuth said nodes, the node and layer network thereof |
JP3964907B2 (en) * | 2002-10-11 | 2007-08-22 | ノキア コーポレイション | Dynamic tunnel peering with performance optimization |
US20040078772A1 (en) * | 2002-10-16 | 2004-04-22 | Cosine Communications, Inc. | Dynamic route exchange |
DE10249867A1 (en) * | 2002-10-25 | 2004-05-13 | Siemens Ag | Method and device for selecting network access to one or more data networks via a telecommunications terminal |
US7266120B2 (en) | 2002-11-18 | 2007-09-04 | Fortinet, Inc. | System and method for hardware accelerated packet multicast in a virtual routing system |
WO2004056047A1 (en) * | 2002-12-13 | 2004-07-01 | Internap Network Services Corporation | Topology aware route control |
US7401132B1 (en) * | 2002-12-20 | 2008-07-15 | Symantec Operating Corporation | Method and system for creating a peer-to-peer overlay network |
US8463940B2 (en) * | 2003-01-31 | 2013-06-11 | Hewlett-Packard Development Company, L.P. | Method of indicating a path in a computer network |
US7433316B2 (en) * | 2003-02-20 | 2008-10-07 | Hewlett-Packard Development Company, L.P. | Summarizing nodes in route propagation in auxiliary network for P2P overlay networks |
US7558194B2 (en) * | 2003-04-28 | 2009-07-07 | Alcatel-Lucent Usa Inc. | Virtual private network fault tolerance |
EP1629651A1 (en) * | 2003-05-30 | 2006-03-01 | International Business Machines Corporation | Detecting network attacks |
US6931109B1 (en) * | 2003-06-12 | 2005-08-16 | Sprint Communications Company L.P. | Link selection parameter modification for network access selection |
US7415527B2 (en) * | 2003-06-13 | 2008-08-19 | Satyam Computer Services Limited Of Mayfair Centre | System and method for piecewise streaming of video using a dedicated overlay network |
US20040264372A1 (en) * | 2003-06-27 | 2004-12-30 | Nokia Corporation | Quality of service (QoS) routing for Bluetooth personal area network (PAN) with inter-layer optimization |
US20050015511A1 (en) * | 2003-07-02 | 2005-01-20 | Nec Laboratories America, Inc. | Accelerated large data distribution in overlay networks |
IL156814A0 (en) * | 2003-07-07 | 2004-02-08 | Clever Net Ltd | Dynamic signaling and routing |
US7720095B2 (en) * | 2003-08-27 | 2010-05-18 | Fortinet, Inc. | Heterogeneous media packet bridging |
US7388841B2 (en) * | 2003-10-20 | 2008-06-17 | Mitsubishi Electric Research Laboratories, Inc. | Selecting multiple paths in overlay networks for streaming data |
US7394774B2 (en) * | 2003-10-30 | 2008-07-01 | Motorola, Inc. | Method and apparatus for route discovery within a communication system |
US20050138049A1 (en) * | 2003-12-22 | 2005-06-23 | Greg Linden | Method for personalized news |
US8055755B2 (en) | 2004-02-05 | 2011-11-08 | At&T Intellectual Property Ii, L.P. | Method for determining VoIP gateway performance and SLAs based upon path measurements |
KR100631201B1 (en) * | 2004-02-11 | 2006-10-04 | 삼성전자주식회사 | Method of cost-based routing using backoff scheme |
WO2005086681A2 (en) * | 2004-03-04 | 2005-09-22 | Quova, Inc. | Geo-location and geo-compliance utilizing a client agent |
US7583667B2 (en) * | 2004-03-19 | 2009-09-01 | Avaya Inc. | Automatic determination of connectivity problem locations or other network-characterizing information in a network utilizing an encapsulation protocol |
GB0407144D0 (en) | 2004-03-30 | 2004-05-05 | British Telecomm | Networks |
US7533186B2 (en) * | 2004-06-30 | 2009-05-12 | Intel Corporation | Integrated security framework |
FR2872654B1 (en) * | 2004-06-30 | 2006-09-08 | Alcatel Sa | METHOD FOR RE-SYNCHRONIZING FLOWS BENEFITING FROM CIRCUIT EMULATION SERVICES FOR A PACKET SWITCHED COMMUNICATIONS NETWORK |
GB0416107D0 (en) * | 2004-07-19 | 2004-08-18 | British Telecomm | Wavelength selection |
GB0416110D0 (en) * | 2004-07-19 | 2004-08-18 | British Telecomm | Path establishment |
GB0416272D0 (en) * | 2004-07-20 | 2004-08-25 | British Telecomm | Method of operating a network |
ATE520225T1 (en) * | 2004-07-27 | 2011-08-15 | France Telecom | METHOD FOR ROUTING CONTROL IN A PACKET NETWORK SUPPORTED BY A TRANSPORT NETWORK |
US7965626B2 (en) * | 2004-08-03 | 2011-06-21 | Hewlett-Packard Development Company, L.P. | System and method for transferring data on a data network using multiple paths |
JP4504134B2 (en) * | 2004-08-16 | 2010-07-14 | 富士通株式会社 | System control apparatus, speculative fetch method, and information processing apparatus |
US7715396B2 (en) * | 2004-08-19 | 2010-05-11 | Microsoft Corporation | Network routing |
JP4394541B2 (en) * | 2004-08-23 | 2010-01-06 | 日本電気株式会社 | COMMUNICATION DEVICE, DATA COMMUNICATION METHOD, AND PROGRAM |
JP4421978B2 (en) | 2004-09-03 | 2010-02-24 | 富士通株式会社 | Delay guarantee path setting system |
US7808925B2 (en) * | 2004-09-10 | 2010-10-05 | Digital Envoy, Inc. | Methods and systems for determining reverse DNS entries |
US20060064374A1 (en) * | 2004-09-17 | 2006-03-23 | David Helsper | Fraud risk advisor |
US7497374B2 (en) * | 2004-09-17 | 2009-03-03 | Digital Envoy, Inc. | Fraud risk advisor |
US7543740B2 (en) * | 2004-09-17 | 2009-06-09 | Digital Envoy, Inc. | Fraud analyst smart cookie |
US8032594B2 (en) | 2004-11-10 | 2011-10-04 | Digital Envoy, Inc. | Email anti-phishing inspector |
US20060168066A1 (en) * | 2004-11-10 | 2006-07-27 | David Helsper | Email anti-phishing inspector |
US8359591B2 (en) | 2004-11-13 | 2013-01-22 | Streamtheory, Inc. | Streaming from a media device |
US7808904B2 (en) * | 2004-11-18 | 2010-10-05 | Fortinet, Inc. | Method and apparatus for managing subscriber profiles |
US7715395B2 (en) * | 2004-11-24 | 2010-05-11 | Microsoft Corporation | System and method for expanding the range of a mesh network |
US20060161503A1 (en) * | 2005-01-18 | 2006-07-20 | Andrei Popescu | Budget browsing method, system, apparatus, and software product |
US20060203805A1 (en) * | 2005-03-08 | 2006-09-14 | Avaya Technology Corp. | Quality-of-service assurance for IP telephony |
US7738859B2 (en) | 2005-03-10 | 2010-06-15 | Interdigital Technology Corporation | Multi-node communication system and method of requesting, reporting and collecting destination-node-based measurements and route-based measurements |
TW201001986A (en) * | 2005-03-10 | 2010-01-01 | Interdigital Tech Corp | Multi-node communication system and method of requesting, reporting and collecting destination node-based measurements and route-based measurements |
US8024523B2 (en) | 2007-11-07 | 2011-09-20 | Endeavors Technologies, Inc. | Opportunistic block transmission with time constraints |
US8036597B2 (en) * | 2005-04-01 | 2011-10-11 | Interdigital Technology Corporation | Method and apparatus for determining a level of involvement of mesh points in a wireless communication system |
KR100644690B1 (en) * | 2005-04-15 | 2006-11-10 | 삼성전자주식회사 | Method and apparatus for transmitting frame efficiently in wireless mesh network |
US20060239291A1 (en) * | 2005-04-26 | 2006-10-26 | Birchler Mark A | Method and apparatus for determining a best route within an ad-hoc communication system |
US8072901B1 (en) * | 2005-05-09 | 2011-12-06 | Cisco Technology, Inc. | Technique for efficient probing to verify policy conformance |
US9654383B2 (en) | 2005-08-17 | 2017-05-16 | Avaya Inc. | Route optimization using measured congestion |
US8107385B2 (en) | 2005-09-29 | 2012-01-31 | Avaya Inc. | Evaluating quality of service in an IP network with cooperating relays |
US8243603B2 (en) * | 2005-12-07 | 2012-08-14 | Motorola Solutions, Inc. | Method and system for improving a wireless communication route |
EP1798909A1 (en) * | 2005-12-19 | 2007-06-20 | Siemens Aktiengesellschaft | Method for creating a path for data transmission in a network |
US7660296B2 (en) * | 2005-12-30 | 2010-02-09 | Akamai Technologies, Inc. | Reliable, high-throughput, high-performance transport and routing mechanism for arbitrary data flows |
US7647426B2 (en) * | 2006-01-12 | 2010-01-12 | Cisco Technology, Inc. | Method and apparatus for achieving Border Gateway Protocol convergence using alternate route information |
US7668920B2 (en) * | 2006-03-01 | 2010-02-23 | Fortinet, Inc. | Electronic message and data tracking system |
JP2007274284A (en) * | 2006-03-31 | 2007-10-18 | Nec Corp | Transfer device, transfer method, transfer system and program |
US8300798B1 (en) | 2006-04-03 | 2012-10-30 | Wai Wu | Intelligent communication routing system and method |
US8165013B2 (en) * | 2006-04-14 | 2012-04-24 | Microsoft Corporation | Networked computer with gateway selection |
US8254263B2 (en) | 2006-04-25 | 2012-08-28 | Rockstar Bidco, LP | Method and apparatus for simplifying the computation of alternate network paths |
US7689695B2 (en) * | 2006-06-28 | 2010-03-30 | International Business Machines Corporation | System and method for distributed utility optimization in a messaging infrastructure |
JP4548792B2 (en) * | 2006-08-22 | 2010-09-22 | 日本電信電話株式会社 | Communication route control method, communication route control system and program for overlay network |
US7697460B2 (en) * | 2006-09-28 | 2010-04-13 | Avaya Inc. | Evaluating feasible transmission paths in a packet network |
US8261345B2 (en) | 2006-10-23 | 2012-09-04 | Endeavors Technologies, Inc. | Rule-based application access management |
JP4737035B2 (en) | 2006-10-30 | 2011-07-27 | 日本電気株式会社 | QoS routing method and QoS routing apparatus |
JP2010509791A (en) * | 2006-11-02 | 2010-03-25 | パナソニック株式会社 | Overlay network node |
US8116227B1 (en) * | 2006-12-20 | 2012-02-14 | Cisco Technology, Inc. | Optimal automated exploration of hierarchical multiprotocol label switching label switch paths |
US8327016B1 (en) | 2007-01-29 | 2012-12-04 | Juniper Networks, Inc. | Device communications over unnumbered interfaces |
CA2623805A1 (en) * | 2007-03-02 | 2008-09-02 | Robert A. Hubbs | Quality of service based preemptive routing |
US8385345B2 (en) * | 2007-09-19 | 2013-02-26 | At&T Intellectual Property Ii, L.P. | Data forwarding in hybrid mesh networks |
US7990909B2 (en) * | 2007-11-02 | 2011-08-02 | Ciena Corporation | Synchronization of network nodes |
US8892738B2 (en) | 2007-11-07 | 2014-11-18 | Numecent Holdings, Inc. | Deriving component statistics for a stream enabled application |
CN101436976B (en) * | 2007-11-13 | 2012-02-15 | 华为技术有限公司 | Method, system and equipment for forwarding data frame |
US7380005B1 (en) * | 2007-11-20 | 2008-05-27 | International Business Machines Corporation | Systems, methods and computer program products for improving placement performance of message transforms by exploiting aggressive replication |
US8817595B2 (en) * | 2008-02-13 | 2014-08-26 | Telefonaktiebolaget L M Ericsson (Publ) | Overlay network node and overlay networks |
TW200937939A (en) * | 2008-02-26 | 2009-09-01 | Asustek Comp Inc | Method for establishing a communications link |
US7840677B2 (en) * | 2008-03-11 | 2010-11-23 | International Business Machines Corporation | Systems, methods and computer program products for improving placement performance of message transforms by exploiting guided replication |
US10924573B2 (en) | 2008-04-04 | 2021-02-16 | Level 3 Communications, Llc | Handling long-tail content in a content delivery network (CDN) |
WO2009123868A2 (en) | 2008-04-04 | 2009-10-08 | Level 3 Communications, Llc | Handling long-tail content in a content delivery network (cdn) |
US9762692B2 (en) | 2008-04-04 | 2017-09-12 | Level 3 Communications, Llc | Handling long-tail content in a content delivery network (CDN) |
US8051185B2 (en) * | 2008-05-16 | 2011-11-01 | Fastsoft, Inc. | Network communication through a specified intermediate destination |
US20090296703A1 (en) * | 2008-05-30 | 2009-12-03 | Ruby Tech Corp. | Method and system for dynamic roaming across wireless networks |
US8199673B2 (en) * | 2008-06-17 | 2012-06-12 | Qualcomm Incorporated | Methods and apparatus for discovery of peer to peer overlaying networks |
US8018866B1 (en) | 2008-08-26 | 2011-09-13 | Juniper Networks, Inc. | Adaptively applying network acceleration services with an intermediate network device |
US8955107B2 (en) | 2008-09-12 | 2015-02-10 | Juniper Networks, Inc. | Hierarchical application of security services within a computer network |
US8040808B1 (en) | 2008-10-20 | 2011-10-18 | Juniper Networks, Inc. | Service aware path selection with a network acceleration device |
US8135840B2 (en) * | 2008-11-20 | 2012-03-13 | At&T Intellectual Property I, Lp | Systems and methods for directing content requests to servers |
JP4971292B2 (en) * | 2008-11-25 | 2012-07-11 | 日本電信電話株式会社 | Overlay network routing system and method and program |
EP2401841A4 (en) * | 2009-02-27 | 2012-08-15 | Yottaa Inc | Adaptive network with automatic scaling |
US20100223364A1 (en) * | 2009-02-27 | 2010-09-02 | Yottaa Inc | System and method for network traffic management and load balancing |
WO2010102084A2 (en) * | 2009-03-05 | 2010-09-10 | Coach Wei | System and method for performance acceleration, data protection, disaster recovery and on-demand scaling of computer applications |
US8094575B1 (en) | 2009-03-24 | 2012-01-10 | Juniper Networks, Inc. | Routing protocol extension for network acceleration service-aware path selection within computer networks |
CN102859934B (en) * | 2009-03-31 | 2016-05-11 | 考持·维 | Access-in management and safety system and the method for the accessible Computer Service of network |
WO2010140935A1 (en) * | 2009-06-03 | 2010-12-09 | Telefonaktiebolaget L M Ericsson (Publ) | Method and node for finding content in a content distribution network, and method for creating a virtual representation of a content distribution network |
US8971335B2 (en) * | 2009-07-02 | 2015-03-03 | Exafer Ltd | System and method for creating a transitive optimized flow path |
GB2474227B (en) * | 2009-09-08 | 2012-02-08 | Nds Ltd | Delivering an audio video asset |
US7937438B1 (en) | 2009-12-07 | 2011-05-03 | Amazon Technologies, Inc. | Using virtual networking devices to manage external connections |
US9203747B1 (en) | 2009-12-07 | 2015-12-01 | Amazon Technologies, Inc. | Providing virtual networking device functionality for managed computer networks |
US9036504B1 (en) | 2009-12-07 | 2015-05-19 | Amazon Technologies, Inc. | Using virtual networking devices and routing information to associate network addresses with computing nodes |
US8995301B1 (en) | 2009-12-07 | 2015-03-31 | Amazon Technologies, Inc. | Using virtual networking devices to manage routing cost information |
US7991859B1 (en) | 2009-12-28 | 2011-08-02 | Amazon Technologies, Inc. | Using virtual networking devices to connect managed computer networks |
US7953865B1 (en) | 2009-12-28 | 2011-05-31 | Amazon Technologies, Inc. | Using virtual networking devices to manage routing communications between connected computer networks |
US8224971B1 (en) | 2009-12-28 | 2012-07-17 | Amazon Technologies, Inc. | Using virtual networking devices and routing information to initiate external actions |
US8243960B2 (en) * | 2010-03-04 | 2012-08-14 | Bose Corporation | Planar audio amplifier output inductor with current sense |
JP5451521B2 (en) * | 2010-05-18 | 2014-03-26 | 日本電気株式会社 | DATA COMMUNICATION SYSTEM, DATA COMMUNICATION DEVICE, DATA COMMUNICATION DEVICE CONTROL METHOD, PROGRAM, AND RECORDING MEDIUM |
US9537747B2 (en) * | 2010-06-11 | 2017-01-03 | International Business Machines Corporation | Publish/subscribe overlay network control system |
US8639748B2 (en) | 2010-09-01 | 2014-01-28 | Edgecast Networks, Inc. | Optimized content distribution based on metrics derived from the end user |
US8745128B2 (en) | 2010-09-01 | 2014-06-03 | Edgecast Networks, Inc. | Optimized content distribution based on metrics derived from the end user |
US8630187B1 (en) * | 2010-12-20 | 2014-01-14 | Marvell Israel (M.I.S.L) Ltd. | Method and system for testing a network switching apparatus |
US8995338B2 (en) | 2011-05-26 | 2015-03-31 | Qualcomm Incorporated | Multipath overlay network and its multipath management protocol |
US9444887B2 (en) | 2011-05-26 | 2016-09-13 | Qualcomm Incorporated | Multipath overlay network and its multipath management protocol |
US8885502B2 (en) | 2011-09-09 | 2014-11-11 | Qualcomm Incorporated | Feedback protocol for end-to-end multiple path network systems |
US20130073462A1 (en) * | 2011-09-19 | 2013-03-21 | Bank Of America Corporation | Processing a Payment Transaction From a Mobile Device |
US20130085800A1 (en) * | 2011-10-03 | 2013-04-04 | Sap Ag | System and Method of Business Risk Based Authorization |
US8745177B1 (en) | 2011-11-01 | 2014-06-03 | Edgecast Networks, Inc. | End-to-end monitoring and optimization of a content delivery network using anycast routing |
US8738766B1 (en) | 2011-11-01 | 2014-05-27 | Edgecast Networks, Inc. | End-to-end monitoring and optimization of a content delivery network using anycast routing |
US8959203B1 (en) * | 2011-12-19 | 2015-02-17 | Amazon Technologies, Inc. | Dynamic bandwidth management using routing signals in networks with direct peerings |
US9515936B1 (en) * | 2012-02-03 | 2016-12-06 | Level 3 Communications, Llc | System and methods for identifying and remedying traffic imbalances and inequities between networks |
US9054981B2 (en) * | 2012-02-03 | 2015-06-09 | Level 3 Communications, Llc | System and methods for identifying and remedying traffic imbalances and inequities between networks |
US9515910B2 (en) * | 2012-02-03 | 2016-12-06 | Level 3 Communications, Llc | Systems and methods for identifying and remedying traffic imbalances and inequities between networks |
US9497122B2 (en) * | 2012-02-03 | 2016-11-15 | Level 3 Communications, Llc | System and methods for identifying and remedying traffic imbalances and inequities between networks |
US9325514B1 (en) * | 2012-03-08 | 2016-04-26 | Mesh Networks, Llc | Apparatus for managing local devices |
US9075992B2 (en) | 2012-05-01 | 2015-07-07 | Harris Corporation | Systems and methods for identifying, deterring and/or delaying attacks to a network using shadow networking techniques |
US8966626B2 (en) | 2012-05-01 | 2015-02-24 | Harris Corporation | Router for communicating data in a dynamic computer network |
US8959573B2 (en) | 2012-05-01 | 2015-02-17 | Harris Corporation | Noise, encryption, and decoys for communications in a dynamic computer network |
US9154458B2 (en) | 2012-05-01 | 2015-10-06 | Harris Corporation | Systems and methods for implementing moving target technology in legacy hardware |
US9130907B2 (en) | 2012-05-01 | 2015-09-08 | Harris Corporation | Switch for communicating data in a dynamic computer network |
US20130304530A1 (en) * | 2012-05-09 | 2013-11-14 | Prasad A. Chodavarapu | Automated generation of process monitoring system components |
WO2013188821A1 (en) * | 2012-06-14 | 2013-12-19 | Level 3 Communications, Llc | Systems and methods for identifying and remedying traffic imbalances and inequities between networks |
US9325711B2 (en) | 2012-12-11 | 2016-04-26 | Servmax, Inc. | Apparatus and data processing systems for accessing an object |
US9686189B2 (en) * | 2012-12-26 | 2017-06-20 | Microsoft Technology Licensing, Llc | Routing data in a bi-directional communication session over an overlay network using relay nodes |
US9544222B2 (en) * | 2013-01-09 | 2017-01-10 | Ventus Networks, Llc | Router |
DE102013204042A1 (en) * | 2013-03-08 | 2014-09-11 | Siemens Aktiengesellschaft | Method for transmitting data packets in a data network from a plurality of network nodes |
EP2797247A1 (en) | 2013-04-24 | 2014-10-29 | British Telecommunications Public Limited Company | Optical data transmission |
MY172548A (en) * | 2013-05-13 | 2019-12-02 | Mimos Berhad | A method of spectrum aware routing in a mesh network and a system derived thereof |
US10003536B2 (en) | 2013-07-25 | 2018-06-19 | Grigore Raileanu | System and method for managing bandwidth usage rates in a packet-switched network |
WO2015052468A1 (en) | 2013-10-11 | 2015-04-16 | British Telecommunications Public Limited Company | Optical data transmission method and apparatus |
US9525638B2 (en) | 2013-10-15 | 2016-12-20 | Internap Corporation | Routing system for internet traffic |
US9503324B2 (en) | 2013-11-05 | 2016-11-22 | Harris Corporation | Systems and methods for enterprise mission management of a computer network |
US9264496B2 (en) | 2013-11-18 | 2016-02-16 | Harris Corporation | Session hopping |
US9338183B2 (en) | 2013-11-18 | 2016-05-10 | Harris Corporation | Session hopping |
US10122708B2 (en) | 2013-11-21 | 2018-11-06 | Harris Corporation | Systems and methods for deployment of mission plans using access control technologies |
US9197536B2 (en) | 2013-11-22 | 2015-11-24 | Dell Products L.P. | Use of alternate paths in forwarding of network packets |
JP6204168B2 (en) * | 2013-11-27 | 2017-09-27 | 株式会社日立製作所 | Transfer device, server, and route change method |
US9113182B2 (en) | 2013-12-04 | 2015-08-18 | Wowza Media Systems, LLC | Selecting a media content source based on monetary cost |
US9253545B2 (en) * | 2013-12-04 | 2016-02-02 | Wowza Media Systems, LLC | Routing media content based on monetary cost |
US8989199B1 (en) | 2014-02-24 | 2015-03-24 | Level 3 Communications, Llc | Control device discovery in networks having separate control and forwarding devices |
JP6273942B2 (en) * | 2014-03-19 | 2018-02-07 | 富士通株式会社 | Route selection method, node device, relay system, and program |
EP2940946B1 (en) * | 2014-04-30 | 2019-06-05 | Alcatel Lucent | Method for operating a communication network |
US9800561B2 (en) * | 2014-11-06 | 2017-10-24 | Intel Corporation | Secure sharing of user annotated subscription media with trusted devices |
US10924408B2 (en) | 2014-11-07 | 2021-02-16 | Noction, Inc. | System and method for optimizing traffic in packet-switched networks with internet exchanges |
US9769536B2 (en) | 2014-12-26 | 2017-09-19 | System73, Inc. | Method and system for adaptive virtual broadcasting of digital content |
US9769070B2 (en) | 2015-01-28 | 2017-09-19 | Maxim Basunov | System and method of providing a platform for optimizing traffic through a computer network with distributed routing domains interconnected through data center interconnect links |
US11005963B2 (en) * | 2015-08-28 | 2021-05-11 | Vmware, Inc. | Pre-fetch cache population for WAN optimization |
US10701152B2 (en) | 2015-09-24 | 2020-06-30 | Hewlett Packard Enterprise Development Lp | Memory system management |
US9764470B2 (en) * | 2015-10-05 | 2017-09-19 | X Development Llc | Selective deployment of robots to perform mapping |
US9578356B1 (en) * | 2015-11-13 | 2017-02-21 | Nanning Fugui Precision Industrial Co., Ltd. | Live video matching method and system |
CN105897581A (en) * | 2015-11-20 | 2016-08-24 | 乐视云计算有限公司 | Media file back source path determination method and device in CDN network |
EP3384641B1 (en) * | 2015-11-30 | 2021-06-02 | Telecom Italia S.p.A. | Dynamic configuration of routing paths in a data network |
US10194315B2 (en) | 2016-02-01 | 2019-01-29 | Tionesta, Llc | System and method for circumventing a communications provider's gateway to allow a reseller of communications services to provide alternative services |
CN107517228B (en) * | 2016-06-15 | 2021-03-05 | 阿里巴巴集团控股有限公司 | Dynamic acceleration method and device in content distribution network |
CN107517229A (en) * | 2016-06-16 | 2017-12-26 | 阿里巴巴集团控股有限公司 | Generation, transmission method and the relevant apparatus of a kind of time source-routed information |
US10075373B2 (en) | 2016-08-26 | 2018-09-11 | Viasat, Inc. | Methods and apparatus for providing traffic forwarder via dynamic overlay network |
WO2018061825A1 (en) * | 2016-09-29 | 2018-04-05 | 日本電気株式会社 | Distributed processing system, distributed processing method, and recording medium |
US10735268B2 (en) | 2017-04-21 | 2020-08-04 | System73 Ltd. | Predictive overlay network architecture |
JP7022540B2 (en) * | 2017-09-08 | 2022-02-18 | キヤノン株式会社 | Information processing equipment and its control method |
US20190312810A1 (en) * | 2018-04-10 | 2019-10-10 | System73 Ltd | Adaptive overlay network architecture |
EP3811593A1 (en) | 2018-06-21 | 2021-04-28 | British Telecommunications public limited company | Path selection for content delivery network |
US10673688B2 (en) | 2018-09-21 | 2020-06-02 | Silicon Laboratories, Inc. | Group association fallback for improved network resilience |
WO2020108799A1 (en) * | 2018-11-27 | 2020-06-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods for multi-lane discovery with partially disjoint paths |
US10904754B2 (en) | 2018-11-28 | 2021-01-26 | International Business Machines Corporation | Cellular network authentication utilizing unlinkable anonymous credentials |
US11784912B2 (en) | 2019-05-13 | 2023-10-10 | Cloudflare, Inc. | Intelligently routing internet traffic |
US10979399B2 (en) * | 2019-05-24 | 2021-04-13 | Sierra Nevada Corporation | Unified communication gateway systems |
US11228525B2 (en) | 2019-09-05 | 2022-01-18 | Raytheon Company | Mission context routing data communication system |
US11563679B1 (en) | 2019-12-12 | 2023-01-24 | Architecture Technology Corporation | Distributed ledger adjustment in response to disconnected peer |
CN112118181B (en) * | 2020-08-18 | 2022-03-29 | 新华三信息安全技术有限公司 | Traffic scheduling method and device |
US11758616B1 (en) * | 2020-11-25 | 2023-09-12 | Amazon Technologies, Inc. | Managing mesh network connectivity using synchronized connection cost metrics |
US11792108B2 (en) | 2021-04-30 | 2023-10-17 | Bank Of America Corporation | Dynamic auto-routing and load balancing for communication systems |
US11469988B1 (en) | 2021-04-30 | 2022-10-11 | Bank Of America Corporation | Communication analysis for dynamic auto-routing and load balancing |
US11784930B2 (en) | 2021-04-30 | 2023-10-10 | Bank Of America Corporation | Communication system with auto-routing and load balancing |
Family Cites Families (414)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US618519A (en) * | 1899-01-31 | Attachment for cd ltivators | ||
US225711A (en) * | 1880-03-23 | Henry mather | ||
US2485A (en) * | 1842-03-09 | Of rotary engines to be propelled by eithee water or steam | ||
US34716A (en) * | 1862-03-18 | Chaeles geegoe | ||
US4112488A (en) | 1975-03-07 | 1978-09-05 | The Charles Stark Draper Laboratory, Inc. | Fault-tolerant network with node branching |
US4376299A (en) * | 1980-07-14 | 1983-03-08 | Pitney Bowes, Inc. | Data center for remote postage meter recharging system having physically secure encrypting apparatus and employing encrypted seed number signals |
US4345116A (en) | 1980-12-31 | 1982-08-17 | Bell Telephone Laboratories, Incorporated | Dynamic, non-hierarchical arrangement for routing traffic |
US4495570A (en) | 1981-01-14 | 1985-01-22 | Hitachi, Ltd. | Processing request allocator for assignment of loads in a distributed processing system |
US4637051A (en) * | 1983-07-18 | 1987-01-13 | Pitney Bowes Inc. | System having a character generator for printing encrypted messages |
US4641347A (en) * | 1983-07-18 | 1987-02-03 | Pitney Bowes Inc. | System for printing encrypted messages with a character generator and bar-code representation |
US4641346A (en) * | 1983-07-21 | 1987-02-03 | Pitney Bowes Inc. | System for the printing and reading of encrypted messages |
FR2555388B1 (en) | 1983-11-23 | 1986-02-21 | Cit Alcatel | BACKUP DEVICE OF A SUBSCRIBER TERMINAL IN A DIGITAL CONCENTRATOR |
US4803641A (en) | 1984-06-06 | 1989-02-07 | Tecknowledge, Inc. | Basic expert system tool |
US4591983A (en) | 1984-07-09 | 1986-05-27 | Teknowledge, Inc. | Hierarchical knowledge system |
JPS61114363A (en) | 1984-11-07 | 1986-06-02 | Hitachi Ltd | Job transfer system between computer systems |
US4725718A (en) * | 1985-08-06 | 1988-02-16 | Pitney Bowes Inc. | Postage and mailing information applying system |
US4669113A (en) | 1985-04-26 | 1987-05-26 | At&T Company | Integrated network controller for a dynamic nonhierarchical routing switching network |
US4726017A (en) | 1985-05-21 | 1988-02-16 | Fla. | Multidrop data concentrator communication network |
US4812965A (en) * | 1985-08-06 | 1989-03-14 | Pitney Bowes Inc. | Remote postage meter insepction system |
US5287537A (en) | 1985-11-15 | 1994-02-15 | Data General Corporation | Distributed processing system having plural computers each using identical retaining information to identify another computer for executing a received command |
US4679189A (en) * | 1985-11-27 | 1987-07-07 | American Telephone And Telegraph Company | Alternate routing arrangement |
US4907161A (en) * | 1985-12-26 | 1990-03-06 | Pitney Bowes Inc. | Batch mailing system |
US4999481A (en) * | 1985-12-26 | 1991-03-12 | Pitney Bowes Inc. | Method and apparatus for sequentially numbering mail pieces |
US4811234A (en) * | 1986-04-10 | 1989-03-07 | Pitney Bowes Inc. | Postage meter recharging system |
US4812992A (en) * | 1986-04-10 | 1989-03-14 | Pitney Bowes Inc. | Postage meter communication system |
US4922417A (en) | 1986-10-24 | 1990-05-01 | American Telephone And Telegraph Company | Method and apparatus for data hashing using selection from a table of random numbers in combination with folding and bit manipulation of the selected random numbers |
US4943932A (en) | 1986-11-25 | 1990-07-24 | Cimflex Teknowledge Corporation | Architecture for composing computational modules uniformly across diverse developmental frameworks |
SE456155B (en) * | 1986-12-29 | 1988-09-12 | Tetra Pak Ab | DEVICE FOR CONTROL OF FILLING FLOW BY A PACKAGING MACHINE |
US4847784A (en) | 1987-07-13 | 1989-07-11 | Teknowledge, Inc. | Knowledge based tutor |
CA1299706C (en) | 1987-08-27 | 1992-04-28 | Yasutaka Sasaki | Concentrator system capable of completing emergency calls under congested traffic |
EP0329779B1 (en) | 1987-09-04 | 1992-12-09 | Digital Equipment Corporation | Session control in network for digital data processing system which supports multiple transfer protocols |
US4905233A (en) | 1987-11-23 | 1990-02-27 | Harris Corporation | Multiple path routing mechanism for packet communications network |
US4788721A (en) | 1987-12-09 | 1988-11-29 | Bell Communications Research, Inc. | Routing of network traffic |
US4920432A (en) | 1988-01-12 | 1990-04-24 | Eggers Derek C | System for random access to an audio video data library with independent selection and display at each of a plurality of remote locations |
US5088032A (en) | 1988-01-29 | 1992-02-11 | Cisco Systems, Inc. | Method and apparatus for routing communications among computer networks |
US4987536A (en) | 1988-05-12 | 1991-01-22 | Codex Corporation | Communication system for sending an identical routing tree to all connected nodes to establish a shortest route and transmitting messages thereafter |
IT1219759B (en) | 1988-05-24 | 1990-05-24 | Cselt Centro Studi Lab Telecom | ROUTING PROCEDURE FOR FAST-SWITCHING PACKAGE SYSTEMS |
US5191573A (en) | 1988-06-13 | 1993-03-02 | Hair Arthur R | Method for transmitting a desired digital video or audio signal |
US4949248A (en) | 1988-07-15 | 1990-08-14 | Caro Marshall A | System for shared remote access of multiple application programs executing in one or more computers |
CA1337132C (en) | 1988-07-15 | 1995-09-26 | Robert Filepp | Reception system for an interactive computer network and method of operation |
US4985830A (en) | 1988-09-27 | 1991-01-15 | Universities Research Association, Inc. | Interprocessor bus switching system for simultaneous communication in plural bus parallel processing system |
US5115495A (en) | 1988-10-18 | 1992-05-19 | The Mitre Corporation | Communications network system using full-juncture and partial-juncture station status information for alternate-path distance-vector routing |
US4949187A (en) | 1988-12-16 | 1990-08-14 | Cohen Jason M | Video communications system having a remotely controlled central source of video and audio data |
US5029232A (en) | 1989-01-12 | 1991-07-02 | Cycle-Sat., Inc. | Satellite communications network |
US5341477A (en) | 1989-02-24 | 1994-08-23 | Digital Equipment Corporation | Broker for computer network server selection |
US5287499A (en) | 1989-03-22 | 1994-02-15 | Bell Communications Research, Inc. | Methods and apparatus for information storage and retrieval utilizing a method of hashing and different collision avoidance schemes depending upon clustering in the hash table |
US5189700A (en) * | 1989-07-05 | 1993-02-23 | Blandford Robert R | Devices to (1) supply authenticated time and (2) time stamp and authenticate digital documents |
GB2233937B (en) * | 1989-07-13 | 1993-10-06 | Pitney Bowes Plc | A machine incorporating an accounts verification system |
US5471622A (en) | 1989-10-04 | 1995-11-28 | Paralogic, Inc. | Run-time system having nodes for identifying parallel tasks in a logic program and searching for available nodes to execute the parallel tasks |
DE69025846T2 (en) | 1989-10-13 | 1996-09-26 | Ibm | Method of using stored partial trees to calculate a route in a data communication network |
US5218676A (en) | 1990-01-08 | 1993-06-08 | The University Of Rochester | Dynamic routing system for a multinode communications network |
DE4003006A1 (en) * | 1990-01-30 | 1991-08-01 | Francotyp Postalia Gmbh | METHOD FOR IDENTIFYING MACHINE AND VALUE STAMPING MACHINES |
US5130792A (en) | 1990-02-01 | 1992-07-14 | Usa Video Inc. | Store and forward video system |
US5128926A (en) | 1990-03-21 | 1992-07-07 | Digital Equipment Corporation | Updating link state information in networks |
US5058105A (en) | 1990-04-04 | 1991-10-15 | At&T Bell Laboratories | Network alternate routing arrangement |
US5253248A (en) | 1990-07-03 | 1993-10-12 | At&T Bell Laboratories | Congestion control for connectionless traffic in data networks via alternate routing |
US5869819A (en) * | 1994-08-17 | 1999-02-09 | Metrologic Instuments Inc. | Internet-based system and method for tracking objects bearing URL-encoded bar code symbols |
US5633999A (en) | 1990-11-07 | 1997-05-27 | Nonstop Networks Limited | Workstation-implemented data storage re-routing for server fault-tolerance on computer networks |
US5172413A (en) | 1990-12-20 | 1992-12-15 | Sasktel | Secure hierarchial video delivery system and method |
US5293319A (en) * | 1990-12-24 | 1994-03-08 | Pitney Bowes Inc. | Postage meter system |
US6002720A (en) | 1991-01-07 | 1999-12-14 | H. Lee Browne, D/B/A Greenwich Information Technologies Llc | Audio and video transmission and receiving system |
US5253275A (en) | 1991-01-07 | 1993-10-12 | H. Lee Browne | Audio and video transmission and receiving system |
US5132992A (en) | 1991-01-07 | 1992-07-21 | Paul Yurt | Audio and video transmission and receiving system |
US5253341A (en) | 1991-03-04 | 1993-10-12 | Rozmanith Anthony I | Remote query communication system |
US5590288A (en) | 1991-07-30 | 1996-12-31 | Restaurant Technology, Inc. | Distributed data processing system and method utilizing peripheral device polling and layered communication software |
EP0529864B1 (en) | 1991-08-22 | 2001-10-31 | Sun Microsystems, Inc. | Network video server apparatus and method |
US5247347A (en) | 1991-09-27 | 1993-09-21 | Bell Atlantic Network Services, Inc. | Pstn architecture for video-on-demand services |
US5528281A (en) | 1991-09-27 | 1996-06-18 | Bell Atlantic Network Services | Method and system for accessing multimedia data over public switched telephone network |
US5280531A (en) * | 1991-10-28 | 1994-01-18 | Pitney Bowes Inc. | Apparatus for the analysis of postage meter usage |
US5377262A (en) | 1991-12-30 | 1994-12-27 | At&T Corp. | Telecommunication switching system having adaptive routing switching nodes |
US5233604A (en) | 1992-04-28 | 1993-08-03 | International Business Machines Corporation | Methods and apparatus for optimum path selection in packet transmission networks |
ES2118106T3 (en) | 1992-05-08 | 1998-09-16 | Alsthom Cge Alcatel | LOGICAL ROUTING MEANS. |
US5371532A (en) | 1992-05-15 | 1994-12-06 | Bell Communications Research, Inc. | Communications architecture and method for distributing information services |
US5291554A (en) | 1992-05-28 | 1994-03-01 | Tv Answer, Inc. | Shared-price custom video rentals via interactive TV |
CA2095755C (en) | 1992-08-17 | 1999-01-26 | Mark J. Baugher | Network priority management |
US5442389A (en) | 1992-12-28 | 1995-08-15 | At&T Corp. | Program server for interactive television system |
US5490217A (en) * | 1993-03-05 | 1996-02-06 | Metanetics Corporation | Automatic document handling system |
US5508732A (en) | 1993-03-22 | 1996-04-16 | International Business Machines Corporation | Data server, control server and gateway architecture system and method for broadcasting digital video on demand |
US5457680A (en) * | 1993-05-18 | 1995-10-10 | International Business Machines Corporation | Data gateway for mobile data radio terminals in a data communication network |
DE69317267T2 (en) | 1993-05-19 | 1998-06-25 | Alsthom Cge Alcatel | Network for video on request |
US5550982A (en) | 1993-06-24 | 1996-08-27 | Starlight Networks | Video application server |
US5442390A (en) | 1993-07-07 | 1995-08-15 | Digital Equipment Corporation | Video on demand with memory accessing and or like functions |
US5414455A (en) | 1993-07-07 | 1995-05-09 | Digital Equipment Corporation | Segmented video on demand system |
ATE208109T1 (en) * | 1993-07-30 | 2001-11-15 | Ibm | METHOD AND DEVICE FOR AUTOMATICALLY DISTRIBUTING A NETWORK TOPOLOGY INTO MAIN AND SUBJECT TOPOLOGY |
EP0637152A1 (en) | 1993-07-30 | 1995-02-01 | International Business Machines Corporation | Method and apparatus to speed up the path selection in a packet switching network |
GB2281793A (en) | 1993-09-11 | 1995-03-15 | Ibm | A data processing system for providing user load levelling in a network |
US5446736A (en) | 1993-10-07 | 1995-08-29 | Ast Research, Inc. | Method and apparatus for connecting a node to a wireless network using a standard protocol |
US5390251A (en) * | 1993-10-08 | 1995-02-14 | Pitney Bowes Inc. | Mail processing system including data center verification for mailpieces |
US5542087A (en) | 1993-10-15 | 1996-07-30 | Hewlett-Packard Company | Linear hashing for distributed records |
JP2856050B2 (en) * | 1993-11-30 | 1999-02-10 | 日本電気株式会社 | Routing control method |
EP0660569A1 (en) * | 1993-12-22 | 1995-06-28 | International Business Machines Corporation | Method and system for improving the processing time of the path selection in a high speed packet switching network |
US5475615A (en) | 1993-12-23 | 1995-12-12 | U S West Advanced Technologies, Inc. | Method and system for sizing interactive video delivery systems |
US5606507A (en) * | 1994-01-03 | 1997-02-25 | E-Stamp Corporation | System and method for storing, retrieving and automatically printing postage on mail |
US5644714A (en) | 1994-01-14 | 1997-07-01 | Elonex Plc, Ltd. | Video collection and distribution system with interested item notification and download on demand |
US5515510A (en) | 1994-01-14 | 1996-05-07 | Consilium Overseas Limited | Communications internetwork system connecting a client node array to a resource array |
US5544327A (en) | 1994-03-01 | 1996-08-06 | International Business Machines Corporation | Load balancing in video-on-demand servers by allocating buffer to streams with successively larger buffer requirements until the buffer requirements of a stream can not be satisfied |
US5519836A (en) | 1994-03-25 | 1996-05-21 | At&T Corp. | Method of on-line permanent virtual circuit routing |
US6185619B1 (en) | 1996-12-09 | 2001-02-06 | Genuity Inc. | Method and apparatus for balancing the process load on network servers according to network and serve based policies |
US5430729A (en) | 1994-04-04 | 1995-07-04 | Motorola, Inc. | Method and apparatus for adaptive directed route randomization and distribution in a richly connected communication network |
US5544313A (en) | 1994-05-11 | 1996-08-06 | International Business Machines Corporation | Baton passing optimization scheme for load balancing/configuration planning in a video-on-demand computer system |
JP2601189B2 (en) | 1994-05-20 | 1997-04-16 | 日本電気株式会社 | Video on demand system |
US5694546A (en) | 1994-05-31 | 1997-12-02 | Reisman; Richard R. | System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list |
US5515511A (en) | 1994-06-06 | 1996-05-07 | International Business Machines Corporation | Hybrid digital/analog multimedia hub with dynamically allocated/released channels for video processing and distribution |
US5452294A (en) | 1994-07-05 | 1995-09-19 | Motorola, Inc. | Method and apparatus for adaptive route selection in communication networks |
US5532939A (en) | 1994-07-27 | 1996-07-02 | At&T Global Information Solutions Company | Method and apparatus for data communication efficiency analysis |
US5884028A (en) | 1994-07-29 | 1999-03-16 | International Business Machines Corporation | System for the management of multiple time-critical data streams |
US6038310A (en) | 1994-08-01 | 2000-03-14 | British Telecommunications Public Limited Company | Service node for a telephony network |
US5519435A (en) | 1994-09-01 | 1996-05-21 | Micropolis Corporation | Multi-user, on-demand video storage and retrieval system including video signature computation for preventing excessive instantaneous server data rate |
US5612889A (en) * | 1994-10-04 | 1997-03-18 | Pitney Bowes Inc. | Mail processing system with unique mailpiece authorization assigned in advance of mailpieces entering carrier service mail processing stream |
US5838906A (en) | 1994-10-17 | 1998-11-17 | The Regents Of The University Of California | Distributed hypermedia method for automatically invoking external application providing interaction and display of embedded objects within a hypermedia document |
US5526414A (en) | 1994-10-26 | 1996-06-11 | Northern Telecom Limited | Dynamically controlled routing using virtual nodes |
JPH10508964A (en) | 1994-11-08 | 1998-09-02 | バーミア、テクノロジーズ、インコーポレーテッド | Online service development tool with pricing function |
EP0713183A3 (en) | 1994-11-18 | 1996-10-02 | Microsoft Corp | Network independent file shadowing |
US5638443A (en) | 1994-11-23 | 1997-06-10 | Xerox Corporation | System for controlling the distribution and use of composite digital works |
US5619648A (en) | 1994-11-30 | 1997-04-08 | Lucent Technologies Inc. | Message filtering techniques |
US5845303A (en) | 1994-12-06 | 1998-12-01 | Netpodium, Inc. | Document processing using frame-based templates with hierarchical tagging |
US5603026A (en) | 1994-12-07 | 1997-02-11 | Xerox Corporation | Application-specific conflict resolution for weakly consistent replicated databases |
US5623656A (en) | 1994-12-15 | 1997-04-22 | Lucent Technologies Inc. | Script-based data communication system and method utilizing state memory |
US5920701A (en) | 1995-01-19 | 1999-07-06 | Starburst Communications Corporation | Scheduling data transmission |
US5717596A (en) * | 1995-02-15 | 1998-02-10 | Pitney Bowes Inc. | Method and system for franking, accounting, and billing of mail services |
US5592611A (en) | 1995-03-14 | 1997-01-07 | Network Integrity, Inc. | Stand-in computer server |
JP4008049B2 (en) | 1995-03-20 | 2007-11-14 | 富士通株式会社 | Address transmitting apparatus, address transmitting method and address transmitting system |
US5559877A (en) | 1995-03-21 | 1996-09-24 | At&T | Automatic provisioning of trunking and routing parameters in a telecommunications network |
US5802291A (en) | 1995-03-30 | 1998-09-01 | Sun Microsystems, Inc. | System and method to control and administer distributed object servers using first class distributed objects |
US5699513A (en) | 1995-03-31 | 1997-12-16 | Motorola, Inc. | Method for secure network access via message intercept |
US5680619A (en) | 1995-04-03 | 1997-10-21 | Mfactory, Inc. | Hierarchical encapsulation of instantiated objects in a multimedia authoring system |
US5608721A (en) | 1995-04-03 | 1997-03-04 | Motorola, Inc. | Communications network and method which implement diversified routing |
US5596722A (en) | 1995-04-03 | 1997-01-21 | Motorola, Inc. | Packet routing system and method for achieving uniform link usage and minimizing link load |
EP0826181A4 (en) | 1995-04-11 | 2005-02-09 | Kinetech Inc | Identifying data in a data processing system |
US5742762A (en) | 1995-05-19 | 1998-04-21 | Telogy Networks, Inc. | Network management gateway |
US5646676A (en) | 1995-05-30 | 1997-07-08 | International Business Machines Corporation | Scalable interactive multimedia server system for providing on demand data |
US5774668A (en) | 1995-06-07 | 1998-06-30 | Microsoft Corporation | System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing |
US6181867B1 (en) | 1995-06-07 | 2001-01-30 | Intervu, Inc. | Video storage and retrieval system |
US6003030A (en) | 1995-06-07 | 1999-12-14 | Intervu, Inc. | System and method for optimized storage and retrieval of data on a distributed computer network |
US5956489A (en) | 1995-06-07 | 1999-09-21 | Microsoft Corporation | Transaction replication system and method for supporting replicated transaction-based services |
US5710918A (en) | 1995-06-07 | 1998-01-20 | International Business Machines Corporation | Method for distributed task fulfillment of web browser requests |
US5799141A (en) | 1995-06-09 | 1998-08-25 | Qualix Group, Inc. | Real-time data protection system and method |
US5682512A (en) | 1995-06-30 | 1997-10-28 | Intel Corporation | Use of deferred bus access for address translation in a shared memory clustered computer system |
US5896533A (en) | 1995-07-06 | 1999-04-20 | Intel Corporation | Accessing internets world-wide web through object linking and embedding technology |
WO1997004582A1 (en) | 1995-07-18 | 1997-02-06 | Adaptive Networks, Inc. | Reconfigurable on-demand telephone and data line system |
US5666362A (en) | 1995-07-25 | 1997-09-09 | 3Com Corporation | Method and apparatus for asynchronous PPP and synchronous PPP conversion |
US6311214B1 (en) | 1995-07-27 | 2001-10-30 | Digimarc Corporation | Linking of computers based on optical sensing of digital data |
US5878212A (en) | 1995-07-31 | 1999-03-02 | At&T Corp. | System for updating mapping or virtual host names to layer-3 address when multimedia server changes its usage state to busy or not busy |
US5649186A (en) | 1995-08-07 | 1997-07-15 | Silicon Graphics Incorporated | System and method for a computer-based dynamic information clipping service |
NZ318023A (en) | 1995-09-13 | 1998-07-28 | British Telecomm | Telephone network connection of windows operating computers |
US5721914A (en) | 1995-09-14 | 1998-02-24 | Mci Corporation | System and method for hierarchical data distribution |
US6154753A (en) | 1995-09-15 | 2000-11-28 | Cable & Wireless, Inc. | Document management system and method for business quality modeling |
US5712979A (en) | 1995-09-20 | 1998-01-27 | Infonautics Corporation | Method and apparatus for attaching navigational history information to universal resource locator links on a world wide web page |
US5812769A (en) | 1995-09-20 | 1998-09-22 | Infonautics Corporation | Method and apparatus for redirecting a user to a new location on the world wide web using relative universal resource locators |
US5913028A (en) | 1995-10-06 | 1999-06-15 | Xpoint Technologies, Inc. | Client/server data traffic delivery system and method |
US5925142A (en) | 1995-10-06 | 1999-07-20 | Micron Technology, Inc. | Self-test RAM using external synchronous clock |
US5572643A (en) | 1995-10-19 | 1996-11-05 | Judson; David H. | Web browser with dynamic display of information objects during linking |
US6029175A (en) | 1995-10-26 | 2000-02-22 | Teknowledge Corporation | Automatic retrieval of changed files by a network software agent |
US5625781A (en) | 1995-10-31 | 1997-04-29 | International Business Machines Corporation | Itinerary list for interfaces |
US5764906A (en) | 1995-11-07 | 1998-06-09 | Netword Llc | Universal electronic resource denotation, request and delivery system |
US5671279A (en) | 1995-11-13 | 1997-09-23 | Netscape Communications Corporation | Electronic commerce using a secure courier system |
US5699347A (en) | 1995-11-17 | 1997-12-16 | Bay Networks, Inc. | Method and apparatus for routing packets in networks having connection-oriented subnetworks |
US5777989A (en) | 1995-12-19 | 1998-07-07 | International Business Machines Corporation | TCP/IP host name resolution for machines on several domains |
US5903723A (en) | 1995-12-21 | 1999-05-11 | Intel Corporation | Method and apparatus for transmitting electronic mail attachments with attachment references |
US5740423A (en) | 1995-12-28 | 1998-04-14 | Csg Systems, Inc. | System and method for accessing distributed data on a plurality of databases |
US6098078A (en) | 1995-12-29 | 2000-08-01 | Lucent Technologies Inc. | Maintaining consistency of database replicas |
GB2309558A (en) | 1996-01-26 | 1997-07-30 | Ibm | Load balancing across the processors of a server computer |
US5751961A (en) | 1996-01-31 | 1998-05-12 | Bell Communications Research, Inc. | Integrated internet system for translating logical addresses of internet documents to physical addresses using integrated service control point |
US6081829A (en) | 1996-01-31 | 2000-06-27 | Silicon Graphics, Inc. | General purpose web annotations without modifying browser |
US5659729A (en) | 1996-02-01 | 1997-08-19 | Sun Microsystems, Inc. | Method and system for implementing hypertext scroll attributes |
US5913024A (en) | 1996-02-09 | 1999-06-15 | Secure Computing Corporation | Secure server utilizing separate protocol stacks |
US5856974A (en) | 1996-02-13 | 1999-01-05 | Novell, Inc. | Internetwork address mapping gateway |
DE69712552T2 (en) | 1996-02-14 | 2003-01-09 | Hitachi Ltd | Method for monitoring a computer system with distribution of performance data to several monitoring processes |
US5751956A (en) | 1996-02-21 | 1998-05-12 | Infoseek Corporation | Method and apparatus for redirection of server external hyper-link references |
US6189030B1 (en) | 1996-02-21 | 2001-02-13 | Infoseek Corporation | Method and apparatus for redirection of server external hyper-link references |
US5761507A (en) | 1996-03-05 | 1998-06-02 | International Business Machines Corporation | Client/server architecture supporting concurrent servers within a server with a transaction manager providing server/connection decoupling |
JP2000508097A (en) | 1996-03-21 | 2000-06-27 | エムパス インタラクティブ,インコーポレイテッド | Network matchmaker to select clients based on server and communication link attributes |
US5832506A (en) | 1996-03-29 | 1998-11-03 | Intel Corporation | Directory for network servers |
US5790541A (en) | 1996-04-01 | 1998-08-04 | Motorola, Inc. | Apparatus, method, system and system method for distributed routing in a multipoint communication system |
US5867799A (en) | 1996-04-04 | 1999-02-02 | Lang; Andrew K. | Information system and method for filtering a massive flow of information entities to meet user information classification needs |
US6081835A (en) | 1996-04-04 | 2000-06-27 | British Telecommunications Public Limited Company | Internet server and method of controlling an internet server |
US5835718A (en) | 1996-04-10 | 1998-11-10 | At&T Corp | URL rewriting pseudo proxy server |
US6044405A (en) | 1996-04-12 | 2000-03-28 | Wam!Net Inc. | Service network incorporating geographically-remote hubs linked by high speed transmission paths |
DE59610895D1 (en) | 1996-04-17 | 2004-02-19 | Siemens Ag | Control device in the intelligent network |
US5828847A (en) | 1996-04-19 | 1998-10-27 | Storage Technology Corporation | Dynamic server switching for maximum server availability and load balancing |
US5894554A (en) | 1996-04-23 | 1999-04-13 | Infospinner, Inc. | System for managing dynamic web page generation requests by intercepting request at web server and routing to page server thereby releasing web server to process other requests |
US5734831A (en) | 1996-04-26 | 1998-03-31 | Sun Microsystems, Inc. | System for configuring and remotely administering a unix computer over a network |
US5754790A (en) | 1996-05-01 | 1998-05-19 | 3Com Corporation | Apparatus and method for selecting improved routing paths in an autonomous system of computer networks |
US5854899A (en) | 1996-05-09 | 1998-12-29 | Bay Networks, Inc. | Method and apparatus for managing virtual circuits and routing packets in a network/subnetwork environment |
US5784058A (en) | 1996-05-28 | 1998-07-21 | Sun Microsystems, Inc. | User-controllable persistent browser display pages |
US5715453A (en) | 1996-05-31 | 1998-02-03 | International Business Machines Corporation | Web server mechanism for processing function calls for dynamic data queries in a web page |
US5918021A (en) | 1996-06-03 | 1999-06-29 | Intel Corporation | System and method for dynamic distribution of data packets through multiple channels |
US5935207A (en) | 1996-06-03 | 1999-08-10 | Webtv Networks, Inc. | Method and apparatus for providing remote site administrators with user hits on mirrored web sites |
US5826031A (en) | 1996-06-10 | 1998-10-20 | Sun Microsystems, Inc. | Method and system for prioritized downloading of embedded web objects |
US6137792A (en) * | 1996-06-14 | 2000-10-24 | International Discount Telecommunications Corp. | Method and apparatus for enabling transmission of data packets over a bypass circuit-switched public telephone connection |
JP3178342B2 (en) | 1996-06-17 | 2001-06-18 | 松下電器産業株式会社 | Information provision system using network |
US6400681B1 (en) | 1996-06-20 | 2002-06-04 | Cisco Technology, Inc. | Method and system for minimizing the connection set up time in high speed packet switching networks |
WO1997049039A1 (en) | 1996-06-21 | 1997-12-24 | Bell Communications Research, Inc. | Apparatus and methods for highly available directory services in the distributed computing environment |
US5832514A (en) | 1996-06-26 | 1998-11-03 | Microsoft Corporation | System and method for discovery based data recovery in a store and forward replication process |
US5787271A (en) | 1996-06-26 | 1998-07-28 | Mci Corporation | Spare capacity allocation tool |
US6360256B1 (en) | 1996-07-01 | 2002-03-19 | Sun Microsystems, Inc. | Name service for a redundant array of internet servers |
US6134583A (en) | 1996-07-01 | 2000-10-17 | Sun Microsystems, Inc. | Method, system, apparatus and article of manufacture for providing identity-based caching services to a plurality of computer systems (#16) |
US6154777A (en) | 1996-07-01 | 2000-11-28 | Sun Microsystems, Inc. | System for context-dependent name resolution |
US5862339A (en) | 1996-07-09 | 1999-01-19 | Webtv Networks, Inc. | Client connects to an internet access provider using algorithm downloaded from a central server based upon client's desired criteria after disconnected from the server |
US6038610A (en) | 1996-07-17 | 2000-03-14 | Microsoft Corporation | Storage of sitemaps at server sites for holding information regarding content |
US5919247A (en) | 1996-07-24 | 1999-07-06 | Marimba, Inc. | Method for the distribution of code and data updates |
EP1018084B1 (en) | 1996-07-25 | 2011-12-07 | Xcelera Inc. | Web serving system with primary and secondary servers |
US5774660A (en) | 1996-08-05 | 1998-06-30 | Resonate, Inc. | World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network |
US5890171A (en) | 1996-08-06 | 1999-03-30 | Microsoft Corporation | Computer system and computer-implemented method for interpreting hypertext links in a document when including the document within another document |
US6347085B2 (en) | 1996-08-16 | 2002-02-12 | Netspeak Corporation | Method and apparatus for establishing communications between packet-switched and circuit-switched networks |
JP4025379B2 (en) | 1996-09-17 | 2007-12-19 | 株式会社ニューズウオッチ | Search system |
US5893116A (en) | 1996-09-30 | 1999-04-06 | Novell, Inc. | Accessing network resources using network resource replicator and captured login script for use when the computer is disconnected from the network |
US6092204A (en) | 1996-10-01 | 2000-07-18 | At&T Corp | Filtering for public databases with naming ambiguities |
US5931904A (en) | 1996-10-11 | 1999-08-03 | At&T Corp. | Method for reducing the delay between the time a data page is requested and the time the data page is displayed |
SE507138C2 (en) | 1996-10-14 | 1998-04-06 | Mirror Image Internet Ab | Procedure and apparatus for information transmission on the Internet |
US5870559A (en) | 1996-10-15 | 1999-02-09 | Mercury Interactive | Software system and associated methods for facilitating the analysis and management of web sites |
US5958008A (en) | 1996-10-15 | 1999-09-28 | Mercury Interactive Corporation | Software system and associated methods for scanning and mapping dynamically-generated web documents |
US6138141A (en) | 1996-10-18 | 2000-10-24 | At&T Corp | Server to client cache protocol for improved web performance |
US5787470A (en) | 1996-10-18 | 1998-07-28 | At&T Corp | Inter-cache protocol for improved WEB performance |
US6016307A (en) * | 1996-10-31 | 2000-01-18 | Connect One, Inc. | Multi-protocol telecommunications routing optimization |
US6038216A (en) | 1996-11-01 | 2000-03-14 | Packeteer, Inc. | Method for explicit data rate control in a packet communication environment without data rate supervision |
US6049831A (en) | 1996-11-08 | 2000-04-11 | Gte Laboratories Incorporated | System for transmitting network-related information where requested network information is separately transmitted as definitions and display information |
US5802106A (en) | 1996-12-06 | 1998-09-01 | Packeteer, Inc. | Method for rapid data rate detection in a packet communication environment without data rate supervision |
US6046980A (en) | 1996-12-09 | 2000-04-04 | Packeteer, Inc. | System for managing flow bandwidth utilization at network, transport and application layers in store and forward network |
US5922049A (en) | 1996-12-09 | 1999-07-13 | Sun Microsystems, Inc. | Method for using DHCP and marking to override learned IP addesseses in a network |
US5898668A (en) | 1996-12-13 | 1999-04-27 | Siemens Information And Communication Networks, Inc. | Method and system for increasing quality of service at or below a threshold cost |
US5913033A (en) | 1996-12-20 | 1999-06-15 | International Business Machines Corporation | Apparatus and method for retrieving information using standard objects |
US5802503A (en) | 1996-12-24 | 1998-09-01 | Pitney Bowes Inc. | Channel switched mail message switching and metering system |
US6052718A (en) | 1997-01-07 | 2000-04-18 | Sightpath, Inc | Replica routing |
US6052730A (en) | 1997-01-10 | 2000-04-18 | The Board Of Trustees Of The Leland Stanford Junior University | Method for monitoring and/or modifying web browsing sessions |
US6026440A (en) | 1997-01-27 | 2000-02-15 | International Business Machines Corporation | Web server account manager plug-in for monitoring resources |
US6084858A (en) * | 1997-01-29 | 2000-07-04 | Cabletron Systems, Inc. | Distribution of communication load over multiple paths based upon link utilization |
US6078943A (en) | 1997-02-07 | 2000-06-20 | International Business Machines Corporation | Method and apparatus for dynamic interval-based load balancing |
CA2692298C (en) | 1997-02-07 | 2014-10-28 | About.Com, Inc. | Collaborative internet data mining system |
US6173311B1 (en) | 1997-02-13 | 2001-01-09 | Pointcast, Inc. | Apparatus, method and article of manufacture for servicing client requests on a network |
US6108673A (en) | 1997-02-25 | 2000-08-22 | International Business Machines Corporation | System for creating a form from a template that includes replication block |
US6370571B1 (en) | 1997-03-05 | 2002-04-09 | At Home Corporation | System and method for delivering high-performance online multimedia services |
US6104711A (en) | 1997-03-06 | 2000-08-15 | Bell Atlantic Network Services, Inc. | Enhanced internet domain name server |
US6421726B1 (en) | 1997-03-14 | 2002-07-16 | Akamai Technologies, Inc. | System and method for selection and retrieval of diverse types of video data on a computer network |
US6012090A (en) | 1997-03-14 | 2000-01-04 | At&T Corp. | Client-side parallel requests for network services using group name association |
US6470389B1 (en) | 1997-03-14 | 2002-10-22 | Lucent Technologies Inc. | Hosting a network service on a cluster of servers using a single-address image |
US5987606A (en) | 1997-03-19 | 1999-11-16 | Bascom Global Internet Services, Inc. | Method and system for content filtering information retrieved from an internet computer network |
US5796952A (en) | 1997-03-21 | 1998-08-18 | Dot Com Development, Inc. | Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database |
US5945989A (en) | 1997-03-25 | 1999-08-31 | Premiere Communications, Inc. | Method and apparatus for adding and altering content on websites |
US6449259B1 (en) | 1997-03-31 | 2002-09-10 | Lucent Technologies Inc. | Communication controller |
US6189039B1 (en) | 1997-04-10 | 2001-02-13 | International Business Machines Corporation | Selective tunneling of streaming data |
CA2202572C (en) | 1997-04-14 | 2004-02-10 | Ka Lun Eddie Law | A scaleable web server and method of efficiently managing multiple servers |
US5884038A (en) | 1997-05-02 | 1999-03-16 | Whowhere? Inc. | Method for providing an Internet protocol address with a domain name server |
US5944780A (en) | 1997-05-05 | 1999-08-31 | At&T Corp | Network with shared caching |
US6256675B1 (en) | 1997-05-06 | 2001-07-03 | At&T Corp. | System and method for allocating requests for objects and managing replicas of objects on a network |
US6014698A (en) | 1997-05-19 | 2000-01-11 | Matchlogic, Inc. | System using first banner request that can not be blocked from reaching a server for accurately counting displays of banners on network terminals |
US6286045B1 (en) | 1997-05-19 | 2001-09-04 | Matchlogic, Inc. | Information storage and delivery over a computer network using centralized intelligence to monitor and control the information being delivered |
US6314565B1 (en) | 1997-05-19 | 2001-11-06 | Intervu, Inc. | System and method for automated identification, retrieval, and installation of multimedia software components |
US6119143A (en) | 1997-05-22 | 2000-09-12 | International Business Machines Corporation | Computer system and method for load balancing with selective control |
US6173322B1 (en) | 1997-06-05 | 2001-01-09 | Silicon Graphics, Inc. | Network request distribution based on static rules and dynamic performance data |
US6125394A (en) | 1997-06-06 | 2000-09-26 | At&T Corporation | Computer system having a plurality of resources and utilizing a selection mechanism to select the resources based upon historical loading |
US7260060B1 (en) | 1997-06-07 | 2007-08-21 | Nortel Networks Limited | Call admission control |
US5983227A (en) | 1997-06-12 | 1999-11-09 | Yahoo, Inc. | Dynamic page generator |
US6226748B1 (en) * | 1997-06-12 | 2001-05-01 | Vpnet Technologies, Inc. | Architecture for virtual private networks |
US6112239A (en) | 1997-06-18 | 2000-08-29 | Intervu, Inc | System and method for server-side optimization of data delivery on a distributed computer network |
JP3523019B2 (en) * | 1997-06-18 | 2004-04-26 | 富士通株式会社 | Frame relay device |
US6243760B1 (en) | 1997-06-24 | 2001-06-05 | Vistar Telecommunications Inc. | Information dissemination system with central and distributed caches |
US6105028A (en) | 1997-06-26 | 2000-08-15 | Digital Equipment Corporation | Method and apparatus for accessing copies of documents using a web browser request interceptor |
US6115357A (en) | 1997-07-01 | 2000-09-05 | Packeteer, Inc. | Method for pacing data flow in a packet-based network |
US6236642B1 (en) * | 1997-07-17 | 2001-05-22 | Siemens Information And Communication Networks, Inc. | Apparatus and method for network resource preservation |
US6442549B1 (en) | 1997-07-25 | 2002-08-27 | Eric Schneider | Method, product, and apparatus for processing reusable information |
US6021426A (en) | 1997-07-31 | 2000-02-01 | At&T Corp | Method and apparatus for dynamic data transfer on a web page |
US6006264A (en) | 1997-08-01 | 1999-12-21 | Arrowpoint Communications, Inc. | Method and system for directing a flow between a client and a server |
US5968121A (en) | 1997-08-13 | 1999-10-19 | Microsoft Corporation | Method and apparatus for representing and applying network topological data |
US5987430A (en) | 1997-08-28 | 1999-11-16 | Atcom, Inc. | Communications network connection system and method |
US6112240A (en) | 1997-09-03 | 2000-08-29 | International Business Machines Corporation | Web site client information tracker |
US6032138A (en) * | 1997-09-05 | 2000-02-29 | Pitney Bowes Inc. | Metering incoming deliverable mail |
US6226642B1 (en) | 1997-09-11 | 2001-05-01 | International Business Machines Corporation | Content modification of internet web pages for a television class display |
US6163779A (en) | 1997-09-29 | 2000-12-19 | International Business Machines Corporation | Method of saving a web page to a local hard drive to enable client-side browsing |
US6128279A (en) | 1997-10-06 | 2000-10-03 | Web Balance, Inc. | System for balancing loads among network servers |
US6035332A (en) | 1997-10-06 | 2000-03-07 | Ncr Corporation | Method for monitoring user interactions with web pages from web server using data and command lists for maintaining information visited and issued by participants |
JPH11110324A (en) | 1997-10-07 | 1999-04-23 | Hitachi Ltd | Substitutive server selector and substitutive server |
US6070191A (en) | 1997-10-17 | 2000-05-30 | Lucent Technologies Inc. | Data distribution techniques for load-balanced fault-tolerant web access |
US5996025A (en) | 1997-10-31 | 1999-11-30 | International Business Machines Corp. | Network transparent access framework for multimedia serving |
US6230196B1 (en) | 1997-11-12 | 2001-05-08 | International Business Machines Corporation | Generation of smart HTML anchors in dynamic web page creation |
US6018516A (en) | 1997-11-14 | 2000-01-25 | Packeteer, Inc. | Method for minimizing unneeded retransmission of packets in a packet communication environment supporting a plurality of data link rates |
US6041324A (en) | 1997-11-17 | 2000-03-21 | International Business Machines Corporation | System and method for identifying valid portion of computer resource identifier |
US6029176A (en) | 1997-11-25 | 2000-02-22 | Cannon Holdings, L.L.C. | Manipulating and analyzing data using a computer system having a database mining engine resides in memory |
US6591299B2 (en) | 1997-11-25 | 2003-07-08 | Packeteer, Inc. | Method for automatically classifying traffic with enhanced hierarchy in a packet communications network |
AU1421799A (en) | 1997-11-25 | 1999-06-15 | Packeteer, Inc. | Method for automatically classifying traffic in a packet communications network |
US6167427A (en) | 1997-11-28 | 2000-12-26 | Lucent Technologies Inc. | Replication service system and method for directing the replication of information servers based on selected plurality of servers load |
AU1710099A (en) | 1997-12-08 | 1999-06-28 | Packeteer, Inc. | Method for data rate control for heterogenous or peer internetworking |
US6065062A (en) | 1997-12-10 | 2000-05-16 | Cisco Systems, Inc. | Backup peer pool for a routed computer network |
US6178160B1 (en) | 1997-12-23 | 2001-01-23 | Cisco Technology, Inc. | Load balancing of client connections across a network using server based algorithms |
US6151624A (en) | 1998-02-03 | 2000-11-21 | Realnames Corporation | Navigating network resources based on metadata |
US7047300B1 (en) | 1998-02-10 | 2006-05-16 | Sprint Communications Company L.P. | Survivable and scalable data system and method for computer networks |
US7054935B2 (en) | 1998-02-10 | 2006-05-30 | Savvis Communications Corporation | Internet content delivery network |
US6185598B1 (en) | 1998-02-10 | 2001-02-06 | Digital Island, Inc. | Optimized network resource location |
US6697333B1 (en) * | 1998-03-04 | 2004-02-24 | Alcatel Canada Inc. | Bandwidth load consideration in network route selection |
US6553420B1 (en) | 1998-03-13 | 2003-04-22 | Massachusetts Institute Of Technology | Method and apparatus for distributing requests among a plurality of resources |
US6691148B1 (en) | 1998-03-13 | 2004-02-10 | Verizon Corporate Services Group Inc. | Framework for providing quality of service requirements in a distributed object-oriented computer system |
US6205120B1 (en) | 1998-03-13 | 2001-03-20 | Packeteer, Inc. | Method for transparently determining and setting an optimal minimum required TCP window size |
US6430618B1 (en) | 1998-03-13 | 2002-08-06 | Massachusetts Institute Of Technology | Method and apparatus for distributing requests among a plurality of resources |
US6154738A (en) | 1998-03-27 | 2000-11-28 | Call; Charles Gainor | Methods and apparatus for disseminating product information via the internet using universal product codes |
US6065051A (en) | 1998-04-15 | 2000-05-16 | Hewlett-Packard Company | Apparatus and method for communication between multiple browsers |
US6144996A (en) | 1998-05-13 | 2000-11-07 | Compaq Computer Corporation | Method and apparatus for providing a guaranteed minimum level of performance for content delivery over a network |
US6115752A (en) | 1998-05-21 | 2000-09-05 | Sun Microsystems, Inc. | System and method for server selection for mirrored sites |
US6452922B1 (en) | 1998-06-19 | 2002-09-17 | Nortel Networks Limited | Method and apparatus for fallback routing of voice over internet protocol call |
US6405257B1 (en) | 1998-06-26 | 2002-06-11 | Verizon Laboratories Inc. | Method and system for burst congestion control in an internet protocol network |
US6108703A (en) | 1998-07-14 | 2000-08-22 | Massachusetts Institute Of Technology | Global hosting system |
US6195680B1 (en) | 1998-07-23 | 2001-02-27 | International Business Machines Corporation | Client-based dynamic switching of streaming servers for fault-tolerance and load balancing |
US6611812B2 (en) | 1998-08-13 | 2003-08-26 | International Business Machines Corporation | Secure electronic content distribution on CDS and DVDs |
US7110984B1 (en) | 1998-08-13 | 2006-09-19 | International Business Machines Corporation | Updating usage conditions in lieu of download digital rights management protected content |
CA2338414C (en) | 1998-08-13 | 2006-05-09 | International Business Machines Corporation | Secure electronic content management system |
US6859791B1 (en) | 1998-08-13 | 2005-02-22 | International Business Machines Corporation | Method for determining internet users geographic region |
US6226618B1 (en) | 1998-08-13 | 2001-05-01 | International Business Machines Corporation | Electronic content delivery system |
US6144375A (en) | 1998-08-14 | 2000-11-07 | Praja Inc. | Multi-perspective viewer for content-based interactivity |
US6130890A (en) | 1998-09-11 | 2000-10-10 | Digital Island, Inc. | Method and system for optimizing routing of data packets |
US6529499B1 (en) | 1998-09-22 | 2003-03-04 | Lucent Technologies Inc. | Method for providing quality of service for delay sensitive traffic over IP networks |
US6502135B1 (en) | 1998-10-30 | 2002-12-31 | Science Applications International Corporation | Agile network protocol for secure communications with assured system availability |
US6507577B1 (en) | 1998-11-12 | 2003-01-14 | Nortel Networks Limited | Voice over internet protocol network architecture |
US6625643B1 (en) | 1998-11-13 | 2003-09-23 | Akamai Technologies, Inc. | System and method for resource management on a data network |
US6272566B1 (en) | 1998-11-18 | 2001-08-07 | International Business Machines Corporation | System for maintaining proper buffering within video play list |
US6614781B1 (en) | 1998-11-20 | 2003-09-02 | Level 3 Communications, Inc. | Voice over data telecommunications network architecture |
US6564251B2 (en) | 1998-12-03 | 2003-05-13 | Microsoft Corporation | Scalable computing system for presenting customized aggregation of information |
US6542469B1 (en) * | 1998-12-10 | 2003-04-01 | Sprint Communications Company, L.P. | Communications network system and method for routing based on disjoint pairs of path |
JP2002534842A (en) | 1998-12-23 | 2002-10-15 | ノキア・ワイヤレス・ルーターズ・インコーポレーテッド | Unified routing scheme for ad hoc internetworking |
US6611872B1 (en) * | 1999-01-11 | 2003-08-26 | Fastforward Networks, Inc. | Performing multicast communication in computer networks by using overlay routing |
US6577600B1 (en) * | 1999-01-11 | 2003-06-10 | Hewlett-Packard Development Company, L.P. | Cost calculation in load balancing switch protocols |
US6512761B1 (en) | 1999-02-02 | 2003-01-28 | 3Com Corporation | System for adjusting billing for real-time media transmissions based on delay |
US6584083B1 (en) | 1999-02-02 | 2003-06-24 | Mentat Inc. | Internet over satellite method |
US6529477B1 (en) | 1999-02-02 | 2003-03-04 | Mentat Inc. | Internet over satellite system |
US6934255B1 (en) | 1999-02-02 | 2005-08-23 | Packeteer, Inc. | Internet over satellite apparatus |
US6460085B1 (en) | 1999-02-02 | 2002-10-01 | Mentat Inc. | Method and system for managing memory in an internet over satellite connection |
US6654344B1 (en) | 1999-02-02 | 2003-11-25 | Mentat Inc. | Method and system for controlling data flow in an internet over satellite connection |
US6363053B1 (en) | 1999-02-08 | 2002-03-26 | 3Com Corporation | Method and apparatus for measurement-based conformance testing of service level agreements in networks |
US6981050B1 (en) | 1999-02-11 | 2005-12-27 | Loudeye Corp. | Digital remote recorder |
US6249810B1 (en) | 1999-02-19 | 2001-06-19 | Chaincast, Inc. | Method and system for implementing an internet radio device for receiving and/or transmitting media information |
US6901604B1 (en) | 1999-02-19 | 2005-05-31 | Chaincast, Inc. | Method and system for ensuring continuous data flow between re-transmitters within a chaincast communication system |
GB9905509D0 (en) | 1999-03-10 | 1999-05-05 | Northern Telecom Ltd | Label switched media gateway and network |
US6338044B1 (en) | 1999-03-17 | 2002-01-08 | Loudeye Technologies, Inc. | Personal digital content system |
US6505248B1 (en) | 1999-03-24 | 2003-01-07 | Gte Data Services Incorporated | Method and system for monitoring and dynamically reporting a status of a remote server |
US6888797B1 (en) | 1999-05-05 | 2005-05-03 | Lucent Technologies Inc. | Hashing-based network load balancing |
US6831895B1 (en) | 1999-05-19 | 2004-12-14 | Lucent Technologies Inc. | Methods and devices for relieving congestion in hop-by-hop routed packet networks |
US6754219B1 (en) * | 1999-06-04 | 2004-06-22 | Nortel Networks Limited | Modular routing system |
US6460082B1 (en) | 1999-06-17 | 2002-10-01 | International Business Machines Corporation | Management of service-oriented resources across heterogeneous media servers using homogenous service units and service signatures to configure the media servers |
US6463454B1 (en) | 1999-06-17 | 2002-10-08 | International Business Machines Corporation | System and method for integrated load distribution and resource management on internet environment |
US6275470B1 (en) | 1999-06-18 | 2001-08-14 | Digital Island, Inc. | On-demand overlay routing for computer-based communication networks |
US6973490B1 (en) | 1999-06-23 | 2005-12-06 | Savvis Communications Corp. | Method and system for object-level web performance and analysis |
US6496477B1 (en) | 1999-07-09 | 2002-12-17 | Texas Instruments Incorporated | Processes, articles, and packets for network path diversity in media over packet applications |
US7457233B1 (en) | 1999-07-15 | 2008-11-25 | Juniper Networks, Inc. | Method and apparatus for fast reroute in a connection-oriented network |
US6463508B1 (en) | 1999-07-19 | 2002-10-08 | International Business Machines Corporation | Method and apparatus for caching a media stream |
US6690651B1 (en) | 1999-07-22 | 2004-02-10 | Nortel Networks Limited | Method and apparatus for automatic transfer of a call in a communications system in response to changes in quality of service |
US6801576B1 (en) | 1999-08-06 | 2004-10-05 | Loudeye Corp. | System for accessing, distributing and maintaining video content over public and private internet protocol networks |
US6763388B1 (en) | 1999-08-10 | 2004-07-13 | Akamai Technologies, Inc. | Method and apparatus for selecting and viewing portions of web pages |
US6834306B1 (en) | 1999-08-10 | 2004-12-21 | Akamai Technologies, Inc. | Method and apparatus for notifying a user of changes to certain parts of web pages |
US6490580B1 (en) | 1999-10-29 | 2002-12-03 | Verizon Laboratories Inc. | Hypervideo information retrieval usingmultimedia |
US6493707B1 (en) | 1999-10-29 | 2002-12-10 | Verizon Laboratories Inc. | Hypervideo: information retrieval using realtime buffers |
US6577595B1 (en) | 1999-11-12 | 2003-06-10 | Genuity Inc. | Systems and methods for transporting associated data signals over a network |
US6484143B1 (en) | 1999-11-22 | 2002-11-19 | Speedera Networks, Inc. | User device and system for traffic management and content distribution over a world wide area network |
US6694358B1 (en) | 1999-11-22 | 2004-02-17 | Speedera Networks, Inc. | Performance computer network method |
US6754699B2 (en) | 2000-07-19 | 2004-06-22 | Speedera Networks, Inc. | Content delivery and global traffic management network system |
US6405252B1 (en) | 1999-11-22 | 2002-06-11 | Speedera Networks, Inc. | Integrated point of presence server network |
US6754706B1 (en) | 1999-12-16 | 2004-06-22 | Speedera Networks, Inc. | Scalable domain name system with persistence and load balancing |
US6744767B1 (en) | 1999-12-30 | 2004-06-01 | At&T Corp. | Method and apparatus for provisioning and monitoring internet protocol quality of service |
US6665726B1 (en) | 2000-01-06 | 2003-12-16 | Akamai Technologies, Inc. | Method and system for fault tolerant media streaming over the internet |
US20020046273A1 (en) | 2000-01-28 | 2002-04-18 | Lahr Nils B. | Method and system for real-time distributed data mining and analysis for network |
WO2001055913A1 (en) | 2000-01-28 | 2001-08-02 | Williams Communications, Llc | Method of utilizing a single uniform resource locator for resources with multiple formats |
US20020042817A1 (en) | 2000-01-28 | 2002-04-11 | Lahr Nils B. | System and method for mirroring and caching compressed data in a content distribution system |
WO2001055912A1 (en) | 2000-01-28 | 2001-08-02 | Ibeam Broadcasting Corporation | Method and apparatus for client-side authentication and stream selection in a content distribution system |
AU2001236576A1 (en) | 2000-01-28 | 2001-08-07 | Ibeam Broadcasting Corporation | A system and method for performing broadcast-enabled disk drive replication in adistributed data delivery network |
WO2001055879A1 (en) | 2000-01-28 | 2001-08-02 | Ibeam Broadcasting Corporation | A system and method for determining optimal server in a distributed network for serving content streams |
US20020023165A1 (en) | 2000-01-28 | 2002-02-21 | Lahr Nils B. | Method and apparatus for encoder-based distribution of live video and other streaming content |
US20020163889A1 (en) * | 2000-02-02 | 2002-11-07 | Yechiam Yemini | Method and apparatus for providing services on a dynamically addressed network |
JP4091723B2 (en) * | 2000-02-04 | 2008-05-28 | 富士通株式会社 | Data transfer method and apparatus |
US6718328B1 (en) | 2000-02-28 | 2004-04-06 | Akamai Technologies, Inc. | System and method for providing controlled and secured access to network resources |
US7117259B1 (en) | 2000-03-03 | 2006-10-03 | International Business Machines Corporation | Server time window for multiple selectable servers in a graphical user interface |
US6763377B1 (en) | 2000-03-03 | 2004-07-13 | International Business Machines Corporation | Asset management and scheduling graphical user interface for media streamer |
US6963910B1 (en) | 2000-03-03 | 2005-11-08 | International Business Machines Corporation | Graphical user interface for creating assets |
US6981180B1 (en) | 2000-03-16 | 2005-12-27 | Akamai Technologies, Inc. | Method and apparatus for testing request-response service using live connection traffic |
US7058706B1 (en) | 2000-03-31 | 2006-06-06 | Akamai Technologies, Inc. | Method and apparatus for determining latency between multiple servers and a client |
US7240100B1 (en) | 2000-04-14 | 2007-07-03 | Akamai Technologies, Inc. | Content delivery network (CDN) content server request handling mechanism with metadata framework support |
US6996616B1 (en) | 2000-04-17 | 2006-02-07 | Akamai Technologies, Inc. | HTML delivery from edge-of-network servers in a content delivery network (CDN) |
US6904017B1 (en) | 2000-05-08 | 2005-06-07 | Lucent Technologies Inc. | Method and apparatus to provide centralized call admission control and load balancing for a voice-over-IP network |
EP1290853A2 (en) | 2000-05-26 | 2003-03-12 | Akamai Technologies, Inc. | Global load balancing across mirrored data centers |
US7028083B2 (en) | 2000-05-26 | 2006-04-11 | Akomai Technologies, Inc. | Method for extending a network map |
US7096263B2 (en) | 2000-05-26 | 2006-08-22 | Akamai Technologies, Inc. | Method for predicting file download time from mirrored data centers in a global computer network |
US6658479B1 (en) * | 2000-06-30 | 2003-12-02 | Sun Microsystems, Inc. | Load-balanced anycasting and routing in a network |
US6842615B2 (en) * | 2000-07-14 | 2005-01-11 | Comsat Corporation | Least cost routing for mobile satellite systems employing a GPRS network infrastructure |
US7155723B2 (en) | 2000-07-19 | 2006-12-26 | Akamai Technologies, Inc. | Load balancing service |
US7103564B1 (en) | 2000-08-17 | 2006-09-05 | International Business Machines Corporation | Method and apparatus for performing personalization based on classification |
US6954784B2 (en) | 2000-08-17 | 2005-10-11 | International Business Machines Corporation | Systems, method and computer program products for cluster workload distribution without preconfigured port identification by utilizing a port of multiple ports associated with a single IP address |
US7698463B2 (en) * | 2000-09-12 | 2010-04-13 | Sri International | System and method for disseminating topology and link-state information to routing nodes in a mobile ad hoc network |
US6950623B2 (en) | 2000-09-19 | 2005-09-27 | Loudeye Corporation | Methods and systems for dynamically serving in-stream advertisements |
US7010578B1 (en) | 2000-09-21 | 2006-03-07 | Akamai Technologies, Inc. | Internet content delivery service with third party cache interface support |
US20020083124A1 (en) | 2000-10-04 | 2002-06-27 | Knox Christopher R. | Systems and methods for supporting the delivery of streamed content |
WO2002039718A2 (en) | 2000-10-19 | 2002-05-16 | Loudeye Technologies, Inc. | System and method for selective insertion of content into streaming media |
KR20020030610A (en) | 2000-10-19 | 2002-04-25 | 스톰 씨엔씨 인코포레이티드 | A method for preventing reduction of sales amount of phonograph records by way of digital music file unlawfully circulated through communication network |
US6963980B1 (en) | 2000-11-16 | 2005-11-08 | Protegrity Corporation | Combined hardware and software based encryption of databases |
US20020066038A1 (en) | 2000-11-29 | 2002-05-30 | Ulf Mattsson | Method and a system for preventing impersonation of a database user |
US6751673B2 (en) | 2001-01-03 | 2004-06-15 | Akamai Technologies, Inc. | Streaming media subscription mechanism for a content delivery network |
US7096266B2 (en) | 2001-01-08 | 2006-08-22 | Akamai Technologies, Inc. | Extending an Internet content delivery network into an enterprise |
US20020131645A1 (en) | 2001-01-16 | 2002-09-19 | Packeteer Incorporated | Method and apparatus for optimizing a JPEG image using regionally variable compression levels |
US6963981B1 (en) | 2001-01-29 | 2005-11-08 | Akamai Technologies, Inc. | Method and apparatus for remote installation of an operating system over a network connection |
US7082473B2 (en) * | 2001-02-01 | 2006-07-25 | Lucent Technologies Inc. | System and method for optimizing open shortest path first aggregates and autonomous network domain incorporating the same |
KR100392089B1 (en) | 2001-02-02 | 2003-07-22 | 스톰 씨엔씨 인코포레이티드 | A method for preventing reduction of sales amount of phonograph records by way of digital music file unlawfully circulated through communication network |
US6699418B2 (en) | 2001-02-23 | 2004-03-02 | Kuraray Co., Ltd. | Method for producing biaxially stretched film made of ethylene-vinyl alcohol copolymer |
US7003572B1 (en) | 2001-02-28 | 2006-02-21 | Packeteer, Inc. | System and method for efficiently forwarding client requests from a proxy server in a TCP/IP computing environment |
EP1388073B1 (en) | 2001-03-01 | 2018-01-10 | Akamai Technologies, Inc. | Optimal route selection in a content delivery network |
KR100413627B1 (en) | 2001-03-19 | 2003-12-31 | 스톰 씨엔씨 인코포레이티드 | System for jointing digital literary works against unlawful reproduction through communication network and method for there of |
US20020143798A1 (en) | 2001-04-02 | 2002-10-03 | Akamai Technologies, Inc. | Highly available distributed storage system for internet content with storage site redirection |
US7007089B2 (en) | 2001-06-06 | 2006-02-28 | Akarnai Technologies, Inc. | Content delivery network map generation using passive measurement data |
AU2002334947A1 (en) | 2001-06-14 | 2003-01-21 | Cable And Wireless Internet Services, Inc. | Secured shared storage architecture |
US6970432B1 (en) | 2001-06-18 | 2005-11-29 | Packeteer, Inc. | System and method for dynamically identifying internal hosts in a heterogeneous computing environment with multiple subnetworks |
US7647418B2 (en) | 2001-06-19 | 2010-01-12 | Savvis Communications Corporation | Real-time streaming media measurement system and method |
US20020199016A1 (en) | 2001-06-22 | 2002-12-26 | Freedman Avraham T. | Automated control of outbound transist links in a multi-homed BGP routing environment |
WO2003007154A2 (en) | 2001-07-09 | 2003-01-23 | Cable & Wireless Internet Services, Inc. | Methods and systems for shared storage virtualization |
US6708137B2 (en) | 2001-07-16 | 2004-03-16 | Cable & Wireless Internet Services, Inc. | System and method for providing composite variance analysis for network operation |
US7188085B2 (en) | 2001-07-20 | 2007-03-06 | International Business Machines Corporation | Method and system for delivering encrypted content with associated geographical-based advertisements |
EP1413119B1 (en) | 2001-08-04 | 2006-05-17 | Kontiki, Inc. | Method and apparatus for facilitating distributed delivery of content across a computer network |
US7012900B1 (en) | 2001-08-22 | 2006-03-14 | Packeteer, Inc. | Method for measuring network delay using gap time |
US7617272B2 (en) | 2001-09-24 | 2009-11-10 | Loudeye Corp. | Systems and methods for enhancing streaming media |
US7406522B2 (en) | 2001-09-26 | 2008-07-29 | Packeteer, Inc. | Dynamic partitioning of network resources |
JP5130144B2 (en) | 2008-07-28 | 2013-01-30 | 株式会社小糸製作所 | Aircraft lights |
-
1999
- 1999-06-18 US US09/336,487 patent/US6275470B1/en not_active Expired - Lifetime
-
2000
- 2000-06-16 EP EP07024630.1A patent/EP1898571B1/en not_active Expired - Lifetime
- 2000-06-16 CA CA002374621A patent/CA2374621C/en not_active Expired - Lifetime
- 2000-06-16 AU AU56209/00A patent/AU5620900A/en not_active Abandoned
- 2000-06-16 JP JP2001504633A patent/JP4677155B2/en not_active Expired - Fee Related
- 2000-06-16 AT AT00941508T patent/ATE383013T1/en not_active IP Right Cessation
- 2000-06-16 DE DE60037660T patent/DE60037660T2/en not_active Expired - Lifetime
- 2000-06-16 WO PCT/US2000/016732 patent/WO2000079730A2/en active IP Right Grant
- 2000-06-16 EP EP00941508A patent/EP1188280B1/en not_active Expired - Lifetime
-
2001
- 2001-06-25 US US09/888,966 patent/US6473405B2/en not_active Expired - Lifetime
- 2001-07-27 US US09/916,628 patent/US6778502B2/en not_active Expired - Lifetime
-
2003
- 2003-07-30 US US10/630,559 patent/US7953888B2/en not_active Expired - Fee Related
-
2011
- 2011-05-30 US US13/118,569 patent/US8599697B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US6778502B2 (en) | 2004-08-17 |
EP1188280A2 (en) | 2002-03-20 |
ATE383013T1 (en) | 2008-01-15 |
EP1188280B1 (en) | 2008-01-02 |
US20010037409A1 (en) | 2001-11-01 |
US20110228678A1 (en) | 2011-09-22 |
WO2000079730A3 (en) | 2001-07-12 |
DE60037660D1 (en) | 2008-02-14 |
US20020018449A1 (en) | 2002-02-14 |
US6275470B1 (en) | 2001-08-14 |
EP1898571A3 (en) | 2010-09-01 |
EP1898571B1 (en) | 2017-02-08 |
EP1898571A2 (en) | 2008-03-12 |
JP2003502941A (en) | 2003-01-21 |
WO2000079730A2 (en) | 2000-12-28 |
JP4677155B2 (en) | 2011-04-27 |
AU5620900A (en) | 2001-01-09 |
US20040022194A1 (en) | 2004-02-05 |
CA2374621A1 (en) | 2000-12-28 |
DE60037660T2 (en) | 2008-11-06 |
US8599697B2 (en) | 2013-12-03 |
US7953888B2 (en) | 2011-05-31 |
US6473405B2 (en) | 2002-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2374621C (en) | On-demand overlay routing for computer-based communication networks | |
US6418139B1 (en) | Mechanism to guarantee quality of service to real-time traffic on IP networks | |
EP1388073B1 (en) | Optimal route selection in a content delivery network | |
JP4975760B2 (en) | How to allow multiple client machines to remotely access applications running on the target server | |
US6760775B1 (en) | System, method and apparatus for network service load and reliability management | |
US7379428B2 (en) | Autonomous system topology based auxiliary network for peer-to-peer overlay network | |
IL155356A (en) | Method and apparatus for the assessment and optimization of network traffic | |
US20040199664A1 (en) | Method and system for improving a route along which data is sent using an ip protocol in a data communications network | |
CN104158736B (en) | A kind of method and apparatus for determining next-hop, issuing routing iinformation | |
EP1185041B1 (en) | OSPF autonomous system with a backbone divided into two sub-areas | |
EP1440529B1 (en) | System and method for information object routing in computer networks | |
Cisco | IP Routing Protocols | |
Lakshminarayanan | Design of a Resilient and Customizable Routing Architecture | |
Nelson | Internet-scale reactive routing and mobility |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKEX | Expiry |
Effective date: 20200616 |