IP Library › Granted Patent US 12,401,596
Granted Patent B2
US 12,401,596 · App. 17/927,070 · Granted Aug 26, 2025

Delivery of transport layer packets

Inventors: Sami Sallinen (Espoo, FI); Erik Cota-Robles (Helsinki, FI)
Assignee: OY GAMECLUSTER LTD
H04L47/193H04L47/18H04L47/267H04L47/34
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,401,596
App. No.
17/927,070
Filed
Nov 22, 2022
Granted
Aug 26, 2025
Kind
B2
Art Unit
2418
USPC
370/231
Abstract

Disclosed is an apparatus for communication over a packet-switched network, including a transport protocol portion causing the apparatus to: transmit user data in a sequence of data blocks having respective sequence numbers; receive acknowledgements blocks acknowledging reception of at least some of the data blocks; retransmit those ones of the data blocks that are not acknowledged by the other apparatus, enter a congestion avoidance state in response to a predefined amount of the data blocks not being acknowledged by the other apparatus. The apparatus includes a complementary transport protocol portion to: provide the transport protocol portion with information indicating acknowledgement of all data blocks up to one having a first reference sequence number assigned thereto, and selectively cause the apparatus to transmit a control block instructing the other apparatus to ignore any unreceived data blocks having a sequence number that is smaller than a second reference sequence number.

Claims (39)

1. An apparatus for communication with another apparatus over a packet-switched network, wherein the apparatus comprises a transport protocol portion arranged to cause the apparatus to carry out at least the following:

transmit, to the other apparatus, user data in a sequence of data blocks having respective sequence numbers assigned thereto,

receive, from the other apparatus, acknowledgements blocks acknowledging reception of at least some of said data blocks,

retransmit, to the other apparatus, those ones of said data blocks that are not acknowledged by the other apparatus,

enter a congestion avoidance state in response to a predefined amount of said data blocks not being acknowledged by the other apparatus,

wherein the apparatus comprises a complementary transport protocol portion arranged to:

provide the transport protocol portion with information that indicates acknowledgement of all data blocks up to one having a first reference sequence number assigned thereto via modifying the acknowledgement blocks received from the other apparatus before passing the acknowledgement blocks to the transport protocol portion such that the respective acknowledgement blocks indicate reception of all data blocks up to one having the first reference sequence number assigned thereto, and

selectively cause the apparatus to transmit, to the other apparatus, a control block instructing the other apparatus to ignore any unreceived data blocks having assigned thereto a sequence number that is smaller than a second reference sequence number.

2. The apparatus according to claim 1 ,

wherein the acknowledgement block includes respective indications of sequence numbers assigned to one or more data blocks received at the other apparatus.

3. The apparatus according to claim 2 , wherein

each acknowledgement block includes a received sequence indicator that indicates a sequence number assigned to the last data block of a continuous sub-sequence of data blocks received at the other apparatus, and

the complementary transport protocol portion is arranged to replace the received sequence indicator in the acknowledgement blocks received from the other apparatus with information that indicates the first reference sequence number before passing the acknowledgement blocks to the transport protocol portion.

4. The apparatus according to claim 3 , wherein

each acknowledgement block further includes respective indications of one or more further sequence numbers that are assigned to respective one or more data blocks that follow said continuous sub-sequence with at least one gap between the continuous sub-sequence of data blocks and the one or more data blocks identified by said one or more further sequence numbers, and

wherein the complementary transport protocol portion is arranged to remove said indications of the one or more further sequence numbers from the acknowledgement blocks received from the other apparatus before passing the acknowledgement blocks to the transport protocol portion.

5. The apparatus according to claim 1 , wherein the first reference sequence number comprises a sequence number assigned to the most recently transmitted one of said data blocks.

6. The apparatus according to claim 1 , wherein the second reference sequence number comprises a sequence number assigned to the most recently transmitted one of said data blocks.

7. The apparatus according to claim 1 , wherein the complementary transport protocol portion is arranged to cause the apparatus to transmit said control block in response to the sequence number assigned to the last data block of a continuous sub-sequence of data blocks acknowledged by the other apparatus being smaller than the second reference sequence number.

8. The apparatus according to claim 1 , wherein the complementary transport protocol portion is arranged to cause the apparatus to transmit said control block in response to the sequence number assigned to the last data block of a continuous sub-sequence of data blocks acknowledged by the other apparatus being smaller than the second reference sequence number provided that at least a predefined amount of time has passed since the most recent transmission of the control block.

9. The apparatus according to claim 8 , wherein said predefined amount of time is within a range from 2 milliseconds to 100 milliseconds.

10. The apparatus according to claim 1 , wherein the complementary transport protocol portion is arranged to cause the apparatus to transmit said control block at predefined time intervals.

11. The apparatus according to claim 10 , wherein said time interval has a predefined duration within a range from 2 milliseconds to 100 milliseconds.

12. The apparatus according to claim 1 , wherein the transport protocol portion is arranged to apply the Stream Control Transmission Protocol, SCTP.

13. The apparatus according to claim 2 , wherein the first reference sequence number comprises a sequence number assigned to the most recently transmitted one of said data blocks.

14. The apparatus according to claim 3 , wherein the first reference sequence number comprises a sequence number assigned to the most recently transmitted one of said data blocks.

15. The apparatus according to claim 4 , wherein the first reference sequence number comprises a sequence number assigned to the most recently transmitted one of said data blocks.

16. The apparatus according to claim 2 , wherein the second reference sequence number comprises a sequence number assigned to the most recently transmitted one of said data blocks.

17. The apparatus according to claim 3 , wherein the second reference sequence number comprises a sequence number assigned to the most recently transmitted one of said data blocks.

18. The apparatus according to claim 4 , wherein the second reference sequence number comprises a sequence number assigned to the most recently transmitted one of said data blocks.

19. A method in an apparatus for communication with another apparatus over a packet-switched network in accordance with a transport protocol, wherein communication according to the transport protocol comprises:

transmitting, to the other apparatus, user data in a sequence of data blocks having respective sequence numbers assigned thereto,

receiving, from the other apparatus, acknowledgements blocks acknowledging reception of at least some of said data blocks,

retransmitting, to the other apparatus, those ones of said data blocks that are not acknowledged by the other apparatus,

entering a congestion avoidance state in response to a predefined amount of said data blocks not being acknowledged by the other apparatus,

wherein the method comprises:

providing the transport protocol with information that indicates acknowledgement of all data blocks up to one having a first reference sequence number assigned thereto via modifying the acknowledgement blocks received from the other apparatus before passing the acknowledgement blocks to the transport protocol portion such that the respective acknowledgement blocks indicate reception of all data blocks up to one having the first reference sequence number assigned thereto, and

selectively transmitting, to the other apparatus, a control block instructing the other apparatus to ignore any unreceived data blocks having assigned thereto a sequence number that is smaller than a second reference sequence number.

20. A non-transitory computer-readable medium on which is stored a computer program comprising computer readable program code configured to cause performing at least the method according to claim 19 when said program code is executed on a computing apparatus.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2023
From: SALLINEN, SAMI; COTA-ROBLES, ERIK
To: OY GAMECLUSTER LTD
Reel/Frame 062935/0064 →
Priority Claims (1)
EP 21175919 · May 26, 2021 · regional
Continuity (1)
Related Publication 20250080465A1 · Mar 6, 2025
References Cited (19)
US 7502860B1 · Champagne · 2009 [cited by examiner]
US 9185045B1 · Yang · 2015 [cited by examiner]
US 11973604B2 · Tao · 2024 [cited by examiner]
US 20030154301A1 · McEachern · 2003 [cited by examiner]
US 20070178916A1 · Sorbara · 2007 [cited by examiner]
US 20100039926A1 · Zhang · 2010 [cited by examiner]
US 20100260180A1 · Wu · 2010 [cited by examiner]
US 20100284338A1 · Persson · 2010 [cited by examiner]
US 20200322277A1 · Li · 2020 [cited by examiner]
US 20210258109A1 · Cho · 2021 [cited by examiner]
JP 2008109698A · 2008 [cited by applicant]
JP 2012182551A · 2012 [cited by applicant]
JP 2018148555A · 2018 [cited by applicant]
Office Action issued in Japanese Patent Application No. 2022-581436 dated Jul. 11, 2023. [cited by applicant]
International Search Report for PCT/FI2022/050359, dated Jul. 12, 2022, 3 pages. [cited by applicant]
Written Opinion of the ISA for PCT/FI2022/050359, dated Jul. 12, 2022, 4 pages. [cited by applicant]
European Search Report dated Nov. 17, 2021, for EP 21 17 5919, 1 page. [cited by applicant]
Stewart et al., “Stream Control Transmission Protocol (SCTP) Partial Reliability Extension”, Internet Citation, XP002399823, May 1, 2004, pp. 1-22. [cited by applicant]
Rajiullah et al., “Performance analysis and improvement of PR-SCTP for small messages”, Elsevier, Computer Networks, vol. 57, No. 18, XP028775022, Oct. 6, 2013, pp. 3967-3986. [cited by applicant]