The invention refers to a method for data transmission in a mesh mode of a wireless communication network as well as to a network node and a corresponding communication network.
Wireless communication networks are often operated in a so-called mesh node in which data packets are transmitted hop by hop between neighboring network nodes in a decentralized manner. In such an operation mode, QoS support (QoS=Quality of Service) is usually handled on a packet-by-packet basis.
The wireless communication standard IEEE 802.16 (IEEE=Institute of Electrical and Electronic Engineers) is a broadband wireless access standard enabling wireless communication between nodes based on a point-to-multipoint mode as well as on a mesh mode. The point-to-multipoint mode defines several QoS parameters for different service classes based on bandwidth requirements for data streams. Contrary to that, the mesh mode in this standard provides QoS only for single data packets, e.g. by assigning a priority to the MAC protocol data units to be transmitted in the mesh mode.
According to various embodiments, a method for data transmission in a mesh mode of a communication network enabling an enhanced QoS support can be provided.
According to an embodiment, a method for data transmission in a mesh mode of a wireless communication network, the mesh mode enabling a decentralized transmission of data packets within data streams via communication links from one node to another node in the communication network, may comprise: —classifying data streams in service classes specifying quality requirements for the data streams of the respective service class; —performing bandwidth reservations for data streams between nodes of a communication link, each bandwidth reservation being dependent on the service class of the data stream to be transmitted via the communication link and comprising the exchange of control messages for reserving time slots for transmitting the data stream of the service class in subsequent data time frames via the communication link; —scheduling the transmission of data streams via the communication link in dependency on the service classes of the data streams.
According to a further embodiment, the data can be transmitted as MAC protocol data units on the MAC layer in the mesh mode of the standard IEEE 802.16. According to a further embodiment, the control messages can be MAC management messages, particularly MSH-DSCH messages. According to a further embodiment, a service class can be mapped to values of one or more fields in the mesh connection identifier of a MAC protocol data unit or to values of at least one of the fields Reliability, Priority/Class, and Drop Precedence. According to a further embodiment, the bandwidths of the data streams can be estimated and the bandwidth reservations depend on the estimated bandwidths of the data streams. According to a further embodiment, the service classes may comprise a first service class for real-time data streams having variablesized data packets issued periodically and wherein at least one time slot per communication link is reserved for all subsequent data time frames in order to transmit control messages of bandwidth reservations for data streams of the first service class. According to a further embodiment, the service classes may comprise a first service class for real-time data streams having variable-sized data packets issued periodically and wherein at least one time slot per communication link is reserved for all subsequent data time frames in order to transmit control messages of bandwidth reservations for data streams of the first service class, and the first service class may correspond to the rtPS service class in the PMP mode of the standard IEEE 802.16. According to a further embodiment, the bandwidth reservation for data streams of the first service class may be valid for time slots of a finite number of subsequent data time frames. According to a further embodiment, the service classes may comprise a second service class specifying real-time data streams having fixed-sized data packets issued periodically. According to a further embodiment, the service classes may comprise a second service class specifying real-time data streams having fixed-sized data packets issued periodically, and the time slots may be reserved for data streams of the second service class are at least partially usable for transmitting at least one of control messages and data streams of the first service class. According to a further embodiment, the service classes may comprise a second service class specifying real-time data streams having fixed-sized data packets issued periodically, and the second service class may correspond to the UGS service class of the PMP mode of the standard IEEE 802.16. According to a further embodiment, the control messages of the bandwidth reservation for data streams of the second service class can be exchanged in control time frames. According to a further embodiment, the bandwidth reservation for data streams of the second service class may be valid for time slots of all subsequent data time frames in the future. According to a further embodiment, the service classes further may comprise at least one of a third service class specifying non-real-time data streams having variable-sized data packets with a minimum data rate requirement and a fourth service class specifying non-real-time data streams without any data rate requirement. According to a further embodiment, the service classes further may comprise at least one of a third service class specifying non-real-time data streams having variable-sized data packets with a minimum data rate requirement and a fourth service class specifying non-real-time data streams without any data rate requirement, and the third service class may correspond to the nrtPS service class of the PMP mode of the standard IEEE 802.16 and/or the fourth service class corresponds to the BE service class of the PMP mode of the standard IEEE 802.16. According to a further embodiment, the bandwidth reservations for data streams of at least one of the third and fourth service class can be valid for time slots of a finite number of subsequent data time frames. According to a further embodiment, the control messages of the bandwidth reservations for data streams of at least one of the third and fourth service class may be exchanged in control time frames. According to a further embodiment, the service classes may comprise a first service class for real-time data streams having variable-sized data packets issued periodically and at least one time slot per communication link may be reserved for all subsequent data time frames in order to transmit control messages of bandwidth reservations for data streams of the first service class, the service classes may comprise a second service class specifying real-time data streams having fixed-sized data packets issued periodically, and the transmission of the data streams may be scheduled by a weighted fair queuing scheduler such that the second and first and third and fourth data streams are served with weights in decreasing order. According to a further embodiment, the service classes may comprise a first service class for real-time data streams having variable-sized data packets issued periodically and wherein at least one time slot per communication link is reserved for all subsequent data time frames in order to transmit control messages of bandwidth reservations for data streams of the first service class, the service classes may comprise a second service class specifying real-time data streams having fixed-sized data packets issued periodically, and wherein data streams of the first and second service classes are allowed to borrow bandwidth reserved for data streams of the fourth service class but not for data streams of the third service class. According to a further embodiment, the control messages in a data time frame can be served with higher priority than the data streams in the data time frame. According to a further embodiment, the data streams can be classified based on information in the network layer or in the IP layer. According to a further embodiment, the control messages exchanged during bandwidth reservation may comprise messages for requesting, granting and grant-confirming reserved time slots and a node having sent a control message for granting reserved time slots and not receiving a corresponding control message for grant-confirming within a predetermined time may send a grant revoke message for revoking the reservation of the reserved time slots. According to a further embodiment, a node not receiving data from another node in already reserved timeslots within a pre-defined time may send a grant revoke message for revoking the reservation of the reserved timeslots. According to a further embodiment, the grant revoke message may specify the time slots granted by the node in combination with a cancelling instruction. According to a further embodiment, the control messages exchanged during bandwidth reservation may comprise messages for requesting, granting and grant-confirming reserved time slots and a node having sent a control message for granting reserved time slots and not receiving a corresponding control message for grant-confirming within a predetermined time may send a grant revoke message for revoking the reservation of the reserved time slots, and the grant revoke message can be specified by a revoke bit in the grant information element of the MSH-DSCH message of the standard IEEE 802.16.
According to another embodiment, a Network node for data transmission in a mesh mode of a wireless communication network, the mesh mode enabling a decentralized transmission of data packets within data streams via communication links from the network node to other nodes in the communication network, may comprises: —means for classifying data streams arriving in the network node in service classes specifying quality requirements for data streams of the respective service class; —means for managing bandwidth reservations for data streams, said bandwidth reservations being performed between the network node and neighboring nodes of a communication link, wherein each bandwidth reservation is dependent on the service class of the data stream to be transmitted via the communication link and comprising the exchange of control messages for reserving time slots for transmitting the data stream of the service class in subsequent data time frames via the communication link; —means for scheduling the trans-mission of data streams from the network node via the communication link in dependency on the service classes of the data streams.
According to a further embodiment of the network node, the network node is adapted for performing a method as described above.
According to yet another embodiment, a communication network may comprise several network nodes as described above.
Various embodiments will now be described with respect to the accompanying drawings, wherein:
The method according to various embodiments refers to a mesh mode of operation in a wireless communication network. The mesh mode enables the decentralized transmission of data packets within data streams via communication links from one node to another node in the communication network. This means that communication links are defined decentrally between neighboring nodes in the network. According to various embodiments, data streams are classified in service classes specifying quality requirements for the data streams of the respective service class. The term “quality” refers to any parameters which may be used to specify the quality of a data stream, e.g. traffic priority, minimum reserved rate, tolerated jitter, maximum sustained rate, maximum traffic burst, maximum latency and scheduling service. Contrary to a packet-by-packet QoS support, the quality requirements are now defined for data streams and, thus, particularly include bandwidth requirements which cannot be assigned to a single data packet. In order to handle such quality requirements, bandwidth reservations for data streams are performed between nodes of a communication link, each reservation being dependent on the service class of the data stream to be transmitted via the communication link and comprising the exchange of control messages for reserving time slots for transmitting the data stream of the service class in subsequent data time frames via the communication link. Furthermore, the transmission of data streams is scheduled in dependency on the service classes of the data streams.
The various embodiments enable an efficient handling of data stream based service classes by making bandwidth reservations for time slots in data time frames (i.e. in time frames used for transmitting data rather than control messages) dependent on the service class of the data stream. Furthermore, the transmission schedule of the data streams is also depending on the data stream based service classes.
In an embodiment, the data is transmitted as MAC protocol data units on the MAC layer in the mesh mode of the standard IEEE 802.16. This standard is a well-known wireless communication standard which is specified in document [1]. The whole disclosure of this document is incorporated by reference in this application. In the context of this standard, the bandwidth reservations correspond to a three-way handshake comprising messages for request, grant and grant-confirmation for reserving minislots, said minislots being time slots in the sense of claim 1. The control messages being exchanged in bandwidth reservations are preferably the so-called MAC management messages according to the IEEE 802.16 standard, particularly the so-called MSH-DSCH messages which are used for coordinated and/or uncoordinated scheduling in this standard.
In another embodiment using the standard IEEE 802.16, a service class is mapped to values of one or more fields in the mesh connection identifier of a MAC Protocol data unit, particularly to values of the fields Reliability and/or Priority/Class and/or Drop Precedence.
In another embodiment of the method, the bandwidths of the data streams are estimated and the bandwidth reservations depend on the estimated bandwidths of the data streams.
In an embodiment, the service classes comprise a first service class for real-time data streams having variable-sized data packets issued periodically, wherein at least one time slot per communication link is reserved for all subsequent data time frames in order to transmit control messages of bandwidth reservations for data streams of the first service class. This embodiment takes into account that real-time data streams having variable-sized data packets require an immediate reservation for bandwidth. Such an immediate reservation is ensured by permanently reserving (i.e. for all subsequent data time frames in the future) time slots for control messages of bandwidth reservations for data streams belonging to this service class. As such reservations are made in data time frames, control messages for the first service class are transmitted in data time frames and not in control time frames which are normally used for control messages.
In an embodiment using the standard IEEE 802.16, the first service class corresponds to the so-called rtPS service class (rtPS=real-time polling service) in the PMP mode (PMP=point-to-multipoint) of the standard IEEE 802.16. Hence, this embodiment enables the use of the rtPS service class originally defined for the PMP mode in the mesh mode of the standard IEEE 802.16.
In another embodiment, the bandwidth reservation for data streams of the first service class is valid for time slots of a finite number of subsequent data time frames. This ensures that bandwidth is not reserved for a long term, thus lowering the risk of collisions which may occur when control messages for bandwidth reservations are transmitted within data time frames as it is the case for the control messages of bandwidth reservations for data streams of the first service class.
In another embodiment, the service classes comprise a second service class specifying real-time data streams having fixed-sized data packets issued periodically. Preferably, the time slots being reserved for data streams of the second service class are at least partially usable for transmitting control messages and/or data streams of the first service class. I.e., to ensure a minimum delay, traffic from the first service class can borrow bandwidth reserved for traffic of the second service class. Traffic of the second service class can then borrow bandwidth back from the reserved bandwidth for the first service class as soon as the bandwidth reservation has been terminated.
In an embodiment, the second service class corresponds to the UGS service class (UGS=unsolicited grant service) of the PMP mode of the standard IEEE 802.16, thus enabling a seamless coexistence of this service class in both the mesh mode and the PMP mode of the standard IEEE 802.16.
In an embodiment, the control messages of the bandwidth reservations for data streams of the second service class are exchanged in control time frames provisioned for the exchange of such control messages. In the context of the IEEE standard 802.16, these control time frames are designated as control subframes.
In another embodiment, the bandwidth reservations for data streams of the second service class are valid for time slots of all subsequent data time frames.
In another embodiment, the service classes comprise a third service class specifying non-real-time data streams having variable-sized data packets with a minimum data rate requirement and/or a fourth service class specifying non-real-time data streams without any data rate requirement. Preferably, when using the standard IEEE 802.16, the third service class corresponds to the nrtPS service class (nrtPS=non-real-time polling service) of the PMP mode of the standard IEEE 802.16 and/or the fourth service class corresponds to the BE service class (BE=best effort) of the PMP mode of the standard IEEE 802.16. Preferably, the bandwidth reservation for the third and/or fourth service class is valid for time slots of a finite number of subsequent data time frames. This ensures that time slots are not blocked permanently for those service classes. Furthermore, the control messages of the bandwidth reservations for data streams of the third and/or fourth service class are preferably exchanged in control time frames.
In an embodiment using all of the above defined first, second, third and fourth service classes, the data streams are scheduled by a weighted fair queuing scheduler such that the second and the first and the third and the fourth data streams are served with weights in decreasing order, i.e. the second data stream has a higher priority than the first data stream and the first data stream has a higher priority than the third data stream and the third data stream has a higher priority than the fourth data stream.
Preferably, data streams of the first and second service classes are allowed to borrow bandwidth reserved for data streams of the fourth service class but not for data streams of the third service class.
In another embodiment, the control messages in a data time frame are served with higher priority than the data streams in the data time frame.
In another embodiment, the data packets are classified based on information in the network layer, particularly in the IP layer.
In an embodiment, the control messages exchanged during bandwidth reservation comprise messages for requesting, granting and grant-confirming reserved time slots wherein a node having sent a control message for granting reserved time slots and not receiving a corresponding grant-confirmation within a predetermined time sends a grant revoke message for revoking the reservation of the reserved time slots. This mechanism enables the release of blocked time slots in case of a failed bandwidth reservation.
In another embodiment, already reserved time slots may be cancelled later on. To do so, a node which does not receive data in already reserved timeslots within a predefined time sends a grant revoke message for revoking the reservation of the time slots.
The above defined grant revoke message needs not to specified separately. Particularly, it just can be a message including the granted time slots in combination with a cancelling instruction. This cancelling instruction particularly corresponds to a persistence value 0. This persistence value will be described later on in the detailed description. Nevertheless, when using the IEEE standard 802.16, the grant revoke message may be specified by a revoke bit in the grant information element of the MSH-DSCH message of this standard.
Besides the above method, various embodiments relate to a network node for data transmission in a mesh mode of a wireless communication network, the mesh mode enabling a decentralized transmission of data packets within data streams via communication links from the network node to other nodes in the communication network. The network node comprises the following components:
The aforementioned network node is preferably adapted to perform any of the aforementioned methods for data transmission. Furthermore, the various embodiments refer to a network comprising several of the aforementioned network nodes.
In the following, the various embodiments are explained based on the IEEE standard 802.16 which is a wireless communication standard supporting metropolitan area networks, rural networks or enterprise wide networks. This standard specifies two modes of operation. The first mode is shown in
The IEEE standard 802.16 has an extensive support for QoS (QoS=Quality of Service) at the MAC layer (MAC=Medium Access Control). In addition, the IEEE standard 802.16 outlines a set of physical layer specifications which can be used with a common MAC layer. This flexibility allows the network to operate in different frequency bands based on the users' needs and the corresponding regulations.
Various embodiments as explained in the following refer to an implementation of the QoS support provided in the PMP mode of IEEE 802.16 to the MESH mode. For better understanding, the principles of the QoS support in the 802.16 PMP mode will be explained first before describing its extension to the MESH mode according to various embodiments.
Quality of Service is provisioned in the PMP mode on a per-connection basis. All data either from a subscriber station SS to the base station BS or vice versa is transmitted within the context of a connection, identified by the connection identifier CID specified in the MAC protocol data unit PDU. The CID is a 16-bit value that identifies a connection to equivalent peers in the MAC at both the base stations BS as well as the subscriber stations SS. It also provides a mapping to a service flow identifier SFID. This identifier defines the QoS parameters which are associated with a given connection. The SFID is a 32-bit value and is one of the core concepts of the MAC protocol. It provides a mapping of the QoS parameters for a particular data entity.
Typical service parameters associated with a service flow are traffic priority, minimum reserved rate, tolerated jitter, maximum sustained rate, maximum traffic burst, maximum latency, and scheduling service. The base station BS may optionally create a service class which is a name given to a particular set of QoS parameters and which can be considered as a macro for specifying a set of QoS parameters typically used. The value for the scheduling service parameter in the QoS parameter set specifies the data scheduling service associated with a service flow. The IEEE 802.16 standard currently defines the following data scheduling service classes: unsolicited grant service (UGS), real-time polling service (rtPS), non-real-time polling service (nrtPS) and best effort (BE). According to various embodiments described later on, these service classes in the PMP mode are supported by the MESH mode as well.
The UGS service class supports real-time data streams consisting of fixed-sized data packets issued periodically. The rtPS service class supports data streams having variable-sized data packets issued at periodic intervals. The nrtPS service class is designed to support delay-tolerant streams of variable-sized data packets for which a minimum data rate is expected. The data traffic based on the BE service class is serviced on a space-available basis without any bandwidth requirements. For service flows associated with the scheduling service class UGS, the base station BS allocates a static amount of bandwidth to the subscriber station SS in every frame. The amount of bandwidth granted by the basis station BS for this type of scheduling service depends on the maximum sustained traffic rate of the service flow. For rtPS service flows, the base station BS offers real-time, periodic, unicast request opportunities meeting the flow's requirements and allowing the subscriber stations SS to request a grant of the desired size. For nrtPS, the base station BS—similar to the case of a rtPS service flow—offers periodic request opportunities. However, those request opportunities are not real-time and the subscriber station SS can also use contention based request opportunities in addition to the unicast request opportunities for a nrtPS service flow as well as the unsolicited data grant types. For a BE service flow, no periodic polling opportunities are granted. The service station SS uses contention request opportunities, unicast request opportunities and unsolicited data grant burst types. Summarized, the PMP mode of the IEEE standard 802.16 provides a base station BS with efficient means to manage the bandwidth optimally and at the same time satisfy the requirements of the individual admitted service flows.
According to the state of the art, there also exists a QoS support in the 802.16 MESH mode. However, this support is provisioned on a packet-by-packet basis and does not enable the definition of bandwidth requirements for corresponding service classes. However, according to the embodiment as described in the following, the above mentioned service classes UGS, rtPS, nrtPS and BE are also included in the MESH mode, thus enabling a seamless integration of both modes in one communication network of the IEEE standard 802.16.
Before going into detail, basic concepts of the frame structure based on TDD (TDD=Time Division Duplexing) supported in the MESH mode is described. In the MESH mode, the time axis is divided into frames of a specified length decided by the MESH base station BS. Each frame is in turn composed of a control subframe and a data subframe. The control subframe corresponds to the control time frame as defined in the claims and the data subframe corresponds to the data time frame as described in the claims. Detailed explanations with respect to the structure of those subframes can be found in document [1]. The control subframe is divided into a number of transmission opportunities and the data subframe is divided into a number of minislots which are time slots in the meaning of the claims. The MESH mode supports so-called coordinated centralized scheduling as well as coordinated and uncoordinated distributed scheduling for allocating bandwidth for transmission on individual links in the MESH mode of operation. The MESH configuration specifies a maximum percentage of minislots in the data subframe allocated to centralized scheduling. The remainder of the data substructure as well as any minislots not occupied by the current centralized schedule can be used for distributed scheduling.
In centralized scheduling, the bandwidth is managed in a more centralized manner than when using distributed scheduling. Thus, although the computation of the actual transmission schedule is done by the individual nodes independently, the grants for each individual node are controlled centrally by the base station BS in coordinated centralized scheduling. The base station BS uses centralized scheduling to manage and allocate bandwidth for transmissions up and down a scheduling tree from the base station BS to the subscriber station SS up to a specified maximum hop limit. The routing tree is advertised by the base station BS periodically using MSH-CSCF messages. The base station BS in the mesh network gathers resource requests from individual subscriber stations SS within the maximum hop range. Each subscriber station SS in the scheduling tree accumulates the requests from its children and adds to it its own requirement for uplink bandwidth before forwarding the request upwards along the scheduling tree (uplink here implies transmission along a link in the scheduling tree from a subscriber station SS to another subscriber station SS that is closer to the base station, downlink here refers to a transmission down the tree in the opposite direction). The base station BS collects all the requests and transmits the grants to its children. The grants for each individual subscriber station SS are then propagated down the scheduling tree hop by hop. Nodes use so-called MSH-CSCH messages to propagate requests and grants for centralized scheduling.
Distributed scheduling is used by a node in the wireless network to reserve bandwidth for transmission on a link to any other neighboring nodes. Nodes use distributed scheduling to coordinate their transmission in their two-hop neighborhood. The nodes use a distributed election algorithm to compete for transmission opportunities in the schedule control subframe. A pseudo-random function (the MESH election algorithms is specified in the 802.16 standard), with the nodes' identifiers of the competitors and the transmission opportunity number as input determines the winning node. The losing nodes compete for the next DSCH transmission opportunity until they win. The parameter XmtHoldoffExponent of each node determines the magnitude of transmission opportunities a node has to wait after sending a distributed scheduling message named MSH-DSCH in a won transmission opportunity. Details as to the computation of the hold off period can be found in document [1].
When using coordinated distributed scheduling, the nodes broadcast their individual schedules (available bandwidth resources, bandwidth requests, and bandwidth grants) using transmission opportunities won by the node in the schedule control subframe. The MESH election algorithm ensures that, when a node wins a transmission opportunity in the schedule control subframe for transmission, no other node in its two-hop neighborhood will simultaneously transmit. Thus, it is ensured that the scheduling information transmitted by a node in the schedule control subframe can be received by all of the neighboring nodes. To enable a conflict free schedule to be negotiated, each node maintains the status of all individual minislots in the frame. Summarized, the schedule negotiated using coordinated distributed scheduling is such that it does not lead to conflict with any of the existing data transmission schedules in the two-hop neighborhood of the transmitting node.
Contrary to the coordinated scheduling, nodes can also establish their transmission schedule by directed uncoordinated requests and grants between two nodes. This type of scheduling is called uncoordinated distributed scheduling. In contrast to coordinated distributed scheduling requests and grants which are sent in the schedule control subframe, the uncoordinated requests and grants are sent in the data subframe. When a node wants to reserve slots for transmission to a neighbor node based on uncoordinated distributed scheduling, they exchange scheduling information using time slots in the data subframe reserved for transmissions between the two nodes. Nodes individually need to ensure that their scheduled transmissions do not cause collisions with the data as well as with control traffic scheduled by any other node in their two-hop neighborhood. Transmissions in the data subframe using slots reserved for transmission to a particular neighbor may not be received by all the other neighbors due to other simultaneous transmissions. Thus, the schedule negotiated using the data subframe in uncoordinated scheduling may not be known to all the neighbors of the nodes involved in the uncoordinated schedule. The neighbors of these nodes may then schedule conflicting transmissions due to lack of the above uncoordinated schedule information. Hence, uncoordinated scheduling may lead to collisions and is not suitable for long term bandwidth reservations. Nodes use the above mentioned MSH-DSCH messages to transmit the bandwidth requests and grants and to negotiate schedules when using both coordinated as well as uncoordinated distributed scheduling.
The QoS architecture according to various embodiments as described in the following uses distributed scheduling in order to map the service classes in the PMP mode to the MESH mode. Nevertheless, the various embodiments are easily extensible and can be adapted for use in centralized scheduling. The architecture of the embodiment as described hereinafter uses a combination of coordinated distributed scheduling and uncoordinated distributed scheduling to efficiently manage the bandwidth in the network and the mesh node.
After classification of the data received from the network layer NL in the packet classifier PC, the packets are sent to a data management module DMM shown in
The data management module DMM can deploy sophisticated queuing and scheduling algorithms internally in order to meet the QoS requirements of the different types of traffic in its queues. For example, a simple weighted fair queuing (WFQ) scheduler which is well known in the prior art may be used. This simple scheduler services the MSH-DSCH queue including the MAC management messages M1 with a higher priority than the data queues Q1 to Q4. Within the data queues, the WFQ scheduler serves the UGS queue Q1, the rtPS queue Q2, the nrtPS queue Q3 and the BE queue Q4 with weights in decreasing order. The data management module DMM can use an admission control policy and a QoS scheduling scheme similar or identical to the one described in document [2] to meet hard per-hop QoS requirements for each kind of traffic. The whole disclosure of document [2] is incorporated by reference in this application. Thus, the data management module DMM is responsible for handling all transmissions during the data subframe. In addition, this module keeps a running estimate of the incoming data rate in each queue and, based on the policy to be implemented, notifies a bandwidth management module BMM of the current bandwidth requirements for each class of traffic. To do so, corresponding bandwidth demands BWD are sent from the data management module DMM to the bandwidth management module BMM.
The bandwidth management module BMM interacts with a MAC management module MMM handling all kinds of MAC management messages. Particularly, the module MMM handles MAC management messages received from the lower layer. MAC management messages are used for performing a so-called three-way handshake including a request, a grant and a grant-confirmation. This three-way handshake is used for reserving time slots in the data subframe for data transmission. To do so, a node sends a request for time slots to another node, the other node grants the request and, upon grant-confirmation, the respective time slots are reserved for data transmission of specific data packets. For example, if a MAC management message corresponds to a bandwidth request or a grant or a grant-confirmation, the MAC management module MMM updates the respective internal tables and extracts the relevant parameters of the message, i.e. the information elements IEs contained in the message. The structure of the MAC management messages and their information elements IEs will be described in more detail later on. The parameters extracted by the MAC management module MMM are sent to the bandwidth management module BMM for further processing when required. In addition, the MAC management module MMM is also responsible for processing MAC management messages received during the network control subframe which is indicated as CS in
In the QoS architecture shown in
The field IE includes four subfields, namely the field SIE specifying the MSH-DSCH_Scheduling_IEs and having variable bit length, the 20-bit field RIE specifying the MSH-DSCH_Request_IEs, the 32-bit field AIE specifying the MSH-DSCH_Availablity_IEs and the 40-bit field GIE specifying the MSH-DSCH_Grant_IEs. Those fields are well known and used for defining how many slots are requested from one node, how many slots are available in one node and how many slots are granted in a node in response to a request. The subfields SIE, RIE, AIE and GIE are used for performing the well-known three-way handshake for coordinated and uncoordinated distributed scheduling in the MESH mode. The field SIE indicates the minislots to be scheduled and the field is used when the coordination flag CF is set to 0. The field RIE comprises for each request the corresponding MSH-DSCH_Request_IEs. Hence, this field can be written as a loop as follows:
For (i=0; i<No_Request; ++i)
No_Request refers to the number of requests. The field RIE comprises four subfields. Those subfields are an 8-bit field LID for Link ID, an 8-bit field DL for Demand Level, a 3-bit field for Demand Persistence and a 1-bit field RS for Reserved.
The value of the field DP indicates for how many subsequent data subframes minislots are to be reserved and the values of this field are associated with reserved minislots as follows:
0=cancel a reservation performed previously for minislots in subsequent data frames
1=reserve minislots for a single subsequent data subframe
2=reserve minislots for 2 subsequent data subframes
3=reserve minislots for 4 subsequent data subframes
4=reserve minislots for 8 subsequent data subframes
5=reserve minislots for 32 subsequent data subframes
6=reserve minislots for 128 subsequent data subframes
7=good until cancelled or reduced, i.e. reserve minislots for all future subsequent data subframes until a request for cancelling or reducing the reservation is received.
The field AIE indicates for a number of availabilities transmitted in the message the corresponding available minislots. Hence, the field AIE can be written as a loop as follows:
For (i=0; i<No_Availability; ++i)
No_Availability corresponds to the number of availabilities. The field AIE is divided in 6 subfields. Those subfields include an 8-bit field SFN referring to the Start Frame Number, an 8-bit field MS referring to the Minislot Start, a 7-bit field MR referring to the Minislot Range, a 2-bit field DI referring to the Direction, a 3-bit field PE referring to the Persistence and a 4-bit field CH referring to the Channel.
The 2-bit field DI indicates the availability status of the minislot range indicated by the field MR. The meaning of the values of the field DI are as follows:
0=minislot range is unavailable
1=available for transmission in this minislot range
2=available for reception in this minislot range
3=available for either transmission or reception
The field GIE includes for each grant the corresponding granted minislots. Hence, this field can be written as a loop as follows:
For (i=0; i<No_Grant; ++i)
No_Grant refers to the number of grants. The field GIE includes seven subfields. Those subfields are an 8-bit field LID′ for the Link ID, an 8-bit field SFN′ for a Start Frame Number, an 8-bit field MS′ for Minislot Start, an 8-bit field MR′ for Minislot Range, a 1-bit field DI′ for Direction, a 3-bit field PE′ for Persistence and a 4-bit field CH′ for Channel.
The bandwidth management module BMM shown in
In the PMP mode, the rtPS scheduling service is meant to support real-time data streams consisting of variable-sized data packets arriving periodically. To support such a service in the MESH mode, one requires opportunities for requesting bandwidth in real-time. Using coordinated distributed scheduling a node, however, has to compete with other nodes in its two-hop neighborhood for transmission opportunities in which a bandwidth request can be sent. Nodes using distributed scheduling need to complete the three-way request/grant/grant-confirmation handshake procedure before data can be transmitted using the reserved bandwidth. It is thus not possible to complete the handshake in real-time if only coordinated distributed scheduling is used and the topology is highly connected. Hence, according to one embodiment, the QoS architecture reserves at least a single slot on each link to a neighbor with persistence 7 (i.e. the slot is available for transmission all the time) in order to ensure an upper bound of the handshake delay. This slot can then be used for transmitting MSH-DSCH messages containing requests and grants for the rtPS service class in the data subframe. This ensures that the handshake completes in the next few frame irrespective of the topology or the value of XmtHoldoffExponent. Hence, as can be seen from
For the nrtPS class, periodic request opportunities which need not be in real-time are required. nrtPS traffic is moreover delay tolerant. Thus, in an embodiment, an estimator to find out the amount of minislots required per frame is used and requests are sent with a persistence smaller than 7. As a result, the exact amount of bandwidth required for transmitting nrtPS data can be reserved periodically (using transmission opportunities in the schedule control subframe). The BE service class is very similar to the nrtPS service class with the difference that it is served on a space-available basis. Thus, for BE the estimated number of minislots is reserved with a persistence less than 7. The difference to nrtPS is that traffic belonging to UGS and rtPS are allowed to borrow bandwidth reserved for BE traffic.
Every request has to be accompanied by a set of MSH-DSCH_Availablity_IEs as shown in
Assume that a single slot for all future frames is needed, then all availability information elements with persistence less than 7 are not able to satisfy this request. Now consider MSH-DSCH_Availablity_IEs, all having one minislot and persistence 7, however a different value for the direction field DI shown in
On receiving a request, the bandwidth management module BMM is also responsible for processing the request to find a mutually suitable set of slots for a grant which is able to satisfy the request. The internal structure of a grant information element MSH-DSCH_Grant_IE is shown in
A three-way handshake including request, grant and grant-confirmation may fail after the grant has been sent. Nodes in the neighborhood of the node sending the grant update the status of the minislot range being granted as being in use. Thus, these slots are no longer available for transmission at the nodes receiving the grant. If the grant is sent with persistence 7 (good until cancelled) these slots will not be available for transmission for all frames in the future at the nodes which receive the grant. When the handshake now fails, the grant-confirmation will not be sent, and hence the slots will never be used for data transmission. Despite the fact that the slots will not be used, the IEEE 802.16 standard currently lacks a mechanism to indicate that the grant sent previously has become invalid (due to failure of the handshake). Thus, these slots are lost forever. To avoid the above phenomenon, a soft-state reservation mechanism can be used. However, in an embodiment, an explicit revoke of the grant is implemented in the MSH-DSCH-message. Particularly, the MSH-DSCH_Grant_IE as indicated in the field GIE in
The use of a revoke bit is optional. It is also possible to free granted timeslots by the use of a grant revoke message not specifying a revoke bit. This grant revoke message is just a copy of the grant with persistence 0. As a consequence, the node receiving this grant revoke message will scan the stored set of grants for which no confirm has been sent yet to see if the grant revoke message cancels one of the pending grants. Those pending grants will then be deleted and no grant-confirmation will be sent for those grants.
Summarized, there is no need to use a revoke bit. Nevertheless, the use of such a revoke bit allows optimized mechanisms for slot status update to be implemented. Particularly, only when the revoke bit is set, the node receiving the grant revoke message will scan the stored set of pending grants. This will not be done when the grant revoke bit is not set because in such a case this received message will correspond to a normal grant cancel specifying the cancellation of previously granted time slots. The procedure for cancelling time slots is well known and will not be described in more detail herein.
The bandwidth management module BMM is also responsible for maintaining an up to date status of the MSH-DSCH_Availablity_IEs stored locally at a node. This involves updating the status when receiving or transmitting either a grant or a grant-confirmation.
The various embodiments as described above provide a novel mechanism for managing bandwidth in the 802.16 MESH mode of operation with an aim to support the same service classes which are supported by the PMP mode, particularly the classes UGS, rtPS, nrtPS and BE. This is achieved by an appropriate handling of the three-way handshake for reserving minislots in dependency on the service class. Furthermore, the various embodiments include a bandwidth revocation mechanism which allows the recovery of bandwidth in case that a three-way handshake fails or in case of node failure in network.
Number | Date | Country | Kind |
---|---|---|---|
07024010.6 | Dec 2007 | EP | regional |
08008789.3 | May 2008 | EP | regional |
This application is a U.S. National Stage Application of International Application No. PCT/EP2008/066840 filed Dec. 5, 2008, which designates the United States of America, and claims priority to EP Application No. 07024010.6 filed Dec. 11, 2007 and EP Application No. 08008789.3 filed May 9, 2008. The contents of which are hereby incorporated by reference in their entirety.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP08/66840 | 12/5/2008 | WO | 00 | 6/10/2010 |