IP Library Granted Patent US 10,447,778
Granted Patent B2
US 10,447,778 · App. 14/690,315 · Granted Oct 15, 2019

Synchronizing peer nodes of a multi-chassis switching cluster

Inventors: Ramachandra Hegde (Karnataka, IN); Vinay Gurusimha (Karnataka, IN)
Assignee: Extreme Networks, Inc.
H04L67/1095
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,447,778
App. No.
14/690,315
Granted
Oct 15, 2019
Kind
B2
Abstract

Implementations generally relate to synchronizing peer nodes in networks. In one embodiment, a method includes generating a data sequence number. The method also includes associating the data sequence number with a data item. The method also includes sending the data item and the data sequence number to each peer node of a plurality of peer nodes. The method also includes determining if an acknowledgment has been received from each peer node, wherein each acknowledgment indicates the peer node that sent the acknowledgment and indicates the data sequence number. The method also includes resending the data item and the data sequence number to one or more peer nodes based on a predetermined policy.

Claims (38)

1. A method, comprising:

generating a data sequence number associated with a data item, wherein the data item relates to a network update to a plurality of peer nodes;

sending, using multicast, a message to the plurality of peer nodes, wherein the message comprises the network update, the data sequence number, and peer data sequence numbers, wherein each peer data sequence number is associated with a peer node of the plurality of peer nodes, and wherein the message is an update message and an acknowledgement message to the plurality of peer nodes;

determining, for each peer node of the plurality of peer nodes, whether an acknowledgment has been received by reading the peer data sequence numbers within the message, wherein the acknowledgment indicates a peer node that sent the acknowledgment and indicates the data sequence number; and

resending, using unicast, the network update and the data sequence number to each peer node of the plurality of peer nodes for which an acknowledgement is determined to not have been received.

2. The method of claim 1 , wherein the sending the message is based on a connectivity fault management protocol.

3. The method of claim 1 , wherein the resending the network update is based on a predetermined policy that comprises resending the data item and the data sequence number in response to an acknowledgment not being received within a predetermined time period.

4. The method of claim 1 , wherein the resending the network update is based on a predetermined policy that comprises resending the data item and the data sequence number in response to receiving a request for the data item.

5. The method of claim 1 , further comprising generating a list of a latest data sequence number for each peer node.

6. The method of claim 1 , further comprising:

buffering the data item and the data sequence number; and

clearing the data item and data sequence number in response to each peer node receiving the data item.

7. The method of claim 1 , wherein the sending the message is a part of a synchronization process.

8. The method of claim 1 , wherein the message comprises a continuity check message (CCM) message, and wherein the data sequence number is different from a CCM message sequence number.

9. The method of claim 1 , wherein the network update, the data sequence number, and the peer data sequence number are encoded in a type-length-value (TLV) format.

10. The method of claim 1 , wherein the resending the network update is based on a loop back messaging (LBM) unicast capability of each of the plurality of peer nodes.

11. A computer program product comprising a non-transitory computer-readable medium including program instructions to be implemented by a device connected to a communication network, the program instructions for:

generating a data sequence number;

associating the data sequence number with a data item, wherein the data item relates to a network update to a plurality of peer nodes;

sending, using multicast, a message to the plurality of peer nodes, wherein the message comprises the network update, the data sequence number, and peer data sequence numbers, wherein each peer data sequence number is associated with a peer node of the plurality of peer nodes, and wherein the message is an update message and an acknowledgement message to the plurality of peer nodes;

determining, for each peer node of the plurality of peer nodes, whether an acknowledgment has been received by reading the peer data sequence numbers within the message, wherein the acknowledgment indicates a peer node that sent the acknowledgment and indicates the data sequence number; and

resending, using unicast, the network update and the data sequence number to each peer node of the plurality of peer nodes for which an acknowledgement is determined to not have been received.

12. The computer program product of claim 11 , wherein the sending the message is based on a connectivity fault management protocol.

13. The computer program product of claim 11 , wherein the resending the network update is based on a predetermined policy that comprises resending the data item and the data sequence number in response to an acknowledgment not being received within a predetermined time period.

14. The computer program product of claim 11 , wherein the resending the network update is based on a predetermined policy that comprises resending the data item and the data sequence number in response to receiving a request for the data item.

15. The computer program product of claim 11 , wherein the program instructions further comprise generating a list of a latest data sequence number for each peer node.

16. A device comprising:

a memory; and

at least one processor operative to access the memory and perform operations comprising:

generating a data sequence number;

associating the data sequence number with a data item, wherein the data item relates to a network update to a plurality of peer nodes;

sending, using multicast, a message to the plurality of peer nodes, wherein the message comprises the network update, the data sequence number, and peer data sequence numbers, wherein each peer data sequence number is associated with a peer node of the plurality of peer nodes, and wherein the message is an update message and an acknowledgement message to the plurality of peer nodes;

determining, for each peer node of the plurality of peer nodes, whether an acknowledgment has been received by reading the peer data sequence numbers within the message, wherein the acknowledgment indicates a peer node that sent the acknowledgment and indicates the data sequence number; and

resending, using unicast, the network update and the data sequence number to each peer node of the plurality of peer nodes for which an acknowledgement is determined to not have been received.

17. The device of claim 16 , wherein the message comprises a continuity check message (CCM) message, and wherein the data sequence number is different from a CCM message sequence number.

18. The device of claim 16 , wherein the sending the message is based on a connectivity fault management protocol.

19. The device of claim 16 , wherein the resending the network update is based on a predetermined policy that comprises resending the data item and the data sequence number in response to an acknowledgment not being received within a predetermined time period.

20. The device of claim 16 , wherein the resending the network update is based on a predetermined policy that comprises resending the data item and the data sequence number in response to receiving a request for the data item.

Assignments (9)
AMENDED SECURITY AGREEMENT Recorded Aug 18, 2023
From: EXTREME NETWORKS, INC.; AEROHIVE NETWORKS, INC.
To: BANK OF MONTREAL
Reel/Frame 064782/0971 →
SECURITY INTEREST Recorded May 1, 2018
From: EXTREME NETWORKS, INC.
To: BANK OF MONTREAL
Reel/Frame 046050/0546 →
RELEASE OF SECURITY INTEREST Recorded May 1, 2018
From: SILICON VALLEY BANK
To: EXTREME NETWORKS, INC.
Reel/Frame 046051/0775 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001 Recorded Dec 15, 2017
From: CITIBANK, N.A.
To: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS LLC (FORMERLY KNOWN AS OCTEL COMMUNICATIONS CORPORATION); VPNET TECHNOLOGIES, INC.
Reel/Frame 044893/0531 →
THIRD AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Oct 31, 2017
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 044639/0300 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2017
From: AVAYA INC.; AVAYA COMMUNICATION ISRAEL LTD; AVAYA HOLDINGS LIMITED
To: EXTREME NETWORKS, INC.
Reel/Frame 043569/0047 →
SECOND AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Jul 14, 2017
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 043200/0614 →
SECURITY INTEREST Recorded Jan 27, 2017
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS CORPORATION; VPNET TECHNOLOGIES, INC.
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 041576/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2015
From: HEGDE, RAMACHANDRA; GURUSIMHA, VINAY
To: AVAYA INC.
Reel/Frame 035462/0799 →