GB2555446B - Multi-stream management in a communication system with multiple mobile users - Google Patents
Multi-stream management in a communication system with multiple mobile users Download PDFInfo
- Publication number
- GB2555446B GB2555446B GB1618229.7A GB201618229A GB2555446B GB 2555446 B GB2555446 B GB 2555446B GB 201618229 A GB201618229 A GB 201618229A GB 2555446 B GB2555446 B GB 2555446B
- Authority
- GB
- United Kingdom
- Prior art keywords
- robustness
- copies
- stream
- data
- transmission
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/02—Arrangements for detecting or preventing errors in the information received by diversity reception
- H04L1/06—Arrangements for detecting or preventing errors in the information received by diversity reception using space diversity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/50—Allocation or scheduling criteria for wireless resources
- H04W72/535—Allocation or scheduling criteria for wireless resources based on resource usage policies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0009—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0015—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/08—Load balancing or load distribution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/20—Control channels or signalling for resource management
- H04W72/23—Control channels or signalling for resource management in the downlink direction of a wireless link, i.e. towards a terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/08—Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Mobile Radio Communication Systems (AREA)
Description
MULTI-STREAM MANAGEMENT IN A COMMUNICATION SYSTEM
WITH MULTIPLE MOBILE USERS
FIELD OF THE INVENTION
The invention relates to a method of determining transmission budgets for transmitting data streams in a communication system.
BACKGROUND OF THE INVENTION
The field of the invention relates to wireless networks used by multiple mobile users, in particular wireless 60 GHz networks or “communication systems”.
The wireless 60 GHz (GigaHertz) network has a radio bandwidth with a large amount of spectral space (up to 7 GHz), which is of interest for short distance MultiGigabits data rate wireless communications. Such communications are not achievable by wireless local area network (WLAN) standard devices limited to 2.4 GHz and 5 GHz radio bands. The radio bandwidth of the 60 GHz network enables applications requiring gigabit data rates equivalent to quasi lossless compressed video streaming (between 150 Mbps - megabits per second - and 1 Gbps - gigabits per second) and 1 Gbps file transfer.
The Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications 802.11ad released by the IEEE STANDARDS ASSOCIATION 802.11 2012, in particular Amendment 3: Enhancements for Very High Throughput in the 60GHz Band, defines a standard for 60 GHz communication devices to communicate over 60 GHz unlicensed radio band by describing ‘Medium Access Control’ MAC and ‘Physical Layer’ PHY specification requirements.
Nevertheless, the 60 GHz communication has a link budget issue due to the high path loss inherent to high frequency bands. The wave propagations in 60 GHz are significantly different from those of 2.4 GHz and 5 GHz signals. A 60 GHz wireless propagation is subject to a path loss at least 20 dB (decibels) worse than that of 5 GHz signal propagation. In order to achieve an efficient communication with MultiGigabit performance up to several meters distance, 60 GHz communication devices need to use high gain directional antennas to compensate for attenuation.
Nevertheless, the use of directional antennas renders 60 GHz communications highly directional and thus highly sensitive to shadowing issues. That is to say, an object or a living organism such as a human positioned in the line of sight between two 60 GHz devices can easily interrupt a communication.
In order to further extend the coverage of the 60GHz network, the 802.11ad standard defines several Modulation and Coding Schemes (MCS). The link budget of the communication between a mobile device and a fixed device will continuously change over the time according to their relative positions. The devices will select an appropriate MCS in order to maintain an effective data transmission; that is to say, find the best compromise between the data rate and Packet Error Rate (PER) for a given distance.
Ideally, the source or transmitting device will select the best MCS targeting an acceptable PER which can be solved by the MAC layer retransmission mechanism specified in the standard 802.11 ad.
As such, 802.11ad standard chipsets implement a link adaptation mechanism which consists in continuously adjusting the MCS used for a wireless communication in order to satisfy a maximum PER of 1%. In other words, the MCS used by a device to communicate with another device is monitored in order to guaranty a predetermined maximum PER of 1%, as set by the standard.
Consequently, depending on the MCS used, a given device will need more or less time to transmit a same amount of data over the wireless medium.
In order to work around shadowing issues inherent to an 802.11ad wireless network, data redundancy and spatial diversity techniques are advantageously used. A multi-copy data transmission method is introduced and consists of transmitting multiple copies of the same original data over multiple independent 60 GHz radio paths from a source device to a sink device. This multi-copy data transmission method uses a systematic data copy transmission over multiple radio paths approach to maximize the chances of the sink device correctly receiving the data, and is particularly suited to overcome the shadowing issue of 60GHz communication based on directional antenna.
In the following, the term “robustness” will be used to qualify a data stream transmitted from a source device to a sink device using the multi-copy data transmission method. For example, a data stream with only one usable 60 GHz radio path from the source device to the sink device will be qualified as having low robustness, while another data stream with three usable 60 GHz radio paths will be qualified as having high robustness.
Given the link adaptation mechanism of the 802.11ad chipsets, the multi-copy data transmission method, and the mobility of the various devices, it may be understood that a conventional network bandwidth allocation scheme consisting of equally dividing the available network bandwidth between users may not be equitable nor efficient in some situations.
Indeed, depending on the position of a mobile device with respect to the extenders, the chipset will adapt the MCS to be used for each radio paths in order to reach the 1% PER target. As a result, for a given mobile device, the time necessary to transmit each copy of an original data over its various radio paths to satisfy a good robustness may vary continuously. Such a classical network bandwidth sharing between mobile users is thus unsuitable.
As a result, a new mechanism should be provided in order to allow equitable network bandwidth allocation between the multiple mobile devices while taking into account the link adaptation mechanism of 802.11ad chipsets and the multi-copy data transmission method.
Quality of Service (QoS) mechanisms introduced in the 802.11e standard permit bandwidth sharing between several users/traffic depending on priorities.
The paper “Adaptive TXOP allocation based on channel conditions and traffic requirements in IEEE802.11e networks” by Arora et al. proposes improved QoS management in an 802.11e network by means of a mechanism that takes into account the network and traffic conditions. A device suffering from poor RF channel conditions during a given time interval is then provided with shorter Transmission Opportunities (TxOPs) length, whereas another device with good channel conditions is provided with a longer TxOPs length during the same time interval. The proposed mechanism thus ensures fairness amongst the devices over time by monitoring a lead/lag counter within each device. This counter indicates the amount by which a device is lagging or leading, compared to its normal service amount.
In this paper, a solution to allocate network bandwidth among several users while taking into account the RF channel condition is provided. However, maintaining robustness over multi-path/multi-copy for each user is not a concern.
It may therefore be desired to provide a solution for fairly allocating network bandwidth among several users while maintaining a minimum robustness for each user.
SUMMARY OF THE INVENTION
The present invention has been devised to address at least one of the foregoing concerns.
Embodiments of the invention relate to a method of determining transmission budgets for transmitting data streams in a communication system comprising a multistream manager and at least two mobile source devices, each mobile source device being configured to wirelessly transmit at least one data stream comprising a set of data packets. The method comprises the steps, by the multi-stream manager, of: receiving, from each mobile source device, a robustness metric relating to a number of copies of data packets of the data stream transmitted according to a transmission budget; and determining, for each data stream based on the received robustness metrics, an updated transmission budget comprising a number of time units for transmitting the data stream to achieve a target robustness corresponding to a target number of copies of data packets of each data stream to be transmitted by the mobile source devices.
According to one embodiment, the transmission budget is related to a status of the communication system and the updated transmission budget is related to a modified status of the communication system.
According to one embodiment, a status of the communication system relates to at least one of: a number of mobile source devices present; a data rate of each data stream; the number of time units available; a position of at least one mobile source device within the communication system; a presence or not of non-reflective obstacles within the communication system; or a Modulation and Coding Scheme associated with a radio path.
According to one embodiment, the method further comprises a step of redistributing an excess number of time units of transmission budgets of data streams having robustness metrics above the target robustness to transmission budgets of data streams having robustness metrics below the target robustness.
According to one embodiment, the method further comprises, prior to the receiving step, an initialization step comprising the steps of: determining, by the multi-stream manager, a status of the communication system; computing, by the multi-stream manager, the transmission budgets for the data streams; sending, by the multi-stream manager, the transmission budgets to the mobile source device; receiving, by the mobile source devices, the transmission budgets sent by the multi-stream manager; and building, by the mobile source devices, communication schemes based on the received transmission budgets.
According to one embodiment, the method further comprises the steps, by the multi-stream manager, of: determining whether the target robustness was achieved for all data streams; and if the response is yes, then maintaining the transmission budget for all streams; otherwise, if the response is no, then determining the updated transmission budgets for at least some streams.
According to one embodiment, a variable full copy relates to a number of entire copies of a set of data packets of a data stream transmitted by a mobile source device; a variable partial copy relates to a number of incomplete copies of the same set of data packets transmitted by a mobile source device; the robustness metric is related to the full copy and partial copy variables; the target robustness is a threshold related to the full copy variable; and, a minimum robustness is a threshold related to the full copy variable.
According to one embodiment, the method further comprises the steps of: comparing, by the multi-stream manager, the robustness metric with a minimum robustness; and adapting the status of the communication system if the robustness metric is inferior to the minimum robustness.
According to one embodiment, the step of adapting the status of the communication system comprises a step of decreasing an application data rate for at least one data stream.
According to one embodiment, the method further comprises a step of setting the minimum robustness equal to one full copy, and the target robustness equal to two full copies.
According to one embodiment, the method further comprises, if the minimum robustness was achieved for the streams, the steps by the multi-stream manager of: identifying a first set of data streams with a number of total copies greater than the target robustness, the total copies relating to the full copies and the partial copies transmitted by the mobile source device; computing, for the first set, a variable sum exceeded copies relating to a sum of the number of copies above the target robustness; identifying a second set of data streams with a number of total copies lower than the target robustness; computing, for the second set, a variable sum missing copies relating to a sum of the number of copies below the target robustness; and determining whether the sum exceeded copies is greater than or equal to the sum missing copies.
According to one embodiment, the method further comprises the steps, by the multi-stream manager, of: adapting the status of the communication system if the sum exceeded copies is not greater than or equal to the sum missing copies; otherwise converting the sum missing copies into missing time units; removing the missing time units from the first set of data streams; re-distributing the missing time units removed from the first set of data streams amongst the second set of data streams; and calculating the updated transmission budgets.
According to one embodiment, at least one mobile source device is configured to transmit at least one first data stream to at least one fixed source device over a half-duplex communication; the fixed source device is configured to transmit at least one second data stream to the at least one mobile source device over the half-duplex communication; and the method further comprises a step, by the multi-stream manager, of setting a same transmission budget for the at least first and second data streams.
Embodiments of the invention relate to a multi-stream manager configured to determine transmission budgets for transmitting data streams in a communication system further comprising at least two mobile source devices, each mobile source device being configured to wirelessly transmit at least one data stream comprising a set of data packets.
The multi-stream manager is configured to: receive, from each mobile source device, a robustness metric relating to a number of copies of data packets of the data stream transmitted according to a transmission budget; and determine, for each data stream based on the received robustness metrics, an updated transmission budget comprising a number of time units for transmitting the data stream to achieve a target robustness corresponding to a target number of copies of data packets of each data stream to be transmitted by the mobile source devices.
According to one embodiment, the transmission budget is related to a status of the communication system, and the updated transmission budget is related to a modified status of the communication system.
According to one embodiment, a status of the communication system relates to at least one of: a number of mobile source devices present; a data rate of each data stream; the number of time units available; a position of at least one mobile source device within the communication system; a presence or not of non-reflective obstacles within the communication system; or a Modulation and Coding Scheme associated with a radio path.
According to one embodiment, the manager is further configured to redistribute an excess number of time units of transmission budgets of data streams having robustness metrics above the target robustness to transmission budgets of data streams having robustness metrics below the target robustness.
According to one embodiment, the manager is further configured to: determine a status of the communication system; compute the transmission budgets for the data streams; and send the transmission budgets to the mobile source devices so that the mobile source devices, upon reception of the transmission budgets, can build communication schemes based on the received transmission budgets.
According to one embodiment, the manager is further configured to: determine whether the target robustness was achieved for all data streams; and if the response is yes, then maintain the transmission budget for all streams; otherwise, if the response is no, then determine the updated transmission budgets for at least some streams.
According to one embodiment, a variable full copy relates to a number of entire copies of a set of data packets of a data stream transmitted by a mobile source device; a variable partial copy relates to a number of incomplete copies of the same set of data packets transmitted by a mobile source device; the robustness metric is related to the full copy and partial copy variables; the target robustness is a threshold related to the full copy variable; and a minimum robustness is a threshold related to the full copy variable.
According to one embodiment, the manager is further configured to: compare the robustness metric with a minimum robustness; and adapt the status of the communication system if the robustness metric is inferior to the minimum robustness.
According to one embodiment, the manager is further configured to decrease an application data rate for at least one data stream when adapting the status of the communication system.
According to one embodiment, the manager is further configured to set the minimum robustness equal to one full copy, and the target robustness equal to two full copies.
According to one embodiment, the manager is further configured to, if the minimum robustness was achieved for the streams: identify a first set of data streams with a number of total copies greater than the target robustness, the total copies relating to the full copies and the partial copies transmitted by the mobile source device; compute, for the first set, a variable sum exceeded copies relating to a sum of the number of copies above the target robustness; identify a second set of data streams with a number of total copies lower than the target robustness; compute, for the second set, a variable sum missing copies relating to a sum of the number of copies below the target robustness; and determine whether the sum exceeded copies is greater than or equal to the sum missing copies.
According to one embodiment, the manager is further configured to: adapt the status of the communication system if the sum exceeded copies is not greater than or equal to the sum missing copies; otherwise convert the sum missing copies into missing time units; remove the missing time units from the first set of data streams; re-distribute the missing time units removed from the first set of data streams amongst the second set of data streams; and calculate the updated transmission budgets.
According to one embodiment, the manager is further configured to set a same transmission budget for at least a first data stream and a second data stream, the first data stream relating to at least one data stream transmitted by at least one mobile source device to a fixed source device over a half-duplex communication, the second data stream relating to at least one data stream transmitted by the fixed source device to the at least one mobile source device over the half-duplex communication.
Embodiments of the invention relate to a communication system comprising a multi-stream manager according to an embodiment of the invention and at least two mobile source devices, each mobile source device being configured to wirelessly transmit at least one data stream comprising a set of data packets, the multi-stream manager being configured to determine transmission budgets for transmitting data streams in the communication system.
According to one embodiment, the communication system further comprises stream controllers associated with each mobile source device, the stream controllers being configured to: send robustness metrics relating to a number of copies of data packets of the data stream transmitted according to a transmission budget; receive transmission budgets sent by the multi-stream manager; and build communication schemes based on the received transmission budgets.
BRIEF DESCRIPTION OF THE DRAWINGS
Other particularities and advantages of the invention will also emerge from the following description, illustrated by the accompanying drawings, in which:
Figure 1 represents a network enabling point to point communications between a plurality of mobile devices and a plurality of fixed devices,
Figure 2 illustrates a conventional approach of bandwidth allocation mechanism for multiple users,
Figure 3 illustrates a bandwidth allocation mechanism for multiple users according to an embodiment of the present invention,
Figure 4 shows a message exchange within the network,
Figure 5 illustrates the allocation principle of time units according to an embodiment of the invention,
Figure 6 is a flow chart of a method of determining and updating transmission budgets according to one embodiment of the invention,
Figure 7 is a flow chart of a method of calculating transmission budget updates according to one embodiment of the invention,
Figure 8 is a flow chart of a method of receiving and implementing transmission budgets according to one embodiment of the invention, and
Figure 9 schematically illustrates a device implemented in the system.
In the following, it is considered that all mobile users are using a same 60 GHz Radio Frequency (RF) channel of the 802.11 ad wireless network. Embodiments of the present invention thus aim to allocate the bandwidth of the RF channel between multiple mobile users in an equitable manner, so as to obtain a good robustness for each data stream.
In the proposed solution, a multi-stream manager module is introduced. Advantageously, a stream controller module for each data stream source is also introduced, such that the wireless network comprises a multi-stream manager module and at least two stream controllers. Each stream controller is associated with a data stream source which transmits a data stream over the wireless network.
The multi-stream manager manages bandwidth allocation between data streams by means of control messages exchanged with each stream controller. Each stream controller periodically sends to the multi-stream manager in a predetermined time window, a robustness metric message relating to the number of copies of the same original data a data stream source was able to transmit over the wireless network. The multi-stream manager then computes, based on the received robustness metrics, a transmission time budget for each stream controller. Next, the multi-stream manager sends the computed transmission time budget to each stream controller. This mechanism may then be iterated one or more times until robustness metrics greater than a predetermined threshold are obtained for at least some data streams within the wireless network.
Figure 1 represents a network or “communication system” 100 enabling point to point communications between a plurality of mobile devices and a plurality of fixed devices. The network is for example a 802.11 ad wireless network, wherein the network bandwidth should be allocated fairly between the plurality of mobile devices while maintaining a good robustness scheme for each user’s data streams.
The network 100 comprises a first mobile device 101, a first fixed device 102, a second mobile device 103, and a second fixed device 104. Communications are handled by means of a multiple communication network (that is to say, at least two types of communication networks), for example a first communication network 110 that is a 60 GHz wireless network (such as specified by 802.11ad standard) and a second network 120 that is for example a wired network such as Ethernet. It should be noted that other network technology, such as wireless 802.11 ac or 802.11 n, may be used for this second network, provided that the initial data application throughput is sustained and more reliable communications than the first network are obtained.
The first communication network 110 is provided by a plurality of extender devices 111, 112, 113, 114 for the mobile devices 101, 103 which move in the delimited area 110. In the case of an 802.11 ad network, a PCP (Personal basic set service Control Point) controls all point to point connections in the 60 GHz network. For example, the PCP function can be handled by the mobile device 101, which will then provide services to establish Directional Multi-Gigabits (DMG) communications (also called radio paths) in the network 100, enabling wireless data exchange between the different devices of the network 100 using the link adaptation mechanism of the standard chipsets.
The second communication network 120 is provided by the extender devices 111, 112, 113, 114 respectively coupled by wires 121, 122, 123, 124 (for example wired gigabit Ethernet connections) to a switch device 115. The second communication network 120 is more reliable than the first communication network 110 (a 60 GHz wireless network) and provides relay (or forwarding) of data transmissions for the point to point communications by enabling data communications between the mobile devices 101, 103 and the fixed devices 102, 104 to be established using indirect dual communication paths.
The second communication network 120 is a means for extending the coverage provided to the mobile devices 101, 103 and for establishing spatially diverse communications by using wireless multi-path communications, either through several extender devices and using forward capability or by the use of several Directional Multi
Gigabit (DMG) communications radio paths with a same extender device using different antenna configurations.
As the first communication network 110 (60 GHz network) is subject to fading and sensitive to obstacles that may disturb the data communications, multi-path point to point communication schemes, called Logical Link Connections (LLC), are established between the devices 101, 102 corresponding to a first user, and between the devices 103, 104 corresponding to a second user.
As an example, the mobile device 101 is a video data stream source and the fixed device 102 is a video data stream sink. A connection is formed between these devices, in particular a Logical Link Connection (a point to point communication) is established between the two LINK layers 906 (as described in relation with Figure 9), of the devices 101, 102, enabling the transport of video data streams between application layers.
In the case of a Head Mounted Display (HMD) scenario, two Logical Link connections are established between devices 101 and 102: - A first connection Stream 1 (STR1) is established from the mobile device 101 (Source 1) to the fixed device 102 (Sink 1) for original video data stream transmission from cameras of the device 101 to a computer graphic server of the device 102; - A second connection Stream 2 (STR2) is established from a server of the fixed device 102 (Source 2) to the mobile device 101 (Sink 2) for enhanced video data stream transmission to the display of the head mounted display 101;
As a further example, the mobile device 103 is a video data stream source and the fixed device 104 is a video data stream sink. A connection is formed between these devices, in particular a Logical Link Connection established between the two LINK layers 906 of the devices 103, 104, enabling transport of video data streams between application layers.
Again, in the case of an HMD scenario, two Logical Link connections are established between devices 103 and 104: - A third connection Stream 3 (STR3) is established from the mobile device 103 (Source 3) to the fixed device 104 (Sink 3) for original video data stream transmission from cameras of the device 103 to a computer graphic server of the device 104; and - A fourth connection Stream 4 (STR4) is established from a server of the fixed device 104 (Source 4) to the mobile device 103 (Sink 4) for enhanced video data stream transmission to the display of the head mounted display 104.
In order to provide robustness, data are duplicated and transmitted several times (in general two times but possibly three or four times depending on the architecture of the network 100) through DMG radio paths, with different characteristics such as antenna configurations or wireless destination devices. For each stream, several copies of a same data are transmitted over the wireless network by the associated source 101, 102, 103 or 104.
In order to fairly allocate the network resources amongst the various users while maintaining high robustness for each data stream, a multi-stream manager 111A and N stream controller modules 101A, 102A, 103A, 104A (N being the total number of stream controller modules, here N = 4) are designated. Here, extender device 111 is designated as the multi-stream manager 111A, or simply “manager”, though it may be noted that any extender 112, 113, 114, the switch 115, or the fixed devices 102, 104 could be designated as the multi-stream manager.
The manager 111A is typically located in the extender device 111, and the stream controllers are also typically located within each source device, that is to say the devices 101, 102, 103, 104.
The manager 111A ensures the sharing of the Time Units (TU) available within the wireless network 110 between the various data streams STR1, STR2, STR3, STR4, in order to maintain high robustness for each data stream. Based on the robustness metrics RM received for each data stream, the manager 111A computes a transmission time budget (“TXB” or “transmission budget” in the following) to be allocated for each stream. A transmission budget relates to the number of time units available for a data stream source to transfer data packets. A time unit TU is defined as a portion of the total transmission time available in the 802.11ad network, and is typically expressed in milli-seconds (ms). As examples, a time unit of 1.5 ms could be defined for a total transmission time of 100 ms; a time unit of 1 ms could be defined for a total transmission time of 100 ms; and a time unit of 2 ms could be defined for a total transmission time of 500 ms. In the case of a Contention Based Access Period (CBAP) medium access method, a time unit typically corresponds to a Transmission Opportunity (TxOP), and in the case of a Service Period (SP) medium access method, a time unit typically corresponds to the duration of a reserved time slot. A stream controller module receives, on input, the transmission budget TXB allocated by the manager 111 A, and provides on output robustness metrics RM to the manager 111 A.
Figure 2 illustrates a conventional approach of bandwidth allocation mechanism for multiple users and Figure 3 illustrates a bandwidth allocation mechanism for multiple users according to an embodiment of the present invention.
First, in order to illustrate the difference between the two approaches, it is necessary to compute, for two different MCS, the number of time units TUs used for the transmission of one Full Copy of a data. Table 1 provides the result for the schemes MCS4 and MCS8 defined in the 802.11 ad standard.
Table 1: Data rates and TUs used per Full Copy per MCS
It should be noted that the values of MBits/TTI are with respect to a Transmission Time Interval (TTI) of 100 ms, and the number of time units TUs per Full Copy is with respect to a total of 67 TUs per Transmission Time Interval and an application data rate of 150 MBits/s, in an example implementation.
Furthermore, the use of the term/concept “Full Copy” is unique to the present invention, and is only employed here to illustrate the difference between the conventional approach and that of the present invention (e.g., as illustrated by Table 4).
As a reminder, to share the bandwidth of a wireless network amongst several users having applications with similar data rates and Quality of Service (QoS) requirements, the conventional approach consists of equally dividing the transmission time available of the network between the various users.
In the present example, the system is dimensioned for an 802.11ad wireless network comprising: - four data streams 1, 2, 3, 4 transmitted respectively by four data stream sources 101, 102, 103, 104; - a data rate of 150 Mbits/s for each data stream; and - a total transmission time interval TTI equal to 67 TUs.
As will be described in more detail in relation with Figure 4, embodiments of the present employ this conventional approach during system start-up, before any robustness metrics have been received. Based on this conventional approach, an equal (or approximately equal) number of TUs are allocated to each data stream. As an
example, transmission budgets equal to 17 TUs are allocated to each of the streams 1,2, 3 and a transmission budget of 16 TUs is allocated to the stream 4.
In a first case or “status” of the communication system, as represented in Figure 2, it is considered that the two mobile devices 101, 103 are both positioned at a distance from the extender devices 111, 112, 113, 114 involved in their respective radio paths enabling the transmission of their respective data streams with the scheme MCS8.
In particular, the mobile device 101 is positioned at a distance from the extender devices 111, 112 permitting the transmission of the streams 1 and 2 over the radio paths 201A, 201B, 201C by means of the scheme MCS8 defined in the 802.11ad standard. The mobile device 103 is positioned at a distance from the extender devices 113, 114 permitting the transmission of the streams 3 and 4 over the radio paths 203A, 203B, 203C by means of the scheme MCS8 defined in the 802.11ad standard. Reflective obstacles 211, 213 are disposed within the area 110, such that radio paths 201B, 203B are reflected off thereof.
As shown in Table 1 above, five Time units TUs are used to transmit one Full Copy over the wireless network when the MCS8 is used. As a transmission budget equal to 17 TUs is allocated to each stream 1, 2, 3 and transmission budget equal to 16 TUs is allocated to the stream 4, for this first case, three Full Copies can be transmitted over the network for each stream 1, 2, 3, 4. That is to say, if one Full Copy requires five TUs, three Full Copies can be transmitted for each stream (17 TUs divided by 5 TUs per Full Copy equals three Full Copies with a remainder of 2 TUs for streams 1, 2, 3, and three Full Copies with a remainder of 1 TUs for stream 4).
For this first case, the conventional approach of bandwidth sharing among several users is sufficient, since defined network rules (minimum robustness and target robustness, as described in more detail later) are satisfied.
In a second case or status of the communication system, as represented in Figure 3, it is considered that the mobile device 101 is still at a same distance as shown in Figure 2 from the extender devices 111, 112, enabling the transmission of its data streams with the scheme MCS8, but a non-reflective obstacle 310 is situated between the mobile device 103 and the extender device 114, such that the device 103 must use the extenders 111, 113 for its communications, by means of the slower scheme MCS4. Furthermore, the mobile device 103 has moved within the area 110.
In particular, the mobile device 101 is positioned at a distance from the extender devices 111, 112 permitting the transmission of the streams 1 and 2 over the radio paths 301 A, 301B, 301C by means of the scheme MCS8 defined in the 802.11 ad standard, as previously. The mobile device 103 is positioned at a farther distance from the extender devices 111, 113 permitting the transmission of the streams 3 and 4 over the radio paths 303A, 303C by means of the scheme MCS4 defined in the 802.11 ad standard. A reflective obstacle 311 is disposed within the area 110, such that radio path 301B is reflected off thereof.
As shown in Table 1 above, five TUs are used to transmit one Full Copy over the wireless network when the scheme MCS8 is implemented and nine TUs are used to transmit one Full Copy over the wireless network when the scheme MCS4 is implemented.
If the transmission budget remains equal to 17 TUs for the streams 1 and 2 used by the mobile device 101, then the devices 101, 102 can still transmit three Full Copies each over the network for these data streams. However, if the transmission budgets remain equal to 17 TUs and 16 TUs for the streams 3 and 4 respectively of the mobile device 103, then the devices 103, 104 can only transmit one Full Copy each over the network for these data streams.
Table 2 below summarizes the robustness provided by conventional time unit allocation for the scenario of Figure 3.
Table 2: Robustness obtained with a conventional approach
For this second case, the allocation of TUs among users is not fair, such that the conventional approach for bandwidth sharing among several users is not appropriate for an 802.11 ad wireless network featuring mobile users and the link adaptation mechanism of 802.11 ad standard chipsets.
The second case will now be considered with the bandwidth sharing mechanism of embodiments of the present invention, wherein one or more updates of the transmission budgets are performed based on robustness metrics transmitted by the stream controllers 101A to 104A to the manager 111 A. As described in relation with Figure 4, at a time t’, the sharing of TUs available within the network has been
redistributed fairly amongst the data streams in order to reach the target robustness for all data streams.
As an example, a transmission budget equal to 14 TUs is allocated to each of the data streams 1 and 2, such that each stream 1, 2 can now transmit two Full Copies each. Further, transmission budgets equal to 20 and 19 TUs are allocated respectively to the streams 3 and 4, such that each stream 3, 4 can now also transmit two Full Copies each. Table 3 below summarizes the robustness obtained with the allocation of time units according to embodiments of the present invention.
Table 3: Robustness obtained with time unit re-allocation according to embodiments of the invention
Table 4 below summarizes the results of Tables 2 and 3, illustrating the number of full copies, partial copies, and total copies for each stream 1 to 4 using the conventional approach (CA), and using the re-allocation approach (RA) according to embodiments of the present invention.
Table 4: Difference between conventional and re-allocation approaches
The variable Full Copy relates to the number of entire copies of the same original data, for example a group of ten data packets, transmitted by a data stream source in the first communication network. The variable Partial Copy relates to the number of incomplete copies of the same original data, for example only some of the group of ten data packets, transmitted by a data stream source in the first communication network. The variable Total Copy relates to the sum of the variables
Full Copy and Partial Copy, wherein a Full Copy value has a weight of 1 and a Partial Copy value has a weight of 0.5.
The columns Stream 1 to Stream 4 thus indicate the robustness metrics obtained for the respective data streams. Each head column (Stream) is further divided into two sub-columns, the first sub-column representing the number of copies transmitted in the network for each data stream using the conventional approach CA, and the second sub-column representing the number of copies transmitted in the network for each data stream using the re-allocation approach RA.
The conventional approach may be implemented at start up or after movement of a mobile device 101, 103. The re-allocation approach is then implemented in run time, after one or more iterations of the mechanism of the present invention to attempt to reach a transmission budget allocation for each data stream for high robustness of each data stream.
In order to iterate the mechanism of the present invention, some network rules have to be defined to characterize the expected robustness. Typically, a minimum robustness Rmin and a target robustness Rtarget are defined as follows: - For all data streams, the minimum robustness Rmin = 1 Full copy (to match the application data rate); and - For all data streams, the target robustness Rtarget > 2 Full copies (to guaranty spatial diversity).
The minimum robustness Rmin and the target robustness Rtarget are chosen by the system designer. A minimum robustness Rmin of 1 Full Copy is the minimum value that guarantees that the wireless network can match the application data rate. If a minimum robustness of 1 Full Copy is not respected, an overflow will appear on the side of the source device. A target robustness Rtarget of 2 Full Copies is the minimum value that provides spatial diversity of the system.
With reference again to Table 4, for the conventional approach the target robustness is achieved (greater than or equal to 2) for data streams 1 and 2 and is not achieved (less than 2) for the data streams 3 and 4. Moreover, partial copies are available for all streams 1, 2, 3, 4. This indicates that using the conventional approach the time units TUs available within the network are not fairly shared amongst the data streams 1, 2, 3, 4.
Using the re-allocation approach, after one or more iterations, the target robustness is achieved for all streams 1, 2, 3, 4. Thus, the sharing of time units TUs available within the network has been redistributed fairly (or at least, more fairly) amongst the data streams 1, 2, 3, 4 in order to reach the target robustness (greater than or equal to 2) for all data streams. Through the one or more iterations, the excess time units TUs allocated to the data streams 1 and 2 are advantageously redistributed to the data streams 3 and 4 to provide the missing time units TUs necessary to achieve the target robustness as will be described in further detail in reference to Figures 6 to 8.
The robustness metrics presented in Tables 2 to 4 are merely example implementations of robustness metrics. Other robustness metrics or some variant of the presented robustness metrics may also be implemented.
As an example, a variant for the calculation of the row Total Copy consists of summing the rows Full Copy and Partial Copy, wherein a Full Copy value has a weight of 1 and a Partial Copy value has a weight equal to the ratio of data transmitted by the Partial Copy and the data transmitted by a Full Copy.
The mechanism of the present invention thus allows a fair bandwidth allocation among the various users, and is appropriate for an 802.11 ad wireless network featuring mobile users and the link adaptation mechanism of 802.11 ad standard chipsets.
Figure 4 shows a message exchange within the network, particularly a message exchange 400 between the manager 111A and the stream controllers 101A, 102A, 103A, 104A.
The message exchange is divided into a first group G1 representing the messages exchanged at a time t corresponding to the system start-up, and a second group G2 representing the messages exchanged at a time t’ corresponding to the system in run time.
At start-up (time t), the manager 111A sends the transmission budget messages TXB11, TXB21, TXB31 to the stream controllers 101A, 102A, 103A respectively. The transmission budget messages indicate the transmission budget allocated to each stream controller already identified with the manager 111A. As the manager 111A has no knowledge of the network status at system start-up (time t), it shares the bandwidth available within the network equally between the identified stream controllers 101A, 102A, 103A, according to the conventional approach.
As an illustrative example, if the available bandwidth corresponds to 67 TUs, the following transmission budgets are allocated: TXB11 = 22 TUs (Stream 1), TXB21 = 22 TUs (Stream 2), and TXB31 = 23 TUs (Stream 3). Each identified controller is thus allocated approximately 33% of the available time units TUs.
Next, a previously unidentified stream controller 104A sends a Stream Allocation Request SAR message to the manager 111A in order to be identified therewith. The manager 111A processes this request and computes transmission budgets to be allocated to each identified stream controller 101 A, 102A, 103A, 104A.
The manager 111A then sends the transmission budget messages TXB12, TXB22, TXB32, TXB41 to the stream controllers 101 A, 102A, 103A, 104A respectively, wherein the transmission budgets TXB12, TXB22, TXB32 are updated transmission budgets, and the transmission budget TXB41 is an initial transmission budget. As the manager 111A still has no knowledge of the network status, the available bandwidth is shared equally between the identified stream controllers, according to the conventional approach. The transmission budgets may thus be set as follows: TXB12 = 17 TUs (Stream 1), TXB22 = 17 TUs (Stream 2), TXB32 = 17 TUs (Stream 3), TXB41 = 16 TUs (Stream 4), as described above in relation with Figure 2. Each identified controller is thus allocated approximately 25% of the available time units TUs.
During run time (time t’), the manager 111A periodically sends updates of the allocated transmission budgets to the stream controllers so that each stream controller may manage its transmission budget and the corresponding data stream source may build a communication scheme (that is to say, by which radio paths, extenders, etc. data will be sent to the sink device) based on the updated transmission budget. Examples of communication schemes developed by the data stream sources are provided in relation with Figures 2, 3.
As another example, the communication scheme can advantageously be developed by taking into account the different data transmission rates of each radio path used by a user and an allocated transmission budget, by estimating a ratio between the application data rate and the data rate transmission achievable over the route, combining the usable bandwidths over the different routes and, by applying a complementary data sequence transmission, increasing the number of copies transmitted over the network.
In order to update the transmission budgets, the manager 111A receives robustness metrics RM from the stream controllers. To supply the robustness metrics, each data stream source applies its communication scheme and computes updated robustness metrics, which indicate the level of robustness achieved with the current allocated transmission budget.
The robustness metrics are then retrieved by the associated stream controller and sent to the manager 111A. The manager 111A thus receives the robustness metrics RM1, RM2, RM3, RM4 from the stream controllers 101 A, 102A, 103A, 104A respectively. These robustness metrics inform the manager 111A of the current network status, and may be used to compute updated transmission budgets for each stream controller so that each stream may reach a similar level of robustness. The manager 111A thus computes the updated transmission budget for each stream controller based on these robustness metrics.
The manager 111A then sends the updated transmission budget messages TXB13, TXB23, TXB33, TXB42 to the stream controllers 101 A, 102A, 103A, 104A respectively. The transmission budgets may thus be set as follows: TXB13 = 14 TUs (Stream 1 - 21% of available time units TUs), TXB23 = 14 TUs (Stream 2 - 21% of available time units TUs), TXB33 = 20 TUs (Stream 3 - 30% of available time units TUs), TXB42 = 19 TUs (Stream 4 - 28% of available time units TUs), as described above in relation with Figure 3.
Figure 5 illustrates the allocation principle 500 of time units according to an embodiment of the invention, for system start up 500A, 500A’ and system run time 500B, 500B’.
For each section 500A, 500B, the data buffering section represents the incoming data packets generated by each data stream source during a buffering time TBUFA, TBUFB. In the example of Figure 5, each data source generates fifty packets (Packet 1 to Packet 50 or Packet 151 to Packet 200) during the buffering time. Typically, the fifty packets correspond to four copies of a same original data as sent by a source, wherein the system is dimensioned to transmit a maximum of four copies per stream.
For each section 500A’, 500B’, the data transmission on lower layers section represents the transmission budget of each data stream within the total transmission time TTTA, TTTB interval equal to 67 TUs. Typically, the buffering time TBUFA, TBUFB, is equal to the total transmission time TTTA, TTTB available for payload data transmission during the Beacon Interval (Bl) of the first communication network 110. For a given data stream, it represents the number of TUs allocated to transmit, as much as possible, the fifty packets generated by the data source. Each data buffering section 500A, 500B is followed by a data transmission section 500A’, 500B’ respectively.
Thus, as described above in relation with group G1 of Figure 4, in section 500A the manager 111A attempts to allocate an equal number of TUs to each stream controller 101 A, 102A, 103A, 104A as transmission budgets TXB12, TXB23, TXB32, TXB41 during timet (conventional approach). Each data source 101, 102, 103, 104 builds a communication scheme based on its allocated transmission budget in order to transmit, if possible, due to the number of time units allocated, its fifty packets corresponding to four copies of the same original data over several independent radio paths. Next, each data source 101, 102, 103, 104 computes its robustness metrics corresponding to its current transmission budgets and reports the calculated robustness metrics periodically and in a predetermined time window to the manager 111A.
In section 500A’, the flow of time units TU1 to TU67 is such that time units TU1 to TU17 correspond to stream 1, time units TU18 to TU34 correspond to stream 2, time units TU35 to TU51 correspond to stream 3, and time units TU52 to TU67 correspond to stream 4.
In section 500B, at time t’, the manager 111A attempts to calculate an updated budget TXB for each stream controller 101 A, 102A, 103A, 104A providing high robustness for each data stream. As an example, it performs the following updates: - the transmission budget of stream 1 managed by the stream controller 101A and transmitted by the data stream source 101 is decreased to 14 TUs, as budget TXB13; - the transmission budget of stream 2 managed by the stream controller 102A and transmitted by the data stream source 102 is decreased to 14 TUs, as budget TXB23; - the transmission budget of stream 3 managed by the stream controller 103A and transmitted by the data stream source 103 is increased to 20 TUs, as budget TXB33; and - the transmission budget of stream 4 managed by the stream controller 104A and transmitted by the data stream source 104 is increased to 19 TUs, as budget TXB42.
Each data stream source 101, 102, 103, 104 then develops an updated communication scheme based on its updated transmission budget in order to transmit, if possible, its fifty packets corresponding to four copies of the same original data over several independent wireless (radio) paths. Next, each data stream source, 101 to 104, computes its updated robustness metrics corresponding to its current transmission budget and reports them to the manager 111 A, such as the robustness metrics in the columns RA of Table 4 above.
In section 500B’, the flow of time units TU1 to TU67 is such that time units TU1 to TU14 correspond to stream 1, time units TU15 to TU28 correspond to stream 2, time units TU29 to TU48 correspond to stream 3, and time units TU49 to TU67 correspond to stream 4.
Figure 6 is a flow chart of a method 600 of determining and updating transmission budgets according to one embodiment of the invention. The method 600 comprises the steps 601 to 608 and is implemented by the manager 111 A.
In step 601, the method starts.
An initialization step of the method 600 is then performed, comprising steps 602 to 604 (as well as steps 802 and 803 of the method 800 of Figure 8).
In step 602, the manager 111A retrieves the static inputs, that is to say, the initialization parameters or “status” of the communication system 100, such as the number of users and/or data streams within the network, the data rate DR of each data stream, and the network capacity NTC expressed in time units TUs. The manager 111A can retrieve these initialization parameters from its ROM memory (memory 903, shown and described in relation with Figure 9) or else the manager 111A can receive these initialization parameters by means of control messages exchanged with the data stream sources 101, 102, 103, 104 via the stream controllers 101A, 102A, 103A, 104A.
In step 603, the manager 111A computes a first (or “initial”) transmission budget TXB for each data stream such that communications within the network may be commenced. At this time, no robustness metrics are available. The manager 111A thus computes the first transmission budget for each data stream based on the initialization parameters, for example according to the following equation: TXBn = (DRn * NTC) I SUM(DR) [equation 1] wherein n is the index of the stream, such that TXBn is the transmission budget of a given stream, DRn is the data rate of the given stream, NTC is the network capacity, and SUM(DR) is the sum of the data rates of the N streams.
In step 604, the manager 111A sends each transmission budget to the corresponding stream controller 101A to 104A, which then develops a transmission scheme based on the received transmission budget, as described in further detail in relation with Figure 8.
In step 605, the manager 111A determines whether the robustness metrics RM have been received from the stream controllers 101A to 104A, that is to say, for all data streams.
If the response is no, the method loops at step 605.
If the response is yes, the method proceeds to step 606, wherein, based on the received robustness metrics, the manager 111A determines whether the target robustness has been achieved for all data streams, for example by determining whether the number of Full Copies transmitted is greater than or equal to the defined target robustness for the network 100.
If the response is yes, then the network bandwidth sharing between the various data streams is fair. In this case, the method proceeds to step 607, wherein the current transmission budget TXB allocation is kept or maintained for all streams, before returning to step 604. The unchanged budget TXB may be optionally re-sent to the stream controllers, so that they are assured that the budget has not changed and that the communication link with the manager 111A is still operative.
If the response is no, then the network bandwidth sharing between the various data streams is not fair. In this case, the method proceeds to step 608, wherein the manager 111A computes if possible, for all or at least some streams, a new transmission budget TXB based on the received robustness metrics. This step is performed with the aim of reaching, after one or several iterations, a fair bandwidth allocation between the various data streams. The present invention thus provides an adjustable bandwidth allocation method that is quickly reactive to mobility of the mobile devices and modifications of the MCS. A method of computing updated transmission budgets based on the received robustness metrics will be described in more detail with reference to the method of Figure 7.
If the output of the step 608 is unsuccessful, the method returns to step 602, wherein the static inputs may be adapted, such as by decreasing the application data rate for one or several streams.
If the output of the step 608 is successful, the method returns to step 604, and sends the new transmission budgets TXB to the streams.
The determination of whether step 608 was successful or unsuccessful will be described in more detail in relation with Figure 7.
The steps of the method 600 as described above are example steps of implementing the computation of the transmission budgets. However, some alternative steps may also be used for the present invention.
As an example, in a first alternative, when the number of Full Copies is greater than or equal to the target robustness (step 606), an additional step is performed of determining whether the differences between the number of Full Copies of each stream is less than a predetermined difference threshold (for example, less than three Full
Copies). If the response is Yes, then the data streams have similar numbers of Full Copies, and no further processing is done, that is to say, the transmission budgets do not need to be updated at this time. If the response is No, then at least some of the data streams have widely varying numbers of Full Copies, and further processing is performed in order to balance the number of Full Copies of all data streams.
As another example, in a second alternative, the method benefits from the use of “half duplex communications” and the symmetry of the radio paths used for both communication directions (for example to and from source 101). In this alternative, it is considered that for a given mobile device, the wireless communications will have the same behavior for both communication directions (for example, if the mobile device and the extenders have similar physical layers and antennas). In this case, a same transmission budget is provided to the data stream sources 101, 102, (for the transmission of streams 1 and 2, respectively) and a same transmission budget is provided to the data stream sources 103, 104 (for the transmission of streams 3 and 4, respectively). In this variant, the number of transmission budgets to compute and the number of robustness metrics messages are each reduced by two.
Figure 7 is a flow chart of a method 700 of calculating transmission budget updates according to one embodiment of the invention. The method 700 comprises the steps 701 to 710 and is implemented by the manager 111A. The method 700 discloses in further detail step 608 of method 600.
In step 701, the method starts.
In step 702, the manager 111A determines whether the minimum robustness has been achieved for all or at least some of the streams. In particular, it may determine whether, for all streams, the number of Full Copies is greater than or equal to the minimum robustness defined as a network rule for the wireless network 100.
If the response is yes, then the current transmission budget allocation allows the application data rate to be achieved for all data streams but does not allow the target robustness to be achieved for all data streams. In this case, the method proceeds to step 703.
If the response is no, then the current transmission budget allocation does not allow the application data rate to be achieved for at least one data stream. In this case, the update of the transmission budget algorithm was unsuccessful, and the method returns to step 602 of the method 600.
In step 703, the manager 111A identifies a first set of data streams with a number of Total Copies greater than the target robustness.
In step 704, the manager 111A computes, for the first set of identified data streams, a variable “Sum Exceeded Copies” or SEC by summing the number of copies above the target robustness, for example by means of the following equation: SEC = SUM(TC - Rtarget) [equation 3] wherein TC is the total copies, Rtarget is the target robustness, and the sum is performed for the streams of the first set of identified data streams.
In other words, the data streams having an excess of copies compared to the target robustness are identified by the manager 111A, and then the total excess of copies is computed as the variable SEC.
With reference the embodiment shown and described in relation with Figures 3 to 5, streams 1 and 2 are identified as belonging to the first set of data streams, wherein the number of total copies (3.5 each) is greater than the target robustness (2 Full Copies). The sum SEC is thus equal to the sum of (3.5-2) for stream 1 and (3.5-2) for stream 2, thus 3 exceeded copies between the identified streams.
In step 705, the manager 111A identifies a second set of data streams with a number of Total Copies lower than the target robustness.
In step 706, the manager 11A computes, for the second set of identified data streams, a variable “Sum Missing Copies” or SMC by summing the number of copies below the target robustness, for example by means of the following equation: SMC = SUM(Rtarget - TC) [equation 3] wherein TC is the total copies, Rtarget is the target robustness, and the sum is performed for the streams of the second set of identified data streams.
In other words, the data streams having missing copies compared to the target robustness are identified by the manager 111 A, and then the total number of missing copies is computed as the variable SMC.
Again with reference the embodiment shown and described in relation with Figures 3 to 5, streams 3 and 4 are identified as belonging to the second set of data streams, wherein the number of total copies (1.5 each) is less than the target robustness (2 Full Copies). The sum SMC is thus equal to the sum of (2-1.5) for stream 3 and (2-1.5) for stream 4, thus 1 missing copy between the identified streams.
In step 707, the manager 111A determines whether the sum of exceed copies is greater than or equal to the sum of missing copies.
If the response is no, then the target robustness cannot be achieved (no fair bandwidth allocation between all data streams) with the current network status. In this case, the method 700 of calculating transmission budget updates has been unsuccessful, and the method proceeds to step 602 of method 600. In order to achieve a fair bandwidth allocation, a modification of the network status needs to be performed. For example, the manager 111A may request that each stream controller lowers the data rate of its data stream, or ask a given stream controller to stop its data stream.
If the response is yes, then the target robustness can be achieved for all data streams by updating the transmission budget allocated to each data stream. In this case, the method proceeds to step 708.
In step 708, the sum SMC is converted into time units TUs based on the number of time units TUs used for a full copy for the fastest MCS (here, scheme MCS8). The following formula is used for this conversion:
SMT = SMC * FTU wherein SMT is the “Sum Missing Time units” and FTU is the number of time units used for transmitting a full copy for the fastest MCS.
As an illustrative example, with reference to Table 1, for the fastest MCS8, five time units are used for a full copy, and for the slowest MCS4, nine time units are used for a full copy.
The conversion of missing copies into time units is done based on the fastest MCS, that is to say, that using the fewest time units. The sum of missing time units is used to remove as carefully as possible some time units from the first identified data streams (those having excess copies) in order to avoid excessive degradation of their robustness.
In step 709, the sum SMT is removed from the first identified data streams, in proportion with the number of exceeded copies of each data stream. The updated transmission budgets of the data streams belonging to the first group can then be calculated, for instance by means of the following formulas:
Remove_TUi = SMT * [(TCi - Rtarget) I SEC)] UTXBi = TXBi - Remove_TUi wherein i is the index of the stream, Remove_TUi is the number of time units to be removed from the stream i, SMT is the sum of missing time units, TCi is the total copies of stream i, Rtarget is the target robustness, SEC is the sum of exceeded copies, UTXBi is the updated transmission budget of stream i, and TXBi is the current transmission budget of stream i.
In other words, the manager 111A computes the time units to be removed from each data stream having an excess of copies. Then, the transmission budget of each of these data streams is updated.
In step 710, a total of time units equal to the sum of missing time units SMT is re-distributed amongst the second identified data streams, in proportion with the number of missing copies for each data stream. The updated transmission budgets of the data stream belonging to the second group can then be calculated, for instance by means of the following formulas:
Add_TUi = SMT * [(Rtarget - TCi) I SMC)] UTXBi = TXBi + Add_TUi wherein i is the index of the stream, Add_TUi is the number of time units to be added to stream i, SMT is the sum of missing time units, Rtarget is the target robustness, TCi is the total copies of stream i, SMC is the sum of missing copies, UTXBi is the updated transmission budget of stream i, and TXBi is the current transmission budget of stream i.
In other words, the manager 111A computes the time units to be added to each data stream having missing copies. Then, the transmission budget of each of these data streams is updated.
By means of steps 709, 710 the time units removed from the data streams belonging to the first group are re-distributed to the data streams belonging to the second group.
In this case, the method 700 of calculating transmission budget updates has been successful, and the method proceeds to step 604 of method 600. A solution has thus been found to achieve a fair bandwidth allocation between all data streams with the current network status. The updated transmission budgets are thus sent to the stream controllers for their respective data streams.
The flow charts described in relation with Figures 6, 7 are merely one example of an algorithm executed by the manager 111A for calculating updated transmission budgets for the data streams. Some variants of this algorithm may be envisaged.
As example, in a variant embodiment, in step 708, an average of the sums SEC, SMC is used and converted into time units TUs based on the fastest MCS instead of based on the sum SMC. In this case, a variable MT (Mean TUs) is computed and used in the remaining steps 709, 710 instead of the sum SMT. Such an implementation may allow the algorithm to converge faster to a fair bandwidth allocation between all data streams.
Figure 8 is a flow chart of a method 800 of receiving and implementing transmission budgets according to one embodiment of the invention, as implemented by the stream controllers 101A to 104A. The method 800 comprises the steps 801 to 807.
In step 801, the method starts.
In step 802, the stream controller determines whether an initial transmission budget TXB has been received from the manager 111A. If the response is no, the method loops until a positive response is achieved. If the response is yes, the method proceeds to step 803.
In step 803, the stream controller processes the received budget TXB and transfers it to the associated data stream source, for example by removing any headers, reading appropriate bits, etc. of the received message, in order to retrieve the “useful information”, in particular the budget TXB. The data stream source then builds a communication scheme based on the budget TXB, such as described above, wherein the different data transmission rates of each route used by a user and an allocated transmission budget are taken into account, by estimating a ratio between the application data rate and the data rate transmission achievable over the route, combining the usable bandwidths over the different routes and by applying a complementary data sequence transmission, increasing the number of copies transmitted over the network.
Next, the data stream source applies the built communication scheme to send its data stream within the wireless network and computes robustness metrics.
In step 804, the stream controller determines whether robustness metrics are available from its data stream source. If the response is no, the method loops until a positive response is obtained. If the response is yes, then the method proceeds to step 805.
In step 805, the stream controller retrieves the robustness metrics RM from its data stream source, either directly, or in response to a request from the multi-stream manager.
In step 806, the stream controller sends the retrieved robustness metrics RM to the manager 111 A.
In step 807, the stream controller determines whether an updated budget TXB has been received from the manager 111 A. If the response is yes, then the manager 111A has computed a new budget TXB for at least some data streams in order to reach a fair (or at least fairer) bandwidth allocation between the data streams, and the method returns to step 803.
If the response is no, then the manager 111A has most likely not modified the budget TXB, at least for that data stream. In this case, the method returns to step 804.
Figure 9 schematically illustrates a device 900 implemented in the system 100, for example a source device 101, 102, 103, 104 or an extender 111, 112, 113, 114. A communication device 900 generally comprises: - a processor 901 (PROC), such as a micro-controller or a central processing unit CPU; - at least one Random Access Memory 902 (RAM); - a Read-Only Memory 903 (ROM); - a first communication interface 904 (I NT1); - a second communication interface 905 (INT2); - a link layer controller 906 (LINK); - a video application module 907 (VA); and - a communication bus 908 (CB).
The processor 901, memories 902, 903, first and second communication interfaces 904, 905, the link layer controller 906, and the video application module 907 exchange data and control information via the communication bus 908.
The first communication interface 904 may be a wireless communication interface such as specified by the standard 802.11 ad, enabling communications on a wireless network. In this case, the first communication interface 904 further comprises, in the case of a 60 GHz wireless communication interface, a physical layer module 909 (PHY1) and a medium access controller 910 (MAC1), and is coupled to an interface communication means 911 (CM1), here an antenna.
The physical layer module 909 is configured to process a signal supplied by the medium access controller 910 before it is sent out by the communication means 911, such as by modulation, frequency transposition and power amplification processes. The physical layer module 909 is also configured to process a signal received by the communication means 911 before it is supplied to the medium access controller 910.
The medium access controller 910 is configured to manage accesses to the communication means 911, as well as provide synchronization control, that is to say control synchronization relative to a beacon interval, scheduling transmissions via the communication means 911. More specifically, the medium access controller 910 is configured to schedule the beginnings and the ends of data emissions and receptions in the network by the communication means 911. The communication means 911 (antenna) is configured to support directional MultiGigabits data transfer by allowing a sector for transmitting and receiving signals to be selected.
The second communication interface 905 may be a wired communication interface such as specified by the Ethernet standard, enabling communications on a wired network, for example. In this case, the second communication interface 905 further comprises a physical layer module 912 (PHY2) and a medium access controller 913 (MAC2), and is coupled to an interface connection means 914 (CM2), for example a physical cable for wired interface.
The physical layer module 912 is configured to process a signal supplied by the medium access controller 913 before it is sent out by the communication means 914, for example ensuring that it conforms to the electrical specifications and access mode of the communication means 914. The physical layer module 912 is also configured to process a signal received by the communication means 914 before it is provided to the medium access controller 913.
The processor 901 is capable of executing instructions from the memory 902 pertaining to a computer program stored in an internal memory, such as the memory 903, or from an external memory (not shown), the computer programs (algorithms) described in further detail in relation with Figures 6 to 8.
The processor 901 controls the overall operation of the communication device 900, and acts as a data analyser unit to analyze the useful data payload (also referred as MAC payload) of a packet received from another communication device, received via the first or second communication interface.
The communication device 900 may acquire and reproduce an application over a link 915 (LNK) coupled to the video application module 907. The application may be a compressed video stream, file storage, a video camera output, or a display input for example. The video application module 907 is configured to convert application data into data packets able to be transmitted over one of the communication networks, and thus packetizes the application data and transmits it to the link layer controller LINK 906. Conversely, the video application module 907 is also configured to convert packets received from the link layer controller 906 into data applications to be sent to the application over the link 915. One preferred embodiment type of data packet managed by the video application module 907 is TCP/IP or UDP/IP video lossless compressed data with data rate around 100 to 400 Mbps.
The link layer controller 906 is configured to establish the link between the source and sink devices so that the packets may be sent and received between the video application module 907 and the communication interfaces 904 and/or 905. For a source device 101 to 104, the link layer controller 906 generates and transmits data packets as described in further detail in relation with the preceding figures. For an extender device 111 to 114, the link layer controller 906 decodes multi-copy data packets received from the first communication network 904 (60 GHz) and will either generate and analyze control packets or else forward data packets to a sink device. For a sink device, the link layer controller 906 will implement methods (algorithms) for data packet reception and control the transmission and reception of data packets.
Consequently, the communication device 900 may be a wireless and a wired device, comprising both the wireless communication interface and the wired communication interface. Alternatively, the communication device 900 may be a wired device or a wireless device, in which case the wireless communication interface or the wired communication interface are not present respectively.
For example, a source device 101, 103 that is a portable device (such as a cellular phone) may only comprise the wireless communication interface, a sink device 102, 104 that is a fixed device (for example a server) may only comprise the wired communication interface, and the extenders 111 to 114 may comprise both the wireless and the wired communication interfaces, in order to communicate with both the portable devices and the fixed devices. Furthermore, in the case of the extender devices 111 to 114, the video application module 907 may not be present, as there is no need to perform video applications.
The interfaces 904, 905, as well as the video application module 907 and their connections are thus shown in dotted lines as they are optional features.
It may be noted that in the preceding, the methods are preferably applied to all streams handled by the multi-stream manager. However, it may be envisaged that the bandwidth allocation described in relation with the present invention is applied to only a subset of the streams, for example a subset of privileged users, for example. Thus, the terms “all streams” should not necessarily be interpreted in a limitating manner.
Furthermore, though the multi-stream manager has been described in relation with the stream controllers, the stream controllers are not strictly necessary, as the multi-stream manager can communicate directly with the devices (mobile/fixed).
Although the present invention has been described hereinabove with reference to specific embodiments, the present invention is not limited to the specific embodiments, and modifications which lie within the scope of the present invention will be apparent to a person skilled in the art. In particular different features from different embodiments may be interchanged, where appropriate. Many further modifications and variations will suggest themselves to those versed in the art upon making reference to the foregoing illustrative embodiments, which are given by way of example only and which are not intended to limit the scope of the invention as determined by the appended claims.
Claims (28)
1. A method of determining transmission budgets for transmitting data streams in a communication system comprising a multi-stream manager and at least two mobile source devices, each mobile source device being configured to wirelessly transmit at least one data stream comprising a set of data packets, the method comprising the steps, by the multi-stream manager, of: receiving, from each mobile source device, a robustness metric relating to a number of copies of data packets of the data stream transmitted according to a transmission budget; and determining, for each data stream based on the received robustness metrics, an updated transmission budget comprising a number of time units for transmitting the data stream to achieve a target robustness corresponding to a target number of copies of data packets of each data stream to be transmitted by the mobile source devices.
2. The method according to claim 1, wherein: the transmission budget is related to a status of the communication system; and the updated transmission budget is related to a modified status of the communication system.
3. The method according to claim 2, wherein a status of the communication system relates to at least one of: a number of mobile source devices present; a data rate of each data stream; the number of time units available; a position of at least one mobile source device within the communication system; a presence or not of non-reflective obstacles within the communication system; or a Modulation and Coding Scheme associated with a radio path.
4. The method according to one of claims 1 to 3, further comprising a step of redistributing an excess number of time units of transmission budgets of data streams having robustness metrics above the target robustness to transmission budgets of data streams having robustness metrics below the target robustness.
5. The method according to claim 1, further comprising, prior to the receiving step, an initialization step comprising the steps of: determining, by the multi-stream manager, a status of the communication system; computing, by the multi-stream manager, the transmission budgets for the data streams; sending, by the multi-stream manager, the transmission budgets to the mobile source device; receiving, by the mobile source devices, the transmission budgets sent by the multi-stream manager; and building, by the mobile source devices, communication schemes based on the received transmission budgets.
6. The method according to one of claims 1 to 5, further comprising the steps, by the multi-stream manager, of: determining whether the target robustness was achieved for all data streams; and if the response is yes, then maintaining the transmission budget for all streams; otherwise, if the response is no, then determining the updated transmission budgets for at least some streams.
7. The method according to one of claims 1 to 6, wherein: a variable full copy relates to a number of entire copies of a set of data packets of a data stream transmitted by a mobile source device; a variable partial copy relates to a number of incomplete copies of the same set of data packets transmitted by a mobile source device; the robustness metric is related to the full copy and partial copy variables; the target robustness is a threshold related to the full copy variable; and a minimum robustness is a threshold related to the full copy variable.
8. The method according to one of claims 6 or 7, further comprising the steps of: comparing, by the multi-stream manager, the robustness metric with a minimum robustness; and adapting the status of the communication system if the robustness metric is inferior to the minimum robustness.
9. The method according to claim 8, wherein the step of adapting the status of the communication system comprises a step of decreasing an application data rate for at least one data stream.
10. The method according to claim 8, further comprising a step of setting the minimum robustness equal to one full copy, and the target robustness equal to two full copies.
11. The method according to one of claims 8 to 10, further comprising, if the minimum robustness was achieved for the streams, the steps by the multi-stream manager of: identifying a first set of data streams with a number of total copies greater than the target robustness, the total copies relating to the full copies and the partial copies transmitted by the mobile source device; computing, for the first set, a variable sum exceeded copies relating to a sum of the number of copies above the target robustness; identifying a second set of data streams with a number of total copies lower than the target robustness; computing, for the second set, a variable sum missing copies relating to a sum of the number of copies below the target robustness; and determining whether the sum exceeded copies is greater than or equal to the sum missing copies.
12. The method according to claim 11, further comprising the steps, by the multi-stream manager, of: adapting the status of the communication system if the sum exceeded copies is not greater than or equal to the sum missing copies; otherwise converting the sum missing copies into missing time units; removing the missing time units from the first set of data streams; re-distributing the missing time units removed from the first set of data streams amongst the second set of data streams; and calculating the updated transmission budgets.
13. The method according to one of claims 1 to 12, wherein: at least one mobile source device is configured to transmit at least one first data stream to at least one fixed source device over a half-duplex communication; the fixed source device is configured to transmit at least one second data stream to the at least one mobile source device over the half-duplex communication; and the method further comprises a step, by the multi-stream manager, of setting a same transmission budget for the at least first and second data streams.
14. A multi-stream manager configured to determine transmission budgets for transmitting data streams in a communication system further comprising at least two mobile source devices, each mobile source device being configured to wirelessly transmit at least one data stream comprising a set of data packets, wherein the multistream manager is configured to: receive, from each mobile source device, a robustness metric relating to a number of copies of data packets of the data stream transmitted according to a transmission budget; and determine, for each data stream based on the received robustness metrics, an updated transmission budget comprising a number of time units for transmitting the data stream to achieve a target robustness corresponding to a target number of copies of data packets of each data stream to be transmitted by the mobile source devices.
15. The manager according to claim 14, wherein: the transmission budget is related to a status of the communication system; and the updated transmission budget is related to a modified status of the communication system.
16. The manager according to claim 15, wherein a status of the communication system relates to at least one of: a number of mobile source devices present; a data rate of each data stream; the number of time units available; a position of at least one mobile source device within the communication system; a presence or not of non-reflective obstacles within the communication system; or a Modulation and Coding Scheme associated with a radio path.
17. The manager according to one of claims 14 to 16, further configured to redistribute an excess number of time units of transmission budgets of data streams having robustness metrics above the target robustness to transmission budgets of data streams having robustness metrics below the target robustness.
18. The manager according to claim 14, further configured to: determine a status of the communication system; compute the transmission budgets for the data streams; and send the transmission budgets to the mobile source devices so that the mobile source devices, upon reception of the transmission budgets, can build communication schemes based on the received transmission budgets.
19. The manager according to one of claims 14 to 18, further configured to: determine whether the target robustness was achieved for all data streams; and if the response is yes, then maintain the transmission budget for all streams; otherwise, if the response is no, then determine the updated transmission budgets for at least some streams.
20. The manager according to one of claims 14 to 19, wherein: a variable full copy relates to a number of entire copies of a set of data packets of a data stream transmitted by a mobile source device; a variable partial copy relates to a number of incomplete copies of the same set of data packets transmitted by a mobile source device; the robustness metric is related to the full copy and partial copy variables; the target robustness is a threshold related to the full copy variable; and a minimum robustness is a threshold related to the full copy variable.
21. The manager according to one of claims 19 or 20, further configured to: compare the robustness metric with a minimum robustness; and adapt the status of the communication system if the robustness metric is inferior to the minimum robustness.
22. The manager according to claim 21, further configured to decrease an application data rate for at least one data stream when adapting the status of the communication system.
23. The manager according to claim 21, further configured to set the minimum robustness equal to one full copy, and the target robustness equal to two full copies.
24. The manager according to one of claims 21 to 23, further configured to, if the minimum robustness was achieved for the streams: identify a first set of data streams with a number of total copies greater than the target robustness, the total copies relating to the full copies and the partial copies transmitted by the mobile source device; compute, for the first set, a variable sum exceeded copies relating to a sum of the number of copies above the target robustness; identify a second set of data streams with a number of total copies lower than the target robustness; compute, for the second set, a variable sum missing copies relating to a sum of the number of copies below the target robustness; and determine whether the sum exceeded copies is greater than or equal to the sum missing copies.
25. The manager according to claim 24, further configured to: adapt the status of the communication system if the sum exceeded copies is not greater than or equal to the sum missing copies; otherwise convert the sum missing copies into missing time units; remove the missing time units from the first set of data streams; re-distribute the missing time units removed from the first set of data streams amongst the second set of data streams; and calculate the updated transmission budgets.
26. The manager according to one of claims 14 to 25, further configured to set a same transmission budget for at least a first data stream and a second data stream, the first data stream relating to at least one data stream transmitted by at least one mobile source device to a fixed source device over a half-duplex communication, the second data stream relating to at least one data stream transmitted by the fixed source device to the at least one mobile source device over the half-duplex communication.
27. A communication system comprising a multi-stream manager according to one of claims 14 to 26 and at least two mobile source devices, each mobile source device being configured to wirelessly transmit at least one data stream comprising a set of data packets, the multi-stream manager being configured to determine transmission budgets for transmitting data streams in the communication system.
28. The communication system according to claim 27, further comprising stream controllers associated with each mobile source device, the stream controllers being configured to: send robustness metrics relating to a number of copies of data packets of the data stream transmitted according to a transmission budget; receive transmission budgets sent by the multi-stream manager; and build communication schemes based on the received transmission budgets.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1618229.7A GB2555446B (en) | 2016-10-28 | 2016-10-28 | Multi-stream management in a communication system with multiple mobile users |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1618229.7A GB2555446B (en) | 2016-10-28 | 2016-10-28 | Multi-stream management in a communication system with multiple mobile users |
Publications (3)
Publication Number | Publication Date |
---|---|
GB201618229D0 GB201618229D0 (en) | 2016-12-14 |
GB2555446A GB2555446A (en) | 2018-05-02 |
GB2555446B true GB2555446B (en) | 2019-09-11 |
Family
ID=57963560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB1618229.7A Active GB2555446B (en) | 2016-10-28 | 2016-10-28 | Multi-stream management in a communication system with multiple mobile users |
Country Status (1)
Country | Link |
---|---|
GB (1) | GB2555446B (en) |
-
2016
- 2016-10-28 GB GB1618229.7A patent/GB2555446B/en active Active
Non-Patent Citations (2)
Title |
---|
Eunkyung Kim & Young-Joo Suh; "A Rate Adaptive Transmission Opportunity for Fairness over IEEE 802.11e Wireless LANs", published; 2007; IEEE. Available from http://ieeexplore.ieee.org/document/4289418/ * |
IEEE Transactions on vehicular technology; vol. 59; 1st March 2010; IEEE SERVICE CENTER, PISCATAWAY, NJ, US; Arora A et al.; "Adaptive TXOP Allocation Based on Channel Conditions and Traffic Requirements in IEEE 802.11e Networks" pgs. 1087 - 1099 * |
Also Published As
Publication number | Publication date |
---|---|
GB2555446A (en) | 2018-05-02 |
GB201618229D0 (en) | 2016-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101133606B (en) | Hop-by-hop flow control in wireless mesh networks | |
TWI342132B (en) | Power control and resource management in orthogonal wireless systems | |
Pefkianakis et al. | SAMER: Spectrum aware mesh routing in cognitive radio networks | |
JP4667899B2 (en) | Method and system for scheduling a series of packets for transmission between a plurality of terminals in a single radio channel of a packet switched local area network | |
US6850540B1 (en) | Packet scheduling in a communications system | |
Himayat et al. | Multi-radio heterogeneous networks: Architectures and performance | |
JP4572200B2 (en) | Method for soft handover, base station and user equipment | |
Banchs et al. | Proportional fair throughput allocation in multirate IEEE 802.11 e wireless LANs | |
JP4280275B2 (en) | Scheduler for controlling transmitter / receiver, transmitter / receiver for mobile communication network, and method and computer program for operating them | |
JP3774464B2 (en) | Wireless communication system and base station apparatus thereof | |
US20060146874A1 (en) | Methods and media access controller for mesh networks with adaptive quality-of-service management | |
Cicconetti et al. | Bandwidth balancing in multi-channel IEEE 802.16 wireless mesh networks | |
JP2005278186A (en) | Method and system for adjusting load in radio communications system | |
WO2015065920A1 (en) | System and method for joint power allocation and routing for software defined networks | |
CN102428740A (en) | Apparatus And Methods For Multi-Radio Coordination Of Heterogeneous Wireless Networks | |
EP2374319A1 (en) | Multi-transport mode devices having improved data throughput | |
CN107210908B (en) | Method and system for rate adaptation of data traffic | |
CN110121212B (en) | Uplink transmission method for periodic URLLC service | |
Shojafar et al. | Improving channel assignment in multi-radio wireless mesh networks with learning automata | |
RU2763167C2 (en) | Systems and methods for reducing interference level within actively used frequency range | |
TWI407810B (en) | Wireless network | |
US20090213731A1 (en) | Use of neuropeptide y (npy) and agonists and antagonists thereof for tissue regeneration | |
TW201624975A (en) | Wireless device and method for setting packet de-queue scheduling of packet queue device | |
UA72802C2 (en) | Method and device for varying data rate in a communication channel | |
GB2555446B (en) | Multi-stream management in a communication system with multiple mobile users |