Buffer-Less Virtual Routing
AssigneeLevel 3 Communications, LLC
InventorsWilliam Thomas SELLA, James Michael Sella
Life of this patent
Estimating the term…
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.
Claims21
(canceled)
A computer-implemented method for virtually routing a first data stream from a source to a destination, comprising:
- (a) determining, by an edge router, a first virtual router and a first default path from the edge router to the first virtual router;
- (b) in response to receiving a first packet in the first data stream by the edge router, attaching routing information to the first packet;
- (c) sending, by the edge router, the first packet received in (b) to the first virtual router along the first default path;
- (d) in response to receiving a second packet from the first data stream by the edge router, sending the second packet to the first virtual router along the first default path;
- (e) receiving, by the edge router, a first instruction from the first virtual router to configure the edge router to route data such that at least a first portion of the first data stream is routed along a first path determined through a plurality of interconnected routers from the source to the destination;
- and
- (f) configuring the edge router according to the first instruction received in (e).
An edge router for virtually routing data streams, comprising:
- a routing table specifying a first default path from the edge router to a first virtual router;
- and
- a processor coupled to the routing table, the processor configured to:
- (a) in response to receiving a first packet in the first data stream, attach routing information to the first packet;
- (b) send the first packet received in (a) to the first virtual router along the first default path;
- (c) in response to receiving a second packet from the first data stream, send the second packet to the first virtual router along the first default path;
- and
- (d) in response to receiving a first instruction from the first virtual router to configure the edge router to route data such that at least a first portion of the first data stream is routed along a first path through a plurality of interconnected routers from the source to the destination, update the routing table with the first path.
A non-transitory computer-readable medium having instructions stored thereon that, when executed by at least one computing device, causes the at least one computing device to perform a method for virtually routing a first data stream from a source to a destination, the method comprising:
- (a) determining, by an edge router, a first virtual router and a first default path from the edge router to the first virtual router;
- (b) in response to receiving a first packet in the first data stream by the edge router, attaching routing information to the first packet;
- (c) sending, by the edge router, the first packet received in (b) to the first virtual router along the first default path;
- (d) in response to receiving a second packet from the first data stream by the edge router, sending the second packet to the first virtual router along the first default path;
- (e) receiving, by the edge router, a first instruction from the first virtual router to configure the edge router to route data such that at least a first portion of the first data stream is routed along a first path determined through a plurality of interconnected routers from the source to the destination;
- and
- (f) configuring the edge router according to the first instruction received in (e).
Dependencies are inferred from the claim text.