IP Library Granted Patent US 10,819,577
Granted Patent B2
US 10,819,577 · App. 16/040,282 · Granted Oct 27, 2020

Node update in a software-defined network

Inventor: Vinay Prabhu (Milpitas, CA)
Assignee: CISCO TECHNOLOGY, INC.
H04L41/0893G06F8/65H04L41/082H04L41/12H04L67/12H04L67/34H04L67/10
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,819,577
App. No.
16/040,282
Granted
Oct 27, 2020
Kind
B2
Abstract

A method may include identifying an update file for a plurality of nodes; selecting a first set of nodes of the plurality of nodes based on a set of node selection criteria; sending the update file to the first set of nodes via a software-defined network (SDN); receiving a first message from a first node of the first set of nodes indicating that the first node is ready to host the update file; identifying a second node that is connected to the first node responsive to receiving the first message from the first node; sending a first instruction to the second node for the second node to obtain the update file from the first node; receiving a second message from the second node indicating that the second node is ready to host the update file; and adding the second node to the first set of nodes.

Claims (61)

1. A system, comprising:

a plurality of nodes; and

a control device communicatively coupled to the plurality of nodes via a software-defined network (SDN), the control device being configured to perform operations comprising:

identify an update file for the plurality of nodes;

select a first set of nodes of the plurality of nodes based on a set of node selection criteria, the first set of nodes being selected to act as propagators of the update file;

send the update file to the first set of nodes via the SDN;

first, receive a first message from a first node of the first set of nodes indicating that the first node is ready to host the update file;

select, in response to the first receive and based on a second set of node selection criteria, a second node that is connected to the first node to add to the first set of nodes such that the second node will act as a propagators of the update file;

send a first instruction to the second node for the second node to obtain the update file from the first node;

second, receive a second message from the second node indicating that the second node is ready to host the update file; and

add the second node to the first set of nodes.

2. The system of claim 1 , wherein the first message is received over a control plane of the SDN, wherein the update file is communicated between the first node and the second node over a data plane of the SDN that is separate from the control plane.

3. The system of claim 1 , wherein the set of node selection criteria includes a weighted score generated based on at least one of: a number of Bidirectional Forwarding Detection (BFD) sessions for the respective node, a link capacity of the respective node, a link cost of the respective node, and a link performance of the respective node.

4. The system of claim 3 , wherein when selecting the first set of nodes of the plurality of nodes based on the set of node selection criteria, the control device is configured to select all nodes with a weighted score above a threshold value.

5. The system of claim 3 , wherein when identifying the second node that is connected to the first node, the control device is configured to generate a weighted score for the second node and select the second node based on the weighted score for the second node.

6. The system of claim 1 , the control device being configured to perform further operations comprising:

identify a third node that is connected to the first node responsive to receiving the first message from the first node;

send a second instruction to the third node for the third node to obtain the update file from the first node;

receive a third message from the third node indicating that the third node failed to receive the update file from the first node;

receive a fourth message from a fourth node of the first set of nodes indicating that the fourth node is ready to host the update file; and

send a third instruction to the third node for the third node to obtain the update file from the fourth node.

7. The system of claim 6 , the control device being configured to perform further operations comprising remove the first node from the first set of nodes responsive to receiving the third message from the third node.

8. A non-transitory computer-readable medium that includes computer-readable instructions stored thereon that are executable by a processor to perform or control performance of operations comprising:

identify an update file for a plurality of nodes;

select a first set of nodes of the plurality of nodes based on a set of node selection criteria, the first set of nodes being selected to act as propagators of the update file;

send the update file to the first set of nodes via a software-defined network (SDN);

first, receive a first message from a first node of the first set of nodes indicating that the first node is ready to host the update file;

select, in response to the first receive and based on a second set of node selection criteria, a second node that is connected to the first node to add to the first set of nodes such that the second node will act as propagators of the update file;

send a first instruction to the second node for the second node to obtain the update file from the first node;

second, receive a second message from the second node indicating that the second node is ready to host the update file; and

add the second node to the first set of nodes.

9. The non-transitory computer-readable medium of claim 8 , wherein the first message is received over a control plane of the SDN, wherein the update file is communicated between the first node and the second node over a data plane of the SDN that is separate from the control plane.

10. The non-transitory computer-readable medium of claim 8 , wherein the set of node selection criteria includes a weighted score generated based on at least one of: a number of Bidirectional Forwarding Detection (BFD) sessions for the respective node, a link capacity of the respective node, a link cost of the respective node, and a link performance of the respective node.

11. The non-transitory computer-readable medium of claim 10 , wherein when selecting the first set of nodes of the plurality of nodes based on the set of node selection criteria, the operations further comprising select all nodes with a weighted score above a threshold value.

12. The non-transitory computer-readable medium of claim 10 , wherein identifying the second node that is connected to the first node comprises generating a weighted score for the second node and select the second node based on the weighted score for the second node.

13. The non-transitory computer-readable medium of claim 8 , further operations comprising:

identify a third node that is connected to the first node responsive to receiving the first message from the first node;

send a second instruction to the third node for the third node to obtain the update file from the first node;

receive a third message from the third node indicating that the third node failed to receive the update file from the first node;

receive a fourth message from a fourth node of the first set of nodes indicating that the fourth node is ready to host the update file; and

send a third instruction to the third node for the third node to obtain the update file from the fourth node.

14. The non-transitory computer-readable medium of claim 13 , further operations comprising to remove the first node from the first set of nodes responsive to receiving the third message from the third node.

15. A method, comprising:

identifying an update file for a plurality of nodes;

selecting a first set of nodes of the plurality of nodes based on a set of node selection criteria;

sending the update file to the first set of nodes via a software-defined network (SDN);

first, receiving a first message from a first node of the first set of nodes indicating that the first node is ready to host the update file;

selecting, in response to the first receiving and based on a second set of node selection criteria, a second node that is connected to the first node to add to the first set of nodes such that the second node will act as propagator of the update file;

sending a first instruction to the second node for the second node to obtain the update file from the first node;

second, receiving a second message from the second node indicating that the second node is ready to host the update file; and

adding the second node to the first set of nodes.

16. The method of claim 15 , wherein the first message is received over a control plane of the SDN, wherein the update file is communicated between the first node and the second node over a data plane of the SDN that is separate from the control plane.

17. The method of claim 15 , wherein the set of node selection criteria includes a weighted score generated based on at least one of: a number of Bidirectional Forwarding Detection (BFD) sessions for the respective node, a link capacity of the respective node, a link cost of the respective node, and a link performance of the respective node.

18. The method of claim 17 , wherein selecting the first set of nodes of the plurality of nodes based on the set of node selection criteria comprising selecting all nodes with a weighted score above a threshold value.

19. The method of claim 17 , wherein identifying the second node that is connected to the first node comprises generating a weighted score for the second node and select the second node based on the weighted score for the second node.

20. The method of claim 15 further comprising:

identifying a third node that is connected to the first node responsive to receiving the first message from the first node;

sending a second instruction to the third node for the third node to obtain the update file from the first node;

receiving a third message from the third node indicating that the third node failed to receive the update file from the first node;

receiving a fourth message from a fourth node of the first set of nodes indicating that the fourth node is ready to host the update file; and

sending a third instruction to the third node for the third node to obtain the update file from the fourth node.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2018
From: PRABHU, VINAY
To: CISCO TECHNOLOGY, INC.
Reel/Frame 046413/0248 →
Continuity (2)
Provisional Application 62539487 · Jul 31, 2017
Related Publication 20190036781A1 · Jan 31, 2019
Cited By (2)
US 12,261,744 US 12,542,715