On-demand overlay routing for computer-based communication networks
DCFirst Claim
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.
9 Assignments
Litigations
0 Petitions
Accused Products
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.
285 Citations
31 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
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 in the same.
-
7. The method of claim 5, wherein the first intermediate node and the last intermediate node are not one in the same.
-
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.
-
-
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 following group:
- {Internet Protocol, http, ftp SSL,TCP}.
-
17. The method of claim 1, wherein the packet-switched communications network has a static topology.
-
18. The method of claim 1, wherein the packet-switched 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 following group:
- {delay, bandwidth, jitter, loss, 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 the 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. - View Dependent Claims (25)
-
-
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.
-
-
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 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 node to the second node as a part of the electronic commerce transaction, said alternate path discovery means being operable to discover an alternate path between the first node and the second 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 node to the second node by way of the alternative 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 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. - View Dependent Claims (29, 30, 31)
-
Specification