IP Library Granted Patent US 9,866,482
Granted Patent B2
US 9,866,482 · App. 14/750,329 · Granted Jan 9, 2018

Packet transmission method and apparatus

Inventor: Haiqing Lan (Shanghai, CN)
Assignee: Huawei Technologies Co., Ltd.
H04L47/12H04L47/11H04L47/30H04L47/32H04L49/9047
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 9,866,482
App. No.
14/750,329
Granted
Jan 9, 2018
Kind
B2
Abstract

A method of the present invention includes: determining, when packet congestion occurs or network bandwidth decreases, at least one to-be-discarded packet in a packet buffer; and discarding the at least one to-be-discarded packet so that at least one unbuffered packet enters the packet buffer to prevent discarding too many unbuffered packets, where the unbuffered packet is a packet that has not entered the packet buffer. The present invention is primarily applied in a packet buffering process.

Claims (52)

1. A packet transmission method, comprising:

determining, when packet congestion occurs or network bandwidth decreases, at least one to-be-discarded packet in a packet buffer; and

discarding the at least one to-be-discarded packet so that at least one unbuffered packet enters the packet buffer to prevent discarding too many unbuffered packets, wherein the unbuffered packet is a packet that has not entered the packet buffer, wherein discarding the at least one to-be-discarded packet comprises:

discarding the at least one to-be-discarded packet according to a preset packet discarding rule, wherein discarding the at least one to-be-discarded packet according to the preset packet discarding rule comprises:

acquiring an index identifier of each of the at least one to-be-discarded packet to generate a to-be-discarded packet group, wherein the index identifier is a combination of a queue identifier of each of the at least one to-be-discarded packet and a location identifier of each of the at least one to-be-discarded packet,

determining whether a to-be-discarded packet that is not discarded remains in the to-be-discarded packet group, and

selecting, when a to-be-discarded packet that is not discarded remains in the to-be-discarded packet group, a to-be-discarded packet corresponding to at least one index identifier to discard it.

2. The method according to claim 1 , wherein determining the at least one to-be-discarded packet in the packet buffer comprises:

allocating a quantity of the to-be-discarded packets to each of at least one queue in the packet buffer, wherein the quantity of the to-be-discarded packets is an integer greater than or equal to 0.

3. The method according to claim 2 , wherein allocating the quantity of the to-be-discarded packets to each of the at least one queue in the packet buffer comprises:

allocating the quantity of the to-be-discarded packets to each of the at least one queue according to a first mapping relationship table and a priority of each of the at least one queue, wherein the first mapping relationship table is used to represent a mapping relationship between queue priorities and quantities of to-be-discarded packets, wherein a quantity of to-be-discarded packets of a queue with a higher priority is less than a quantity of to-be-discarded packets of a queue with a lower priority; or

allocating the quantity of the to-be-discarded packets to each of the at least one queue according to a second mapping relationship table and a quantity of packets comprised in each of the at least one queue, wherein the second mapping relationship table is used to represent a mapping relationship between quantities of packets comprised in queues and quantities of to-be-discarded packets, wherein a quantity of to-be-discarded packets of a queue that comprises a larger quantity of packets is greater than a quantity of to-be-discarded packets of a queue that comprises a smaller quantity of packets.

4. The method according to claim 2 , wherein determining the at least one to-be-discarded packet in the packet buffer comprises:

selecting N packets at equal intervals in each of the at least one queue according to an even distribution rule and determining that the N packets are the to-be-discarded packets, wherein N is the quantity of the to-be-discarded packets allocated to the queue; or

selecting N packets randomly in each of the at least one queue according to a random distribution rule and determining that the N packets are the to-be-discarded packets, wherein N is the quantity of the to-be-discarded packets allocated to the queue; or

sorting each of the at least one queue according to a first sorting rule to obtain sorted queues, performing polling from one end of the sorted queues and determining that a first packet in each queue is the at least one to-be-discarded packet, when a quantity of the to-be-discarded packets of a queue reaches a quantity of to-be-discarded packets allocated to the queue, removing the queue from the sorted queues, and when a quantity of queues in the sorted queues is 0, ending the determining of the to-be-discarded packets.

5. A packet transmission method, comprising:

determining, when packet congestion occurs or network bandwidth decreases, at least one to-be-discarded packet in a packet buffer; and

discarding the at least one to-be-discarded packet so that at least one unbuffered packet enters the packet buffer to prevent discarding too many unbuffered packets, wherein the unbuffered packet is a packet that has not entered the packet buffer;

wherein before determining the at least one to-be-discarded packet in the packet buffer, the method further comprises:

determining a total quantity of to-be-discarded packets, and

allocating a first quantity of the to-be-discarded packets to the packet buffer for discarding, wherein the first quantity of the to-be-discarded packets is less than or equal to the total quantity of the to-be-discarded packets; and

determining the at least one to-be-discarded packet in the packet buffer comprises:

determining that packets, of the first quantity of the to-be-discarded packets, in the packet buffer are the to-be-discarded packets.

6. A packet transmission apparatus, comprising:

a receiver, configured to receive a packet;

a buffer, configured to buffer the packet received by the receiver; and

a processor, configured to:

when packet congestion occurs or network bandwidth decreases, determine at least one to-be-discarded packet in packets buffered by the buffer;

discard the at least one to-be-discarded packet so that at least one unbuffered packet enters the buffer to prevent discarding too many unbuffered packets, wherein the unbuffered packet is a packet that has not entered the buffer;

discard the at least one to-be-discarded packet according to a preset packet discarding rule;

acquire an index identifier of each of the at least one to-be-discarded packet to generate a to-be-discarded packet group, wherein the index identifier is a combination of a queue identifier of each of the at least one to-be-discarded packet and a location identifier of each of the at least one to-be-discarded packet;

determine whether a to-be-discarded packet that is not discarded remains in the to-be-discarded packet group; and

select, when a to-be-discarded packet that is not discarded remains in the to-be-discarded packet group, a to-be-discarded packet corresponding to at least one index identifier to discard it.

7. The apparatus according to claim 6 , wherein the processor is configured to:

allocate a quantity of to-be-discarded packets to each of at least one queue in the buffer, wherein the quantity of the to-be-discarded packets is an integer greater than or equal to 0.

8. The apparatus according to claim 7 , wherein the processor is further configured to:

allocate the quantity of the to-be-discarded packets to each of the at least one queue according to a first mapping relationship table and a priority of each of the at least one queue, wherein the first mapping relationship table is used to represent a mapping relationship between queue priorities and quantities of to-be-discarded packets, wherein a quantity of to-be-discarded packets of a queue with a higher priority is less than a quantity of to-be-discarded packets of a queue with a lower priority; or

allocate the quantity of the to-be-discarded packets to each of the at least one queue according to a second mapping relationship table and a quantity of packets comprised in each of the at least one queue, wherein the second mapping relationship table is used to represent a mapping relationship between quantities of packets comprised in queues and quantities of to-be-discarded packets, wherein a quantity of to-be-discarded packets of a queue that comprises a larger quantity of packets is greater than a quantity of to-be-discarded packets of a queue that comprises a smaller quantity of packets.

9. The apparatus according to claim 7 , wherein the processor is further configured to:

select N packets at equal intervals in each of the at least one queue according to an even distribution rule and determine that the N packets are the to-be-discarded packets, wherein N is the quantity of the to-be-discarded packets allocated to the queue; or

select N packets randomly in each of the at least one queue according to a random distribution rule and determine that the N packets are the to-be-discarded packets, wherein N is the quantity of the to-be-discarded packets allocated to the queue; or

sort each of the at least one queue according to a first sorting rule to obtain sorted queues, perform polling from one end of the sorted queues and determine that a first packet in each queue is the at least one to-be-discarded packet, when a quantity of the to-be-discarded packets of a queue reaches a quantity of to-be-discarded packets allocated to the queue, remove the queue from the sorted queues, and when a quantity of queues in the sorted queues is 0, end the determining of the to-be-discarded packets.

10. A packet transmission apparatus, comprising:

a receiver, configured to receive a packet;

a buffer, configured to buffer the packet received by the receiver; and

a processor, configured to:

when packet congestion occurs or network bandwidth decreases, determine at least one to-be-discarded packet in packets buffered by the buffer;

discard the at least one to-be-discarded packet so that at least one unbuffered packet enters the buffer to prevent discarding too many unbuffered packets, wherein the unbuffered packet is a packet that has not entered the buffer;

determine a total quantity of the to-be-discarded packets;

allocate a first quantity of the to-be-discarded packets to the buffer, wherein the first quantity of the to-be-discarded packets is less than or equal to the total quantity of the to-be-discarded packets; and

determine that packets, of the first quantity of the to-be-discarded packets, in the buffer are the to-be-discarded packets.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2015
From: LAN, HAIQING
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 035907/0158 →
Continuity (2)
Continuation PCTCN2012087723 · Dec 27, 2012
Related Publication 20150295828A1 · Oct 15, 2015