Roaming method and station
Patent Information
- Application Number
- TW114122097
- Authority / Receiving Office
- TW · TW
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2025-06-03
- Filing Date
- 2025-06-12
- Publication Date
- 2026-10-11
- Estimated Expiration
- 2045-06-11
AI Technical Summary
Wireless communication technologies face issues of packet duplication and out-of-order transmissions during roaming between access points, leading to inefficient resource utilization and increased latency.
A method and apparatus that manage uplink transmissions by identifying the last acknowledged packet sequence number (SN) and discarding failed packets before roaming to a new access point, ensuring seamless transmission.
This approach reduces packet duplication and out-of-order delivery, improving radio resource utilization and reducing transmission latency.
Smart Images

Figure TWG2TB001915505_001 
Figure TWG2TB001915505_002 
Figure TWG2TB001915505_003
Abstract
Description
[Technical Field]
[0001] This invention generally relates to a wireless communication technology, and more particularly, to a roaming method and a site apparatus for managing uplink transmissions. [Previous Technology]
[0002] In wireless communication technology, when a station roams between a first access point (AP) and a second access point, it often encounters uplink traffic problems, such as packet duplication or out-of-order transmission to the distribution system (DS). Ideally, data transmission is seamless, but the degradation of link quality during roaming often leads to some problems.
[0003] If the first access point fails to receive some packets, out-of-order transmission will occur on the network side. When the site device roams and retransmits these failed packets along with new packets to the second access point, the packets received by the DS will be out of order. If the site device fails to receive an acknowledgment from the first access point and retransmits all unacknowledged packets to the second access point, packet duplication will occur. This will cause the distributed system to receive duplicate packets.
[0004] Traditional methods for addressing these problems have conceptual flaws. Some methods prevent data already sent to the first access point from being retransmitted to the second access point. However, these methods may inadvertently lead to packet loss if the first access point never successfully receives these initial transmissions. Other methods rely on coordination between the two access points to filter packets. While these methods can reduce packet duplication and out-of-order delivery at the network layer, they still result in site equipment inefficiently retransmitting data that the second access point intends to discard. This redundant transmission consumes valuable radio resources and may delay subsequent new data.
[0005] Therefore, a more efficient mechanism is needed to manage uplink traffic during seamless roaming to eliminate packet duplication or out-of-order issues and improve resource utilization and reduce latency. [Summary of the Invention]
[0006] The following summary is illustrative only and is not intended to be limiting in any way. That is, the following overview is provided to introduce the concepts, key points, benefits, and advantages of the novel and non-obvious techniques described herein. Selected embodiments are further described in the detailed description below. Therefore, the following summary is neither intended to identify essential features of the claimed subject matter nor to define the scope of the claimed subject matter.
[0007] In a first aspect, the present invention provides a roaming method for managing uplink transmissions performed by a site device. The roaming method includes: sending a first set of packets from a transmission queue of the site device to a first access point, wherein the packets in the transmission queue are identified by a sequence number (SN); updating the transmission queue, wherein, for a roaming scenario, all failed packets in the transmission queue whose SN is prior to the last acknowledgment SN are discarded; and, after roaming, sending a second set of packets from the updated transmission queue to a second access point, wherein the second set of packets begins with a packet whose SN is subsequent to the last acknowledgment SN; wherein the last acknowledgment SN is defined as a specific SN corresponding to the last packet successfully received by the first access point.
[0008] In some embodiments, the first set of packets includes a plurality of MAC Protocol Data Units (MPDUs) that are aggregated in at least one Entity Layer Convergence Procedure (PLCP) Protocol Data Unit (PPDU) sent to the first access point.
[0009] In some embodiments, the method further includes: after at least one packet in the first group of packets is successfully received by the first access point, the site device releases the at least one packet in the first group of packets from the transmission queue.
[0010] In some embodiments, the method further includes: the site device receiving an acknowledgment (ack) signal from the first access point; wherein the acknowledgment signal is used to indicate that the first access point has successfully received at least one packet in the first group of packets.
[0011] In some embodiments, the last confirmation SN is determined by the site device based on the confirmation signal.
[0012] In some embodiments, the method further includes: the site device receiving an indication of the last acknowledgment SN from the first access point, wherein the last acknowledgment SN is determined by the first access point based on the successfully received at least one packet.
[0013] In some embodiments, the method further includes: the site device receiving an indication of the last confirmation SN from the second access point, wherein the last confirmation SN is determined based on the window start indicator WinStartB.
[0014] In some embodiments, the value of the window start indicator WinStartB is equal to the value of the last confirmation SN plus 1.
[0015] In some embodiments, the method further includes: before sending the second set of packets to the second access point, the site device sets a roaming flag to perform a drop operation of the failed packets for roaming scenarios during the update of the transmission queue; and after the update of the transmission queue, the site device clears the roaming flag.
[0016] In some embodiments, the method further includes: obtaining a list of MAC Protocol Data Units (MPDUs) to determine the second set of packets from the updated transmission queue.
[0017] In a second aspect, the present invention provides a site apparatus for managing uplink transmission, wherein the site apparatus includes: a roaming control module; a transmitting module coupled to the roaming control module; a receiving module; and a queue management module coupled to the transmitting module and the receiving module; wherein the transmitting module is configured to send a first set of packets from a transmission queue managed by the queue management module to a first access point, the packets in the transmission queue being identified by a sequence number (SN); the queue management module is configured to update the transmission queue, wherein failed packets in the transmission queue whose SN is prior to the last acknowledgment SN are discarded; the transmitting module is further configured to send a second set of packets from the updated transmission queue to a second access point after roaming, wherein the second set of packets begins with a packet whose SN is subsequent to the last acknowledgment SN, and the last acknowledgment SN is defined as a specific SN corresponding to the last packet successfully received by the first access point.
[0018] In some embodiments, the first set of packets includes a plurality of MAC Protocol Data Units (MPDUs) that are aggregated in at least one Entity Layer Convergence Process (PLCP) Protocol Data Unit (PPDU) sent to the first access point.
[0019] In some embodiments, the queue management module is further configured to release the at least one packet in the first group of packets from the transmission queue after the first access point has successfully received the packet in the first group of packets.
[0020] In some embodiments, the receiving module is configured to receive an acknowledgment (ack) signal from the first access point, wherein the acknowledgment signal is used to indicate that the first access point has successfully received at least one packet in the first group of packets.
[0021] In some embodiments, the last confirmation SN is determined based on the confirmation signal.
[0022] In some embodiments, the receiving module is configured to receive an indication of the last acknowledgment SN from the first access point, wherein the last acknowledgment SN is determined by the first access point based on the successfully received at least one packet.
[0023] In some embodiments, the receiving module is further configured to receive an indication of the last acknowledgment SN from the second access point, wherein the last acknowledgment SN is determined based on the window start indicator WinStartB.
[0024] In some embodiments, the value of the window start indicator WinStartB is equal to the value of the last confirmation SN plus 1.
[0025] In some embodiments, before sending the second set of packets to the second access point, the site device sets a roaming flag to perform the dropping operation of the failed packets for roaming scenarios during the update of the transmission queue; and after the update of the transmission queue, the site device clears the roaming flag.
[0026] In some embodiments, the queue management module is further configured to provide a list of MAC Protocol Data Units (MPDUs) to the transmit module to determine the second set of packets from the updated transmission queue.
[0027] This invention introduces a roaming method and site apparatus that can more effectively manage uplink transmissions when roaming between access points. By sending a first set of packets to a first access point and then identifying the last successfully acknowledged serial number (SN), the site apparatus actively updates its transmission queue, discarding failed packets that remain in the transmission queue and whose SN is preceding the SN of ...
[0028] The present invention is provided by way of example and is not intended to be limiting. Other embodiments and advantages are described in the following detailed description. The invention is defined by the claims.
Implementation Method
[0030] The following description illustrates preferred embodiments of the present invention. These embodiments are merely illustrative of the technical features of the invention and are not intended to limit the scope of the invention. Certain terms are used throughout this specification and the claims to refer to specific components. Those skilled in the art will understand that manufacturers may use different terms to refer to the same components. This specification and the claims do not distinguish components by differences in name, but by differences in function. The scope of the invention should be determined with reference to the appended claims. The terms "comprising" and "including" as used in the following description and claims are open-ended terms and should be interpreted as "comprising, but not limited to...". Furthermore, the term "coupled" refers to an indirect or direct electrical connection. Therefore, if a device is described as coupled to another device, it means that the device can be directly electrically connected to the other device, or indirectly electrically connected to the other device through other devices or connection means. The terms "basically" or "roughly" used in this text refer to a technical problem that can be solved and the desired technical effect achieved by someone with ordinary knowledge in the relevant technical field, within an acceptable range. For example, "roughly equal to" refers to a method that, without affecting the correctness of the result, is acceptable to someone with ordinary knowledge in the relevant technical field, with a certain margin of error compared to "exactly equal to".
[0031] Figure 1 is a block diagram of a site apparatus 100 for managing uplink transmission according to an embodiment of the present invention. The site apparatus 100 aims to address common problems of packet duplication and out-of-order transmission in uplink transmission when roaming between two access points (APs), which lead to wasted bandwidth and increased transmission delay. In these embodiments, the advantage of the "acknowledgment dependent" mechanism of the site apparatus 100 lies in its proactive optimization of the transmission queue, significantly reducing redundant packets sent to the target AP (the second AP after roaming). The key idea is to track the sequence number (SN) of the "last acknowledged packet" successfully received by the source AP (the first AP before roaming). For ease of explanation, the specific SN corresponding to the "last acknowledged packet" is referred to as the last ack SN, that is, the last ack SN is defined as the specific SN corresponding to the last packet successfully received by the first access point. When site device 100 roams to the target AP, its queue management module examines the transmission queue before performing transmissions to the target AP. For example, it checks for any failed packets that need to be discarded, specifically for roaming scenarios. In particular, during the transmission queue update process, in addition to releasing successfully transmitted packets, the queue management module further discards failed packets in the transmission queue that are earlier than the "last acknowledgment packet." That is, failed packets that are retained (buffered) in the transmission queue and whose serial numbers (SNs) are before the last acknowledgment SN are discarded. After updating the transmission queue, site device 100 begins transmitting packets immediately following the "last acknowledgment packet" to the target AP. The roaming mechanism controlled by site device 100 involves processing acknowledgment information, recording the last acknowledgment SN, and performing additional packet discarding operations for roaming scenarios. By doing so, site device 100 can ensure a smoother transmission flow from the source AP to the target AP, effectively mitigating packet duplication and out-of-order issues.
[0032] In Figure 1, the site device 100 includes a roaming control module 10, a transmitter module 11 coupled to the roaming control module 10, a receiver module 12 coupled to the transmitter module 11 and the receiver module 12, and a queue management module 13 coupled to the transmitter module 11 and the receiver module 12. In the site device 100, "roaming" refers to the process by which the site device 100 switches its wireless connection from the first AP 20 to the second AP 30 (as shown in Figures 2 to 4), for example, maintaining a good network connection while the site device moves. For example, when the site device 100 moves out of the network coverage area of the first AP 20 and into the network coverage area of the second AP 30, the site device 100 initiates a roaming process to switch its connection from the first AP 20 to the second AP 30.
[0033] In Figure 1, the roaming control module 10 is configured to manage the roaming process of the site device 100. When the site device 100 needs to switch its wireless connection from the current (source) AP to a new (target) AP, the roaming control module 10 initiates and controls this roaming process. As shown in Figure 1, the roaming control module 10 can send a "Roam to target command" to the transmitting module 11 to instruct the transmitting module 11 that subsequent transmissions should be directed to the target AP. The transmitting module 11 is coupled to the roaming control module 10 and the queue management module 13. The transmitting module 11 is configured to perform packet transmission / sending. For packet transmission, the transmitting module 11 sends a request for an MPDU list to the queue management module 13. In response, the transmitting module 11 receives an "MPDU list" from the queue management module 13, which includes packets to be transmitted. Furthermore, upon receiving a "roaming instruction to the target AP," the transmitting module 11 can also send a "drop for roaming message" to the queue management module 13 to notify the queue management module 13 to discard certain failed packets, thereby preventing packet duplication or out-of-order transmission problems on the network side. The receiving module 12 is configured to receive signals from the AP. The receiving module 12 can send "acknowledgment information" ("Ack Information") to the queue management module 13. For example, "acknowledgment information" received in the form of acknowledgment (ack) or block acknowledgment (BA) signals indicates which packets the source AP successfully received. The queue management module 13 is configured to manage the transmission queue of the site device 100, where packets (e.g., MPDUs) are buffered in the transmission queue before transmission. Based on the "acknowledgment information," the queue management module 13 updates the transmission queue, for example, releasing successfully received / acknowledged packets. Furthermore, based on the "discard roaming" message sent from the transmitting module 11, the queue management module 13 further discards failed packets in the transmission queue whose SN is before the last acknowledgment SN during the transmission queue update process, in order to optimize the transmission to the target AP after roaming. Understandably, a failed packet refers to a packet that has been transmitted but not successfully received by the source AP. Additionally, when the transmitting module 11 sends a request to obtain an MPDU list, the queue management module 13 provides the transmitting module 11 with the relevant MPDU list for the transmitting module 11 to select packets for transmission.
[0034] In short, for site device 100, transmission module 11 is configured to send a first set of packets to a first AP from a transmission queue managed by queue management module 13. Packets in the transmission queue are identified by sequence number (SN). Queue management module 13 is configured to update the transmission queue, wherein, for roaming scenarios (e.g., upon receiving a "discard message for roaming"), failed packets retained / buried in the transmission queue whose SN is before the last acknowledgment SN are discarded (but failed packets in the transmission queue whose SN is after the last acknowledgment SN are not discarded; for example, in Figure 2, the packet with sequence number 4 will not be discarded but will continue to be transmitted in the next transmission). Transmission module 11 is configured to send a second set of packets to the second AP from the updated transmission queue after roaming. The second set of packets begins with a packet whose SN is after the last acknowledgment SN. The last acknowledgment SN is defined as the specific SN corresponding to the last packet successfully received by the first AP. For example, the last acknowledgment packet can be any packet in the first set of packets, or any other packet transmitted earlier. For convenience, the following embodiments are described using a packet in the first set of packets as an example of the last acknowledgment packet indicated as successfully received by the first AP. In this embodiment of the invention, the first AP is considered the source AP, and the second AP is considered the target AP.
[0035] The following will provide detailed examples of various roaming methods.
[0036] Figure 2 is a schematic diagram of a first roaming method performed by the site device 100. In this scenario, the site device 100, the first access point 20, the second access point 30, and the distributed system (DS) 40 are introduced. The first roaming method includes steps 1 to 6, as shown below. In step 1, the site device 100 sends a first set of packets from its transmission queue to the first access point 20. In one embodiment, the first set of packets may include multiple MAC Protocol Data Units (MPDUs), each MPDU identified by a corresponding sequence number, wherein MPDUs may be aggregated into at least one Physical Layer Convergence Procedure (PLCP) Protocol Data Unit (PPDU). Each PPDU containing MPDUs is sent to the first access point 20 as a data unit. However, for the sake of generality, the embodiments use the term "packet" rather than the more specific "MPDUs" to describe the invention, because the invention is not intended to be limited to Wi-Fi scenarios. Therefore, the use of the term "packet" provides a broader scope, encompassing various wireless communication technologies that transmit packets, rather than limiting this disclosure to a specific frame structure or protocol of Wi-Fi. For example, in one embodiment, the first set of packets is identified by sequence numbers (SN) {1, 2, 3, 4}. The first access point 20 may successfully receive a portion of the first set of packets, such as packet {1, 3}. The first access point 20 then sends an acknowledgment signal {1, 3} to the site device 100 to indicate that packets with sequence numbers 1 and 3 have been successfully received.
[0037] Subsequently, in step 2, as the site device begins the roaming process, the first access point 20 transmits (TX) the successfully received packet {1, 3} to DS 40. In step 3, the first access point 20 may generate a window start indicator WinStartB, for example, "WinStartB=4". The window start indicator WinStartB is defined as the SN following the last acknowledgment SN, for example, it is the specific SN corresponding to the last successfully received packet of at least one packet in the first group of packets plus 1 (for example, the last acknowledgment SN is 3 from the set {1, 3}, so WinStartB=3+1=4). The first access point 20 sends the window start indicator "WinStartB=4" to the second access point 30. The window start indicator helps the second access point 30 manage packet sorting or filtering. Understandably, the window start indicator WinStartB is used to indicate the starting sequence number of the receive buffer to the second access point 30. In this embodiment of the invention, WinStartB = last confirmed SN+1.
[0038] In step 4, after receiving the acknowledgment signal {1, 3} from the first access point 20, the site device 100 (e.g., queue management module 13) determines the "last acknowledgment SN" to be 3, and thus buffers / stores the last acknowledgment SN. As previously described, the last acknowledgment SN is defined as the specific SN corresponding to the last packet successfully received by the first access point (e.g., in the first group of packets) (e.g., the specific SN corresponding to the last packet in the successfully received packets {1, 3} is "3", thus, the last acknowledgment SN = 3). After roaming and before performing a transmission to the second access point 30, the site device 100 updates its transmission queue. The transmission queue update process involves discarding failed packets in the transmission queue whose SNs are located before the determined "last acknowledgment SN". Understandably, the failed packets were not acknowledged as successfully received by the first access point 20. For example, packet {2} has been transmitted but not acknowledged, and its SN is before the last acknowledged SN (last acknowledged SN=3). Therefore, for roaming scenarios, site device 100 will discard the failed packet {2} before performing transmission to the second AP 30. Understandably, queue management module 13 is configured to: release at least one packet from the transmission queue after at least one packet in the first group of packets is successfully received by the first access point 20; additionally, discard failed packets in the transmission queue whose SN is before the last acknowledged SN. For example, packet {1, 3} has been successfully received and is thus released from the transmission queue. After the roaming process, site device 100 switches its connection from the first access point 20 to the second access point 30.
[0039] In step 5, the site device 100 sends a second set of packets {4, 5, 6, 7} from the updated transmission queue to the second access point 30. It is noteworthy that the second set of packets begins with a sequence number (SN=4), which is immediately following the last acknowledgment SN=3. In an exemplary embodiment, the second access point 30 successfully receives these packets {4, 5, 6, 7} and sends an acknowledgment signal {4, 5, 6, 7} to the site device 100 to indicate that the packet with sequence number {4, 5, 6, 7} has been successfully received. In step 6, the second access point 30 filters the received packets {4, 5, 6, 7} using a window start indicator WinStartB (e.g., “WinStartB=4”) received from the first AP 20 and further forwards the packets to the DS 40. In this embodiment, since the window start indicator WinStartB points to SN=4, the second access point 30 does not need to discard any packets with SN<4 in the packet {4, 5, 6, 7} (because there are no packets with SN<4). Therefore, all packets in the second group {4, 5, 6, 7} are forwarded to DS 40, avoiding packet out-of-order issues on the DS 40 side.
[0040] In Figure 2, the first roaming method manages the transmission queue based on the acknowledgment signal received from the first access point 20 to reduce redundant transmission and out-of-order problems when roaming from the first access point 20 to the second access point 30.
[0041] Figure 3 is a schematic diagram of the second roaming method performed by the site device 100. In this scenario, the site device 100, the first access point 20, the second access point 30, and the distributed system 40 are introduced. The second roaming method includes steps 1 to 7, as shown below. In step 1, the site device 100 sends a set of packets {1, 2, 3, 4} identified by sequence numbers (SN) in its transmission queue to the first access point 20. In the example shown in Figure 3, the first access point 20 may successfully receive a portion of the first set of packets, such as packets {1, 3}. Thus, the first access point 20 sends an acknowledgment signal {1, 3} to the site device 100 to indicate that packets with sequence numbers 1 and 3 have been successfully received. Subsequently, in step 2, as the site device 100 begins the roaming process, the first access point 20 transmits the successfully received packets {1, 3} to the distributed system 40. In step 3, the first access point 20 determines the last acknowledgment number (SN) from the packets it successfully received; for example, in this embodiment, the last acknowledgment number (SN) is 3. Then, the first access point 20 sends an indication of the last acknowledgment number (SN) to the site device 100 (e.g., carrying information that "last acknowledgment number (SN) = 3"). The site device 100 (e.g., receiving module 12) receives the indication of the last acknowledgment number (SN) (e.g., "last acknowledgment number (SN) = 3"). In step 4, the first access point 20 can generate a window start indicator (WinStartB), for example, "WinStartB = 4". Similarly, the window start indicator (WinStartB) is defined as the SN following the last acknowledgment number (i.e., equal to the last acknowledgment number (SN) plus 1; for example, if the last acknowledgment number (SN) is 3, then WinStartB = 3 + 1 = 4). The first access point 20 transmits the window start indicator "WinStartB = 4" information to the second access point 30. The window start indicator assists the second access point 30 in managing packet sorting or filtering.
[0042] In step 5, after receiving an indication of the last acknowledgment SN (e.g., "last acknowledgment SN=3") from the first access point 20, the site device 100 updates its transmission queue. The queue management module 13 updates and caches the last acknowledgment SN. The transmission queue update process involves discarding packets in the transmission queue whose SN is prior to the "last acknowledgment SN" and which have not been acknowledged. For example, packet {2} is discarded because its SN is prior to the last acknowledgment SN=3 and does not belong to the acknowledged packets {1, 3}. As previously described, upon receiving the "acknowledgment signal {1, 3}", the successfully acknowledged packets {1, 3} will be released from the transmission queue of the site device 100.
[0043] After roaming, in step 6, the station device 100 sends a group of packets with SNs {4, 5, 6, 7} from the updated transmission queue to the second access point 30. It is noteworthy that the second group of packets begins with a packet with SN=4, and the SNs of the packets in the second group are located after "last acknowledgment SN=3". The second access point 30 successfully receives these packets {4, 5, 6, 7} and sends acknowledgment signals {4, 5, 6, 7} to the station device 100. In step 7, the second access point 30 filters the received packets {4, 5, 6, 7} using the previously received window start indicator WinStartB (e.g., "WinStartB=4") and forwards the packets to the distributed system 40. In this embodiment, since the window start indicator WinStartB points to SN=4, no packets with SN<4 in the received packets {4, 5, 6, 7} need to be discarded. Therefore, the second group of packets {4, 5, 6, 7} was forwarded to the distributed system 40.
[0044] The difference between the roaming methods shown in Figures 2 and 3 lies in how the station device 100 obtains the "last acknowledgment SN" (used to update its transmission queue) after roaming and before performing a transmission to the second access point 30. In the first roaming method shown in Figure 2, the station device 100 autonomously determines the last acknowledgment SN by interpreting the acknowledgment signal received from the first access point 20. In the second roaming method shown in Figure 3, the station device 100 explicitly receives the last acknowledgment SN from the first access point 20. Both embodiments ensure that the station device 100 updates its transmission queue by further discarding failed packets whose SNs precede the last acknowledgment SN in the transmission queue, thereby optimizing uplink transmission.
[0045] Figure 4 is a schematic diagram of the third roaming method performed by the site device 100. In this scenario, the site device 100, the first access point 20, the second access point 30, and the distributed system 40 are introduced. The third roaming method includes steps 1 to 7, as shown below. In step 1, the site device 100 sends a set of packets {1, 2, 3, 4} identified by sequence numbers (SN) from its transmission queue to the first access point 20. The first access point 20 successfully receives a portion of the first set of packets, such as packets {1, 3}. Then, the first access point 20 sends an acknowledgment signal {1, 3} to the site device 100 to indicate that packets with sequence numbers 1 and 3 have been successfully received. Subsequently, in step 2, as the site device begins the roaming process, the first access point 20 transmits the successfully received packets {1, 3} to the distributed system 40. In step 3, the first access point 20 may generate a window start indicator WinStartB, for example, "WinStartB=4". The window start indicator WinStartB is defined as the SN following the last acknowledgment SN of at least one packet successfully received by the first access point 20 (i.e., the last acknowledgment SN plus 1; for example, the last acknowledgment SN in the successfully received packet {1, 3} is 3, so WinStartB = 3 + 1 = 4). The first access point 20 transmits the window start indicator (e.g., "WinStartB = 4") to the second access point 30. The window start indicator helps the second access point 30 manage packet sorting or filtering.
[0046] In step 4, the second access point 30 determines and sends "last acknowledgment SN=3" to the site device 100. The second access point 30 explicitly transmits the indication of the last acknowledgment SN to inform the site device 100 of the sequence number of the last packet in the first group of packets successfully received by the first access point 20. Specifically, for the second access point 30, after receiving the window start indicator WinStartB, the last acknowledgment SN can be derived from the window start indicator WinStartB by decrementing WinStartB by 1, for example:
[0047] In step 5, after receiving an indication of the last acknowledgment SN (e.g., “last ack SN=3”) from the second access point 30, the queue management module 13 updates the transmission queue because the site device 100 is roaming. The transmission queue update process involves discarding packets in the transmission queue whose SN is before “last ack SN” and which have not been acknowledged (i.e., failed packets). For example, packet {2} is discarded because its SN is before last ack SN=3 and is not included in the acknowledged packets {1, 3}, but failed packet {4} is not discarded because the sequence number of failed packet {4} is 4, which is greater than last ack SN (=3) rather than less than last ack SN (=3), that is, it is not before “last ack SN (=3)” but after “last ack SN (=3)”. As previously stated, successfully received / acknowledged packets {1, 3} will be released from the transmission queue of site device 100 after receiving the "acknowledgement signal {1, 3}".
[0048] In step 6, after roaming to the second access point 30 and updating the transmission queue, the station device 100 sends a second set of packets {4, 5, 6, 7} from its updated transmission queue to the second access point 30. The second set of packets begins with the packet whose SN is located after "last ack SN=3" (SN=4). After receiving the second set of packets {4, 5, 6, 7}, the second access point 30 sends an acknowledgment signal {4, 5, 6, 7} to the station device 100 to indicate that the packet with SN {4, 5, 6, 7} has been successfully received. In step 7, the second access point 30 filters the received packets {4, 5, 6, 7} according to the previously received window start indicator "WinStartB=4". In this embodiment, since the packets start with sequence number SN=4 (which matches WinStartB), no packets in the group {4, 5, 6, 7} need to be dropped. Therefore, the second group of packets {4, 5, 6, 7} is forwarded entirely to DS 40.
[0049] The third roaming method in Figure 4 provides an alternative method for deriving the last acknowledgment SN based on the WinStartB indicator received by the second access point 30. In the embodiments of Figures 2 to 4, the site device 100 updates its transmission queue by identifying the last acknowledgment SN corresponding to the last packet successfully received / acknowledged by the first access point 20. Then, the site device 100 discards unacknowledged / failed packets stored in the transmission queue whose SNs precede the last acknowledgment SN. Subsequently, when performing transmission to the second access point 30 after roaming, the site device 100 begins transmission with packets whose SNs immediately follow the last acknowledgment SN. This proactive packet dropping and sequential transmission mechanism of the site device 100 prevents packet duplication and packet out-of-order problems on the network side (DS 40).
[0050] Figure 5 is a schematic diagram of the station device 100 updating the transmission queue. Figure 5 illustrates a series of operations performed on packets in the transmission queue, each packet being identified by a sequence number (SN). Initially, the transmission queue contains packets with SNs from 1 to 12. For convenience, the pointer marked "unAck" is set to 1, indicating that the starting position of any packet has not yet been acknowledged (i.e., packets starting from this position have not yet been acknowledged as successfully received). When an acknowledgment or block acknowledgment (BA) is received, the acknowledged MPDU is freed / released, and the unAck indicator is updated.
[0051] For example, in the first operation, an acknowledgment signal "Ack {1, 3}" is received. The acknowledgment signal indicates that packets with SN=1 and SN=3 have been successfully received. Therefore, these acknowledged packets (SN=1 and SN=3) are processed or released from the transmission queue. Subsequently, the "unAck" pointer is updated. Based on the received acknowledgment signal, the last acknowledged SN is determined to be 3. Therefore, the "unAck" pointer advances to the position SN=3+1=4, that is, it points to the sequence number immediately following the last acknowledged SN.
[0052] After the first operation, a "Drop for Roaming" process is performed. The "Drop for Roaming" process discards failed packets in the transmission queue that are preceding the last acknowledged SN (or the SN pointed to by the current "unAck" indicator (unAck=4)). In this embodiment, the packet with SN=2 is not acknowledged and is a failed packet (because only SN=1 and SN=3 are in the "Ack {1, 3}" signal), and its SN is less than 3 or 4. Therefore, the failed packet with SN=2 will be discarded from the transmission queue. That is, for the roaming scenario, all failed packets remaining in the transmission queue whose SN is preceding the last acknowledged SN are discarded. The "unAck" indicator remains at 4. The final state of the transmission queue shows that packets with SN=1 and SN=3 have been processed / released, the packet with SN=2 has been discarded, and packets with SN=4 and later are still in the transmission queue for future transmission. Understandably, the "unAck" indicator is equal to the value of the window start indicator WinStartB.
[0053] Figure 6 is a schematic flowchart of the roaming method performed by the site device 100 based on the roaming flag. Figure 6 includes steps S601 to S607. Any technical or hardware modifications are within the scope of this invention, and the figures are merely illustrative embodiments. Steps S601 to S607 are shown below.
[0054] Step S601: Process begins.
[0055] Step S602: Check if the roaming flag exists. If it does not exist, proceed to step S605; if it exists, proceed to step S603.
[0056] Step S603: Perform a drop for roaming operation on the roaming.
[0057] Step S604: Clear the roaming flag after roaming.
[0058] Step S605: Request the MPDU list.
[0059] Step S606: Perform data transfer.
[0060] Step S607: Process ends.
[0061] The process begins at step S601. In step S602, the site device 100 checks for the presence of a roaming flag. The roaming flag is set by the site device 100 before sending the second set of packets to the second access point 30 during roaming. If a roaming flag exists (e.g., indicating that roaming-specific operations are required), the method continues to step S603. In step S603, a roaming-specific drop operation is performed. As previously described, the roaming drop process includes updating the transmission queue by additionally dropping failed packets cached in the transmission queue whose SN is prior to the "last ack SN". After the roaming drop process, in step S604, the site device 100 clears the roaming flag, indicating that the necessary transmission queue adjustments for the roaming scenario have been completed. Therefore, the process then proceeds to step S605.
[0062] If no roaming flag is present in step S602 (e.g., indicating a normal transmission scenario or roaming-specific queue adjustment has been processed), the method skips steps S603 and S604 and proceeds directly to step S605. In step S605, the transmit module 11 sends an MPDU list request to the queue management module 13. The MPDU list includes packets (e.g., a second set of packets) to be sent from the transmission queue (which may be updated in step S603). The site device 100 obtains the MPDU list to determine the second set of packets from the updated transmission queue. Subsequently, in step S606, the transmit module 11 of the site device 100 performs data transmission based on the obtained MPDU list. This process is completed in step S607. The roaming method in Figure 6 ensures proper management of the transmission queue before sending packets to the new AP after roaming, particularly by selectively discarding failed packets based on the last acknowledgment SN.
[0063] Figure 7 is a schematic diagram of the roaming method of the site device 100 to manage uplink transmission. Figure 7 includes steps S701 to S703. Any technical or hardware modifications are within the scope of this invention. Steps S701 to S703 are shown below.
[0064] Step S701: Send the first group of packets in the transmission queue from the site device 100 to the first AP 20, wherein the packets in the transmission queue are identified by SN.
[0065] Step S702: Update the transmission queue, wherein, for roaming scenarios, all failed packets with SNs cached in the transmission queue that are earlier than the last confirmed SN are discarded.
[0066] Step S703: After roaming, send a second set of packets from the updated transmission queue to the second AP 30, wherein the second set of packets begins with a packet whose SN is located after the last acknowledgment SN (e.g., starting from the SN indicated by the above "unack" pointer).
[0067] Details of steps S701 to S703 have been previously explained and are therefore omitted here. Site device 100 aims to address uplink packet duplication and out-of-order delivery issues during roaming by actively optimizing its transmission queue. Site device 100 tracks / records the SN of the last successfully acknowledged packet, i.e., the aforementioned last acknowledgment SN. When roaming is required, the queue management module 13 of site device 100 discards failed packets whose SNs predate the last acknowledgment SN. Transmission to the new AP then begins with the packet immediately following the last acknowledgment SN. The method in Figure 7 involves processing acknowledgments, recording the last acknowledgment SN, and performing additional packet discarding operations for roaming scenarios to ensure a smooth transmission flow and mitigate packet duplication and out-of-order delivery issues during roaming.
[0068] In summary, embodiments of the present invention disclose a roaming method and site apparatus for managing uplink transmission. The key idea involves the site apparatus proactively optimizing its transmission queue during roaming between APs. This is achieved by the site apparatus identifying the last acknowledgment number (SN) of packets successfully received by the first AP. Furthermore, the site apparatus further discards failed packets in its transmission queue whose SNs precede the last acknowledgment number (SN). Then, the site apparatus sends a second set of packets to the second AP, starting transmission from packets whose SNs follow the last acknowledgment number (SN). The roaming method of the present invention significantly reduces packet duplication and out-of-order delivery, and compared to conventional methods, can improve wireless resource utilization and reduce latency. Therefore, embodiments of the present invention are widely applicable to wireless environments (e.g., Wi-Fi networks) where site apparatuses roam, ensuring a smooth transmission process.
[0069] The use of ordinal terms such as “first,” “second,” “third” to modify the elements of an application in the scope of the application does not in itself indicate any priority, priority, or order of one element of the application relative to another element of the application, or the temporal order of the execution of the method actions, but is only used as a marker to distinguish one element of the application with the same name from another element with the same name.
[0070] Although the embodiments and advantages of the present invention have been described in detail, it should be understood that various changes, substitutions, and modifications can be made to the present invention without departing from the spirit and scope defined by the claims. For example, new embodiments can be derived by combining several parts of different embodiments. The described embodiments are for illustrative purposes only and are not intended to limit the present invention. The scope of protection of the present invention shall be determined by the appended claims. Those skilled in the art can make some modifications and refinements without departing from the spirit and scope of the present invention. The above description is only a preferred embodiment of the present invention, and all equivalent changes and modifications made in accordance with the claims of the present invention should be included within the scope of the present invention. [Simplified Explanation of the Diagram]
[0029] The accompanying drawings (in which the same numerals denote the same components) illustrate embodiments of the present invention. The included drawings are used to provide a further understanding of embodiments of the present disclosure, and are incorporated in and constitute a part of the present disclosure. The drawings illustrate implementations of embodiments of the present disclosure and, together with the description, serve to explain the principles of the embodiments of the present disclosure. It is understood that the drawings are not necessarily drawn to scale, as some components may be shown out of scale to clearly illustrate the concepts of the embodiments of the present disclosure. Figure 1 is a block diagram of a site apparatus for managing uplink transmission according to an embodiment of the present invention. Figure 2 is a schematic diagram of a first roaming method performed by the site apparatus in Figure 1. Figure 3 is a schematic diagram of a second roaming method performed by the site apparatus in Figure 1. Figure 4 is a schematic diagram of a third roaming method performed by the site apparatus in Figure 1. Figure 5 is a schematic diagram of the site apparatus in Figure 1 updating the transmission queue. Figure 6 is a flowchart of the site apparatus in Figure 1 performing a roaming method based on a roaming flag. Figure 7 is a flowchart of the site apparatus in Figure 1 performing a method for managing uplink transmission. In the following detailed description, numerous specific details are set forth for illustrative purposes so that those skilled in the art may more thoroughly understand the embodiments of the invention. However, it will be apparent that one or more embodiments may be practiced without these specific details, and different embodiments or different features disclosed in different embodiments may be combined as needed, and should not be limited to the embodiments illustrated in the accompanying drawings.
Claims
1. A roaming method for managing uplink transmissions performed by a site device, comprising: The site device sends a first set of packets from its transmission queue to a first access point, wherein the packets in the transmission queue are identified by a sequence number (SN); updates the transmission queue, wherein, for roaming scenarios, all failed packets in the transmission queue whose SN is preceding the last acknowledgment SN are discarded; before sending a second set of packets to a second access point, the site device sets a roaming flag to perform the discarding operation of the failed packets for roaming scenarios during the transmission queue update; after updating the transmission queue, the site device clears the roaming flag; and after roaming, sends the second set of packets from the updated transmission queue to the second access point, wherein the second set of packets begins with a packet whose SN is following the last acknowledgment SN; wherein the last acknowledgment SN is defined as the specific SN corresponding to the last packet successfully received by the first access point.
2. The method as described in request item 1, wherein, The first set of packets includes multiple MAC Protocol Data Units (MPDUs), which are aggregated in at least one Entity Layer Convergence Procedure (PLCP) Protocol Data Unit (PPDU) sent to the first access point.
3. The method as described in request item 1, wherein, The method further includes: after at least one packet in the first group of packets is successfully received by the first access point, the site device releases the at least one packet in the first group of packets from the transmission queue.
4. The method as described in request item 1, wherein, The method further includes: the site device receiving an acknowledgment (ack) signal from the first access point; wherein the acknowledgment signal is used to indicate that the first access point has successfully received at least one packet in the first group of packets.
5. The method as described in request item 4, wherein, The last confirmation SN is determined by the site device based on the confirmation signal.
6. The method as described in claim 4, wherein, The method further includes: the site device receiving an indication of the last acknowledgment SN from the first access point, wherein the last acknowledgment SN is determined by the first access point based on the successfully received at least one packet.
7. The method as described in request item 1, wherein, The method further includes: the site device receiving an indication of the last acknowledgment SN from the second access point, wherein the last acknowledgment SN is determined based on the window start indicator WinStartB.
8. The method as described in request item 7, wherein, The value of the window start indicator WinStartB is equal to the value of the last confirmation SN plus 1.
9. The method as described in request item 1, wherein, The method further includes: obtaining a list of MAC Protocol Data Units (MPDUs) to determine the second set of packets from the updated transmission queue.
10. A site apparatus for managing uplink transmissions, wherein, The site device includes: a roaming control module; a transmitting module coupled to the roaming control module; a receiving module; and a queue management module coupled to the transmitting module and the receiving module; The transmitting module is configured to send a first set of packets from a transmission queue managed by the queue management module to a first access point, wherein the packets in the transmission queue are identified by a sequence number (SN); the queue management module is configured to update the transmission queue, wherein failed packets in the transmission queue whose SN is before the last acknowledgment SN are discarded; the roaming control module is further configured to set a roaming flag before sending a second set of packets to a second access point, to perform the discarding operation of the failed packets for roaming scenarios during the updating of the transmission queue, and to clear the roaming flag after updating the transmission queue; the transmitting module is further configured to send the second set of packets from the updated transmission queue to the second access point after roaming, wherein the second set of packets begins with a packet whose SN is after the last acknowledgment SN, and the last acknowledgment SN is defined as the specific SN corresponding to the last packet successfully received by the first access point.
11. The site apparatus as described in claim 10, wherein, The first set of packets includes multiple MAC Protocol Data Units (MPDUs), which are aggregated in at least one Entity Layer Convergence Procedure (PLCP) Protocol Data Unit (PPDU) sent to the first access point.
12. The site apparatus as claimed in claim 10, wherein, The queue management module is also configured to release at least one packet from the transmission queue after at least one packet in the first group of packets has been successfully received by the first access point.
13. The site apparatus as claimed in claim 10, wherein, The receiving module is configured to receive an acknowledgment (ack) signal from the first access point, wherein the acknowledgment signal is used to indicate that the first access point has successfully received at least one packet in the first group of packets.
14. The site apparatus as described in claim 13, wherein, The final confirmation SN is determined based on this confirmation signal.
15. The site apparatus as claimed in claim 13, wherein, The receiving module is configured to receive an indication of the last acknowledgment number (SN) from the first access point, wherein the last acknowledgment number is determined by the first access point based on the successfully received at least one packet.
16. The site apparatus as claimed in claim 10, wherein, The receiving module is also configured to receive an indication of the last acknowledgment SN from the second access point, wherein the last acknowledgment SN is determined based on the window start indicator WinStartB.
17. The site apparatus as claimed in claim 16, wherein, The value of the window start indicator WinStartB is equal to the value of the last confirmation SN plus 1.
18. The site apparatus as claimed in claim 10, wherein, The queue management module is also configured to provide a list of MAC Protocol Data Units (MPDUs) to the transmit module to identify the second set of packets from the updated transmission queue.
Citation Information
Patent Citations
Wireless communication system for carrying out wireless communication while executing handovers
EP1890511A2
Method for dropping packet data, radio communication device, and mobile communication system
EP2077688A2
Data transmission method and related apparatus
EP3820109A1
Data processing method and apparatus, and computer storage medium
US11902844B2
Handover method in CDMA mobile communication, base station and mobile station
US20040136345A1
