IP Library Granted Patent US 10,237,134
Granted Patent B2
US 10,237,134 · App. 15/344,479 · Granted Mar 19, 2019

Method and system for updating distributed resilient network interconnect (DRNI) states

Inventor: Panagiotis Saltsidis (Stockholm, SE)
Assignee: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
H04L41/0869H04L12/4633H04L12/66H04L41/0233H04L41/0668H04L41/082H04L41/0803H04L45/245H04L45/46H04L43/065H04L45/02H04L45/28H04L67/10H04L2012/5652H04L2212/00Y02D50/30
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,237,134
App. No.
15/344,479
Granted
Mar 19, 2019
Kind
B2
Abstract

A method of configuring a set of conversation identifiers (IDs) at a network device in a distributed resilient network interconnect (DRNI) of a link aggregation group is disclosed. The method starts with initializing the set of conversation IDs, wherein the initialization includes setting entries of a Boolean vector associated with the set of conversation IDs to be a sequence of zeroes, and wherein the Boolean vector includes values indicating processing the set of conversation IDs through the single gateway or the single aggregator of the network device. The method continues with determining that distribution of the set of conversation IDs needs to be updated, setting values of an operational vector indexed by the conversation IDs, and setting values of the Boolean vector, wherein the Boolean vector lists whether the single gateway or the single aggregator of the network device is associated with each of the conversation IDs.

Claims (82)

1. A method of configuring a set of conversation identifiers (IDs) at a network device in a link aggregation group, wherein each conversation ID is to identify a conversation, wherein the network device and a neighbor network device are included in a portal of the link aggregation group, and wherein each of the network device and the neighbor network device includes an aggregator and a gateway of the portal, the method comprising:

initializing the set of conversation IDs at the network device, wherein the initialization includes setting entries of a Boolean vector associated with the set of conversation IDs to be a sequence of zeroes, and wherein the Boolean vector includes values indicating processing the set of conversation IDs through the gateway or the aggregator of the network device;

determining that distribution of the set of conversation IDs is in need of update;

setting a variable indicating that the distribution of the set of conversation IDs is in need of update; and

setting values of an operational vector indexed by the conversation IDs, wherein the operational vector lists which network device of the portal processes each of the set of conversation IDs.

2. The method of claim 1 , wherein determining the distribution of the set of conversation IDs in need of update comprises checking a Boolean variable.

3. The method of claim 1 , wherein the set of conversation IDs is a set of gateway conversation IDs, and wherein the set of gateway conversation IDs is used to select frames passing one of the gateways of the portal.

4. The method of claim 3 , wherein the operational vector lists which network device passes each gateway conversation ID, and wherein the Boolean vector indicates whether each gateway conversation ID is allowed to pass through the gateway of the network device.

5. The method of claim 3 , wherein the Boolean vector is set to a result of logical AND operation between:

a second Boolean vector indexed by gateway conversation ID and constructed from the operational vector, by setting to zero all the indexed gateway conversation ID entries that are associated with other network devices in the portal, and

a third Boolean vector indexed by gateway conversation ID and constructed from the operational vectors listing which network device's gateway is passing each gateway conversation ID as reported by the respective immediate neighbor network device on the respective IPP, by setting to zero all the indexed gateway conversation ID entries that are associated with the neighbor network devices in the portal.

6. The method of claim 1 , wherein the set of conversation IDs is a set of port conversation IDs, and wherein the set of port conversation IDs is used to select frames passing aggregation ports of the portal.

7. The method of claim 6 , wherein the operational vector lists which network device passes each port conversation ID, and wherein the Boolean vector indicates whether each port conversation ID is allowed to be distributed through the aggregator of the network device.

8. The method of claim 6 , wherein the Boolean vector is set to a result of logical AND operation between:

a second Boolean vector indexed by port conversation ID and constructed from the operational vector, by setting to zero all the indexed port conversation ID entries that are associated with other network devices in the portal, and

a third Boolean vector indexed by port conversation ID and constructed from operational vectors listing which network device's port is passing each port conversation ID as reported by the respective immediate neighbor network device on the respective IPP, by setting to zero all the indexed port conversation ID entries that are associated with the neighbor network devices in the portal.

9. The method of claim 1 , further comprising:

updating operational states of all network devices of the portal.

10. The method of claim 1 , further comprising:

setting values of the Boolean vector indexed by the conversation IDs, wherein the Boolean vector lists whether the gateway or the aggregator of the network device is associated with each of the conversation IDs.

11. A network device configuring a set of conversation identifiers (IDs) in a link aggregation group, wherein each conversation ID is to identify a conversation, wherein the network device and a neighbor network device are included in a portal of the link aggregation group, and wherein each of the network device and the neighbor network device includes an aggregator and a gateway of the portal, the network device comprising:

ports coupled to physical or aggregation link of the link aggregation group, wherein the ports include aggregation ports; and

a processor coupled to the ports, the processor executing a DRNI function, the DRNI function operative to initialize the set of conversation IDs at the network device, wherein the initialization includes setting entries of a Boolean vector associated with the set of conversation IDs to be a sequence of zeroes, and wherein the Boolean vector includes values indicating processing the set of conversation IDs through the gateway or the aggregator of the network device, further operative to determine that distribution of the set of conversation IDs is in need of update, further operative to set a variable indicating that the distribution of the set of conversation IDs is in need of update, and further operative to set values of an operational vector indexed by the conversation IDs, wherein the operational vector lists which network device of the portal processes each of the set of conversation IDs.

12. The network device of claim 11 , wherein determining the distribution of the set of conversation IDs in need of update is to check a Boolean variable.

13. The network device of claim 11 , wherein the DRNI function is further operative to:

update operational states of all network devices of the portal.

14. The network device of claim 11 , wherein the set of conversation IDs is a set of gateway conversation IDs, and wherein the set of gateway conversation IDs is used to select frames passing one of the gateways of the portal.

15. The network device of claim 14 , wherein the operational vector is to list which network device passes each gateway conversation ID, and wherein the Boolean vector is to indicate whether each gateway conversation ID is allowed to pass through the gateway of the network device.

16. The network device of claim 11 , wherein the set of conversation IDs is a set of port conversation IDs, and wherein the set of port conversation IDs is to be used to select frames passing aggregation ports of the portal.

17. The network device of claim 16 , wherein the operational vector is to list which network device passes each port conversation ID, and wherein the Boolean vector is to indicate whether each port conversation ID is allowed to be distributed through the aggregator of the network device.

18. The network device of claim 11 , wherein the DRNI function is further operative to:

set values of the Boolean vector indexed by the conversation IDs, wherein the Boolean vector lists whether the gateway or the aggregator of the network device is associated with each of the conversation IDs.

19. A non-transitory machine-readable storage medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations at a network device to configure a set of conversation identifiers (IDs) at the network device in a link aggregation group, wherein each conversation ID is to identify a conversation, wherein the network device and a neighbor network device are included in a portal of the link aggregation group, and wherein each of the network device and the neighbor network device includes an aggregator and a gateway of the portal, the operations comprising:

initializing the set of conversation IDs at the network device, wherein the initialization includes setting entries of a Boolean vector associated with the set of conversation IDs to be a sequence of zeroes, and wherein the Boolean vector includes values indicating processing the set of conversation IDs through the gateway or the aggregator of the network device;

determining that distribution of the set of conversation IDs is in needs of update;

setting a variable indicating that the distribution of the set of conversation IDs is in need of update; and

setting values of an operational vector indexed by the conversation IDs, wherein the operational vector lists which network device of the portal processes each of the set of conversation IDs.

20. The non-transitory machine-readable storage medium of claim 19 , wherein determining the distribution of the set of conversation IDs in need of update comprises checking a Boolean variable.

21. The non-transitory machine-readable storage medium of claim 19 , wherein the operations further comprise:

updating operational states of all network devices of the portal.

22. The non-transitory machine-readable storage medium of claim 19 , wherein the set of conversation IDs is a set of gateway conversation IDs, and wherein the set of gateway conversation IDs is used to select frames passing one of the gateways of the portal.

23. The non-transitory machine-readable storage medium of claim 22 , wherein the operational vector lists which network device passes each gateway conversation ID, and wherein the Boolean vector indicates whether each gateway conversation ID is allowed to pass through the gateway of the network device.

24. The non-transitory machine-readable storage medium of claim 22 , wherein the Boolean vector is set to a result of logical AND operation between:

a second Boolean vector indexed by gateway conversation ID and constructed from the operational vector, by setting to zero all the indexed gateway conversation ID entries that are associated with other network devices in the portal, and

a third Boolean vector indexed by gateway conversation ID and constructed from the operational vectors listing which network device's gateway is passing each gateway conversation ID as reported by the respective immediate neighbor network device on the respective IPP, by setting to zero all the indexed gateway conversation ID entries that are associated with the neighbor network devices in the portal.

25. The non-transitory machine-readable storage medium of claim 19 , wherein the set of conversation IDs is a set of port conversation IDs, and wherein the set of port conversation IDs is used to select frames passing aggregation ports of the portal.

26. The non-transitory machine-readable storage medium of claim 25 , wherein the operational vector lists which network device passes each port conversation ID, and wherein the Boolean vector indicates whether each port conversation ID is allowed to be distributed through the aggregator of the network device.

27. The non-transitory machine-readable storage medium of claim 25 , wherein the Boolean vector is set to a result of logical AND operation between:

a second Boolean vector indexed by port conversation ID and constructed from the operational vector, by setting to zero all the indexed port conversation ID entries that are associated with other network devices in the portal, and

a third Boolean vector indexed by port conversation ID and constructed from operational vectors listing which network device's port is passing each port conversation ID as reported by the respective immediate neighbor network device on the respective IPP, by setting to zero all the indexed port conversation ID entries that are associated with the neighbor network devices in the portal.

28. A method of configuring a set of conversation identifiers (IDs) at a network device in a link aggregation group, wherein each conversation ID is to identify a conversation, wherein the network device and a neighbor network device are included in a portal of the link aggregation group, wherein the network device is coupled to the neighbor network device via an intra-portal port (IPP), and wherein each of the network device and the neighbor network device includes an aggregator and a gateway of the portal, the method comprising:

initializing the set of conversation IDs at the network device, wherein the initialization includes setting entries of a Boolean vector associated with the set of conversation IDs to be a sequence of zeroes, and wherein the Boolean vector includes values indicating processing the set of conversation IDs through the IPP;

determining that distribution of the set of conversation IDs is in need of update;

setting values of an operational vector indexed by the conversation IDs, wherein the operational vector lists which network device of the portal processes each of the set of conversation IDs as assigned to by the neighbor network device; and

setting values of the Boolean vector indexed by the conversation IDs, wherein the Boolean vector lists whether the IPP of the network device is associated with each of the conversation IDs.

29. The method of claim 28 , wherein determining the distribution of the set of conversation IDs in need of update comprises checking a Boolean variable.

30. The method of claim 28 , wherein the set of conversation IDs is a set of gateway conversation IDs, wherein the set of gateway conversation IDs is used to select frames passing one of gateways of the portal.

31. The method of claim 30 , wherein the operational vector lists which network device passes each gateway conversation ID as assigned to by the neighbor network device.

32. The method of claim 28 , wherein the set of conversation IDs is a set of port conversation IDs, wherein the set of port conversation IDs is used to select frames passing aggregation ports of the portal.

33. The method of claim 32 , wherein the operational vector lists which network device passes each port conversation ID as assigned to by the neighbor network device.

34. A network device configuring a set of conversation identifiers (IDs) in a link aggregation group, wherein each conversation ID is to identify a conversation, wherein the network device and a neighbor network device are included in a portal of the link aggregation group, wherein the network device is coupled to the neighbor network device via an intra-portal port (IPP), and wherein each of the network device and the neighbor network device includes an aggregator and a gateway of the portal, the network device comprising:

ports coupled to physical or aggregation link of the link aggregation group, wherein the ports include aggregation ports; and

a processor coupled to the ports, the processor executing a DRNI function, the DRNI function operative to initialize the set of conversation IDs at the network device, wherein the initialization includes setting entries of a Boolean vector associated with the set of conversation IDs to be a sequence of zeroes, and wherein the Boolean vector includes values indicating processing the set of conversation IDs through the IPP, further operative to determine that distribution of the set of conversation IDs is in need of update, further operative to set values of an operational vector indexed by the conversation IDs, wherein the operational vector lists which network device of the portal processes each of the set of conversation IDs as assigned to by the neighbor network device, and further operative to set values of the Boolean vector indexed by the conversation IDs, wherein the Boolean vector lists whether the IPP of the network device is associated with each of the conversation IDs.

35. The network device of claim 34 , wherein determining the distribution of the set of conversation IDs in need of update is to check a Boolean variable.

36. The network device of claim 34 , wherein the set of conversation IDs is a set of gateway conversation IDs, wherein the set of gateway conversation IDs is to be used to select frames passing one of the gateways of the portal.

37. The network device of claim 36 , wherein the operational vector is to list which network device passes each gateway conversation ID as assigned to by the neighbor network device.

38. The network device of claim 34 , wherein the set of conversation IDs is a set of port conversation IDs, wherein the set of port conversation IDs is to be used to select frames passing aggregation ports of the portal.

39. The network device of claim 38 , and wherein the operational vector is to list which network device passes each port conversation ID as assigned to by the neighbor network device.

40. A non-transitory machine-readable storage medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations at a network device to configure a set of conversation identifiers (IDs) at the network device in a link aggregation group, wherein each conversation ID is to identify a conversation, wherein the network device and a neighbor network device are included in a portal of the link aggregation group, wherein the network device is coupled to the neighbor network device via an intra-portal port (IPP), and wherein each of the network device and the neighbor network device includes an aggregator and a gateway of the portal, the operations comprising:

initializing the set of conversation IDs at the network device, wherein the initialization includes setting entries of a Boolean vector associated with the set of conversation IDs to be a sequence of zeroes, and wherein the Boolean vector includes values indicating processing the set of conversation IDs through the IPP;

determining that distribution of the set of conversation IDs is in need of update;

setting values of an operational vector indexed by the conversation IDs, wherein the operational vector lists which network device of the portal processes each of the set of conversation IDs as assigned to by the neighbor network device; and

setting values of the Boolean vector indexed by the conversation IDs, wherein the Boolean vector lists whether the IPP of the network device is associated with each of the conversation IDs.

41. The non-transitory machine-readable storage medium of claim 40 , wherein determining the distribution of the set of conversation IDs in need of update comprises checking a Boolean variable.

42. The non-transitory machine-readable storage medium of claim 40 , wherein the set of conversation IDs is a set of gateway conversation IDs, wherein the set of gateway conversation IDs is used to select frames passing one of the gateways of the portal.

43. The non-transitory machine-readable storage medium of claim 42 , wherein the operational vector lists which network device passes each gateway conversation ID as assigned to by the neighbor network device.

44. The non-transitory machine-readable storage medium of claim 40 , wherein the set of conversation IDs is a set of port conversation IDs, wherein the set of port conversation IDs is used to select frames passing aggregation ports of the portal.

45. The non-transitory machine-readable storage medium of claim 44 , wherein the operational vector lists which network device passes each port conversation ID as assigned to by the neighbor network device.

46. A method of configuring a set of conversation identifiers (IDs) at a network device in a link aggregation group, wherein each conversation ID is to identify a conversation, wherein the network device and a neighbor network device are included in a portal of the link aggregation group, wherein the network device is coupled to the neighbor network device via an intra-portal port (IPP), and wherein each of the network device and the neighbor network device includes an aggregator and a gateway of the portal, the method comprising:

initializing the set of conversation IDs at the network device, wherein the initialization includes setting entries of a Boolean vector associated with the set of conversation IDs to be a sequence of zeroes, and wherein the Boolean vector includes values indicating processing the set of conversation IDs through the IPP;

determining that distribution of the set of conversation IDs is in need of update; and

setting values of an operational vector indexed by the conversation IDs, wherein the operational vector lists which network device of the portal processes each of the set of conversation IDs as assigned to by the neighbor network device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2016
From: SALTSIDIS, PANAGIOTIS
To: TELEFONAKTIEBOLAGET L M ERICSSON (PUBL)
Reel/Frame 040233/0088 →
Continuity (9)
Continuation 14257859 · Apr 21, 2014
Provisional Application 61815204 · Apr 23, 2013
Provisional Application 61839022 · Jun 25, 2013
Provisional Application 61865126 · Aug 12, 2013
Provisional Application 61902518 · Nov 11, 2013
Provisional Application 61918610 · Dec 19, 2013
Provisional Application 61941977 · Feb 19, 2014
Provisional Application 61953360 · Mar 14, 2014
Related Publication 20170141956A1 · May 18, 2017
Cited By (1)
US 12,395,547