Buffer-less virtual routing
First Claim
1. A computer-implemented method for virtually routing a first data stream from a source to a destination through a plurality of interconnected routers, comprising:
- (a) receiving a first packet in the first data stream at a virtual router on a first default path from the source to the virtual router;
(b) transmitting the first packet to the destination on a second default path from the virtual router to the destination;
(c) determining a first path through the plurality of interconnected routers from the source to the destination;
(d) configuring the routers to route subsequent data in the first data stream along the first path determined in (c);
(e) receiving, at the virtual router, a second packet in the first data stream on the first default path from the source to the virtual router; and
(f) transmitting the second packet to the destination over the second default path from the virtual router to the destination.
2 Assignments
0 Petitions
Accused Products
Abstract
A network includes a plurality of endpoint routers and intermediate routers. When a new data stream is detected at any endpoint router, the first packet is sent to a virtual routing server with knowledge of the entire network topology. Based on the topology, current usage, and historical usage, the virtual routing server determined a path for the data stream and begins to update the routing tables of the intermediate routers to reflect the determined path. Until the update is complete, all packets in the data stream are routed first to the virtual routing server and then to their destination. Once the update is complete, packets in the data stream are routed directly along the determined path.
21 Citations
20 Claims
-
1. A computer-implemented method for virtually routing a first data stream from a source to a destination through a plurality of interconnected routers, comprising:
-
(a) receiving a first packet in the first data stream at a virtual router on a first default path from the source to the virtual router; (b) transmitting the first packet to the destination on a second default path from the virtual router to the destination; (c) determining a first path through the plurality of interconnected routers from the source to the destination; (d) configuring the routers to route subsequent data in the first data stream along the first path determined in (c); (e) receiving, at the virtual router, a second packet in the first data stream on the first default path from the source to the virtual router; and (f) transmitting the second packet to the destination over the second default path from the virtual router to the destination. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system for virtually routing a first data stream from a source to a destination through a plurality of interconnected routers, comprising:
-
a data stream module configured to receive a first packet in the first data stream over a first default path from the source to the virtual routing system; a path determination module configured to determine a first path for the first data stream through plurality of interconnected routers from the source to the destination and to configure the respective routers along the first path to route data from the first data stream along the first path; and a data forward module configured to transmit the first packet to the destination on a second default path from the virtual routing system to the destination, wherein the data stream module is further configured to receive a second packet in the first data stream over the first default path from the source to the virtual routing system, and the data forward module is further configured to transmit the second packet on the second default path from the virtual routing system to the destination. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A program storage device tangibly embodying a program of instructions executable by at least one machine to perform a method for virtually routing a first data stream from a source to a destination through a plurality of interconnected routers, the method comprising:
-
(a) receiving a first packet in the first data stream at a virtual router on a first default path from the source to the virtual router; (b) transmitting the first packet to the destination on a second default path from the virtual router to the destination; (c) determining a first path through plurality of interconnected routers from the source to the destination; (d) configuring the routers determined in (c) to route data from the first data stream along the first path; (e) receiving, at the virtual routing server a second packet from the first data stream on the first default path from the source to the virtual router; and (f) transmitting the second packet to the destination over the second default path from the virtual router to the destination.
-
Specification