IP Library Granted Patent US 11,336,591
Granted Patent B2
US 11,336,591 · App. 16/993,807 · Granted May 17, 2022

Priority based route programming in a network

Inventor: Vijai Coimbatore Natarajan (San Jose, CA)
Assignee: VMware, Inc.
H04L49/90H04L45/02H04L45/28H04L45/54H04L47/2441
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 11,336,591
App. No.
16/993,807
Granted
May 17, 2022
Kind
B2
Abstract

In some embodiments, a method stores a plurality of requests for routes in a queue based on respective priorities for the routes. The plurality of requests are for programming destinations and next hops for the destinations in a route table that is used by a device in a network to route packets. The method selects a request for a route from the queue based on a respective priority for the queue. Then, the request for the route is sent to an entity to program the route in the route table.

Claims (40)

1. A method for programming a route table that is used to route packets between hosts, the method comprising:

storing, by a first host, a plurality of requests for routes in a queue based on respective priorities for the routes, wherein the plurality of requests are for programming destinations and next hops for the destinations in the route table that is used by a device in a network to route packets between hosts that are connected by the network;

selecting, by the first host, a request for a route from the queue based on a respective priority for the queue; and

sending, by the first host, the request for the route to an entity to program the route in the route table, wherein processing the request and other requests from one or more second hosts to program the route table is controlled by the entity and not the respective priority assigned to the request by the first host.

2. The method of claim 1 , wherein sending the request for the route to the entity comprises:

sending the request before sending another request in the queue, wherein the another request is associated with a lower priority than the request.

3. The method of claim 1 , wherein storing the plurality of requests for routes in the queue comprises:

storing the plurality of requests in an order based on respective priorities, wherein the request is selected based on the order.

4. The method of claim 1 , wherein storing the plurality of requests for routes in the queue comprises:

storing a request in the order with a retry priority when the request has failed from being previously being sent to the entity, wherein the retry priority is processed as a higher priority than an original priority assigned to the request.

5. The method of claim 1 , wherein the processing of requests at the entity does not use the priority of the request.

6. The method of claim 1 , wherein the respective priority for the plurality of requests comprises pre-defined priorities that are fixed for a first category of routes and customized priorities that can be assigned to a second category of routes.

7. The method of claim 1 , further comprising:

receiving the route to program in the route table for the network; and

selecting a priority from a plurality of priorities based on an associated category of the route.

8. A non-transitory computer-readable storage medium containing instructions for programming a route table that is used to route packets between hosts, wherein the instructions, when executed, control a first host to be operable for:

storing a plurality of requests for routes in a queue based on respective priorities for the routes, wherein the plurality of requests are for programming destinations and next hops for the destinations in the route table that is used by a device in a network to route packets between hosts that are connected by the network;

selecting a request for a route from the queue based on a respective priority for the queue; and

sending the request for the route to an entity to program the route in the route table, wherein processing the request and other requests from one or more second hosts to program the route table is controlled by the entity and not the respective priority assigned to the request by the first host.

9. The non-transitory computer-readable storage medium of claim 8 , wherein sending the request for the route to the entity comprises:

sending the request before sending another request in the queue, wherein the another request is associated with a lower priority than the request.

10. The non-transitory computer-readable storage medium of claim 8 , wherein storing the plurality of requests for routes in the queue comprises:

storing the plurality of requests in an order based on respective priorities, wherein the request is selected based on the order.

11. The non-transitory computer-readable storage medium of claim 8 , wherein storing the plurality of requests for routes in the queue comprises:

storing a request in the order with a retry priority when the request has failed from being previously being sent to the entity, wherein the retry priority is processed as a higher priority than an original priority assigned to the request.

12. The non-transitory computer-readable storage medium of claim 8 , wherein the processing of requests at the entity does not use the priority of the request.

13. The non-transitory computer-readable storage medium of claim 8 , wherein the respective priority for the plurality of requests comprises pre-defined priorities that are fixed for a first category of routes and customized priorities that can be assigned to a second category of routes.

14. The non-transitory computer-readable storage medium of claim 8 , further operable for:

receiving the route to program in the route table for the network; and

selecting a priority from a plurality of priorities based on an associated category of the route.

15. A first host for programming a route table that is used to route packets between hosts, the first host comprising:

one or more computer processors; and a non-transitory computer-readable storage medium comprising instructions, that when executed, control the one or more computer processors to be operable for:

storing a plurality of requests for routes in a queue based on respective priorities for the routes, wherein the plurality of requests are for programming destinations and next hops for the destinations in the route table that is used by a device in a network to route packets between hosts that are connected by the network;

selecting a request for a route from the queue based on a respective priority for the queue; and

sending the request for the route to an entity to program the route in the route table, wherein processing the request and other requests from one or more second hosts to program the route table is controlled by the entity and not the respective priority assigned to the request by the first host.

16. The first host of claim 15 , wherein sending the request for the route to the entity comprises: sending the request before sending another request in the queue, wherein the another request is associated with a lower priority than the request.

17. The first host of claim 15 , wherein storing the plurality of requests for routes in the queue comprises: storing the plurality of requests in an order based on respective priorities, wherein the request is selected based on the order.

18. The first host of claim 15 , wherein storing the plurality of requests for routes in the queue comprises: storing a request in the order with a retry priority when the request has failed from being previously being sent to the entity, wherein the retry priority is processed as a higher priority than an original priority assigned to the request.

19. The first host of claim 15 , wherein the processing of requests at the entity does not use the priority of the request.

20. The first host of claim 15 , wherein the respective priority for the plurality of requests comprises pre-defined priorities that are fixed for a first category of routes and customized priorities that can be assigned to a second category of routes.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2020
From: NATARAJAN, VIJAI COIMBATORE
To: VMWARE INC.
Reel/Frame 053499/0622 →
Continuity (1)
Related Publication 20220052967A1 · Feb 17, 2022