US2023299878A1PendingUtilityA1

Packet Processing Method and Apparatus, and Chip

Assignee: HUAWEI TECH CO LTDPriority: Sep 10, 2019Filed: May 19, 2023Published: Sep 21, 2023
Est. expirySep 10, 2039(~13.1 yrs left)· nominal 20-yr term from priority
H04L 1/0043H04L 1/004H04L 1/0041H04L 1/0052H03M 13/373H04L 47/6275H04L 69/12H03M 13/03H04L 1/0045H04L 49/557
62
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A packet processing method includes generating, by a processor of a network device, a first encoding task based on M original packets in a to-be-processed first data stream, where M is a positive integer, and where the first encoding task instructs to encode the M original packets; and performing, by a target hardware engine of the network device and based on the first encoding task, forward error correction (FEC) encoding on the M original packets to obtain R redundant packets, where R is a positive integer.

Claims

exact text as granted — not AI-modified
1 . A method implemented by a device, wherein the method comprises:
 assigning, by one or more processors of the device, a first encoding task; and   performing, by a target hardware engine of the device and based on an instruction of the first encoding task, forward error correction (FEC) encoding on M original packets in a to-be-processed first data stream to obtain R redundant packets,   wherein M is a positive integer, and   wherein R is a positive integer.   
     
     
         2 . The method of  claim 1 , wherein after assigning the first encoding task, the method further comprises:
 storing, by the one or more processors, the first encoding task in a target sending queue, wherein the target sending queue stores second encoding tasks of to-be-processed second data streams of the device, and wherein the to-be-processed second data streams comprise the to-be-processed first data stream; and   reading, by the target hardware engine and from the target sending queue, the first encoding task.   
     
     
         3 . The method of  claim 2 , further comprising adding, by the one or more processors and based on a first priority of the to-be-processed first data stream, the first encoding task to the target sending queue, wherein a second priority of the target sending queue is equal to the first priority. 
     
     
         4 . The method of  claim 2 , further comprising:
 sequentially querying, by the target hardware engine and based on a priority sequence of sending queues, whether each of the sending queues comprises third encoding tasks, wherein each of the sending queues corresponds to one priority; and   further reading, by the target hardware engine and from the target sending queue, the first encoding task when one of the sending queues comprising a first priority that is higher than a second priority of the target sending queue does not comprise a fourth encoding task.   
     
     
         5 . The method of  claim 1 , wherein before assigning the first encoding task, the method further comprises:
 receiving, by the one or more processors, first original packets in the to-be-processed first data stream;   storing, by the one or more processors, the first original packets in a memory of a network device;   identifying, by the one or more processors, that a quantity of unencoded original packets in the first original packets is greater than or equal to M; and   obtaining, by the one or more processors, from the unencoded original packets, and in response to identifying that the quantity is greater than or equal to M, the M original packets.   
     
     
         6 . The method of  claim 1 , wherein the first encoding task comprises storage addresses of the M original packets. 
     
     
         7 . The method of  claim 1 , wherein the first encoding task comprises storage addresses of the M original packets and a priority of the to-be-processed first data stream. 
     
     
         8 . The method of  claim 1 , wherein the first encoding task comprises the M original packets and a priority of the to-be-processed first data stream. 
     
     
         9 . A method implemented by a device, wherein the method comprises:
 obtaining, by one or more processors of the device, a first group of forward error correction (FEC) packets from a first data stream, wherein the FEC packets have a first FEC packet header, and wherein the first FEC packet header comprises an FEC-encoding original packet quantity;   assigning, by the one or more processors, a first decoding task when a quantity of original packets in the first group is less than the FEC-encoding original packet quantity; and   performing, by a target hardware engine of the device and based on an instruction of the first decoding task, FEC decoding on the original packets and redundant packets of the original packets to obtain lost original packets in the first group.   
     
     
         10 . The method of  claim 9 , wherein after assigning the first decoding task, the method further comprises:
 storing, by the one or more processors, the first decoding task in a target sending queue, wherein the target sending queue stores second decoding tasks of to-be-processed data streams of the device, and wherein the to-be-processed data streams comprise the first data stream; and   reading, by the target hardware engine and from the target sending queue, the first decoding task.   
     
     
         11 . The method of  claim 10 , further comprising adding, by the one or more processors and based on a first priority of the first data stream, the first decoding task to the target sending queue, wherein a second priority of the target sending queue is equal to the first priority. 
     
     
         12 . The method of  claim 10 , further comprising:
 sequentially querying, by the target hardware engine and based on a priority sequence of sending queues, whether each of the sending queues comprises third encoding tasks, wherein each of the sending queues corresponds to one priority; and   further reading, by the target hardware engine and from the target sending queue, the first decoding task when one of the sending queues comprising a first priority that is higher than a second priority of the target sending queue does not comprise a fourth decoding task.   
     
     
         13 . An apparatus, comprising:
 one or more processors configured to assign, based on M original packets in a to-be-processed first data stream, a first encoding task, wherein M is a positive integer, and wherein the first encoding task instructs to encode the M original packets; and   a target hardware engine coupled to the one or more processors and configured to perform, based on the first encoding task, forward error correction (FEC) encoding on the M original packets to obtain R redundant packets,   wherein R is a positive integer.   
     
     
         14 . The apparatus of  claim 13 , further comprising a target sending queue, wherein the one or more processors are further configured to store the first encoding task in the target sending queue, wherein the target sending queue stores second encoding tasks of to-be-processed second data streams of the apparatus, wherein the to-be-processed second data streams comprise the to-be-processed first data stream, and wherein the target hardware engine is further configured to read, from the target sending queue, the first encoding task. 
     
     
         15 . The apparatus of  claim 14 , wherein the one or more processors are is further configured to add, based on a first priority of the to-be-processed first data stream, the first encoding task to the target sending queue, and wherein a second priority of the target sending queue is equal to the first priority. 
     
     
         16 . The apparatus of  claim 14 , wherein the target hardware engine is further configured to:
 sequentially query, based on a priority sequence of sending queues, whether each of the sending queues comprises third encoding tasks, wherein each of the sending queues corresponds to one priority; and   further read, from the target sending queue, the first encoding task when one of the sending queues comprising a first priority that is higher than a second priority of the target sending queue does not comprise a fourth encoding task.   
     
     
         17 . An apparatus, comprising:
 one or more processors configured to:
 obtain a first group of forward error correction (FEC) packets from a first data stream, wherein FEC packets in the first group have a first FEC packet header, and wherein the first FEC packet header comprises an FEC-encoding original packet quantity; and 
 assign, based on the first group, a first decoding task group when a quantity of original packets in the first group is less than the FEC-encoding original packet quantity, wherein the first decoding task instructs to decode the first group; and 
   a target hardware engine coupled to the one or more processors and configured to perform, based on the first decoding task, FEC decoding on the original packets and redundant packets of the original packets to obtain lost original packets in the first group.   
     
     
         18 . The apparatus of  claim 17 , further comprising a target sending queue, wherein the one or more processors are further configured to store the first decoding task in the target sending queue, wherein the target sending queue stores second decoding tasks of to-be-processed data streams of the apparatus, wherein the to-be-processed data streams comprise the first data stream, and wherein the target hardware engine is further configured to read, from the target sending queue, the first decoding task. 
     
     
         19 . The apparatus of  claim 18 , wherein the one or more processors are further configured to add, based on a first priority of the first data stream, the first decoding task to the target sending queue, and wherein a second priority of the target sending queue is equal to the first priority. 
     
     
         20 . The apparatus of  claim 18 , wherein the target hardware engine is further configured to:
 sequentially query, based on a priority sequence of sending queues, whether each of the sending queues comprises third decoding tasks, wherein each of the sending queues corresponds to one priority; and   further read, from the target sending queue, the first decoding task when one of the sending queues comprising a first priority that is higher than a second priority of the target sending queue does not comprise a fourth decoding task.

Join the waitlist — get patent alerts

Track US2023299878A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.