IP Library › Granted Patent US 10,382,328
Granted Patent B1
US 10,382,328 · App. 15/279,216 · Granted Aug 13, 2019

Bouncing router communications in a multi-tier network

Inventor: Colin John Whittaker (Dublin, IE)
Assignee: Amazon Technologies, Inc.
H04L45/583H04L45/021H04L45/24H04L45/54H04L45/745H04L49/3009
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,382,328
App. No.
15/279,216
Granted
Aug 13, 2019
Kind
B1
Abstract

Technologies are provided for distributing intra-network communications evenly across routers in a multi-tier network. Routers in a middle tier of the network receive data transmissions from a router in a lower tier of the network and determine that a destination of the data transmissions is another router in the lower tier of the network. Instead of routing the data transmissions to the destination router directly, the routers in the middle tier of the network route the data transmissions to other routers in a higher tier of the network. The routers in the higher tier of the network then route the data transmissions back to routers in the middle tier of the network, distributing the data transmissions evenly across routers in the middle tier that are connected to the destination router in the lower tier.

Claims (68)

1. A system, comprising:

multiple top-of-rack (TOR) routers, configured to:

transmit data packets to a router in a first tier of a network for routing among the TOR routers, and

receive data packets via the router in the first tier of the network; and

the router in the first tier of the network, comprising a default routing table and an override routing table, wherein the router in the first tier of the network is configured to:

receive a data packet from one of the TOR routers,

determine whether a destination header of the data packet contains an address of another one of the TOR routers, and responsive to the determining:

if the destination header of the data packet contains the address of the another of the TOR routers, use the override routing table to override a default behavior of the router in the first tier in the network of transmitting the data packets directly to the another one of the TOR routers, and instead transmit the data packet to a router in a second tier of the network for routing to the another one of the TOR routers, wherein the second tier is a higher tier in the network than the first tier; and

otherwise use the default routing table to route the data packet.

2. The system of claim 1 , further comprising:

the router in the second tier of the network, configured to:

receive the data packets from the router in the first tier of the network, and

transmit the data packets back to the router in the first tier of the network for routing to the another one of the TOR routers.

3. The system of claim 1 , wherein the router in the first tier of the network is further configured to:

determine that the data packet should be routed to another one of the multiple TOR routers using the override routing table; and

identify the router in the second tier of the network using the override routing table.

4. The system of claim 1 , further comprising:

a configuration server configured to:

transmit an override routing table configuration to the router in the first tier; and

wherein the router in the first tier is further configured to:

receive the override routing table configuration from the configuration server, and generate the override routing table based on the received configuration.

5. The system of claim 1 , wherein the router in the first tier is further configured to:

use the override routing table to route data packets received over one or more interfaces of the router in the first tier connected to the one of the TOR routers; and

use the default routing table to route data packets received over one or more other interfaces of the router in the first tier connected to the router in the second tier of the network.

6. A method, comprising:

receiving, at a particular router in an intermediate tier of a multi-tier network, a data transmission from a first router in a lower tier of the network, the first router being connected to the particular router;

determining that a destination of the data transmission is a second router in the lower tier of the network, the second router being connected to the particular router, wherein the determining that the destination of the data transmission is the second router in the lower tier of the network comprises matching the destination of the data transmission to a subnet mask associated with an override routing table;

responsive to the determining, overriding a default behavior of routing the data transmission directly to the second router in the lower tier via the connection between the second router and the particular router, and instead routing the data transmission to another router in a higher tier of the network for re-routing to the second router in the lower tier of the network, wherein the routing the data transmission to the another router in the higher tier of the network comprises looking up an address of the another router in the override routing table;

determining that a destination of a second data transmission does not match a subnet mask associated with the override routing table; and

routing the second data transmission using a default routing table.

7. The method of claim 6 , further comprising:

re-receiving the data transmission at the particular router from the another router; and

routing the data transmission to the second router in the lower tier of the network.

8. The method of claim 6 , wherein:

the data transmission comprises a data packet; and

determining that the destination of the data transmission is the second router in the lower tier of the network further comprises matching a value of a destination header of the data packet to the subnet mask associated with an override routing table.

9. The method of claim 6 , further comprising:

receiving a configuration at the particular router, wherein the configuration specifies the subnet mask and the address of the another router; and

processing the configuration to generate the override routing table.

10. The method of claim 9 , wherein the configuration specifies one or more interfaces of the router in the intermediate tier of the network to which the override routing table is applied.

11. The method of claim 6 , wherein:

the first and second routers in the lower tier of the network are top-of-rack routers connected to rack-facing interfaces of the particular router.

12. The method of claim 6 , further comprising:

receiving multiple data transmissions from the first router in the lower tier of the network destined for the second router in the lower tier of the network; and

routing the multiple data transmissions to different routers in the higher tier of the network for re-routing to the second router in the lower tier of the network.

13. A method, comprising:

identifying a router in a middle tier of a network topology;

identifying multiple routers in a lower tier of the network topology that are connected to the router in the middle tier;

identifying multiple routers in an upper tier of the network topology that are connected to the router in the middle tier;

generating a configuration that, when processed by the router in the middle tier of the network topology, causes the router in the middle tier of the network topology to generate an override routing table to override a default behavior of forwarding a data packet transmitted by one of the multiple routers in the lower tier, and destined for another of the routers in the lower tier, directly to the another of the routers in the lower tier, and instead forward the data packet, to one of the multiple routers in the upper tier of the network topology;

transmitting the configuration to the router in the middle tier of the network topology for processing;

processing the configuration by the router in the middle tier of the network topology, wherein the processing comprises:

generating the override routing table based on the configuration, and

applying the generated override routing table to an interface of the router in the middle tier that is connected to one of the multiple routers in the lower tier of the network topology; and

routing a data message received at the interface of the router in the middle tier of the network from the one of the multiple routers in the lower tier of the network, wherein the routing comprises:

analyzing the data message to determine whether a destination of the data message is one of the multiple routers in the lower tier of the network topology, if the destination of the data message is one of the multiple routers in the lower tier of the network topology, using the generated override routing table to identify one or more of the multiple routers in the higher tier of the network and routing the data message to the one of the identified routers, and

otherwise using a global routing table to route the data message.

14. The method of claim 13 , further comprising:

receiving a data message at the interface of the router in the middle tier of the network from the one of the multiple routers in the lower tier of the network topology;

based on the generated override routing table applied to the interface, overriding the default behavior of forwarding the data message directly to the another of the routers in the lower tier and instead forwarding the data message to the one of the multiple routers in the upper tier of the network topology.

15. The method of claim 13 , further comprising:

identifying a second router in the middle tier of the network topology, wherein the second router in the middle tier is connected to one of the multiple routers in the lower tier of the network topology and is connected to one of the multiple routers in the upper tier of the topology;

generating a second configuration that, when processed by the second router in the middle tier of the network topology, causes the second router in the middle tier of the network topology to forward another data packet, transmitted by one of the multiple routers in the lower tier, and destined for the another of the routers in the lower tier, to the one of the multiple routers in the upper tier of the network topology; and

transmitting the configuration to the second router in the middle tier of the network topology for processing.

16. The method of claim 13 , wherein:

the configuration specifies the interface of the router in the middle tier to which the override routing table is applied.

17. The method of claim 13 , wherein:

the configuration specifies a subnet mask to be associated with the override routing table.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2018
From: WHITTAKER, COLIN JOHN
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 045740/0868 →
Continuity (1)
Provisional Application 62368881 · Jul 29, 2016
Cited By (2)
US 12,355,621 US 12,549,468