IP Library Granted Patent US 12,081,460
Granted Patent B2
US 12,081,460 · App. 17/827,476 · Granted Sep 3, 2024

Out-of-order data packet processing in a wireless communications system (WCS)

Inventors: Syed Noman Ahmad (San Jose, CA); Pushkar Upadhyay (Sunnyvale, CA)
Assignee: Corning Research & Development Corporation
H04L49/9057H04L47/56H04W28/0908
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,081,460
App. No.
17/827,476
Granted
Sep 3, 2024
Kind
B2
Abstract

Out-of-order packet processing in a wireless communications system (WCS) is provided. A reordering queue is established for each data session to temporally hold an incoming data packet(s) until an out-of-order data packet(s) is received or discarded. A reordering timer is initiated to define a lifespan of the earliest detected missed data packet in the data session. If the earliest detected missed data packet is received before the reordering timer expires, the received data packet will be forwarded to a core network together with any subsequent in-order data packet(s) in the reordering queue. Otherwise, the missed data packet is discarded, the subsequent in-order data packet(s) in the reordering queue is forwarded to the core network, and the reordering timer may be redefined for a next missed data packet in the data session. Hence, it is possible to process out-of-order data packets for multiple data sessions with reduced processing complexity and latency.

Claims (77)

1. A central unit, comprising:

a control circuit configured to:

receive a plurality of data packets associated with a respective one of one or more data sessions; and

for each received data packet among the plurality of data packets associated with the respective one of the one or more data sessions:

determine whether the received data packet is an expected data packet;

in response to determining that the received data packet is the expected data packet:

forward the received data packet to a core network node when a respective one of one or more reordering queues associated with the respective one of the one or more data sessions is empty; and

enqueue the received data packet in the respective one of the one or more reordering queues when the respective one of the one or more reordering queues is not empty; and

update the respective one of the one or more reordering queues based on the received data packet in response to determining that the received data packet is not the expected data packet.

2. The central unit of claim 1 , further comprising a memory circuit configured to store the one or more reordering queues associated with the one or more data sessions, respectively.

3. The central unit of claim 1 , wherein, in response to determining that the received data packet is not the expected data packet, the control circuit is further configured to:

enqueue an empty data packet corresponding to the expected data packet to thereby mark the expected data packet as a missed data packet in the respective one of the one or more reordering queues; and

enqueue the received data packet after the empty data packet in the respective one of the one or more reordering queues.

4. The central unit of claim 3 , wherein, in response to determining that the received data packet is the expected data packet, the control circuit is further configured to:

insert the received data packet into the empty data packet that marks the expected data packet as the missed data packet; and

forward, to a core network, one or more selected data packets starting from the expected data packet and ending before a closer one of:

a next empty data packet that marks a next missed data packet in the respective one of the one or more reordering queues; and

an end of the respective one of the one or more reordering queues.

5. The central unit of claim 3 , wherein, in response to determining that the received data packet is not the expected data packet, the control circuit is further configured to:

determine whether a reordering timer corresponding to the respective one of the one or more data sessions is currently running; and

define the reordering timer for the expected data packet in response to determining that the reordering timer is not currently running.

6. The central unit of claim 5 , wherein, in response to determining that the reordering timer is currently running, the control circuit is further configured not to define the reordering timer for the expected data packet until an expiration of the reordering timer.

7. The central unit of claim 6 , wherein, at the expiration of the reordering timer, the control circuit is further configured to define the reordering timer to start from a time at which the expected data packet is determined as the missed data packet.

8. The central unit of claim 6 , wherein, at the expiration of the reordering timer, the control circuit is further configured to:

determine whether the expected data packet for which the reordering timer is defined has been received; and

in response to determining that the expected data packet has been received, forward one or more selected data packets to the core network node, wherein the one or more selected data packets starts from a first received data packet in the respective one of the one or more reordering queues and ends before a closer one of:

a next empty data packet that marks a next missed data packet in the respective one of the one or more reordering queues; and

an end of the respective one of the one or more reordering queues.

9. A method for supporting out-of-order packet processing in a wireless communications system (WCS), comprising:

receiving a plurality of data packets associated with a respective one of one or more data sessions; and

for each received data packet among the plurality of data packets associated with the respective one of the one or more data sessions:

determining whether the received data packet is an expected data packet;

in response to determining that the received data packet is the expected data packet:

forwarding the received data packet to a core network node when a respective one of one or more reordering queues associated with the respective one of the one or more data sessions is empty; and

enqueuing the received data packet in the respective one of the one or more reordering queues when the respective one of the one or more reordering queues is not empty; and

updating the respective one of the one or more reordering queues based on the received data packet in response to determining that the received data packet is not the expected data packet.

10. The method of claim 9 , further comprising, in response to determining that the received data packet is not the expected data packet:

enqueuing an empty data packet corresponding to the expected data packet to thereby mark the expected data packet as a missed data packet in the respective one of the one or more reordering queues; and

enqueuing the received data packet after the empty data packet in the respective one of the one or more reordering queues.

11. The method of claim 10 , further comprising, in response to determining that the received data packet is the expected data packet:

inserting the received data packet into the empty data packet that marks the expected data packet as the missed data packet; and

forwarding, to a core network, one or more selected data packets starting from the expected data packet and ending before a closer one of:

a next empty data packet that marks a next missed data packet in the respective one of the one or more reordering queues; and

an end of the respective one of the one or more reordering queues.

12. The method of claim 10 , further comprising, in response to determining that the received data packet is not the expected data packet:

determining whether a reordering timer corresponding to the respective one of the one or more data sessions is currently running; and

defining the reordering timer for the expected data packet in response to determining that the reordering timer is not currently running.

13. The method of claim 12 , further comprising, in response to determining that the reordering timer is currently running, not defining the reordering timer for the expected data packet until an expiration of the reordering timer.

14. The method of claim 13 , further comprising, at the expiration of the reordering timer, defining the reordering timer to start from a time at which the expected data packet is determined as the missed data packet.

15. The method of claim 13 , further comprising, at the expiration of the reordering timer:

determining whether the expected data packet for which the reordering timer is defined has been received; and

in response to determining that the expected data packet has been received, forwarding one or more selected data packets to the core network node, wherein the one or more selected data packets starts from a first received data packet in the respective one of the one or more reordering queues and ends before a closer one of:

a next empty data packet that marks a next missed data packet in the respective one of the one or more reordering queues; and

an end of the respective one of the one or more reordering queues.

16. A wireless communications system (WCS), comprising:

a central unit coupled to a core network, the central unit comprises a control circuit configured to:

receive a plurality of data packets associated with a respective one of one or more data sessions; and

for each received data packet among the plurality of data packets associated with the respective one of the one or more data sessions:

determine whether the received data packet is an expected data packet;

in response to determining that the received data packet is the expected data packet:

forward the received data packet to a core network node when a respective one of one or more reordering queues associated with the respective one of the one or more data sessions is empty; and

enqueue the received data packet in the respective one of the one or more reordering queues when the respective one of the one or more reordering queues is not empty; and

update the respective one of the one or more reordering queues based on the received data packet in response to determining that the received data packet is not the expected data packet.

17. The WCS of claim 16 , further comprising at least one open radio access network (O-RAN) remote unit coupled to the central unit, the at least one O-RAN remote unit is configured to communicate the plurality of data packets to the central unit in each of the one or more data sessions.

18. The WCS of claim 16 , further comprising at least one millimeter wave (mmWave) radio node (RN) coupled to the central unit, the at least one mmWave RN is configured to communicate the plurality of data packets to the central unit in each of the one or more data sessions.

19. The WCS of claim 16 , further comprising a distributed communications system (DCS), the DCS comprising a plurality of remote units coupled to the central unit via a plurality of optical fiber-based communications mediums, respectively, wherein at least one of the plurality of remote units is configured to communicate the plurality of data packets to the central unit in each of the one or more data sessions.

20. The WCS of claim 19 , wherein:

the central unit comprises:

an electrical-to-optical (E/O) converter configured to:

convert a plurality of downlink communications signals into a plurality of downlink optical communications signals, respectively; and

provide the plurality of downlink optical communications signals to the plurality of remote units, respectively; and

an optical-to-electrical (O/E) converter configured to:

receive a plurality of uplink optical communications signals from the plurality of remote units, respectively; and

convert the plurality of uplink optical communications signals into a plurality of uplink communications signals, respectively, wherein the plurality of uplink communications signals is communicated via the one or more data sessions; and

the plurality of remote units each comprises:

a respective O/E converter configured to convert a respective one of the plurality of downlink optical communications signals into a respective one of the plurality of downlink communications signals; and

a respective E/O converter configured to convert a respective one of the plurality of uplink communications signals into a respective one of the plurality of uplink optical communications signals.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2025
From: CORNING OPTICAL COMMUNICATIONS LLC
To: ANI ACQUISITION SUB, LLC
Reel/Frame 071270/0328 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2025
From: CORNING RESEARCH & DEVELOPMENT CORPORATION
To: CORNING OPTICAL COMMUNICATIONS LLC
Reel/Frame 070210/0528 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2022
From: AHMAD, SYED NOMAN; UPADHYAY, PUSHKAR
To: CORNING RESEARCH & DEVELOPMENT CORPORATION
Reel/Frame 061173/0923 →