IP Library Granted Patent US 12,255,809
Granted Patent B2
US 12,255,809 · App. 18/487,492 · Granted Mar 18, 2025

Resilient data communications with physical layer link aggregation, extended failure detection and load balancing

Inventors: Sergio Licardie (Cupertino, CA); Chaoming Zeng (Milpitas, CA)
Assignee: AVIAT NETWORKS, INC.
H04L45/28H04L1/0041H04L12/40182H04L41/0668H04L43/0811H04L43/0823H04L45/22H04L45/24H04L45/245H04L47/125H04L47/41H04L69/323H04W24/04H04W28/0231H04L49/352
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 12,255,809
App. No.
18/487,492
Granted
Mar 18, 2025
Kind
B2
Abstract

Rapid channel failure detection and recovery in wireless communication networks is needed in order to meet, among other things, carrier class Ethernet channel standards. Thus, resilient wireless packet communications is provided using a physical layer link aggregation protocol with a hardware-assisted rapid channel failure detection algorithm and load balancing, preferably in combination. This functionality may be implemented in a Gigabit Ethernet data access card with an engine configured accordingly. In networks with various topologies, these features may be provided in combination with their existing protocols.

Claims (93)

1. A method of determining status of a receiving node of a wireless link of multiple wireless links in a wireless link aggregation group, the method comprising:

(a) determining, by a receiving node, that a first packet has not been received by the receiving node from a transmitting node over the wireless link, the wireless link at the receiving node having a transmit status and a receive status, and in response to determining that the first packet has not been received by the receiving node from the transmitting node over the wireless link:

(1) determining a time interval since last receipt of a packet from the transmitting node over the wireless link;

(2) determining, based on a time interval threshold, that the time interval fails a condition relative to the time interval threshold; and

(3) in response to determining that the time interval fails the condition relative to the time interval threshold, setting or maintaining the receive status of the wireless link at the receiving node as a negative status;

(b) determining, by a receiving node, that a second packet has been received by the receiving node from the transmitting node over the wireless link, and, in response to determining that the second packet has been received by the receiving node from the transmitting node over the wireless link:

(1) determining an integrity value of the second packet;

(2) determining an error of the integrity value of the second packet;

(3) in response to determining the error associated with the integrity value of the second packet:

(i) increasing an integrity error count;

(ii) determining, based on an integrity error threshold, that the integrity error count satisfies a condition relative to the integrity error threshold;

(iii) in response to determining that the integrity error count satisfies the condition relative to the integrity error threshold, setting or maintaining the receive status of the wireless link at the receiving node as a negative status; and

(c) determining, by the receiving node, that a third packet has been received by the receiving node from the transmitting node over the wireless link, and in response to determining that the third packet has been received by the receiving node from the transmitting node over the wireless link:

(1) determining an integrity value of the third packet;

(2) determining an error of the integrity value of the third packet;

(3) in response to determining the error of the integrity value of the third packet:

(i) increasing an integrity error count;

(ii) determining, based on an integrity error threshold, that the integrity error count fails to satisfy a condition relative to the integrity error threshold;

(iii) in response to determining that the integrity error count fails to satisfy the condition relative to the integrity error threshold, setting or maintaining the receive status of the wireless link at the receiving node as a positive status; and

(d) determining, by the receiving node, that a fourth packet has been received by the receiving node from the transmitting node over the wireless link, and in response to determining that the fourth packet has been received by the receiving node from the transmitting node over the wireless link:

(1) determining an integrity value of the fourth packet;

(2) determining that no error is associated with the integrity value of the fourth packet is correct;

(3) in response to determining that no error is associated with the integrity value of the fourth packet:

(i) resetting the integrity error count;

(ii) increasing an integrity correct count;

(ii) determining, based on an integrity correct threshold, that the integrity correct count satisfies a condition relative to the integrity correct threshold;

(iv) in response to determining that the integrity correct count satisfies a condition relative to the integrity correct threshold, setting or maintaining the receive status of the wireless link at the receiving node as a positive status;

(e) determining, by the receiving node, that a fifth packet has been received by the receiving node from the transmitting node over the wireless link, and in response to determining that the fifth packet has been received by the receiving node from the transmitting node over the wireless link:

(1) determining an integrity value of the fifth packet;

(2) determining that no error is associated with the integrity value of the fifth packet;

(3) in response to determining that no error is associated with the integrity value of the fifth packet:

(i) resetting the integrity error count;

(ii) increasing an integrity correct count;

(ii) determining, based on an integrity correct threshold, that the integrity correct count fails to satisfy a condition relative to the integrity correct threshold; and

(v) in response to determining that the integrity correct count fails to satisfy the condition relative to the integrity correct threshold, setting or maintaining the receive status of the wireless link at the receiving node as a negative status; and

(f) inserting a receive status of the wireless link at the receiving node in a header of a packet, and transmitting the packet to the transmitting node, the receive status of the wireless link at the receiving node for use by the transmitting node as the transmit status of the wireless link at the transmitting node.

2. The method of claim 1 , further comprising extracting a receive status of the wireless link at the transmitting node from a packet received from the transmitting node, and using the receive status of the wireless link at the transmitting node as the transmit status of the wireless link at the receiving node.

3. The method of claim 1 , wherein the method is performed by a data access card.

4. The method of claim 1 , wherein the transmitting node is configured not to send any data packets to the receiving node over the wireless link until the receive status of the wireless link at the receiving node is set to a positive status.

5. The method of claim 1 , wherein the wireless link at the receiving node has a receive status set as a negative status and a transmitting status set as a positive status.

6. The method of claim 1 , further comprising setting a status of the wireless link aggregation group as a negative status when the multiple wireless links of the wireless link aggregation group are set to a negative status.

7. The method of claim 1 , further comprising setting a status of the wireless link aggregation group as a positive status when at least one of the multiple wireless links of the wireless link aggregation group is set to a positive status.

8. The method of claim 1 , wherein integrity value is determined based on at least one of traffic alignment or packet integrity.

9. The method of claim 1 , wherein integrity value is determined based on a cyclic redundancy checksum (CRC).

10. A data access device configured to determine status of a receiving node of a wireless link of multiple wireless links in a wireless link aggregation group, the data access device configured to perform the following:

(a) determining, by a receiving node, whether a first packet has been received from a transmitting node over the wireless link, the wireless link at the receiving node having a transmit status and a receive status;

(b) in response to determining that the first packet has not been received by the receiving node from the transmitting node over the wireless link:

(1) determining a time interval since last receipt of a packet from the transmitting node over the wireless link;

(2) determining, based on a time interval threshold, whether the time interval fails a condition relative to the time interval threshold; and

(3) in response to determining that the time interval fails the condition relative to the time interval threshold, setting or maintaining the receive status of the wireless link at the receiving node as a negative status;

(c) in response to determining that the first packet has been received by the receiving node from the transmitting node over the wireless link:

(1) determining an integrity value of the first packet;

(2) determining whether the integrity value has an error;

(3) in response to determining that the integrity value has an error:

(i) increasing an integrity error count;

(ii) determining, based on an integrity error threshold, whether the integrity error count satisfies a condition relative to the integrity error threshold;

(iii) in response to determining that the integrity error count satisfies the condition relative to the integrity error threshold, setting or maintaining the receive status of the wireless link at the receiving node as a negative status; and

(iv) in response to determining that the integrity error count fails to satisfy the condition relative to the integrity error threshold, setting or maintaining the receive status of the wireless link at the receiving node as a positive status; and

(4) in response to determining that the integrity value does not have an error:

(i) resetting the integrity error count;

(ii) increasing an integrity correct count;

(iii) determining, based on an integrity correct threshold, whether the integrity correct count satisfies a condition relative to the integrity correct threshold;

(iv) in response to determining that the integrity correct count satisfies the condition relative to the integrity correct threshold, setting or maintaining the receive status of the wireless link at the receiving node as a positive status; and

(v) in response to determining that the integrity correct count fails to satisfy the condition relative to the integrity correct threshold, setting or maintaining the receive status of the wireless link at the receiving node as a negative status; and

(d) inserting the receive status of the wireless link at the receiving node in a header of a second packet, and transmitting the second packet to the transmitting node, the receive status of the wireless link at the receiving node for use by the transmitting node as the transmit status of the wireless link at the transmitting node.

11. The device of claim 10 , the data access device further configured to perform the following: extracting a receive status of the wireless link at the transmitting node from the first packet received from the transmitting node, and using the receive status of the wireless link at the transmitting node as the transmit status of the wireless link at the receiving node.

12. The device of claim 10 , wherein the transmitting node is configured not to send any data packets to the receiving node over the wireless link until the receive status of the wireless link at the receiving node is set to a positive status.

13. The device of claim 10 , wherein the wireless link at the receiving node is configured to have a receive status set as a negative status and a transmitting status set as a positive status.

14. The device of claim 10 , wherein the data access device is further configured to set a status of the wireless link aggregation group as a negative status when all of the multiple wireless links of the wireless link aggregation group are set to a negative status.

15. The device of claim 10 , wherein the data access device is further configured to set a status of the wireless link aggregation group as a positive status when at least one wireless link of the multiple wireless links of the wireless link aggregation group is set to a positive status.

16. The device of claim 10 , wherein integrity value is determined based on at least one of traffic alignment or packet integrity.

17. The device of claim 10 , wherein integrity value is determined based on a cyclic redundancy checksum (CRC).

18. Non-transitory computer readable medium comprising program instructions stored thereon that are executable by a processor of a data access device configured to determine status of a receiving node of a wireless link of multiple wireless links in a wireless link aggregation group to cause the following:

(a) determining, by a receiving node, whether a first packet has been received from a transmitting node over the wireless link, the wireless link at the receiving node having a transmit status and a receive status;

(b) in response to determining that the first packet has not been received by the receiving node from the transmitting node over the wireless link:

(1) determining a time interval since last receipt of a packet from the transmitting node over the wireless link;

(2) determining, based on a time interval threshold, whether the time interval fails a condition relative to the time interval threshold; and

(3) in response to determining that the time interval fails the condition relative to the time interval threshold, setting or maintaining the receive status of the wireless link at the receiving node as a negative status;

(c) in response to determining that the first packet has been received by the receiving node from the transmitting node over the wireless link:

(1) determining an integrity value of the first packet;

(2) determining whether the integrity value has an error;

(3) in response to determining that the integrity value has an error:

(i) increasing an integrity error count;

(ii) determining, based on an integrity error threshold, whether the integrity error count satisfies a condition relative to the integrity error threshold;

(iii) in response to determining that the integrity error count satisfies the condition relative to the integrity error threshold, setting or maintaining the receive status of the wireless link at the receiving node as a negative status; and

(iv) in response to determining that the integrity error count fails to satisfy the condition relative to the integrity error threshold, setting or maintaining the receive status of the wireless link at the receiving node as a positive status; and

(4) in response to determining that the integrity value does not have an error:

(i) resetting the integrity error count;

(ii) increasing an integrity correct count;

(iii) determining, based on an integrity correct threshold, whether the integrity correct count satisfies a condition relative to the integrity correct threshold;

(iv) in response to determining that the integrity correct count satisfies the condition relative to the integrity correct threshold, setting or maintaining the receive status of the wireless link at the receiving node as a positive status; and

(v) in response to determining that the integrity correct count fails to satisfy the condition relative to the integrity correct threshold, setting or maintaining the receive status of the wireless link at the receiving node as a negative status; and

(d) inserting the receive status of the wireless link at the receiving node in a header of a second packet, and transmitting the second packet to the transmitting node, the receive status of the wireless link at the receiving node for use by the transmitting node as the transmit status of the wireless link at the transmitting node.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2023
From: LICARDIE, SERGIO; ZENG, CHAOMING
To: HARRIS STRATEX NETWORKS, INC.
Reel/Frame 065240/0382 →
MERGER Recorded Oct 16, 2023
From: HARRIS STRATEX NETWORKS, INC.
To: AVIAT NETWORKS, INC.
Reel/Frame 065240/0881 →
Continuity (11)
Continuation 18093995 · Jan 6, 2023
Continuation 16709231 · Dec 10, 2019
Continuation 16230519 · Dec 21, 2018
Continuation 15937785 · Mar 27, 2018
Continuation 15376577 · Dec 12, 2016
Continuation 15077785 · Mar 22, 2016
Continuation 14281746 · May 19, 2014
Continuation 13305703 · Nov 28, 2011
Continuation 12205791 · Sep 5, 2008
Provisional Application 60970476 · Sep 6, 2007
Related Publication 20240113960A1 · Apr 4, 2024
References Cited (96)
US 4941089A · Fischer · 1990 [cited by applicant]
US 6434165B1 · Sherer et al. · 2002 [cited by applicant]
US 6501749B1 · Alexander, Jr. et al. · 2002 [cited by applicant]
US 6512742B1 · Alexander, Jr. et al. · 2003 [cited by applicant]
US 6535489B1 · Merchant et al. · 2003 [cited by applicant]
US 6625152B1 · Monsen et al. · 2003 [cited by applicant]
US 6675243B1 · Bastiani et al. · 2004 [cited by applicant]
US 6850486B2 · Saleh et al. · 2005 [cited by applicant]
US 6901048B1 · Wang et al. · 2005 [cited by applicant]
US 6910149B2 · Perloff et al. · 2005 [cited by applicant]
US 6928056B2 · Evans · 2005 [cited by applicant]
US 6952401B1 · Kadambi et al. · 2005 [cited by applicant]
US 7006500B1 · Pedersen · 2006 [cited by examiner]
US 7010607B1 · Bunton · 2006 [cited by applicant]
US 7023797B2 · Tagore-Brage · 2006 [cited by applicant]
US 7145866B1 · Ting et al. · 2006 [cited by applicant]
US 7230925B2 · Li et al. · 2007 [cited by applicant]
US 7266079B2 · Fan · 2007 [cited by applicant]
US 7529180B1 · Karl et al. · 2009 [cited by applicant]
US 7551616B2 · Devi et al. · 2009 [cited by applicant]
US 7613110B1 · Blair · 2009 [cited by applicant]
US 7639614B2 · Nakagawa et al. · 2009 [cited by applicant]
US 7787370B1 · Aweya et al. · 2010 [cited by applicant]
US 7804761B2 · Rosenhouse et al. · 2010 [cited by applicant]
US 7876747B2 · Elangovan et al. · 2011 [cited by applicant]
US 7898959B1 · Arad · 2011 [cited by applicant]
US 7911953B1 · Prestor et al. · 2011 [cited by applicant]
US 8018843B2 · Dunbar et al. · 2011 [cited by applicant]
US 8094559B1 · Bly et al. · 2012 [cited by applicant]
US 8264953B2 · Licardie et al. · 2012 [cited by applicant]
US 8693308B2 · Hourtane et al. · 2014 [cited by applicant]
US 8774000B2 · Licardie et al. · 2014 [cited by applicant]
US 9294943B2 · Licardie et al. · 2016 [cited by applicant]
US 9521036B2 · Licardie et al. · 2016 [cited by applicant]
US 9712378B2 · Hourtane · 2017 [cited by applicant]
US 9929900B2 · Licardie et al. · 2018 [cited by applicant]
US 10091051B2 · Hourtane et al. · 2018 [cited by applicant]
US 10164874B2 · Licardie et al. · 2018 [cited by applicant]
US 10498584B2 · Hourtane et al. · 2019 [cited by applicant]
US 10505841B1 · Licardie et al. · 2019 [cited by applicant]
US 11165630B2 · Hourtane et al. · 2021 [cited by applicant]
US 11558285B2 · Licardie et al. · 2023 [cited by applicant]
US 11570036B2 · Hourtane et al. · 2023 [cited by applicant]
US 11831412B2 · Licardie et al. · 2023 [cited by applicant]
US 20020054567A1 · Fan · 2002 [cited by applicant]
US 20020097681A1 · Treister et al. · 2002 [cited by applicant]
US 20020105949A1 · Shinomiya et al. · 2002 [cited by applicant]
US 20020136268A1 · Gan et al. · 2002 [cited by applicant]
US 20020159023A1 · Swab · 2002 [cited by applicant]
US 20020167898A1 · Thang et al. · 2002 [cited by applicant]
US 20030054829A1 · Moisio · 2003 [cited by applicant]
US 20030117945A1 · Zboril · 2003 [cited by applicant]
US 20030128706A1 · Mark et al. · 2003 [cited by applicant]
US 20040085894A1 · Wang · 2004 [cited by examiner]
US 20040208552A1 · Harney et al. · 2004 [cited by applicant]
US 20040228278A1 · Bruckman et al. · 2004 [cited by applicant]
US 20050063701A1 · Ovadia et al. · 2005 [cited by applicant]
US 20050152369A1 · Ambe et al. · 2005 [cited by applicant]
US 20050157759A1 · Ohno et al. · 2005 [cited by applicant]
US 20050169294A1 · Tseng et al. · 2005 [cited by applicant]
US 20050193309A1 · Grilli et al. · 2005 [cited by applicant]
US 20050213547A1 · Meier · 2005 [cited by applicant]
US 20050281204A1 · Karol et al. · 2005 [cited by applicant]
US 20050281220A1 · Stanwood et al. · 2005 [cited by applicant]
US 20060031482A1 · Mohan et al. · 2006 [cited by applicant]
US 20060045031A1 · Hickey et al. · 2006 [cited by applicant]
US 20060098573A1 · Beer et al. · 2006 [cited by applicant]
US 20060159023A1 · Hickey et al. · 2006 [cited by applicant]
US 20060203780A1 · Terry · 2006 [cited by applicant]
US 20060203847A1 · Toyoda · 2006 [cited by applicant]
US 20060221974A1 · Hilla et al. · 2006 [cited by applicant]
US 20060251106A1 · Nakagawa et al. · 2006 [cited by applicant]
US 20070189154A1 · Hourtane et al. · 2007 [cited by applicant]
US 20070237172A1 · Zelig et al. · 2007 [cited by applicant]
US 20070280258A1 · Rajagopalan et al. · 2007 [cited by applicant]
US 20080068983A1 · Dunbar et al. · 2008 [cited by applicant]
US 20080291843A1 · Sonnenberg et al. · 2008 [cited by applicant]
US 20080305743A1 · Aithal et al. · 2008 [cited by applicant]
US 20100142560A1 · Sharivker et al. · 2010 [cited by applicant]
US 20100215058A1 · Yakov et al. · 2010 [cited by applicant]
CN 1848767 · 2006 [cited by applicant]
CN 1949724 · 2007 [cited by applicant]
WO 0072531 · 2000 [cited by applicant]
Brown, Andrew, “IEEE 802.17 Resilient Packet Ring (RPR) Standards Update,” 27th Meeting of the North American Network Operators' Group (NANOG), Feb. 2003. [cited by applicant]
Cisco Systems, Inc., “Understanding Rapid Spanning Tree Protocol (802.1w),” white paper, Document ID: 24062, pp. 1-19, Sep. 1, 2005. [cited by applicant]
IEEE Computer Society, “IEEE Standard for Information Technology—Telecommunications and Information Exchange Between Systems—Local and Metropolitan Area Networks—Specific Requirements—Part 3: Carrier Sense Multiple Acce… [cited by applicant]
Light Reading Inc., “Making Sonet Ethernet-Friendly,” Mar. 25, 2003 [retrieved online at http://www.lightreading.com/document.asp?doc_id=30194 on Aug. 14, 2009]. [cited by applicant]
SysKonnect GmbH, “Link Aggregation According to IEEE Standard 802.3ad,” white paper, v. 1.10, Oct. 10, 2002. [cited by applicant]
European Patent Application Serial No. 08795867.4, Search Report dated Oct. 25, 2010. [cited by applicant]
European Patent Application Serial No. 08829704.9, Search Report dated Jan. 3, 2012. [cited by applicant]
International Application No. PCT/US2006/006722, International Search Report and Written Opinion dated Sep. 21, 2007. [cited by applicant]
International Application No. PCT/US2008/064600, International Search Report and Written Opinion dated Jul. 28, 2008. [cited by applicant]
International Application No. PCT/US2008/075618, International Search Report and Written Opinion dated Nov. 24, 2008. [cited by applicant]
U.S. Appl. No. 11/753,312, Notice of Allowance mailed Mar. 9, 2010. [cited by applicant]
U.S. Appl. No. 11/753,312, Office Action mailed Sep. 16, 2009. [cited by applicant]
Notice of Allowance issued in U.S. Appl. No. 18/097,089, dated Oct. 18, 2023, pp. 1-11. [cited by applicant]