Method and device for categorizing data streams transiting between a station and an access point serving the station
The data flow categorization process identifies and categorizes data flows to minimize handover disruptions by only interrupting non-critical data transfers, enhancing communication stability during access point changes.
Patent Information
- Application Number
- FR2022013525
- Authority / Receiving Office
- FR · FR
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-12-16
- Publication Date
- 2025-05-02
- Estimated Expiration
- 2042-12-16
AI Technical Summary
Existing wireless telecommunications systems experience temporary data transfer breakdowns during handovers due to the need to disconnect from one access point and reconnect to another, leading to potential artifacts like audio glitches or screen macroblocks, as stations can't communicate simultaneously with multiple access points.
A data flow categorization process and device that identifies, measures, and categorizes data flows between a station and an access point, determining whether a handover is necessary by setting thresholds for average and standard deviation of data flow, allowing non-critical flows to be interrupted only when necessary.
This approach minimizes communication artifacts by limiting handovers to non-critical data flows, ensuring seamless transitions and reducing disruptions during access point changes.
Smart Images

Figure 00000014_0000 
Figure 00000014_0001 
Figure 00000015_0000
Abstract
Description
Title of the invention: METHOD AND DEVICE FOR CATEGORIZING DATA FLOWS TRANSITING BETWEEN A STATION AND AN ACCESS POINT SERVING THE STATION Technical field
[0001] The present invention relates to a method and a device for categorizing data flows transiting between a station and an access point serving the station to determine whether the station served by the node access point can change the access point serving it. STATE OF PRIOR ART
[0002] In local area networks (LANs), wireless communication coverage extension systems can be used to increase the range of these local area networks (LANs) by coordinating several distributed access points (APs). These different access points (APs) are integrated into communication nodes, simply called nodes hereinafter, and all provide the same wireless local area network (WLAN).
[0003] The nodes of the routing subnetwork are connected to each other using a tree-shaped mesh structure, whereby a node can serve as a relay between two other nodes of the routing subnetwork. The nodes of the routing subnetwork are thus interconnected using wired links, for example Ethernet, or wireless links, for example Wi-Fi. The nodes of the routing subnetwork are connected to each other by a network also called a “BackHaul Network” which can be either wired, wireless, or a combination of both.
[0004] Each node of the routing subnetwork possibly emits at least one wireless network called a "FrontHaul Network" or front network to which the user's stations connect. This front network, if it uses Wi-Fi / IEEE 802.11 technology, is the equivalent of what is called BSS ("Basic Service Set" in English).
[0005] At least one of the nodes in the routing subnetwork is connected to a residential gateway that provides access to the Internet. The residential gateway may also be part of the routing subnetwork.
[0006] The access point change mechanism (“handover” in English) consists of moving a communication link established between a station and an access point, to another access point judged to be more capable of ensuring communication with the station.
[0007] This mechanism has been known and widely used throughout wireless telecommunications for many years.
[0008] The structure of the interfaces of local networks using Wi-Fi type radio communication technology does not allow a station to be in communication simultaneously with more than one access point possibly included in different nodes.
[0009] This limitation implies that a handover implicitly causes a temporary break in the data transfer between the station and the access point due to the need to disconnect from the access point, reconfigure the station interface, and connect to the new access point.
[0010] Conventionally, stations include a buffer memory which stores the data loaded in advance of their use to provide a solution to a break, or when the data download speed is lower than the speed of their consumption by the application in question.
[0011] However, this solution is not optimal because an artifact may always occur in the communication, such as a parasite in a sound reproduced by the station, the appearance of a macroblock on a screen of the station, or a loss of a command of a game. Statement of the invention
[0012] The present invention makes it possible to ensure that stations which are connected to an access point of a node do not experience an artifact in a communication when a handover of the station is carried out.
[0013] To this end, according to a first aspect, an embodiment proposes a method for categorizing data flows transiting between a station and an access point serving the station to determine whether the station served by the access point can change the access point serving it, the access point being included in a node forming part of a local network comprising a plurality of nodes allowing an extension of wireless communication coverage in order to increase the range of the local network by coordinating several access points integrated into the nodes, characterized in that the method comprises the steps, executed by the access point serving at least one station, of:
[0014] - identification, from an identifier of the source and / or recipient of data, of each data flow passing between the station and the access point,
[0015] - measurements, for each data flow, of the quantity of data passing between the station and access point,
[0016] - calculation, for each data stream, of an average from the measurements for the flow,
[0017] - categorizing each data stream as an interruptible data stream if the average of the data flow is lower than a first predetermined threshold,
[0018] - determination that the station served by the access point can be served by another access point if each flow passing between the station and the access point is categorized as an interruptible data flow.
[0019] An embodiment also relates to a device for categorizing data flows transiting between a station and an access point serving the station to determine whether the station served by the access point can change the access point serving it, the access point being included in a node forming part of a local network comprising a plurality of nodes allowing an extension of wireless communication coverage in order to increase the range of the local network by coordinating several access points integrated into the nodes, characterized in that the device is included in the access point serving a station, and comprises:
[0020] - means of identification, from an identifier of the source and / or of the data recipient, of each data flow passing between the station and the access point,
[0021] - means for measuring, for each data stream, the quantity of data transiting between the station and the access point,
[0022] - means for calculating, for each data stream, an average from the measures for flow,
[0023] - means for categorizing each data stream as a data stream interruptible if the average data flow is below a first predetermined threshold,
[0024] - means for determining that the station served by the access point can be served by another access point if each flow passing between the station and the access point is categorized as an interruptible data flow.
[0025] Thus, by performing statistical operations on the data flows, it is possible to categorize each data flow, to limit the parasitic effects linked to an inappropriate break in a data flow considered to be uninterruptible and to limit handovers to non-critical flows and to strictly necessary situations.
[0026] According to a particular embodiment, the method further comprises the steps executed, if the average of at least one data stream is greater than the first predetermined threshold, of:
[0027] - calculation, for each data stream whose average is greater than or equal to first predetermined threshold, of a standard deviation from the measurements for the flow,
[0028] - calculation, for each data stream whose average is greater than the first predetermined threshold, a score from the mean and standard deviation of the flow of data,
[0029] - categorization of each data stream whose average is greater than first predetermined threshold as an uninterruptible data flow if the data flow score is less than a second predetermined threshold,
[0030] - determining that a station served by the access point should not be served by another access point if at least one stream passing between the station and the access point is categorized as an uninterruptible data stream.
[0031] According to a particular embodiment, the method further comprises the steps of:
[0032] - categorization of each data stream whose average is greater than first predetermined threshold as an interruptible data stream if the data stream score is greater than or equal to a second predetermined threshold,
[0033] - determining that a station served by the access point can be served by another access point if each flow passing between the station and the access point is categorized as an interruptible data flow.
[0034] According to a particular embodiment, each score is calculated from the following formula:
[0035] SC(t) =o(t) / (K+avg(t)) where avg(t) is the mean, SC(t) is the score, o(t) is the standard deviation and K a value strictly greater than 0.
[0036] According to a particular embodiment, each average is calculated for a first predetermined period of time.
[0037] According to a particular embodiment, each standard deviation and each score are calculated for the first predetermined time period.
[0038] According to a particular embodiment, each average, each standard deviation and each score are calculated with a predetermined periodicity.
[0039] A particular embodiment also relates to a computer program product. It comprises instructions for implementing, by a device, the method according to one of the preceding embodiments, when said program is executed by a processor of the device.
[0040] A particular embodiment also relates to a storage medium. It stores a computer program comprising instructions for implementing, by a node device, the method according to one of the preceding embodiments, when said program is executed by a processor of the node device. Brief description of the drawings
[0041] The above-mentioned features of the invention, as well as others, will appear more clearly on reading the following description of an exemplary embodiment, said description being made in relation to the attached drawings, among which:
[0042] [Fig.l] schematically illustrates an example of a local network in a mode of realization- lization;
[0043] [Fig.2] schematically illustrates the architecture of a node according to one embodiment;
[0044] [Fig.3] illustrates an example of a method performed by an access point of a node according to one embodiment;
[0045] [Fig.4a] illustrates an example of measurements in a sliding window of the quantity of data of a data flow transiting between a station served by a node in a case where the data flow is considered interruptible;
[0046] [Fig.4b] illustrates an example of scores calculated from the quantity of data of a data flow transiting in a sliding window between a station served by a node in a case where the data flow is considered interruptible;
[0047] [Fig.5a] illustrates an example of measurements in a sliding window of the quantity of data of a data flow transiting between a station served by a node in a case where the data flow is considered uninterruptible;
[0048] [Fig.5b] illustrates an example of scores calculated from the quantity of data of a data flow transiting in a sliding window between a station served by a node in a case where the data flow is considered uninterruptible;
[0049] [Fig.6a] illustrates an example of measurements in a sliding window of the amount of data of a data flow transiting between a station served by a node in a situation in which the data flow varies between an interruptible and non-interruptible categorization;
[0050] [Fig.6b] illustrates an example of scores calculated from the amount of data of a data flow transiting in a sliding window between a station served by a node in a situation in which the data flow varies between an interruptible and non-interruptible categorization.
[0051] DETAILED DESCRIPTION OF EMBODIMENTS
[0052] [Fig.l] illustrates an example of a local area network in one embodiment.
[0053] The mesh local area network is built around a routing subnetwork comprising a set of interconnected nodes 100a to 100d.
[0054] The node 100a is, for example, a residential gateway, which provides access to a wide area network, such as the Internet.
[0055] The nodes 100b to 100d are wireless communication coverage extension systems that are used to increase the range of the local network by coordinating several distributed access points AP (“Access Points”). These different access points AP are integrated into the nodes that are interconnected by means of a routing or backhaul subnetwork and all provide the same WLAN wireless local area network. In one example, the nodes 100b, 100c and 100d are wireless coverage “extenders”. In another example, the various access points, or a subset of these access points, all provide at least two identical WLANs. One of these networks may correspond to a private WLAN for stations known to said network, while the other corresponds to a public or guest WLAN.
[0056] Node 100a may be included in the routing subnetwork.
[0057] The nodes 100a to 100d of the routing subnetwork are connected to each other by means of a tree-shaped mesh structure, a node then being able to serve as a relay between two other nodes of the routing subnetwork. The nodes of the routing subnetwork are for example interconnected by means of wireless links.
[0058] Each node of the routing subnetwork emits at least one wireless network called a "FrontHaul Network", or front network, to which the user's stations connect. This front network, if it uses Wi-Fi / IEEE 802.11 technology, is the equivalent of what is called BSS (Basic Service Set).
[0059] In the example of [Fig.l], node 100a is connected to nodes 100b and 100c, node 100b is interconnected to node lOOd.
[0060] Stations 150b and 150c are served by node 100d and station 150a is served by node 100c.
[0061] The term "station" is hereinafter understood to mean fixed or mobile equipment using the resources of the mesh local network via the intermediary of the nodes of said local network. In different examples, the equipment, nodes or stations are each respectively compatible with one or more standards of the IEEE 802.11 family of standards.
[0062] The stations are, for example, smart phones (“smartphones” in English) or a tablet, a computer, a television, a NAS (“Network Attached Storage” in English) network storage unit.
[0063] [Fig.2] schematically illustrates the architecture of a node comprising an access point according to one embodiment.
[0064] According to the example of hardware architecture represented in [Fig. 2], the nodes 100a to 100d comprise, connected by a communication bus 200: a processor or CPU (“Central Processing Unit” in English) 201; a RAM (“Random Access Memory” in English) 202; a ROM (“Read Only Memory” in English) 203; a storage unit such as a hard disk (or a storage media reader, such as an SD (“Secure Digital” in English) card reader) 204; at least one communication interface 205 allowing the node to communicate with the equipment of the local network.
[0065] The processor 201 is capable of executing instructions loaded into the RAM 202 from the ROM 203, from an external memory (not shown), from a storage medium storage (such as an SD card), or a communications network. When the node is powered on, the processor 201 is capable of reading instructions from the RAM 202 and executing them. These instructions form a computer program causing the processor 201 to implement all or part of the method described in relation to [Fig.3].
[0066] The method described below in relation to [Fig. 3] may be implemented in software form by executing a set of instructions by a programmable machine, for example a DSP (Digital Signal Processor) or a microcontroller, or be implemented in hardware form by a machine or a dedicated component, for example an FPGA (Field-Programmable Gate Array) or an ASIC (Application-Specific Integrated Circuit). In general, the node comprises electronic circuitry configured to implement the methods described in relation to [Fig. 3].
[0067] [Fig.3] illustrates an example of a method performed by an access point of a node according to one embodiment.
[0068] In step E300, the access point identifies, from an identifier of the source and / or recipient of data, each data flow transiting between the access point and each station served by the access point. All of the data flows transiting between the access point and a station are subsequently called the link between the access point and the station.
[0069] For example, the access point identifies the data to and / or transmitted by each station that it serves from the MAC address included in the data or from an address identifying each application of the station transmitting or receiving the data.
[0070] Identification can be performed in a one-way or two-way manner.
[0071] In step E301, the access point measures, for each data flow, the quantity of data transiting between the station and the access point.
[0072] For example, the access point periodically obtains, according to a period P of between 1 and 10 seconds, more particularly a period P equal to 5 seconds, the quantity of bytes A(t) having transited in each flow during a period t. By obtaining the total number of bytes having transited since the establishment of the data flow periodically and by taking the difference between the two consecutive values, the number of bytes having transited in the flow in the time interval P separating two consecutive instants is obtained.
[0073] In step E302, the access point calculates, for each flow, an average avg(t) from the number of bytes obtained for the flow. The average is calculated over a sliding window of a few periods (10 periods for example) to obtain the average number of bytes passing through the flow.
[0074] In step E303, the access point compares, for each data stream, the average with a first predetermined threshold noted Seuilmo. The first predetermined threshold is for example between 5000 and 8000 bytes per period P.
[0075] For each flow, if the average of the data flow is less than the first predetermined threshold, the access point proceeds to step E304 and categorizes the data flow as an interruptible data flow. Once this operation is carried out, the access point proceeds to step E310.
[0076] If the average of at least one data stream is greater than or equal to the first predetermined threshold, the access point proceeds to step E305.
[0077] In step E305, the access point calculates, for each data flow whose mean of the data flow is greater than or equal to the first predetermined threshold, a standard deviation over the same sliding window as the mean. The standard deviation characterizes the stability of the traffic in the flow over time. A low standard deviation value shows a flow that is relatively stable over time. The value thus obtained is denoted o(t).
[0078] In step E306, the access point calculates, for each data flow whose average is greater than the first predetermined threshold, a score from the average and the standard deviation of the data flow.
[0079] Each score is calculated from the following formula:
[0080] SC(t) =o(t) / (K+avg(t)) where SC(t) is the score, o(t) is the standard deviation and K a value strictly greater than 0, for example equal to 0.5 or 1.
[0081] In step E307, the access point compares, for each data flow whose average data flow is greater than or equal to the first predetermined threshold, the score SC(t) with a second predetermined threshold called Thresholdsc. The second predetermined threshold is for example between 0.45 and 0.55.
[0082] For each flow whose average data flow is greater than or equal to the first predetermined threshold and the score is less than or equal to the second predetermined threshold, the access point proceeds to step E309 and categorizes the data flow as an uninterruptible data flow. Once this operation is performed, the access point proceeds to step E310.
[0083] For each flow whose average data flow is greater than or equal to the first predetermined threshold and the score is greater than the second predetermined threshold, the access point proceeds to step E308 and categorizes the data flow as an interruptible data flow. Once this operation is performed, the access point proceeds to step E310.
[0084] In step E310, the access point checks whether all the data flows of a link are interruptible. If all the data flows of a link are interruptible, the access point proceeds to step E312. If at least one data flow of a link is uninterruptible, the access point proceeds to step E31. In step E311, the access point determines that a station served by the access point must not be served by another access point if at least one data stream of the link between the station and the access point is categorized as an uninterruptible data stream.
[0085] In step E308, the access point determines that a station served by the access point can be served by another access point if each data flow of the link between the station and the access point is categorized as an interruptible data flow.
[0086] Figs. 4a and 4b respectively illustrate an example of measurements on a sliding window of the quantity of data A(t) of a data flow transiting between a station served by a node and of scores SC(t) in a case where the data flow is considered interruptible.
[0087] Interruptible data streams are, for example, audiovisual playback in continuous streaming or Internet browsing.
[0088] As shown in Figs. 4a and 4b, interruptible data flows are mainly characterized by a flow rate that varies greatly over time, resulting in quantities of data A(t) that vary greatly over time. Indeed, they are made up of bursts during which the flow rate is high, or even very high, separated by periods where the flow rate is very low, or even zero. These bursts allow the filling of memories (for example in the case of streaming type traffic) or the loading of an element (for example when loading results following a query on a search engine).
[0089] Figs. 5a and 5b respectively illustrate an example of measurements on a sliding window of the quantity of data A(t) of a data flow transiting between a station served by a node and of scores SC(t) in a case where the data flow is considered uninterruptible.
[0090] Uninterruptible data streams are, for example, data streams from a telephone conversation, or a video conference, or interactive video games.
[0091] As shown in Figs. 5a and 5b, uninterruptible data flows are mainly characterized by a flow rate that is fairly stable over time and not too low. Indeed, the traffic to be sent (or received) is generated over time and cannot be anticipated. It must therefore be sent as soon as it is generated.
[0092] Figs. 6a and 6b respectively illustrate an example of measurements on a sliding window of the quantity of data A(t) of a data flow transiting between a station served by a node in a situation and of scores SC(t) in which the data flow varies between an interruptible and non-interruptible categorization.
[0093] A station can receive or transmit interruptible and non-interruptible data streams over time.
[0094] As shown in Figs. 6a and 6b, the data flow for a station is initially interruptible (t < Tl) due to the score being greater than the second predetermined threshold. The data flow for the station then becomes uninterruptible between Tl and T2, still because of the threshold which is this time lower than the second predetermined threshold to finally become interruptible again because of the average which becomes lower than the first predetermined threshold.
Claims
Claims
1. A method for categorizing data flows transiting between a station and an access point serving the station to determine whether the station served by the access point can change the access point serving it, the access point being included in a node forming part of a local area network comprising a plurality of nodes allowing an extension of wireless communication coverage in order to increase the range of the local area network by coordinating several access points integrated into the nodes, characterized in that the method comprises the steps, executed by the access point serving at least one station, of: - identification (E300), from an identifier of the source and / or recipient of data, of each data flow transiting between the station and the access point, - measurements (E301), for each data flow, of the quantity of data transiting between the station and the access point, - calculation (E302), for each data flow,of an average from the measurements for the flow, - categorizing (E303) each data flow as an interruptible data flow if the average of the data flow is less than a first predetermined threshold, - determining (E312) that the station served by the access point can be served by another access point if each flow transiting between the station and the access point is categorized as an interruptible data flow.,
2. Method according to claim 1, characterized in that the method further comprises the steps executed, if the average of at least one data stream is greater than the first predetermined threshold, of: - calculating (E305), for each data stream whose average is greater than or equal to the first predetermined threshold, a standard deviation from the measurements for the stream, - calculating (E306), for each data stream whose average is greater than the first predetermined threshold, a score from the average and the standard deviation of the data stream, - categorizing (E307) each data stream whose average is greater than the first predetermined threshold as an uninterruptible data stream if the score of the data stream is less than a second predetermined threshold, - determination (E311) that a station served by the access point must not be served by another access point if at least one flow transiting between the station and the access point is categorized as an uninterruptible data flow.
3. Method according to claim 2, characterized in that the method further comprises the steps of: - categorizing (E308) each data flow whose average is greater than the first predetermined threshold as an interruptible data flow if the score of the data flow is greater than or equal to a second predetermined threshold, - determining that a station served by the access point can be served by another access point if each flow transiting between the station and the access point is categorized as an interruptible data flow.
4. Method according to claim 2 or 3, characterized in that each score is calculated from the following formula: SC(t) =o(t) / (K+avg(t)) where avg(t) is the average, SC(t) is the score, o(t) is the standard deviation and K a value strictly greater than 0.
5. Method according to any one of claims 1 to 3, characterized in that each average is calculated for a first predetermined period of time.
6. Method according to claims 2 and 3, characterized in that each standard deviation and each score are calculated for the first predetermined time period.
7. Method according to claim 6, characterized in that each average, each standard deviation and each score are calculated with a predetermined periodicity.
8. Device for categorizing data flows transiting between a station and an access point serving the station to determine whether the station served by the access point can change the access point serving it, the access point being included in a node forming part of a local network comprising a plurality of nodes allowing an extension of wireless communication coverage in order to increase the range of the local network by coordinating several access points integrated into the nodes, characterized in that the device is included in the access point serving a station, and comprises: - means for identifying, from an identifier of the source and / or recipient of data, each data flow transiting between the station and the access point, - means for measuring, for each data flow, the quantity of data transiting between the station and the access point, - means for calculating, for each data flow, an average from the measurements for the flow, - means for categorizing each data flow as an interruptible data flow if the average of the data flow is less than a first predetermined threshold, - means for determining that the station served by the access point can be served by another access point if each flow transiting between the station and the access point is categorized as an interruptible data flow.
9. A computer program product characterized in that it comprises instructions for implementing, by equipment, the method according to any one of claims 1 to 7, when said program is executed by a processor of a node.
10. A storage medium characterized in that it stores a computer program comprising instructions for implementing, by equipment, the method according to any one of claims 1 to 7, when said program is executed by a processor of a node.