IP Library Granted Patent US 12,192,030
Granted Patent B2
US 12,192,030 · App. 17/666,183 · Granted Jan 7, 2025

Methods and systems for transmitting and receiving data packets through a bonded connection

Inventors: Patrick Ho Wai Sung (Kowloon, HK); Kam Chiu Ng (New Territories, HK); Wan Chun Leung (New Territories, HK)
Assignee: Pismo Labs Technology Limited
H04L12/2865H04L12/4633H04L43/087H04L67/5682
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,192,030
App. No.
17/666,183
Granted
Jan 7, 2025
Kind
B2
Abstract

The present invention relates to methods and systems for transmitting and receiving data packets between a first network node and a second network node through a bonded connection. At the first network node, a data packet, a session identification of the data packet and a time value of the data packet are encapsulated in an encapsulating packet. The first network node sends the encapsulating packet from the first network node to the second network node through the bonded connection. The second network node then stores the encapsulating packet after receiving it and determines an expiration time of the encapsulating packet. When the expiration time of the encapsulating packet expired, the second network node dequeues the encapsulating packet and forwards the data packet according to destination of the data packet.

Claims (59)

1. A method of packet processing at a receiving network node through a plurality of connections, comprising:

(a) determining a buffer period;

(b) receiving a transmitted packet transmitted by a sending network node;

(c) identifying a session and a session sequence number of the transmitted packet;

(d) determining a queue according to the session for the transmitted packet to be stored:

(i) when the queue is empty, determining an expiration time based on the buffer period;

(ii) when the queue is not empty, determining the expiration time based on a difference of time value between a corresponding time value of one or more of currently-stored transmitted packets and a corresponding time value of the transmitted packet;

(e) storing the transmitted packet in the queue according to the session sequence number;

wherein:

the plurality of connections are bonded together as a bonded connection;

the transmitted packet is an encapsulated packet;

the session sequence number is encapsulated in the transmitted packet;

the session sequence number places the transmitted packet at a position in the queue; and

when none of corresponding session sequence numbers of previously-arrived transmitted packets is one, no data packet is forwarded to a destination network node.

2. The method of claim 1 , wherein:

the transmitted packet is decapsulated to retrieve a data packet; and

the data packet is forwarded to the destination network node according to a destination address of the data packet.

3. The method of claim 1 , wherein the buffer period is configurable per bonded connection, per session, or per session per bonded connection.

4. The method of claim 1 , wherein;

the session is identified according to a session identification in the transmitted packet; and

the session sequence number orders the transmitted packet in a plurality of transmitted packets belonging to the session.

5. The method of claim 1 , wherein the transmitted packet is transmitted to the receiving network node through one of the plurality of connections established between the sending network node and the receiving network node.

6. The method of claim 1 , wherein the corresponding time value of the transmitted packet is recorded in microsecond precision or nanosecond precision.

7. The method of claim 6 , wherein the corresponding time value of the transmitted packet is determined based on an arrival time of the transmitted packet at the sending network node.

8. The method of claim 6 , wherein the corresponding time value of the transmitted packet is determined based on a transmission time of the transmitted packet at the sending network node.

9. The method of claim 1 , wherein the transmitted packet is dequeued from the queue when the expiration time is expired or upon being expired.

10. The method of claim 1 , further comprising:

when the session sequence number of the transmitted packet is smallest among corresponding session sequence numbers of all of the currently-stored transmitted packets in the queue, increasing corresponding expiration time of all of the currently-stored transmitted packets.

11. A method of packet processing at a receiving network node through a plurality of connections, comprising:

at least one network interface;

at least one processing unit; and

at least one non-transitory computer-readable storage medium storing program instructions executable by the at least one processing unit and configured to cause the at least one processing unit to perform:

(a) determining a buffer period;

(b) receiving a transmitted packet transmitted by a sending network node;

(c) identifying a session and a session sequence number of the transmitted packet;

(d) determining a queue according to the session for the transmitted packet to be stored:

(i) when the queue is empty, determining an expiration time based on the buffer period;

(ii) when the queue is not empty, determining the expiration time based on a difference of time value between a corresponding time value of one or more of currently-stored transmitted packets and a corresponding time value of the transmitted packet;

(e) storing the transmitted packet in the queue according to the session sequence number;

wherein:

the plurality of connections are bonded together as a bonded connection;

the transmitted packet is an encapsulated packet;

the session sequence number is encapsulated in the transmitted packet;

the session sequence number places the transmitted packet at a position in the queue; and

when none of corresponding session sequence numbers of previously-arrived transmitted packets is one, no data packet is forwarded to a destination network node.

12. The network device in claim 11 , wherein:

the transmitted packet is decapsulated to retrieve a data packet; and

the data packet is forwarded to the destination network node according to a destination address of the data packet.

13. The network device in claim 11 , wherein the buffer period is configurable per bonded connection, per session, or per session per bonded connection.

14. The network device in claim 11 , wherein;

the session is identified according to a session identification in the transmitted packet; and

the session sequence number orders the transmitted packet in a plurality of transmitted packets belonging to the session.

15. The network device in claim 11 , wherein the transmitted packet is transmitted to the network device through one of the plurality of connections established between the sending network node and the receiving network-node.

16. The network device in claim 11 , wherein the corresponding time value of the transmitted packet is recorded in microsecond precision or nanosecond precision.

17. The network device in claim 16 , wherein the corresponding time value of the transmitted packet is determined based on an arrival time of the transmitted packet at the sending network node.

18. The network device in claim 16 , wherein the corresponding time value of the transmitted packet is determined based on a transmission time of the transmitted packet at the sending network node.

19. The network device in claim 11 , wherein the transmitted packet is dequeued from the queue when the expiration time is expired or upon being expired.

20. The network device in claim 11 , wherein the at least one non-transitory computer readable storage medium further stores program instructions executable by the at least one processing unit and configured to cause the at least one processing unit to perform:

when the session sequence number of the transmitted packet is smallest among corresponding session sequence numbers of all of the currently-stored transmitted packets in the queue, increasing corresponding expiration time of all of the currently-stored transmitted packets.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2022
From: SUNG, PATRICK HO WAI; NG, KAM CHIU; LEUNG, WAN CHUN
To: PISMO LABS TECHNOLOGY LIMITED
Reel/Frame 058913/0504 →
Continuity (2)
Continuation 16322073
Related Publication 20220263681A1 · Aug 18, 2022
References Cited (25)
US 6246684B1 · Chapman · 2001 [cited by examiner]
US 6680933B1 · Cheesman · 2004 [cited by applicant]
US 7554929B1 · Omar · 2009 [cited by applicant]
US 8228923B1 · Jain · 2012 [cited by examiner]
US 9729350B1 · Cohn · 2017 [cited by applicant]
US 20030219014A1 · Kotabe · 2003 [cited by examiner]
US 20090245104A1 · Nishimura · 2009 [cited by examiner]
US 20100250747A1 · Karaoguz · 2010 [cited by applicant]
US 20100260180A1 · Wu · 2010 [cited by applicant]
US 20110013519A1 · Chang · 2011 [cited by applicant]
US 20110205912A1 · Leong · 2011 [cited by examiner]
US 20140226663A1 · Chan · 2014 [cited by examiner]
US 20140304421A1 · Karaoguz · 2014 [cited by applicant]
US 20150381509A1 · Sreeramoju · 2015 [cited by applicant]
US 20160043969A1 · Sung · 2016 [cited by examiner]
US 20160261504A1 · Sung · 2016 [cited by applicant]
US 20160308769A1 · Versteeg · 2016 [cited by applicant]
US 20180063014A1 · Yu · 2018 [cited by examiner]
CN 101697631A · 2010 [cited by applicant]
CN 106603407A · 2017 [cited by applicant]
International Search Report of International Application No. PCT/IB2017/057399, mailed on Aug. 29, 2018. [cited by applicant]
Written Opinion of the International Searching Authority of International Application No. PCT/IB2017/057399, mailed on Aug. 29, 2018. [cited by applicant]
International Preliminary Report on Patentability of International Application No. PCT/IB2017/057399, issued on Jun. 2, 2020. [cited by applicant]
First Office Action in CN Application No. 201780086539.5, issued on Dec. 14, 2020. [cited by applicant]
List of cited documents in GB Application No. GB1910987.5. [cited by applicant]