[go: up one dir, main page]

GB2641024A - Marking and dropping of packets at the data frame level - Google Patents

Marking and dropping of packets at the data frame level

Info

Publication number
GB2641024A
GB2641024A GB2406681.3A GB202406681A GB2641024A GB 2641024 A GB2641024 A GB 2641024A GB 202406681 A GB202406681 A GB 202406681A GB 2641024 A GB2641024 A GB 2641024A
Authority
GB
United Kingdom
Prior art keywords
packets
marking
dropping
type
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
GB2406681.3A
Other versions
GB202406681D0 (en
Inventor
Chang Chia-Yu
De Schepper Koen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Technologies Oy
Original Assignee
Nokia Technologies Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Technologies Oy filed Critical Nokia Technologies Oy
Priority to GB2406681.3A priority Critical patent/GB2641024A/en
Publication of GB202406681D0 publication Critical patent/GB202406681D0/en
Publication of GB2641024A publication Critical patent/GB2641024A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/31Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0289Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/33Flow control; Congestion control using forward notification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Apparatus and method for addressing congestion in a wireless communication network. A first apparatus, such as a Wi-Fi (RTM) STA, sends a Media Access Control (MAC) data frame, 501, to a second apparatus such as a Wi-Fi (RTM) access point (AP). The MAC data frame comprises a first portion, 502a, and a second portion, 502b. The first portion comprises a congestion control field which encodes one or more congestion control values and the second portion comprises a set of packets. Each packet may be marked or dropped based on the congestion control values, such as marking ratio pr, the marking of a packet indicating congestion. The method may be applied for Low Latency Low Loss and Scalable (L4S) technology traffic as standardized in IETF RFC9330 which enhances the user experience by reducing queuing latency. A marking rate, pL, to be applied to L4S traffic may be derived from the marking ratio, pr. This may also be used to derive a previous average marking ratio, pa, by using an Exponentially Weighted Moving Average (EWMA) of the marking rates. From pa, a dropping ratio pc may be derived which may be applied to either L4S traffic or non-L4S traffic.

Description

DESCRIPTION
MARKING AND DROPPING OF PACKETS AT THE DATA FRAME LEVEL
Technical Field
Various example embodiments relate to telecommunication systems, and more particularly to marking and dropping of packets at the data frame level.
Background
Wi-Fi has undergone ongoing breakthroughs, leading to a substantial improvement in over-the-air throughput. Next-generation Wi-Fi is expected to use the Low Latency Low Loss and Scalable (L4S) technology, as standardized in IETF RFC9330, to enhance the user experience by reducing the queuing latency, which may occasionally exceed one second. However, there is a need for adapting the existing systems to the L4S technology.
Summary
Example embodiments provide an apparatus, referred to as first apparatus, the first apparatus comprising at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the first apparatus at least to perform: receiving from a second apparatus a data frame comprising a first portion and a second portion, the first portion comprising a congestion control field encoding one or more congestion control values, the second portion comprising a set of packets, the set of packets comprising one or more packets; marking or dropping each packet of the set of packets based on the one or more congestion control values, the marking of the packet indicating a congestion.
Example embodiments provide a method, referred to as decapsulation method, the decapsulation method comprising: receiving a data frame comprising a first portion and a second portion, the first portion comprising a congestion control field encoding one or more congestion control values, the second portion comprising a set of packets, the set of packets comprising one or more packets; marking or dropping each packet of the set of packets based on the one or more congestion control values, the marking of the packet indicating a congestion.
Example embodiments provide a computer program comprising instructions for causing a first apparatus for performing at least the following: receiving a data frame comprising a first portion and a second portion, the first portion comprising a congestion control field encoding one or more congestion control values, the second portion comprising a set of packets, the set of packets comprising one or more packets; marking or dropping each packet of the set of packets based on the one or more congestion control values, the marking of the packet indicating a congestion.
Example embodiments provide an apparatus, referred to as second apparatus, the second apparatus comprising at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the second apparatus at least to perform: determining one or more congestion values based on a congestion level at the second apparatus; creating a data frame comprising a first portion and a second portion, the first portion comprising a congestion control field encoding the one or more congestion control values, the second portion comprising a set of packets, the set of packets comprising one or more packets; sending the data frame to a first apparatus.
Example embodiments provide a method, referred to as encapsulation method, the encapsulation method comprising: determining one or more congestion values based on a congestion level at a second apparatus; creating a data frame comprising a first portion and a second portion, the first portion comprising a congestion control field encoding the one or more congestion control values, the second portion comprising a set of packets, the set of packets comprising one or more packets; sending the data frame to a first apparatus.
Example embodiments provide a computer program comprising instructions for causing a second apparatus for performing at least the following: determining one or more congestion values based on a congestion level at a second apparatus; creating a data frame comprising a first portion and a second portion, the first portion comprising a congestion control field encoding the one or more congestion control values, the second portion comprising a set of packets, the set of packets comprising one or more packets; sending the data frame to a first apparatus.
Example embodiments provide a system comprising the first apparatus and the second apparatus. The system may, for example, be configured to perform a method comprising the encapsulation method and the decapsulation method.
Brief Description of the Drawings
The accompanying figures are included to provide a further understanding of examples, and are incorporated in and constitute part of this specification. In the figures: FIG.1 is a flowchart of a decapsulation method in accordance with an example of the present subject matter; FIG. 2 is a flowchart of an encapsulation method in accordance with an example of the present subject matter; FIG. 3 is a flowchart of an encapsulation-decapsulation method in accordance with an example of the present subject matter; FIG. 4 is a signaling diagram illustrating an encapsulation-decapsulation method in 30 accordance with an example of the present subject matter; FIG. 5 is a diagram illustrating a MAC marking mechanism according to an example of the present subject matter; FIG. 6 is a block diagram showing an example of an apparatus according to an example of the present subject matter.
Detailed Description
In the following description, for purposes of explanation and not limitation, specific details are set forth such as particular architectures, interfaces, techniques, etc., in order to provide a thorough understanding of the examples. However, it will be apparent to those skilled in the art that the disclosed subject matter may be practiced in other illustrative examples that depart from these specific details. In some instances, detailed descriptions of well-known devices and/or methods are omitted so as not to obscure the description with unnecessary detail.
The present subject matter may provide a robust solution for efficient network congestion management that combines the strengths of proactive and reactive congestion control techniques. This may ensure optimal congestion response, enhanced efficiency, improved Quality of Service (QoS), greater scalability, and a balanced traffic management approach. Marking packets may provide early warnings to end hosts to proactively reduce transmission rates before packet loss escalates, while packet dropping may be applied for the encapsulated packets that may not support this L4S marking or may act as a decisive intervention to enforce rate reduction when congestion becomes severe. This strategy may not only maintain network throughput by reducing the need for retransmissions but also prevent network collapse, optimizing resource utilization. It may be particularly beneficial for delay-sensitive applications, where early congestion detection can prevent quality degradation, and packet dropping may ensure critical data delivery during peak congestion. Additionally, the flexibility of this dual approach may allow networks to dynamically adapt to changing traffic patterns and scale effectively, supporting a wide array of applications and increasing data volumes without costly network upgrades.
Managing packets at the data frame level may enhance network efficiency, performance, and security. This may facilitate early detection and correction of errors, which may significantly reduce overhead and latency. Furthermore, decisions regarding packet transmission are made close to the hardware, minimizing delays and ensuring lower latency, essential for high-speed networks and real-time applications.
"First," "Second," etc. as used herein, these terms are used as labels for nouns that they precede, and do not imply any type of ordering (e.g., spatial, temporal, logical) unless explicitly defined as such.
The present subject matter may provide a first apparatus and a second apparatus.
The first apparatus may receive from the second apparatus a data frame comprising a first portion and a second portion. The first portion comprises a congestion control field encoding one or more congestion control values. The second portion comprises a set of packets. The set of packets comprises one or more packets. Each packet of the set of packets may be marked or dropped depending on the one or more congestion control values. The marking of the packet indicates a congestion. By identifying the marking of the packet, a receiver of the packet may recognize that a congestion situation has occurred. Resulting packets of the operation of marking or dropping each packet of the set of packets may be provided by the first apparatus. For example, the marking or dropping of each packet of the set of packets may result in a new set of zero or more packets. This new set of zero or more packets may be provided for further processing. The further processing may be performed by the first apparatus or by another device such as a client. For instance, the further processing may comprise delivering the new set of packets to an application that is the intended recipient of these packets.
The first apparatus may, for example, be configured to communicate with the second apparatus through a wireless connection. The wireless connection may, for example, be a local area network (LAN) connection.
The first portion of the data frame may be a header. In one example, the data frame may be a data structure used to carry information over a digital network. The data frame may provide the necessary addressing and error detection that may be required to deliver the packet to its destination within a same local area network.
The congestion control field may be a field of the data frame. The congestion control field of the data frame may be a specific part of the data frame. The congestion control field may comprise one or more bits. For example, the congestion control field may comprise a number n of bits, where n is an integer higher than or equal to one. The congestion control field may contain a n-bit binary number that represents the one or more congestion control values.
The one or more congestion control values may be determined (e.g., by the second apparatus) based on certain criteria, such as congestion level at the second apparatus. For example, the one or more congestion control values may be determined by the second apparatus if the second apparatus experiences a congestion. The second apparatus may experience congestion due to a variety of factors that challenge its capacity and efficiency. For example, when the incoming traffic rate exceeds the bandwidth capacity of the second apparatus's outgoing links, or when the second apparatus lacks sufficient processing power, this may indicate that the second apparatus experiences congestion. The congestion level may, for example, be defined by at least one of: the amount of bandwidth used as a fraction of the total available bandwidth for the second apparatus, the ratio of the current load to total capacity of the second apparatus, or the number of packets waiting in a buffer of the second apparatus. For example, as the congestion level increases, so does a marking rate.
According to one first example, the one or more congestion control values consist of one congestion control value, wherein the one congestion control value is a marking rate for marking packets at the first apparatus.
The marking rate may refer to the frequency with which packets are marked to indicate congestion. This example may be advantageous as it may use the marking rate for both marking and dropping of packets. This may save resources such as network resources since minimum usable amount of information is encoded in the congestion control field. That is, the size of the congestion control field may be smaller compared to the case where further information may be encoded. The marking rate may also be referred to as marking ratio or marking probability.
For example, the second apparatus may determine the original marking rate for the data frame that is received by the first apparatus. The second apparatus may encode the original marking rate in the congestion control field. Alternatively, the second apparatus may scale (e.g., scale down by two) the original marking rate and then encode the scaled original marking rate in the congestion control field. The scaling may be performed so that the first apparatus may be able to derive the original marking rate from the scaled original marking rate. The marking rate as encoded in the congestion control field may, thus, be the original marking rate or the scaled original marking rate. If the marking rate as encoded in the congestion control field is the original marking rate it may be used directly (as it is) to perform the marking at the first apparatus. Alternatively, if the marking rate as encoded in the congestion control field is the scaled original marking rate, it may be scaled, by the first apparatus, by a predefined factor (e.g., scaled up by two), and then the scaled marking rate may be used to perform the marking at the first apparatus. This later option may be advantageous as it may provide some flexibility in encoding the original marking rate in the congestion control field to simplify the derivation of the dropping rate from the marking rate as encoded in the congestion control field. Thus, the marking of packets by the first apparatus may be performed in accordance with the marking rate as encoded in the congestion control field or in accordance with the scaled marking factor.
According to one second example, the one or more congestion control values comprise a marking rate for marking packets at the first apparatus and a dropping rate for dropping packets at the first apparatus. That is, the one or more congestion control values comprises two congestion control values, one congestion control value may be the marking rate and the other congestion control value may be the dropping rate. The dropping rate may also be referred to as dropping ratio or dropping probability.
This second example may simplify the implementation at the first apparatus side and guarantee that the second apparatus has the full control of this extra operation, at the cost of several extra bits to be included in the congestion control field of the data frame.
The set of packets of the received data frame may corn prise first type packets and/or second type packets, wherein the first type packets and the second type packets differ by transmission priority. For example, each packet of the set of packets of the received data frame may be a first type packet or a second type packet. According to one example, the instructions, when executed by the at least one processor, further cause the first apparatus to perform: deriving a dropping rate from the one or more congestion control values. Furthermore, the instructions, when executed by the at least one processor, further cause the first apparatus to perform the marking or the dropping of each packet of the set of packets by at least: dropping the packet based on the dropping rate if the packet is a first type packet, or marking the packet based on the marking rate if the packet is a second type packet.
The classification of packets into first type packets and second type packets may be based on criteria such as application needs and network policies. The second type packets may be critical for applications requiring high responsiveness. In contrast, first type packets may be suitable for applications where latency is less crucial. The classification may, for example, be performed by the second apparatus.
For example, for each packet of the set of packets, the first apparatus may determine whether the packet is of the first type or of the second type. In response to determining that the packet is of the first type, the first apparatus may drop or not drop the packet depending on the derived dropping rate. In response to determining that the packet is of the second type, the first apparatus may mark or not mark the packet depending on the marking rate.
By separating traffic into first type and second type packets, the present subject matter may deliver differentiated services that cater specifically to the requirements of diverse applications, ensuring optimal performance, reliability, and user satisfaction. This separation may also facilitate more strategic network planning and management, leading to improved overall efficiency and scalability.
According to one example, the dropping of the first type packet comprises: making a first random decision to drop the first type packet based on the dropping rate and dropping the first type packet based on the first random decision. The marking of the second type packet comprises: making a second random decision to mark the second type packet based on a marking rate in the one or more congestion control values and marking the second type packet based on the second random decision.
The random decision-making may enhance fairness and impartiality by giving all options an equal chance, which may be crucial to avoid biases. It may be a simple and cost-effective, not requiring complex algorithms or infrastructure.
In one example implementation, making the first random decision comprises generating one or two random numbers between zero and one for the first type packet, comparing the one or two random numbers with the dropping rate and determining the first random decision based on the comparison result. For example, if each random number of the one or more random numbers is smaller than the dropping rate, the first random decision may be to drop the first type packet; otherwise, the first type packet is not to be dropped.
In one example implementation, making the second random decision comprises generating a random number between zero and one for the second type packet, comparing the random number with the marking rate and determining the second random decision based on the comparison result. For example, if the random number is smaller than the marking rate, the second random decision may be to mark the second type packet; otherwise, the second type packet is not to be marked.
According to one example, the instructions, when executed by the at least one processor, further cause the first apparatus to perform: determining that the dropping rate is higher than a threshold. For example, this determining may be a result of checking whether the dropping rate is higher than the threshold. The instructions, when executed by the at least one processor, further cause the first apparatus to perform the marking of the second type packet by at least: making a third random decision to drop the second type packet based on the dropping rate and dropping the second type packet based on the third random decision, wherein the marking of the second type packet based on the second random decision is performed in response to determining that the second type packet is not dropped. The dropping rate used in this example may be the dropping rate derived from the marking rate. Alternatively, the dropping rate used in this example may be the dropping rate encoded in the congestion control field.
This approach may enable to drop the second type packets, similar to the first type packets, when the dropping rate is higher than the threshold. A high dropping rate could signal a genuine congestion problem that might require further packet drops, including those of the second type, to swiftly alleviate significant congestion issues.
Thus, according to one example, if the dropping rate is higher than the threshold, 10 each second type packet of the data frame may be dropped based on the dropping rate and if it is not dropped, the second type packet may be marked using the marking rate.
According to one example, the instructions, when executed by the at least one processor, further cause the first apparatus to perform: providing or using a first traffic queue for enqueuing the first type packets in the first traffic queue in accordance with their transmission order, providing or using a second traffic queue for enqueuing the second type packets in the second traffic queue in accordance with their transmission order. The first type packet may be dequeued from the first traffic queue for performing the dropping of the first type packet. The second type packet may be dequeued from the second traffic queue for performing the marking of the second type packet. This example may cover the case where packets are queued and get marked or dropped at dequeue from these queues.
The first traffic queue and the second traffic queue may be managed by the first apparatus.
Each queue of the first traffic queue and the second traffic queue may be a data structure that is configured to manage and store packets for processing packets in their order of transmission. The first packet to enter the queue is the first packet to leave. This method may be simple and ensure fairness in terms of waiting time. Using two different queues may enable to differentiate between packets of different priorities or types.
For example, in case the one or more congestion control values comprises the marking rate and the dropping rate, deriving the dropping rate may comprise obtaining or extracting the dropping rate from the one or more congestion control values.
According to one example, the one or more congestion control values are the marking rate. The deriving of the dropping rate comprises: computing a weighted moving average marking rate using the marking rate of the received data frame and marking rates of previously received data frames, wherein the dropping rate is a function of the weighted moving average marking rate. The function may, for example, be the square of the weighted moving average marking rate but it is not limited to.
For example, the decapsulation method may have been executed several times before the actual execution of the decapsulation method. This may result in the first apparatus receiving multiple data frames with their respective marking rates. These may be used to compute the weighted moving average marking rate.
The dropping rate to be used for marking may, for example, be defined depending on whether the original marking rate is encoded in the congestion control field. The dropping rate may for example be the weighted moving average marking rate squared if the scaled original marking rate is encoded in the congestion control filed. Alternatively, the weighted moving average marking rate may be halved and then squared to obtain the dropping rate if the original marking rate is encoded in the
congestion control field.
The weighted moving average marking rate may be computed using weights associated with the marking rates. The weights may, for example, be assigned to give more importance to marking rates of newly received data frames. This may be achieved by employing a linearly increasing sequence of weights, where the weights increase as the reception time becomes more recent. Alternatively, the weights may be exponentially changing weights over time. This may be enabled by the weighted moving average marking rate being an Exponentially Weighted Moving Average (EWMA) of the marking rates. The smoothing factor A of the EWMA may, for example, be defined as follows A = 1 -f x g, where g = 1/16 and f = min(1, (t now-t r)) 25nts, where t, is the last reporting time of the last data frame, and tr is the current reporting time of the received data frame. This may provide a smoothing factor that is 1/16th of new information, compared to 15/16th of previous information, every 25 milliseconds (ms) or more.
According to one example, the instructions, when executed by the at least one processor, further cause the first apparatus to perform: during a connection establishment between the first apparatus and the second apparatus, sending a message to the second apparatus for causing the second apparatus to include the congestion control field in data frames to be transmitted to the first apparatus.
This example may enable to signal the decapsulation capability before even starting communication of data between the first apparatus and the second apparatus. This decapsulation capability may be verified to make sure that the marking information is not lost. The decapsulation capability refers to the capability to perform the decapsulation method according to the present subject matter. The decapsulation capability may also be referred to as marking capability.
For example, an extra decapsulation field or flag (e.g., capability information) may be added to the message. The decapsulation capability may be identified when the extra decapsulation flag is set to indicate that it can follow the provided marking rate from the sender to mark or drop the decapsulated packets within the received data frames.
Alternatively, the first and second apparatuses could come equipped with a default feature that supports the decapsulation method as described herein. Therefore, each apparatus can assume that the other already possesses this capability, eliminating the need for an additional information exchange.
According to one example, the message is an association request or an association response.
According to one example, the instructions, when executed by the at least one processor, further cause the first apparatus to perform the marking of the packet by setting a specific field in a header of the packet.
According to one example, the data frame is a data link layer frame, wherein the packets are network layer packets.
According to one example, the set of packets comprise at least one of first type packets or second type packets. For example, the first type packets and second type packets may differ by transmission priority or may differ based on a classification rule that was used to classify the packets.
According to one example, wherein the instructions, when executed by the at least one processor, further cause the first apparatus to perform: deriving from the one or more congestion control values a dropping rate for dropping the first type packets, wherein the instructions, when executed by the at least one processor, further cause the first apparatus to perform the marking or the dropping by at least: dropping the packet of a first type based on the dropping rate, or in response to determining that a dropping threshold is provided and that the dropping rate exceeds the dropping threshold, dropping the packet of a second type based on the dropping rate and in response to determining that the dropping rate does not exceed the dropping threshold, marking the packet of the second type based on a marking rate comprised in the one or more congestion control values. The dropping rate exceeds the dropping threshold may, for example, mean that the dropping rate is higher than the dropping threshold.
According to one example, the dropping threshold is provided in an extension dropping flag that is received by the first apparatus or the dropping threshold is configured by the second apparatus during connection establishment between the 30 first apparatus and the second apparatus.
For example, the extension dropping flag may indicate that the dropping probability should also be applied to L4S packets or not applied to L4S packets. Another alternative may be that the sender configures the dropping threshold during session or connection establishment, above which the dropping probability may need to be applied to L4S traffic too.
According to one example, wherein the one or more congestion control values comprise a marking rate for marking the second type packets and a dropping rate for dropping the first type packets, wherein the instructions, when executed by the at least one processor, further cause the first apparatus to perform the marking or the dropping by at least: dropping the packet of a first type based on the dropping rate, or in response to determining that the marking rate is higher than one (or 100%), marking the packet of a second type using the marking rate. In case the marking rate is higher than one a part of the second type packets of the data frame may be dropped using the dropping rate.
For example, there may be one dropping ratio for non-L4S packets and one marking ratio for L4S packets, but that the marking ratio may range for L4S packets and can go to 200%, and that if marking exceeds 100%, it may keep marking all L4S packets, but additionally drop (mark%-100%) packets.
According to one example, the encapsulation method comprises classifying, by the second apparatus, the set of packets into first type packets and second type packets based on a transmission priority of the set of packets, wherein the one or more congestion values comprises a marking rate for the second type of packets and optionally a dropping rate for the first type packets.
For example, the second apparatus may assign a transmission priority per application. The transmission priority of the packet may thus be the transmission priority assigned to the application that transmits that packet. If the transmission priority of a packet is higher than a priority threshold, the packet may be classified as second type packet; otherwise, it may be classified as first type packet.
According to one example, during a connection establishment between the first apparatus and the second apparatus, the second apparatus may receive a message from the first apparatus, wherein the message indicates a marking capability of the first apparatus, wherein the encapsulation method is performed in response to identifying the marking capability indicated in the message.
In one example, the present subject matter may be used as a feature of Low-Latency Low-Loss Scalable Throughput (L4S) technique. For example, the encapsulation method and the decapsulation method may be used to implement the feature of L4S technique. In this case, the first type packets are non-L4S packets while the second type packets are L4S packets.
According to one example, each of the first and second apparatuses may communicate data in accordance with an Open Systems Interconnection (OSI) model. The first apparatus may perform the decapsulation method at the Media Access Control (MAC) layer, where the received data frame is a MAC data frame and the set of packets are IP packets. The resulting packets are provided to a higher layer, the IP layer, for further processing. The second apparatus may perform the encapsulation method at the MAC layer.
According to one example, the specific field of the header of the packet is an Explicit Congestion Notification (ECN) field. The present subject matter may enable to set the value in the ECN field based on the marking rate that is provided in the header of the data frame. Using the ECN field may enable to seamlessly integrate the present subject matter with existing systems.
The first and second apparatuses may, for example be Wi-Fi devices.
In one example, the first and second apparatuses may communicate through a WiFi network. The set of packets may be MAC Service Data Unit (MSDU) packets. This may be advantageous for the following reasons. Wi-Fi MAC layer manages communications between IEEE 802.11 endpoints by coordinating medium access to a shared radio channel and utilizing defined protocols to perform the tasks of carrier sensing, collision avoidance, transmission, and receiving frames from higher layers (e.g., IP and above) packets. In particular, the MSDU from the higher layer is added with the necessary header and tail bytes to make the MAC Protocol Data Unit (PDU) for physical layer transmission. If needed, packet aggregation (e.g., A-MPDU or A-MSDU) may be applied to reduce overhead and increase overall throughput. To employ L4S technology, with the present subject matter next-generation Wi-Fi may provide a mechanism to notify congestion events happening in the Wi-Fi MAC layer within the corresponding Wi-Fi MAC frames and finally mark the ECN codepoints of the IP layer. Such a mechanism may provide real-time congestion notification to the applications and be compatible with the current L4S technology adopted by the IETF.
FIG.1 is a flowchart of a decapsulation method in accordance with an example of 10 the present subject matter. The method of FIG. 1 may, for example, be performed by a first apparatus such as the apparatus of FIG. 6 or the Wi-Fi AP of FIG. 4.
A data frame may be received in step 101 from a second apparatus. The data frame comprises a first portion and a second portion. The first portion comprises a congestion control field. The congestion control field encodes one or more congestion control values. The second portion comprises a set of packets, wherein the set of packets comprises one or more packets.
Each packet of the set of packets may be marked or dropped in step 103 based on 20 or depending on the one or more congestion control values. The marking of the packet indicates a congestion.
In one example implementation of the method of FIG. 1, the method may repeatedly be performed for receiving further data frames e.g., of one or more applications.
FIG. 2 is a flowchart of an encapsulation method in accordance with an example of the present subject matter. The method of FIG. 2 may, for example, be performed by a second apparatus such as the apparatus of FIG. 6 or the Wi-Fi STA of FIG. 4.
One or more congestion values may be determined in step 201 based on a congestion level at a second apparatus.
A data frame may be created in step 203. The data frame comprises a first portion and a second portion. The first portion comprises a congestion control field. The congestion control field encodes one or more congestion control values. The second portion comprises a set of packets, wherein the set of packets comprises one or more packets.
The data frame may be sent in step 205 to a first apparatus.
FIG. 3 is a flowchart of an encapsulation-decapsulation method in accordance with an example of the present subject matter. The method of FIG. 3 may, for example, be performed by a system of first and second apparatuses such as the Wi-Fi AP 10 and the Wi-Fi STA of FIG. 4.
One or more congestion values may be determined in step 301 by the second apparatus based on a congestion level at the second apparatus.
A data frame may be created in step 303 by the second apparatus. The data frame comprises a first portion and a second portion. The first portion comprises a congestion control field. The congestion control field encodes one or more congestion control values. The second portion comprises a set of packets, wherein the set of packets comprises one or more packets.
The data frame may be sent by the second apparatus in step 305 to a first apparatus.
The data frame may be received in step 307 by the first apparatus.
Each packet of the set of packets may be marked or dropped by the first apparatus in step 309 based on or depending on the one or more congestion control values. The marking of the packet indicates a congestion.
FIG. 4 is a signaling diagram illustrating an encapsulation-decapsulation method in accordance with an example of the present subject matter. The signaling diagram involves a Wi-Fi station (STA) 401 and a Wi-Fi access point (AP) 403. The Wi-Fi STA 401 may be provided with a client 402. The client 402 may or may not be part of the Wi-Fi STA 401. The Wi-Fi AP 403 may be provided with a server 404. The server 404 may or may not be part of the Wi-Fi AP 403. The server 404 may, for example, provide application data to the client 402. In this example, the Wi-Fi STA 401 may be an example implementation of the second apparatus, and the Wi-Fi AP 403 may be an example implementation of the first apparatus.
The Wi-Fi STA 401 may receive in step 410 a beacon from the Wi-Fi AP 403. In response, the Wi-Fi STA 401 may send in step 411 a probe request to the Wi-Fi AP 403. In response, the Wi-Fi AP 403 may send in step 412 a probe response to the Wi-Fi STA 401. In response to receiving the probe response, the Wi-Fi STA 401 may send in step 413 an authentication request to the Wi-Fi AP 403. In response, the Wi-Fi AP 403 may send in step 414 an authentication response to the Wi-Fi STA 401. In response to receiving the authentication response, the Wi-Fi STA 401 may send in step 415 an association request to the Wi-Fi AP 403. The ECN capability is unset in the association request. In response, the Wi-Fi AP 403 may send in step 416 an association response to the Wi-Fi STA 401. The ECN capability is set in the association response.
Steps 410 to 416 may be used for connection establishment between the Wi-Fi STA 401 and the Wi-Fi AP 403.
The components involved in the signaling diagram may support L4S at the Wi-Fi MAC layer. For that, multiple actions may be performed. The actions include a first action. The first action may enable to verify the ECN decapsulation capability to make sure that the marking information is not lost. For that, an information field may be added during the association phase. Specifically, an extra information field or flag (e.g., capability information) may be added to the association request/response messages. The ECN decapsulation capability of a data receiver is, for example, identified when the extra "ECN decapsulation" flag is set to indicate that it can follow the provided marking probability from the sender to mark or drop the decapsulated packets within the received MAC data frames and provide them to the higher layers. Each end (Wi-Fi STA 401 or Wi-Fi AP 403) will set the information field, independent of whether the sender of data frames will use this capability. This first action is indicated by the association request in step 415 and the association response in step 416. For example, an extra "ECN decapsulation capability" flag is set in the association response from Wi-Fi AP 403, whereas it is not set in the association request from Wi-Fi STA 401.
No action will be taken when there is no marking probability provided in the MAC 5 header (the sender might not support ECN marking at the MAC layer or might not want to use it in this frame), i.e., packets will pass through the dropping/marking operation. For example, a device may support ECN marking but decide not to use it. For instance, a scenario could involve a sender marking packets locally at a higher layer while IP headers are still accessible. This protocol may be designed to 10 enhance active queue management (AQM) in the lower layers, which no longer have access to the IP headers after encapsulation and possible encryption. As such, it might need to wait until decapsulation occurs at the receiver's end to set marks or selectively drop packets. Additionally, this approach may be necessary for backward compatibility, as not all legacy devices support this extension, or it might be disabled via a configuration option by an operator or a user. This is, for example, the case with the association request that indicates that the Wi-Fi STA 401 does not support (or does not want) ECN marking at the MAC layer from the Wi-Fi AP 403. A device may, for example, support ECN marking but does not want to perform the ECN marking. For instance, consider a receiver that supports ECN marking but chooses not to use it. A user or operator policy might dictate that the receiver does not disclose its ECN capability. In such cases, the receiver may opt not to announce the ECN capability using the capability flag, ensuring that the sender does not set marking probabilities based on the assumption that they will be implemented at the receiver's end. Consequently, the device may act as if it does not support decapsulation marking, making it indistinguishable to the sender whether it is unwilling or unable to perform ECN marking.
The actions further include a second action. According to the second action, since a MAC frame may contain multiple packets, it may be beneficial if the ECN bit of each L4S packet can be set independently. For that, a marking probability that can be applied to each L4S packet individually may be set. The goal of this second action may be to allow the MAC layer at the data frame sender to notify the MAC layer at the data frame receiver of the ratio of the to-be-marked packets, by means of an extra MAC header field, e.g., a quantized 8-bit value between 0 and 1. The extra MAC header field may be an example implementation of the congestion control field. After receiving and decapsulating the MAC frame, the data frame receiver will apply the corresponding marking ratio to mark the ECN codepoint in the packet (for L4S traffic).
Hence, based on the first and second actions, the additional information flag and the extra MAC header field may, for example, be used as follows. For example, upon successfully identifying the flag from a potential MAC frame receiver, a MAC frame sender will become aware that the peer has the capability of marking or dropping IP packets based on the marking ratio that can be added to the MAC frame in the additional MAC layer header field. The MAC header field may be referred to as the ECN extra field(s). Nevertheless, in the event that this flag is missing or unset, the MAC frame sender would realize that this capability is not supported yet and therefore refrain itself from including the marking probability in the additional MAC layer header. In the example of FIG. 4, the Wi-Fi STA 401 may prepare a data frame using IP packets (417) from the client 402. In this example, three packets (417) are provided, where two packets have ECT values or codes ECT-1 and a packet with code Not-ECT. The code ECT-1 indicates that the packet is ECN-capable. The code Not-ECT indicates that the packet is not ECN-capable. ECT stands for ECN-Capable Transport. Each code of these codes may be encoded in an ECN field of the respective packet. The data frame may contain the extra ECN field(s) because it has detected the information flag indicating that the Wi-Fi AP 403 has the decapsulation capability. The Wi-Fi STA 401 may send in step 418 the MAC data frame to the Wi-Fi AP 403. The Wi-Fi AP 403 may decapsulate the MAC data frame and perform the marking and/or dropping in step 419 of the IP packets before providing the resulting packets (420) to the server for further processing. In particular, the Wi-Fi AP 403 may apply the marking probability in the MAC header within the MAC data frame from Wi-Fi STA 401 to all decapsulated MSDUs before indicating them to higher layers. The resulting packets 420 comprises the packets 417, wherein one packet which had code ECT-1 has been marked by setting a Congestion Experienced (CE) bit in the ECN field of the header of the packet.
In contrast, Wi-Fi STA 401 just passes the decapsulated MSDUs to higher layers. This is indicated by step 421 where the Wi-Fi AP 403 sends in step 421 a MAC data frame to the Wi-Fi STA 401, where the MAC data frame does not comprise the extra MAC header field. After (normal) decapsulation, the Wi-Fi STA 401 may provide the resulting packets (step 422) to the higher layer at the client 402.
The actions may further comprise a third action, the goal of which may be that the applications can detect the congestion at the Wi-Fi MAC layer and adapt the sending rate (e.g., reduce the congestion window in TCP) by applying packet marking and dropping based on the provided probability value(s). In particular, the third action may provide an example implementation of the marking and/or the dropping of the packets in step 419. In particular, the dropping probability and the marking probability may need to be derived from marking ratio (pr) in the MAC header. For example, an original marking ratio may be determined, wherein the marking ratio p,. that is in the MAC header may be equal to this original marking ratio. As an alternative, the marking ratio can be expressed as half the original marking ratio when represented in the MAC header. This may then need to be doubled to retrieve the L45 marking ratio and squared to retrieve the non-L4S (classic) drop probability. For example, when the halved marking ratio is more than 50%, it means that more than 100% of L4S packet marking may be required. So, for L4S traffic to adapt its rate, it may need a stronger signal than marking the ECN codepoint. As a result, L45 packets may also be dropped based on the squared probability. Specifically, to achieve fair throughput between L4S and non-L4S traffic, different probabilities may need to be applied to L4S and non-L4S packets.
One first implementation option of the third action may be to provide only the L4S marking ratio (pr) in the MAC header, and this marking ratio will be converted into a dropping ratio (for non-L45 traffic). In particular, both marking probability and dropping probability may be derived by the data frame receiver from the marking ratio. To get the dropping probability, both "previous reporting time" t,. and "previous average marking ratio" pa may need to be maintained for each association. This may enable to use an EWMA-smoothed signal on the L4S marking ratio. Every time a new marking ratio pr is provided by the data frame sender at the current reporting time tnow, both dropping ratio and report time are updated by following equation Eq1: Pa = pa + 9 * f * 03, - with g = 1/16 and f = min (1, (tnow 2 5m-tr)), t"ow This s algorithm targets a smoothing factor that is 1/16th of new information, compared to 15/16th of previous information, every 25ms or more. The dropping rate may be p a2 if the original marking ratio is encoded in the MAC frame header. In another example, the dropping rate may be half this value pa and then squared, (pa/2)2 in case the original marking ration is scaled before being encoded in the MAC frame header. For example, an EWMA-smoothed 20% L4S marking ratio will become (20%12) 2 = 1% drop ratio for classic packets, i.e., 1 out of 100 classic packets is dropped. As for the marking probability, it may for example be equal to 2 x p in case the original marking ratio is halved; otherwise, it may be equal to pr.
A second implementation option of the third action may be to explicitly provide (1) marking radio for L4S packets, (2) drop ratio for non-L4S packets, and (3) drop ratio for L4S packet (or drop can be applied to L4S if the classic drop is higher than a threshold) when needed. If both classic drop ratio and L4S mark ratio are provided explicitly by the data frame sender, the decapsulation functionality may immediately use the appropriate marking or drop ratio. This ratio can be used with a deterministic counter (to drop or mark X% of packets) or as a probability to be compared with a random value. This option can simplify the implementation at the data receiver side and guarantee that the data sender has the full control of this extra operation, at the cost of several extra fields to be included in the MAC header.
The third action may further be described with reference to FIG. 5. FIG. 5 is a diagram illustrating a MAC marking mechanism according to an example of the present subject matter. FIG. 5 provides an example of a MAC marking algorithm after decapsulation, which operates on top of the normal MAC decapsulation operations and will be performed as the last step before queueing the MAC SDUs for upper layer consumption.
FIG. 5 shows a MAC data frame 501 which is received e.g., at the Wi-Fi AP 403.
The MAC data frame 501 comprises a first portion 502a and a second portion 502b. The MAC data frame 501 may, optionally, further comprise a frame check sequence (FCS). The first portion 502a may be a MAC header which comprises the marking rate pr. The second portion 502b may comprise packets such as the packets 417. The packets are referred to as subframes in FIG. 5. As indicated in FIG. 5, the packets may comprise L4S packets (ECT1) and non-L4S packets (Not-ECT). The Wi-Fi AP 403 may then perform MAC decapsulation (503) of the received MAC data frame 501. After this decapsulation, a classifier (504) of the Wi-Fi AP 403 may store each packet that results from decapsulation of the MAC data frame to corresponding queue (MAC C-queue) or a L4S queue (MAC L-queue). The queue MAC C-queue may provide an example implementation of the first traffic queue. The queue MAC L-queue may provide an example implementation of the second traffic queue. The dropping rate pc as well as the marking rate pi, may be derived from the marking ratio indicated in the first portion 502a.
The dropping rate may, for example, be obtained using the equation Eq1, and then squared, and thus p,, = pa. Alternatively, the dropping rate may be equal to pa, p, = pg. The marking ratio pt may be equal to 2 x pr or simply pr. The packets in the queue MAC C-queue may be dropped in accordance with the dropping rate pc. The packets in the queue MAC L-queue may be marked in accordance with the marking rate pt. In addition, packets in the queue MAC L-queue may be dropped in accordance with the dropping rate p, in case pa is higher than a threshold.
In this example of FIG. 5, the provided marking ratio within the MAC header is already halved to have the added feature to drop L4S packets when pa > 0.5. In detail, all MSDUs within the MAC data frame may be first classified according to the IP ECN codepoint: Not-ECT and ECT-0 ones will be put into the MAC C-queue, while ECT-1 and CE ones will be put into the MAC L-queue. Afterwards, a random number is generated between 0 and 1 for each MSDU in the L-queue to decide whether to mark it (if the random number -s 2*pr) or not (otherwise). In contrast, two random numbers are generated in the same range for each MSDU in the C-queue to decide whether it shall be dropped (if both two random numbers pa) or not (otherwise). As an alternative for the 2 random numbers, the square can be calculated and compared with one random number. Also, L4S packets can be dropped using the same approach when pa > th with threshold th (for example th = 0.5, as explained above). Finally, all MSDUs may be placed into the MSDU queue for further processing by higher layers.
In FIG. 6, a block circuit diagram illustrating a configuration of an apparatus 1070 is shown, which is configured to implement at least part of the present subject matter. The apparatus may be a user equipment or an access point for wireless communication. It is to be noted that the apparatus 1070 shown in FIG. 6 may comprise several further elements or functions besides those described herein below, which are omitted herein for the sake of simplicity as they are not essential for the understanding. Furthermore, the apparatus may be also another device having a similar function, such as a chipset, a chip, a module etc., which can also be part of an apparatus or attached as a separate element to the apparatus 1070, or the like. The apparatus 1070 may comprise a processing function or processor 1071, such as a central processing unit (CPU) or the like, which executes instructions given by programs or the like related to a flow control mechanism. The processor 1071 may comprise one or more processing portions dedicated to specific processing as described below, or the processing may be run in a single processor.
Portions for executing such specific processing may be also provided as discrete elements or within one or more further processors or processing portions, such as in one physical processor like a CPU or in several physical entities, for example. Reference sign 1072 denotes transceiver or input/output (I/O) units (interfaces) connected to the processor 1071. The I/O units 1072 may be used for communicating with one or more other network elements, entities, terminals or the like. The I/O units 1072 may be a combined unit comprising communication equipment towards several network elements or may comprise a distributed structure with a plurality of different interfaces for different network elements.
Reference sign 1073 denotes a memory usable, for example, for storing data and programs to be executed by the processor 1071 and/or as a working storage of the processor 1071.
The processor 1071 is configured to execute processing related to the above described subject matter. In particular, the apparatus 1070 may be configured to perform the method as described in connection with FIG 1, 2, 3, 4 or 5.
For example, the processor 1071 is configured to perform the decapsulation method.
Alternatively, the processor 1071 is configured to perform the encapsulation method.
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as an apparatus, method, computer program or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a "circuit," "module" or "system." Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer executable code embodied thereon. A computer program comprises the computer executable code or "program instructions".
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable storage medium. A 'computer-readable storage medium' as used herein encompasses any tangible storage medium which may store instructions which are executable by a processor of a computing device. The computer-readable storage medium may be referred to as a computer-readable non-transitory storage medium. The computer-readable storage medium may also be referred to as a tangible computer readable medium. In some embodiments, a computer-readable storage medium may also be able to store data which is able to be accessed by the processor of the computing device.
Computer memory' or 'memory' is an example of a computer-readable storage medium. Computer memory is any memory which is directly accessible to a processor. 'Computer storage' or 'storage' is a further example of a computer-readable storage medium. Computer storage is any non-volatile computer-readable storage medium. In some embodiments computer storage may also be computer memory or vice versa.
A 'processor' as used herein encompasses an electronic component which is able to execute a program or machine executable instruction or computer executable code. References to the computing device comprising "a processor" should be interpreted as possibly containing more than one processor or processing core. The processor may for instance be a multi-core processor. A processor may also refer to a collection of processors within a single computer system or distributed amongst multiple computer systems. The term computing device should also be interpreted to possibly refer to a collection or network of computing devices each comprising a processor or processors. The computer executable code may be executed by multiple processors that may be within the same computing device or which may even be distributed across multiple computing devices.
Computer executable code may comprise machine executable instructions or a program which causes a processor to perform an aspect of the present invention. Computer executable code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages and compiled into machine executable instructions. In some instances the computer executable code may be in the form of a high level language or in a pre-compiled form and be used in conjunction with an interpreter which generates the machine executable instructions on the fly.
Generally, the program instructions can be executed on one processor or on several processors. In the case of multiple processors, they can be distributed over several different entities. Each processor could execute a portion of the instructions intended for that entity. Thus, when referring to a system or process involving multiple entities, the computer program or program instructions are understood to be adapted to be executed by a processor associated or related to the respective entity.

Claims (25)

  1. CLAIMS1. An apparatus, referred to as first apparatus, the first apparatus comprising at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the first apparatus at least to perform: receiving from a second apparatus a data frame comprising a first portion and a second portion, the first portion comprising a congestion control field encoding one or more congestion control values, the second portion comprising a set of packets, the set of packets comprising one or more packets; marking or dropping each packet of the set of packets based on the one or more congestion control values, the marking of the packet indicating a congestion.
  2. 2. The first apparatus of claim 1, the one or more congestion control values being one congestion control value, the one congestion control value being a marking rate for marking packets at the first apparatus.
  3. 3. The first apparatus of claim 1, the one or more congestion control values comprising a marking rate for marking packets at the first apparatus and a dropping rate for dropping packets at the first apparatus.
  4. 4. The first apparatus of any of the preceding claims, wherein the set of packets comprise at least one of first type packets or second type packets, wherein the first type and second type packets differ by transmission priority, wherein the instructions, when executed by the at least one processor, further cause the first apparatus to perform: deriving a dropping rate from the one or more congestion control values; wherein the instructions, when executed by the at least one processor, further cause the first apparatus to perform the marking or the dropping by at least: dropping the packet of a first type based on the dropping rate, or marking the packet of a second type packet based on a marking rate comprised in the one or more congestion control values.
  5. 5. The first apparatus of claim 4, wherein the dropping of the first type packet comprises: making a first random decision to drop the first type packet based on the dropping rate, and dropping the first type packet based on the first random decision, wherein the marking of the second type packet comprises: making a second random decision to mark the second type packet based on the marking rate in the one or more congestion control values, and marking the second type packet based on the second random decision.
  6. 6. The first apparatus of claim 5, wherein the instructions, when executed by the at least one processor, further cause the first apparatus to perform: determining that the dropping rate is higher than a threshold; wherein the instructions, when executed by the at least one processor, further cause the first apparatus to perform the marking of the second type packet by at least: making a third random decision to drop the second type packet based on the dropping rate and dropping the second type packet based on the third random decision, wherein the marking of the second type packet based on the second random decision is performed in response to determining that the second type packet is not dropped.
  7. 7. The first apparatus of any of the preceding claims 4 to 6, wherein the instructions, when executed by the at least one processor, further cause the first apparatus to perform: providing a first traffic queue for enqueuing the first type packets in the first traffic queue in accordance with their transmission order; providing a second traffic queue for enqueuing the second type packets in the second traffic queue in accordance with their transmission order; dequeuing the first type packet from the first traffic queue for performing the dropping of the first type packet; dequeuing the second type packet from the second traffic queue for performing the marking of the second type packet.
  8. 8. The first apparatus of any of the preceding claims 4 to 7, the one or more congestion control values being the marking rate, the deriving of the dropping rate comprises: computing a weighted moving average marking rate using the marking rate of the received data frame and marking rates of previously received data frames, wherein the dropping rate is a function of the weighted moving average marking rate.
  9. 9. The first apparatus of any of the preceding claims, wherein the instructions, when executed by the at least one processor, further cause the first apparatus to perform: during a connection establishment between the first apparatus and the second apparatus, sending a message to the second apparatus for causing the second apparatus to include the congestion control field in data frames to be transmitted to the first apparatus.
  10. 10. The first apparatus of claim 9, the message being an association request or an association response.
  11. 11. The first apparatus of any of the preceding claims, wherein the instructions, when executed by the at least one processor, further cause the first apparatus to perform the marking of the packet by setting a specific field in a header of the packet.
  12. 12. The first apparatus of any of the preceding claims, wherein the data frame is a data link layer frame, wherein the packets are network layer packets.
  13. 13. The first apparatus of any of the preceding claims, wherein the set of packets comprise at least one of first type packets or second type packets, wherein the instructions, when executed by the at least one processor, further cause the first apparatus to perform: deriving from the one or more congestion control values a dropping rate for dropping the first type packets, wherein the instructions, when executed by the at least one processor, further cause the first apparatus to perform the marking or the dropping by at least: dropping the packet of a first type based on the dropping rate, or in response to determining that a dropping threshold is provided and that the dropping rate exceeds the dropping threshold, dropping the packet of a second type based on the dropping rate and in response to determining that the dropping rate does not exceed the dropping threshold, marking the packet of the second type based on a marking rate comprised in the one or more congestion control values.
  14. 14. The first apparatus of claim 13, wherein the dropping threshold is provided in an extension dropping flag that is received by the first apparatus or the dropping threshold is configured by the second apparatus during connection establishment between the first apparatus and the second apparatus.
  15. 15. The first apparatus of any of the preceding claims, wherein the set of packets comprise at least one of first type packets or second type packets, wherein the one or more congestion control values comprise a marking rate for marking the second type packets and a dropping rate for dropping the first type packets, wherein the instructions, when executed by the at least one processor, further cause the first apparatus to perform the marking or the dropping by at least: dropping the packet of a first type based on the dropping rate, or in response to determining that the marking rate is higher than one, marking the packet of a second type using the marking rate and dropping a part of the second type packets using the dropping rate.
  16. 16.A method, referred to as decapsulation method, the decapsulation method comprising: receiving a data frame comprising a first portion and a second portion, the first portion comprising a congestion control field encoding one or more congestion control values, the second portion comprising a set of packets, the set of packets comprising one or more packets; marking or dropping each packet of the set of packets based on the one or more congestion control values, the marking of the packet indicating a congestion.
  17. 17.A computer program comprising instructions for causing a first apparatus for performing at least the following: receiving a data frame comprising a first portion and a second portion, the first portion comprising a congestion control field encoding one or more congestion control values, the second portion comprising a set of packets, the set of packets comprising one or more packets; marking or dropping each packet of the set of packets based on the one or more congestion control values, the marking of the packet indicating a congestion.
  18. 18.An apparatus, referred to as second apparatus, the second apparatus comprising at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the second apparatus at least to perform: determining one or more congestion values based on a congestion level at the second apparatus; creating a data frame comprising a first portion and a second portion, the first portion comprising a congestion control field encoding the one or more congestion control values, the second portion comprising a set of packets, the set of packets comprising one or more packets; sending the data frame to a first apparatus.
  19. 19. The second apparatus of claim 18, wherein the instructions, when executed by the at least one processor, further cause the second apparatus to perform: classifying the set of packets into first type packets and second type packets based on a transmission priority of the set of packets, wherein the one or more congestion values comprises a marking rate for the second type of packets.
  20. 20. The second apparatus of claim 19, wherein the one or more congestion values comprises a dropping rate for the first type packets.
  21. 21 The second apparatus of any of the preceding claims 18 to 20, wherein the instructions, when executed by the at least one processor, further cause the second apparatus to perform: during a connection establishment between the first apparatus and the second apparatus, receiving a message from the first apparatus, the message indicating a marking capability of the first apparatus, wherein the determining of the one or more congestion values and the creation of the data frame is performed in response to identifying the marking capability indicated in the message.
  22. 22. The second apparatus of claim 21, the message being an association request or an association response.
  23. 23.A method, referred to as encapsulation method, the encapsulation method comprising: determining one or more congestion values based on a congestion level at a second apparatus; creating a data frame comprising a first portion and a second portion, the first portion comprising a congestion control field encoding the one or more congestion control values, the second portion comprising a set of packets, the set of packets comprising one or more packets; sending the data frame to a first apparatus.
  24. 24.A computer program comprising instructions for causing a second apparatus for performing at least the following: determining one or more congestion values based on a congestion level at a second apparatus; creating a data frame comprising a first portion and a second portion, the first portion comprising a congestion control field encoding the one or more congestion control values, the second portion comprising a set of packets, the set of packets comprising one or more packets; sending the data frame to a first apparatus.
  25. 25.A system comprising the first apparatus of any of the preceding claims 1 to 15 and the second apparatus of any of the preceding claims 18 to 22.
GB2406681.3A 2024-05-13 2024-05-13 Marking and dropping of packets at the data frame level Pending GB2641024A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB2406681.3A GB2641024A (en) 2024-05-13 2024-05-13 Marking and dropping of packets at the data frame level

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB2406681.3A GB2641024A (en) 2024-05-13 2024-05-13 Marking and dropping of packets at the data frame level

Publications (2)

Publication Number Publication Date
GB202406681D0 GB202406681D0 (en) 2024-06-26
GB2641024A true GB2641024A (en) 2025-11-19

Family

ID=91334955

Family Applications (1)

Application Number Title Priority Date Filing Date
GB2406681.3A Pending GB2641024A (en) 2024-05-13 2024-05-13 Marking and dropping of packets at the data frame level

Country Status (1)

Country Link
GB (1) GB2641024A (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200296049A1 (en) * 2018-07-10 2020-09-17 Cisco Technology, Inc. Automatic rate limiting based on explicit network congestion notification in smart network interface card
US20230362099A1 (en) * 2022-05-09 2023-11-09 Nokia Solutions And Networks Oy Managing data traffic congestion in network nodes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200296049A1 (en) * 2018-07-10 2020-09-17 Cisco Technology, Inc. Automatic rate limiting based on explicit network congestion notification in smart network interface card
US20230362099A1 (en) * 2022-05-09 2023-11-09 Nokia Solutions And Networks Oy Managing data traffic congestion in network nodes

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DUALQ COUPLED AQMS FOR LOW LATENCY, LOW LOSS AND SCALABLE THROUGHPUT (L4S), 2022, DE SCHEPPR NOKIA BELL LABS B BRISCOE K ET AL, "DualQ Coupled AQMs for Low Latency Low Loss and Scalable Throughput (L4S) draft-ietf-tsvwg-aqm-dualq-coupled-24; draft-ietf-tsvwg-aqm-dualq-coupled-24.txt", pages 1-65 *
IEEE DRAFT, vol 802.11, 2024, BINITA GUPTA (CISCO SYSTEMS), "Thoughts on L4S in Wi-Fi", pages 1-14 *

Also Published As

Publication number Publication date
GB202406681D0 (en) 2024-06-26

Similar Documents

Publication Publication Date Title
CN110720200B (en) Apparatus and method for controlling congestion in wireless communication systems
CN101346971B (en) Method and device for solving data grouping service congestion
US8761011B2 (en) Efficient flow control in a radio network controller (RNC)
EP4156770B1 (en) Communication method, apparatus and system
EP3915297B1 (en) Methods and apparatus for packet dropping in a fronthaul network
US10362632B2 (en) Architecture for radio access network and evolved packet core
CN110944358B (en) Data transmission method and device
TW202312761A (en) Selective compression of packet payload data in a 5g network
EP3682665B1 (en) Packet latency reduction in mobile radio access networks
US20240146794A1 (en) Packet framing for application data unit transmission
US20240056885A1 (en) Multi-access traffic management
US20240334244A1 (en) RAN and UE Driven L4S Marking and Processing for Congestion Management in an O-RAN Based Network Architecture
US20240334243A1 (en) RAN Driven L4S Marking and Processing for Congestion Management in an O-RAN Based Network Architecture
GB2641024A (en) Marking and dropping of packets at the data frame level
WO2023130453A1 (en) Methods and apparatus of packet classification for xr traffic
WO2024032211A1 (en) Congestion control method and apparatus
CN114788243B (en) Method and device for dispatching messages
EP4440074A1 (en) Ran and ue driven l4s marking and processing for congestion management in an o-ran based network architecture
CN114727308B (en) Information processing method, device, equipment and readable storage medium
EP4440189A1 (en) Ran driven l4s marking and processing for congestion management in an o-ran based network architecture
US20240049043A1 (en) Prioritizing data packets in wireless communication network
US20240121658A1 (en) Data transmission method and apparatus, device, and storage medium
WO2025202262A1 (en) Data flow management
CN119946702A (en) Communication method and device
Lee Comparison Data Traffic Scheduling Techniques for Classifying QoS over 5G Mobile Networks