EP2289276A1 - Communication devices and methods for scheduling and allocating of radio resources and communication devices and methods for routing in a communication network - Google Patents

Communication devices and methods for scheduling and allocating of radio resources and communication devices and methods for routing in a communication network

Info

Publication number
EP2289276A1
EP2289276A1 EP09758633A EP09758633A EP2289276A1 EP 2289276 A1 EP2289276 A1 EP 2289276A1 EP 09758633 A EP09758633 A EP 09758633A EP 09758633 A EP09758633 A EP 09758633A EP 2289276 A1 EP2289276 A1 EP 2289276A1
Authority
EP
European Patent Office
Prior art keywords
communication device
message
communication
routing
radio resource
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.)
Withdrawn
Application number
EP09758633A
Other languages
German (de)
French (fr)
Inventor
Haiguang Wang
Chee Wei Ang
Jaya Shankar Pathmasuntharam
Peng Yong Kong
Yu Ge
Wen Su
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Agency for Science Technology and Research Singapore
Original Assignee
Agency for Science Technology and Research Singapore
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Agency for Science Technology and Research Singapore filed Critical Agency for Science Technology and Research Singapore
Publication of EP2289276A1 publication Critical patent/EP2289276A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/54Allocation or scheduling criteria for wireless resources based on quality criteria
    • H04W72/542Allocation or scheduling criteria for wireless resources based on quality criteria using measured or perceived quality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/20Control channels or signalling for resource management
    • H04W72/21Control channels or signalling for resource management in the uplink direction of a wireless link, i.e. towards the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/20Control channels or signalling for resource management
    • H04W72/23Control channels or signalling for resource management in the downlink direction of a wireless link, i.e. towards a terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • H04W84/22Self-organising networks, e.g. ad-hoc networks or sensor networks with access to wired networks

Definitions

  • Embodiments relate to the field of communication networks, such as an ad-hoc radio communication network or a mesh communication network, for example.
  • embodiments relate to methods of scheduling and allocating of radio resources and routing among the communication devices within an ad-hoc communication network or a mesh communication network.
  • a communication system generally consists of a plurality of communication devices, wherein the communication among the communication devices are either central-controlled or self- organized.
  • An ad-hoc communication network generally consists of a plurality of ad-hoc communication devices, wherein the communication among these devices is self-organized.
  • the plurality of devices are able to discover each other within a range to form the communication network, and within the communication network, they can communicate with each other without the need of a central control.
  • Document [1] describes the Air interface for fixed broadband wireless access systems according to the IEEE standard for local and metropolitan area networks.
  • Document [2] describes an optimized link state routing protocol (OLSR).
  • Document [3] shows a performance comparison of routing protocols for Maritime wireless mesh networks.
  • Document [4] describes on-demand multipath distance vector routing in ad hoc networks.
  • Document [5] describes an ad hoc on-demand distance vector (AODV) routing protocol.
  • Document [6] shows dynamic destination-sequenced distance- vector routing (DSDV) for mobile computers.
  • Document [7] shows details of a Maritime simulation environment.
  • a communication device having a receiver configured to receive a request for the grant of usage of a radio resource by a requesting communication device, a checking circuit configured to detect whether usage of the radio resource has already been granted by another communication device, and a signaling circuit configured to signal a grant of the usage of the radio resource to the requesting communication device only if usage of the radio resource has not been granted by the other communication device.
  • a communication device having a receiver configured to receive a grant for the usage of a radio resource by a granting communication device, a checking circuit configured to detect whether usage of the radio resource has been granted to another communication device, and a transceiver configured to use the radio resource only if usage of the radio resource has not been granted to the other communication device.
  • an ad-hoc communication device having a receiver configured to receive a message from another ad-hoc communication device of an ad hoc communication network in which the ad-hoc communication device is registered specifying whether the other communication device has determined a time slot as unavailable for a data transmission by the other communication device, and an allocation circuit configured to allocate the time slot for data transmission only if the time slot has not been determined as unavailable for a data transmission by the other communication device.
  • a scheduling circuit of a communication device having a detecting circuit configured to detect whether interference'has occurred in a data transmission between the communication device and another communication device for which a set of time slots comprising at least a time slot has been used that is allocated to the communication device, wherein the set of time slots is part of a time slot sequence that is repeated periodically, a cancelling circuit configured to cancel the allocation of the set of time slots to the communication device if it has been detected that interference has occurred in the data transmission, a determining circuit configured to determine another set of time slots comprising at least one time slot of the time slot sequence to be allocated to the communication device, wherein a relative position of the other set of time slots to the set of time slots in the sequence of time slots is determined based on a predetermined parameter, and the other set of time slots is determined such that it has the determined relative position to the set of time slots, and an allocating circuit configured to allocate the other set of time slots to the communication device for a further data transmission.
  • a communication device having a detector configured to detect whether interference has occurred between a first data transmission between a first communication device and a second communication device and a second data transmission between a third communication device and a fourth communication device, wherein a radio resource allocated to the first communication device and allocated to the third communication device has been used for the first data transmission and the second data transmission, a cancelling circuit configured to cancel the allocation of the radio resource to the first communication device if it has been detected that interference has occurred between the first data transmission and the second data transmission, and a signaling circuit configured to signal that the allocation of the radio resource to the first communication device has been cancelled and that the radio resource remains to be allocated to the third communication device.
  • a communication device having a determining circuit configured to determine the degree of utilization of radio resources allocated to the communication device for data transmissions carried out by the communication device, a comparing circuit configured to compare the degree of utilization with a pre-determined threshold, and a controller configured to initiate the allocation of additional radio resources if the degree of utilization is higher than the pre-determined threshold or configured to initiate the release of at least some of the radio resources if the degree of utilization is lower than the pre-determined threshold.
  • a message generating circuit is provided, the message generating circuit being configured to generate a Medium Access Control layer message comprising routing information based on which a communication route to a communication device in a communication network in which the communication device is registered may be determined.
  • a message generating circuit of a first communication device for generating a routing message to be sent to a second communication device, the message generating circuit being configured to generate routing information, wherein the routing information comprises a plurality of flags, each flag being associated with one of plurality of o communication devices and to set the value of each flag such that the flag indicates whether or not the respective one of the plurality of communication devices may be reached by a route in the communication network comprising the first communication device and configured to generate the routing message based on the routing information. 5
  • methods according to the devices/circuits described above are provided.
  • FIG. 1 shows an illustration of an ad hoc communication network
  • FIG. 2 shows an illustration of a mesh communication network
  • FIG. 3 illustrates of the frame structure in Point-to-Multi-Point (PMP) mode 5 according to the IEEE 802.16 standard
  • FIG. 4 illustrates of the frame structure in mesh mode according to the IEEE 802.16 . standard
  • FIG. 5 shows an illustration of the three way handshake working mechanism
  • FIG. 6 shows an illustration of bandwidth allocation to a communication device
  • FIG. 7 shows a table listing 8 types of persistence in the bandwidth allocation according to the IEEE 802.16 standard, wherein persistence refers to the number of frames during which the allocated bandwidth is valid for;
  • FIG. 8 shows an example of slots states that are kept by a communication device
  • FIG. 9 illustrates a scenario when the interference range Rf of data packet is smaller than the transmission range R jx of the control message
  • FIG. 10 illustrates a diagram of slot state transition when the interference range Rf of data packet is smaller than the transmission range R jx of the control message
  • FIG. 11 illustrates a scenario when the interference range Rf of data packet is larger than the transmission range R jx of the control message
  • FIG. 12 illustrates a diagram of slot state transition when the interference range Rf of data packet is larger than the transmission range Kj x of the control message
  • FIG. 13 illustrates a scenario wherein collision in time slot allocation may happen
  • FIG. 14 illustrates a communication device according to one embodiment
  • FIG. 15 illustrates a communication device according to one embodiment
  • FIG. 16 illustrates a scenario wherein explicit interference in time slot allocation may happen
  • FIG. 17 illustrates a scenario wherein implicit interferences in bandwidth allocation may happen
  • FIG. 18 shows a communication device according to one embodiment
  • FIG. 19 illustrates a scenario wherein implicit interference in bandwidth allocation may happen
  • FIG. 20 illustrates an example of how to re-allocate bandwidth after an interference has occurred according to one embodiment of the invention
  • FIG. 21 (a) illustrates a scenario wherein interference happens between a first transmission between communication devices A and B and a second transmission between communication devices D and E;
  • FIG. 21 (b) illustrates a scenario wherein communication devices D and E re-allocate the bandwidth and solve the problem of interference
  • FIG. 22 illustrates a communication device according to one embodiment of the invention
  • FIG. 23 illustrates an example of collision between a first transmission between communication devices A and B and a second transmission between communication devices C and D due to loss of DSCH messages
  • FIG. 24 illustrates a communication device according to one embodiment of the invention
  • FIG. 25 (a) illustrates a scenario wherein no interference exists in the communication network which comprises communication devices A-G, wherein communication devices C and D are relatively far from communication devices A and B;
  • FIG. 25 (b) illustrates a scenario wherein interference happens between a first transmission between communication devices A and B and a second transmission between communication devices C and D when communication devices C and D move near to communication devices A and B;
  • FIG. 26 illustrates a communication device according to one embodiment of the invention
  • FIG. 27 illustrates a process of path selection according to one embodiment of the invention
  • FIG. 28 illustrates an example that a communication device A may change the route to the base station
  • FIG. 29 illustrates a route table according to one embodiment of the invention
  • FIG. 30 illustrates a process of route repair according to one embodiment of the invention
  • FIG. 31 illustrates a message generating circuit according to one embodiment of the invention
  • FIG. 32 shows an illustration of a bitmap
  • FIG. 33 illustrates the assignment of addresses of communication devices in a mesh communication network
  • FIG. 34 illustrates generation of routing information by each communication device in the mesh communication network
  • FIG. 35 illustrates how a distinctive function is operated
  • FIG. 36 illustrates a scenario wherein ambiguous routing information may be generated
  • FIG. 37 illustrates an example of a communication device in a communication network keeping a context for a related communication device, wherein the context is used for compression of routing information;
  • FIG. 38 illustrates a message generating circuit according to one embodiment of the invention.
  • FIG. 39 illustrates a mesh network topology used for simulation of performance of communication devices in a mesh communication network, wherein the mesh communication network comprises a base station and a plurality of communication devices;
  • FIG. 40 (a) illustrates simulation results of initial delay from a communication device to the base station for 5 communication devices in the communication network using different routing methods under sea state 3.0;
  • FIG. 40 (b) illustrates simulation results of initial delay from a communication device to the base station for 5 communication devices in the communication network using ' different routing methods under sea state 6.0;
  • FIG. 41 (a) illustrates simulation results of delay average from a communication device to the base station for 5 communication devices in the communication network using different routing methods under sea state 3.0
  • FIG. 41 (b) illustrates simulation results of delay average from a communication device to the base station for 5 communication devices in the communication network using different routing methods under sea state 6.0;
  • FIG. 42 (a) illustrates simulation results of throughput from a communication device to the base station for 5 communication devices in the communication network using different routing methods under sea state 3.0;
  • FIG. 42 (b) illustrates simulation results of throughput from a communication device to the base station for 5 communication devices in the communication network using different routing methods under sea state 6.0;
  • FIG. 43 illustrates simulation results of initial delay from the base station to a communication for 5 communication devices in the communication network device using different routing methods under sea state 6.0;
  • FIG. 44 illustrates simulation results of delay average from the base station to a communication device for 5 communication devices in the communication network using different routing methods under sea state 6.0
  • FIG. 45 illustrates simulation results of throughput from the base station to a communication device for 5 communication devices in the communication network using . different routing methods under sea state 6.0.
  • FIG. 1 shows a system according to an embodiment.
  • FIG. 1 shows an illustration of an ad-hoc communication network 100 including communication devices A to H (111 - 118).
  • the communication network comprises ad-hoc communication devices A to H (111-118), wherein all the devices A to H (111-118) self-organize the communication among devices within the network.
  • circle line 101 represents the transmission range of device B 112, meaning that device B 112 is able to transmit data to other communication devices that are located within the circle line 101.
  • device B 112 is able to transmit data to devices A l I l, 5 C 113, D 114, E 115, and H 118.
  • circle line 102 represents the transmission range of device C 113, meaning'that device C is able to transmit data to other communication devices that are located within the circle line 102
  • circle line 103 represents the transmission range of device D 114, meaning that device D is able to transmit data to other communication devices that are located within the circle line 103.
  • Wireless mesh communication networks are self-configured and self-organized multi-hop wireless networks.
  • the communication devices in the network automatically establish the network and maintaining the connectivity. It is a kind of ad-hoc network. However, it is different from the traditional mobile ad-hoc networks (MANET).
  • MANET mobile ad-hoc networks
  • the term 5 multi-hop may refer to the scenario that there may be one or a plurality of communication devices in the route for data transmission between a source communication device and a destination communication device. In other words, one or a plurality of communication devices may be used for relaying data from a source communication device to a destination device.
  • the communication devices are equal in routing and data forwarding.
  • the mobility of the communication device is uncontrollable.
  • mesh communication network there are two types of communication devices, mesh routers , and mesh clients.
  • the mesh routers have minimal mobility and form the backbone for the5 mesh clients.
  • mesh clients can also serve as routers, their hardware and software are usually simpler comparing to that of the mesh routers. From the definition of mesh network, . it can be seen that the mesh network is a kind of hybrid multi-hop wireless networks in which some communication devices are static and some of them are mobile. This makes the network topology more stable and their behaviors more predictable comparing to the pure o MANET.
  • the mesh router in the mesh network is usually referred to as a base station (BS) functioning as a central control of the mesh routers, i.e. communication devices, in the mesh network, and a mesh communication network generally comprises at least one base station.
  • BS base station
  • Wireless mesh networks have great potential in enlarging the transmission coverage area and reducing the cost in building the network, especially for the territories that are not suitable for the deployment of network infrastructure. For example, deploying base stations (BSs) on the sea is difficult.
  • wireless mesh network can be used to provide the Internet services for the ships anchoring or cruising nearby the sea port.
  • the base stations on shore can serve as the mesh routers and the ships are the mesh clients.
  • the present invention focuses on such a communication scenario and provides communication devices and communication methods for scheduling and allocation of radio resources and routing among the communication devices within the Maritime Mesh Network.
  • the claimed subject matter of the present invention is not limited to Maritime Mesh Network, but can be applied in any mesh communication network or an ad-hoc communication network.
  • FIG. 2 shows an illustration of a basic configuration of a mesh communication network 200 in which BS 201 represents base stations (BSs).
  • BS 201 represents base stations (BSs).
  • the base stations 201 may be planted on shore and connected to the Internet 202.
  • SSs 203 represent communication devices within the mesh network 200.
  • SSs 203 may be ships in a shipping lane.
  • the SSs 203 may be connected to the BS 201 with wireless mesh protocols.
  • the widely used technologies are the IEEE 802.11 and the IEEE 802.16 protocols.
  • the 802.11 standards are suitable for the communication within several hundred meters.
  • the IEEE 802.16 standards are defined for the communication over several kilometers. As the distances between the ships usually are in the range of kilometers, the 802.16 protocols are more suitable for the communication of Maritime Mesh Network.
  • OFDM Orthogonal Frequency Division Multiplexing
  • TDMA Time Division Multiple Access
  • TDMA-based Medium Access Control over the mobile mesh communication network.
  • a TDMA-based MAC in QualNet network simulator based on the standard of the IEEE 802.16d MAC in mesh mode is implemented (cf. [I]).
  • QualNet is a kind of simulation tool used to predict performance of network devices.
  • 16d MAC is used to represent the IEEE 802.16d MAC in mesh mode.
  • two-way PMP and mesh topology wireless networks are examples for sharing wireless network media.
  • the medium may refer to space through which the radio waves propagate.
  • the 16d MAC and physical layers support multi-hop communication.
  • a communication device can reserve time slots once and use the time slots across frames.
  • a frame is a periodically repeating o structure during which data or control messages are sent by communication devices.
  • a frame may be further divided into a plurality of time slots.
  • the standard does not support mobility.
  • the moving of communication devices may cause interference and collision when the communication devices are close to each other and use the same slot for communication.
  • devices and methods for scheduling and5 allocating of radio resources are provided that reduce the chances of interference happening. Further, devices and methods are provided to mitigate the interference by reallocating the interfered slots if interference happens.
  • routing devices and routing methods are provided for a mesh communication o network with a cross layer method by attaching the routing information into MAC control messages.
  • Some existing routing protocols such as AOD V[5], AOMD V[4] and OLSR (cf . [2]) are tested over the mesh network for comparison purpose. The performance of different routing protocols can also be seen in [I]. It can be seen that none of existing routing methods performs well over the TDMA-based network because the 16.d MAC does not provide a5 good support for the broadcast of data packet, hi one embodiment, routing devices and corresponding routing methods are provided by which the routing information is attached in . the MAC layer control messages. The control messages are exchanged between neighbor communication devices frequently and are collision free.
  • the routing information can propagate in the network rapidly and reliably, hi one embodiment, multiple routing paths0 are kept to a base station (BS) so that the broken routes can be repaired quickly.
  • a communication device may keep a record of several candidate links in case the current link is broken.
  • the reverse path or the path from BS to a communication device (SS as shown in FIG. 2), is also established.
  • the currently used path from the SS to BS is chosen as the reverse path, i.e. the path from BS to the corresponding SS.
  • the routes are maintained proactively.
  • the routes are loop free by using the destination sequence number similarly as proposed in DSDV (cf. [6]).
  • the proposed routing methods are tested in a Maritime simulation environment. The details of the Maritime simulation environment can be seen in [7].
  • the description is organized as followed: introduction of the 16d MAC; devices and methods for scheduling and allocating of bandwidth in order to reduce or to resolve interference; and routing devices and methods for an ad-hoc communication network or a mesh communication network.
  • IEEE 802.16d MAC in Mesh Mode The IEEE 802.16 standard (cf. [I]) defines the MAC and physical layer protocols for the Broadband Wireless Metropolitan Area Networks (WiMax). The standard supports both the Point-to-Multi-Point (PMP) and the Mesh modes in the communication.
  • the Time Division Multiple Access (TDMA) is used for the channel access.
  • the 802.16 based networks the physical channel is organized in frames with fixed time duration such as 2ms, 5ms, 10ms and 20ms. The frames are further divided into slots. Each frame can have 256 data slots and slot is the basic data transmission unit.
  • the SS may be communication devices in the mesh communication network.
  • the BS usually connects to the core network with wired lines.
  • the SS connects to the core network through the BS directly or indirectly.
  • FIG. 3 illustrates of the frame structure in Point-to-Multi-Point (PMP) mode according to the IEEE 802.16 standard, which is used in one embodiment.
  • PMP mode each frame 301 is divided into two parts, downlink 302 and uplink 303 sub- frames as shown in FIG. 3.
  • the downlink sub-frame 302 is designed for the BS transmitting data to SSs.
  • the uplink sub-frame 303 is for the SSs transmitting data to BS.
  • the sub-frames 5 are further divided into two parts.
  • the first part is used for the time synchronization and the scheduling of data transmission. It is at the beginning of the downlink sub-frame.
  • the second part of the downlink sub-frame is used for data transmission.
  • the BS transmits data to SSs with the slots inside the down link sub-frame.
  • the uplink sub-frame 303 is also divided into two parts. The first part is used for the transmission0 of ranging and bandwidth requests. SSs have to compete for the transmissions in this part and collision may happen. Back-off mechanisms are used to reduce the chances of collision.
  • the SSs transmit the data to BS with the slots in the second part of the uplink sub-frame. Slots are assigned by the BS and are known through the scheduling information sent in the first part of downlink sub-frame. 5
  • PMP mode the network is organized as a centralized system.
  • BS is the core of the network and all the important decisions such as scheduling and network entry are made by it.
  • the functions of SSs are simple. They only need to take care of their own data or send requests for ranging and scheduling. It is similar to the role of terminals in the mobile o telecommunication networks.
  • the PMP mode is usually used for the cellular-based communication.
  • the communication style is completely different from the PMP.
  • the network is designed to support multi-hop communication instead of the cellular like 5 communication.
  • the SSs in mesh mode not only transmit data originated from its own applications, but also relay data from other communication devices. Comparing to the PMP . mode, the SSs in mesh mode are more complex in networking functionality. They not only transmit data, but also make the decisions on scheduling.
  • An embodiment of the invention may be seen to focus on the scenario wherein the mesh mode is used, for example, for the0 Maritime Wireless Mesh Network, hi the following, a more detailed description of the mesh mode is given.
  • channel is divided into frames with equivalent length in time.
  • channel may refer to medium through which data are transmitted.
  • FIG. 4 shows the basic structure of the frame 401 in mesh mode (cf. [I]) which is used in one embodiment. It consists of two parts, control sub-frame 402 and data sub-frame 403. It is different from the frame structure in PMP mode as shown in FIG. 3.
  • the control sub-frame 402 is divided equally into a number of slots, such as 16.
  • the data sub-frames 403 are divided equally into 256 slots. The lengths of control and data slots may be different. Each control message can only occupy one control slots while the data packet can be sent across several data slots.
  • NCFG Network Configuration
  • DSCH/CSCH Centralized/Distributed Scheduling
  • the two types of control sub-frames are exclusive to each other. They are sent in different frames.
  • the NCFG sub-frames may be sent in every ten frames and the rests are sent with the DSCH/CSCH sub-frames.
  • the first slots are used for network entry and the rest are for the network configuration control messages.
  • the network entry is for the communication devices outside the network being accepted as a valid communication device inside the network.
  • a communication device wants to enter the network, it first has to listen to the network and tries to find a sponsor communication device. If it receives two NCFG messages consecutively from a neighboring communication device, then it may choose it as sponsor communication device. After finding the sponsor communication device, the communication device sends a Network Entry messages to the sponsor communication device with network entry slots in the following NCFG sub-frames. To avoid collision, a communication device may not send with the immediate available transmission opportunity, instead, it uses a random back-off mechanism to decide when to transmit the message.
  • the Network Entry request reaches the sponsor communication device and passes the authentication, it includes the communication device as its valid neighbor.
  • the communication device that sent the Network Entry messages scans the NCFG messages sent by the chosen sponsor communication device. If it is included in the neighbor list, it knows the fact that it has been accepted as a valid member of the network. At this stage, the communication device can start to schedule the control messages and data packet transmissions.
  • NCFG messages contain information such as neighbor list, scheduling information of NCFG messages, the hop count to the BS etc. in this context, the hop count to the BS may be associated with the number of devices used for relaying data in a route for data communication between a communication device and the base station. Communication devices in the network compete for their next transmission opportunities for NCFG messages based on the scheduling information contained in those from other communication devices.
  • the control messages for data scheduling are sent inside it.
  • the scheduling control messages are used for the management of the transmissions in data sub-frame.
  • the messages contain the states of the slots, the requests for bandwidth and the location of granting/granted bandwidth.
  • the state of a slot may refer to whether the slot has been used or reserved for data transmission, or whether the slot is available for data transmission.
  • a communication device processes the Availability IEs in the DSCH messages to further determine which slots can be granted for transmission.
  • the Availability Information Elements (IEs) comprises a list of the slots available.
  • DSCH Distributed Coordinated Scheduling
  • It may include following information: • Basic MAC information: it is used to identify who sends this message.
  • DSCH scheduling information including both this communication device and its neighbors. It can be used to report the scheduling information of the current communication device and its neighbors so that others communication devices can determine their transmission opportunities for their DSCH messages.
  • Availability or the slot state information. It tells the neighbors of their slot state information so that they can refer to it when allocating bandwidth.
  • Bandwidth requests request for the bandwidth.
  • the information include, number of slots required, how many frame it will cross.
  • Bandwidth grants the information includes, the starting frame, the starting point of the slots, the number of slots granted to a neighbor and how many frames it crosses.
  • Bandwidth grant-confirm when a communication device get the granted slots, it has to notify its neighbors of the granted bandwidth information. The content of information is the same as the bandwidth grant. The difference is the grant is sent by the receiver o and grant-confirm is sent by the sender.
  • packets including both control messages and data packets, are scheduled before transmitting.
  • the scheduling mechanisms of control5 messages and data packets are different.
  • the scheduling of control messages both network configuration and scheduling, is through mesh elections.
  • the mesh election procedure determines whether a communication device is the winner for a specific transmission slot among other competing communication devices.
  • the scheduling of data packet transmission is through the exchanging of DSCH/CSCH control messages.
  • the 16.d MAC defines a three- o way hand-shake mechanism for the scheduling of data packet transmission which will be described later in relation to FIG. 5.
  • a control message is sent within one time slot.
  • the length of a control slot is equivalent to seven OFDM symbols.
  • the scheduling of the control message is through mesh election, which provides a mechanism for ' the communication devices to compete the transmission slots in the control sub-frame.
  • each communication device forms a list that includes the0 scheduling information of its own and its neighbors, which is obtained from the received NCFG and DSCH/CSCH messages.
  • the scheduling information includes the communication device ID and the possible next transmission slots for the sending of next control messages.
  • the possible next transmission slots of a communication device are described with two variables, NextXmtMx and XmtHoldOffExponent. With these two values, the next transmission time of a communication device, denoted as NextXmtTime, falls in the range of 2x mtHoid off E XP onent ⁇ Ne ⁇ tXmtMx ⁇ NextXmtTime ⁇ 2 XmtHMOffExponent x (NextXmtMx + 1) . After one eligibility interval, a communication device must hold off transmission for a
  • a communication device calculates the NextXmtTime when it sends the current control messages. It uses the election algorithm to find the next transmission slot as follows: first, the communication device chooses the first slot after the hold off time as a temporary transmission opportunity; second, it finds all the two-hop neighbors, potential competitors, that may also using this slot for transmissions based on the two variables, NextXmtMx and XmtHoldOffExponent, of these communication devices.
  • the communication device uses an algorithm in determining whether it can use this slot for control message transmission.
  • the algorithm is a pseudo-random function that takes the communication device ID and slot number as inputs. If the pseudo-random number generated with the current slot number and the ID of this communication device is the largest values, then this communication device wins the slot and will schedule the next transmission of control message on it. Else, it increases the slot number by one and does the competition again until it wins. Once it wins, it derives the value of NextXmtMx and adds it in the current control message.
  • the 16d MAC protocol uses a three-way handshake mechanism to allocate the bandwidth (time slot).
  • bandwidth bandwidth
  • time slot bandwidth
  • FIG. 5 illustrates the three-way handshake mechanism used in one embodiment.
  • the three-way handshake mechanism involves sending and receiving of request 501, grant 502 and grant-confirm 503 which are not transmitted as separated packets, but as information elements (IE) of the DSCH messages.
  • Request 501 is a message used by a sender to tell a receiver how many slots are needed.
  • Grant 502 is a message from the receiver telling the sender and one-hop neighbors of where the slots are allocated.
  • Grant-confirm 503 is a message from the sender telling the one-hop neighbors which slots will be used in the future for data transmission.
  • one-hop neighbors refer to neighbor communication devices of the sender or receiver which are within transmission ranges of the sender and the receiver.
  • a communication device 504 that wants to send a data packet to the receiver 505 but has no allocated time slot on the link.
  • the sender 504 creates a request 501 and holds it in its buffer.
  • the sender 504 removes the request 501 from the buffer to form a part of the DSCH message.
  • the receiver 505 Upon receiving the request 501, the receiver 505 will hold it in its buffer until its next opportunity to transmit a DSCH message at Frame N+i.
  • the receiver 505 removes the received request 501 from its buffer to generate a bandwidth grant 502 accordingly. All the one-hop neighbors of the receiver 505 will hear the grant 502 and use it to mark the time slot as not available (NA) accordingly.
  • the sender communication device 504 which also receive the grant 502, will verify if the allocated time slots indicated in the grant 502 are available. If these allocated time slots are indeed available, the sender communication device 504 will create a grant-confirm 503 to be transmitted in the next DSCH message at Frame N+i+j. After issuing the grant-confirm, the sender 504 can start transmitting in the allocated time slots from Frame N+i+j+k. Similar to grant, all one-hop neighbors of the sender that hear the grant-confirm 503 mark the allocated time slots as NA accordingly.
  • the Grant and Grant-Confirm are similar to the RTS/CTS messages defined in the IEEE 802.11 standard. The difference is RTS/CTS can only reserve time slots for one transmission while the grant and grant-confirm can reserve time slots for many transmissions.
  • the location information of the allocated bandwidth in 802.16 is described in FrameOffset, SlotStart, SlotRange and Persistence.
  • the FrameOffset indicates from which frame the allocation is started relative to a starting frame.
  • the slotStart tells the starting slot of the allocation within the data frames.
  • the slotRange indicates how many slots are allocated within each data frame.
  • the Persistence tells how many frames this allocation is valid for.
  • FIG. 6 shows an illustration of bandwidth allocation.
  • Frame 0 refers to the current frame.
  • the area in grey represents the allocated slots and is described by the relative variables such as frameOffset 601, slotStart 602, slotRange 603, and persistence 604.
  • the sender After receiving the grant, the sender first validates the allocation and then sends it out in the next CSCH/DSCH control messages. The information is the same as that in the grant but it uses a flag to tell that the information is sent by the sender. The purposes of sending the grant and grant-confirm are to let the communication devices around the sender and receiver be aware of the transmission.
  • the sender communication device can schedule the data transmission based on the allocation.
  • persistence code zero is used to cancel the allocated bandwidth.
  • the codes of one to seven represent that the allocation may last for the corresponding number of frames.
  • the persistence code 4 represents that the allocation lasts for a repetition of 8 frames.
  • persistence code 7 the allocation is valid forever until it is cancelled explicitly.
  • a communication device may track the data transmitting/receiving that will happen around it.
  • the data transmitting/receiving information is kept on slot basis.
  • the 802.16d MAC defines four states for the slot based on the transmitting and receiving activity of the current communication devices and its neighbors.
  • the four states are Available for Both Transmission and Receiving (TR), Available for Transmission Only (TO), Available for Receiving Only (RO) and Not Available (NA).
  • TR Transmission and Receiving
  • TO Available for Transmission Only
  • RO Available for Receiving Only
  • NA Not Available
  • the transitions of the states of slots are based on the bandwidth allocation .
  • information i.e. the information carried in the Grant and Grant-Confirmation IEs.
  • Grant and Grant-Confirmation IEs Currently, it has not been defined how state should transit in the standard.
  • a communication device allocates the slots for transmission based on the state of the slots.
  • each communication device should keep the states of the slots up to 8 - 12 frames.
  • FIG. 8 shows an example of slots states that are kept by a communication device.
  • the information for the states of the slots is attached in the DSCH control messages.
  • a communication device may refer to the information when allocate the bandwidth to other communication devices.
  • Quality of Service (QoS) QoS
  • IEEE 802.16d supports four types of services, Unsolicited Grant Service (UGS), Real-time Polling Service (rtPS), Non-real-time Polling Service (nrtPS), and Best Effort (BE).
  • UGS is designed for real time service with fixed-size data packet issued at periodic intervals.
  • rtPS is designed to support real-time streams consisting of variable-size data packets.
  • nrtPS is designed to support delay-tolerant steams consisting of variable-sized data packets for which a minimum data rate is required, such as FTP.
  • Different QoS types may require different strategies in bandwidth allocation.
  • Interference Aware and Adaptive Time Slot Allocation Method for Wireless Mesh Networks are provided to reduce interference and to adapt time slot allocation for the 802.16d based wireless mesh network.
  • 802.16d-based mesh network First, it is the basic unit for the allocation. Second, its states represent the data transmitting/receiving activities around a communication device. These activities must be considered in the slot allocation, else the interference may happen.
  • the standard has defined four states for the slots, i.e. the TR, RO, TO and NA states. However, how should the states transit among the four states based on the slot allocation information from the Grant and Grant-Confirm IE are not given.
  • a mechanism for the slot state transition is provided based on the transmitting/receiving activities that may happen around a communication device.
  • the slot state information is integrated with the three-way handshake mechanism and communication devices and corresponding methods are provided that can help in avoiding the collision and interference in the bandwidth allocation. Further, communication devices and corresponding methods are provided that are able to adapt the bandwidth allocation to the variation of the traffic load.
  • each data slot can be in one of the four states, TR, TO, RO an ⁇ NA, at a given time epoch.
  • the purpose of classifying the slot in different states is to avoid collision and interference in scheduling and simplify the resource management.
  • the state transition depends on the transmission range of the control message and the interference range of data packet, denoted as R T c x and Rf , respectively.
  • R jx and Rf can be different because the interference range usually is longer than the transmission range given the transmission power is the same. It is possible that the control messages and data messages are transmitted with different power and thus cause the R jx and Rf to be different. In the following the state transition in two cases, Rf ⁇ R T c x and Rf > R jx are discussed.
  • the interference and collision can be avoided easily as all the communication devices that may be affected or can affect the corresponding transmission can know it explicitly through the three-way handshake mechanism.
  • an example is given to illustrate how the communication devices are affected or affect a given transmission.
  • FIG. 9 illustrates a scenario wherein Rf ⁇ R jx .
  • communication device A 901 wants to transmit data to communication device B 902 with slot x.
  • Two circles 907 and 908 are used to represent the interference range of communication device A 901 and B 902, respectively.
  • communication devices fall in area a 903 are not affected by the transmission as they are out of the range of interference for both A 901 and B 902.
  • Communication devices in the area b 904 other than A 901 and B 902 can neither transmit nor receive with slot x.
  • the communication devices in the area b 904 can not receive data in slot x because they would be interfered by the transmission of the communication device A 901, and they also can not transmit because it would interfere the receiving of communication device B 902.
  • Communication devices in the area c 905 can transmit but cannot receive because the receiving would be interfered by the transmission of the
  • communication devices can receive but cannot transmit because they would not interfered by the transmission of the communication device A 901. However, their transmission would interfere the receiving of the communication device B 902.
  • FIG. 10 illustrates a slot state transition diagram according to one embodiment.
  • a slot is neither used by the current communication device nor by any of its neighboring communication device, it should be in the TR state 1001.
  • the state should transit from any state to NR state 1004 as it cannot transmit and receive at the same time.
  • a communication device is in area c 905 of the neighbor device as shown in FIG. 9 cannot use the slot for receiving as collision would happen in such scenario. Instead, the communication device can use it for transmission if it is in TR 1001 or TO 1002 state previously.
  • a communication device can only use the slot for receiving given it is in 77? 1001 or RO 1003 state previously.
  • the communication device cannot use the time slot for transmission because it would cause the collision at its neighboring communication devices who use it for receiving.
  • FIG. 11 illustrates the impact of interference assuming that Rf > R ⁇ x .
  • Circles 907 and 908 represent the interference range of device A 901 and B 902, respectively.
  • Circles 1101 and 1102 represent transmission ranges of device A 901 and device B 902 respectively.
  • the impact to communication devices in the area of a 903, b 904, c 905, d 906 are generally the same as shown in FIG. 9. However, the difference is that the communication devices in area c 905 and d 906 are not able to hear the bandwidth allocation information from the communication device A 901 and B 902.
  • the number of states of slots are reduced to be two states, TR and NA and the state transition becomes simpler.
  • FIG. 12 illustrates a slot state transition diagram with only two states TR 1201 and NA 1202. Even if the number of states is reduced to be two, however, as the interference may reach two-hops, it is inadequate to just perform the bandwidth allocation by just considering the slots state kept at the transmitter and receiver.
  • two-hops may refer to a position outside the transmission range of a communication device but is within the transmission range of a one-hop neighbor of the communication device.
  • the transmission powers of the control messages and data packet are assumed to be the same, namely Rf > R ⁇ x and, thus the slot state transition scheme shown in FIG. 12 is used.
  • FIG. 13 illustrates a scenario wherein collision may happen due to delay in sending grant- confirm message.
  • communication devices B 1302 and D 1304 want to send data to A 1301 and ,C
  • Circle lines 1305, 1306, 1307, and 1308 represent transmission ranges of devices A 1301, B 1302, C 1303, and D 1304, respectively. It may happen if communication device A 1301 grants allocation of several time slots first and communication device B 1302
  • communication device C 1303 grants the time slots to D 1304 first, and communication device B 1302 sends DSCH messages with the updated slot information before communication device A 1301 grants the same time slots, then it is also collision free.
  • communication device C 1303 grants the bandwidth first and A 1301 also grants before communication device B 1302 can send a DSCH message for updating, then collision may happen if communication devices A 1301 and D 1304 allocate the same slots.
  • persistence > 1, timeslots are reserved for more than 1 frame. If collision happens and detected in the first reserved frame, then cancellation may be done to remove reserved slots in consecutive frames. In one embodiment, new requests may be made after collision is detected.
  • LCFS Later Come First Serve
  • communication device B 1302 cancels the grant and requests for the bandwidth again.
  • Communication devices C 1303 and D 1304 keep the allocation and later use it for transmission.
  • LCFS rule may not be a fair solution, however, it is better than collision.
  • FIG. 14 shows a communication device 1400 according to one embodiment.
  • the communication device 1400 may comprise a receiver 1401, a checking circuit 1402, and a transceiver 1403.
  • the receiver 1401 is configured to receive a grant for the usage of a radio resource by a granting communication device.
  • the communication device may be communication device B 1302 as shown in FIG. 13.
  • the communication device B 1302 may wish to send data to communication device A 1301, and send to device A 1301 a request for usage of a radio resource, i.e. one or a plurality of time slots.
  • the communication device A 1301 may acknowledge the request by sending to communication device B 1302 a grant of the usage of the radio resource, and the communication device B may receive the grant with a receiver 1401.
  • the checking circuit 1402 is configured to detect whether usage of the radio resource has been granted to another communication device.
  • the communication device B 1302 may further comprise a checking circuit 1402 for detecting whether the radio resource has been granted to be used by any other communication device.
  • the communication device B 1302 may detect message from the communication device C 1303 which may include a grant of the usage of the radio resource to communication device D 1304.
  • communication device B 1302 may also detect grant of the usage of the radio resource be detecting a grant-confirm message from a neighbor device in case the neighbor device has obtained a grant of the usage of the radio resource from another communication device and the neighbor communication device has sent a grant-confirm message confirming the usage of the radio resource. This embodiment will be described in more detail in relation to FIG. 16.
  • the transceiver 1403 is configured to use the radio resource only if usage of the radio resource has not been granted to the other communication device.
  • the communication device B 1302 may use the radio resource for data transmission only if it has not received any grant of the radio resource to another communication device, i.e. to the communication device D 1304. Otherwise, if the communication device B 1302 has received the grant of the radio resource from communication device A 1301, and if the communication device B 1302 has also detected that communication device C 1303 has granted the usage of the radio resource to communication device D 1304, then communication device B 1302 will not use the radio resource to transmit data to communication device A 1301. In this case, communication device B 1302 may send a request for allocation of another radio resource again to the communication device A 1301.
  • a communication device wishes to transmit data to a granting communication device and sends to the granting communication device a request of using a radio resource for data transmission.
  • the granting communication device acknowledges the usage of the radio resource by sending to the communication device a grant for the usage of the radio resource.
  • the communication device receives the grant for the usage of the radio resource from the granting communication device, and further detects whether the radio resource has been granted to any other communication device. For example, the communication device may detect messages from other communication devices whether the messages include information of grant of the usage of the radio resource to another communication device or information of grant-confirm of the usage of the radio resource by another communication device.
  • the communication device uses the radio resource only if the communication device has not detected the grant or grant-confirm of the usage of the radio resource by any other communication device. In case that the communication device detects a grant or grant-confirm of the usage of the radio resource by another communication device after the communication device receives a grant from the granting communication device, the communication device gives up the usage of the radio resource. The communication device may then send a request to the granting communication device requesting for allocation of another radio resource for data transmission.
  • the communication device may detect that there is a grant of the usage of the radio resource to another communication device first, and the communication device receives a grant from the granting communication device before the communication device cancels the request. In this scenario, according to one embodiment of the present invention, the communication device may cancel the usage of the radio resource. The communication may then send a request for allocation of another radio resource to the granting communication device.
  • the checking circuit 1402 is configured to detect whether usage of the radio resource has been granted to another communication device by receiving a message from at least one neighbor communication device, the message indicating whether the usage of the radio resource has been granted to the other communication device.
  • the communication device B 1302 may detect the message from the communication device C 1303 to determine whether communication device C 1303 has sent a grant for the usage of the radio resource to communication device D 1304.
  • the message is a Medium Access Control layer message.
  • the message may be comprised in a control sub-frame.
  • the message may be a Distributed Scheduling (DSCH) message.
  • DSCH Distributed Scheduling
  • the radio resource is one or a plurality of time slots. In one embodiment, the radio resource is a range of frequencies, a frequency band, or a plurality of frequency bands. In one embodiment, the radio resource is a combination of time slots or a combination of frequencies.
  • the term frequency band may refer to a predefined continuous frequency range, which may be used for signal transmission. A frequency band or band may often be referred to using a (frequency) band number associated with it.
  • the communication device 1400 further comprises a signaling circuit 1404.
  • the signaling circuit 1404 is configured to send a grant-confirm of the usage of the radio resource only if the usage of the radio resource has not been granted to the other communication device. For example, referring to FIG. 13, if the communication device B 1302 detects that there is no grant of the usage of the radio resource to any other communication device, the communication device B 1302 then send a grant-confirm to communication device A 1301 confirming usage of the radio resource for transmitting data from communication device B 1302 to communication device A 1301.
  • the communication device 1400 is registered in an ad-hoc communication network comprising a plurality of ad-hoc communication devices, wherein each communication device communicates with the at least one base station directly or via at least one other communication device.
  • the communication device 1400 is registered in a mesh communication network comprising a plurality of communication devices and at least one base station as a central control of the plurality of the communication devices, wherein each communication device communicates with the at least one base station directly or via at least one other communication device.
  • a method is provided for a communication device to obtain a grant of usage of a radio resource from a granting communication device, the method comprising receiving a grant for the usage of the radio resource by the granting communication device; detecting whether the usage of the radio resource has been granted to another communication device; and using the radio resource only if usage of the radio resource has not been granted to the other communication device.
  • FIG. 15 shows a communication device 1500 according to one embodiment.
  • the communication device 1500 may comprise a receiver 1501, a checking circuit 1502, and a signaling circuit 1503.
  • the receiver 1501 is configured to receive a request for the grant of usage of a radio resource by a requesting communication device.
  • a requesting communication device D 1304 as shown in FIG. 13 may wish to transmit data to the communication device C 1303. Before the data transmission, the requesting communication device D 1304 may send a request to the communication device C 1303 requesting for allocation of the radio resource to be used for data transmission.
  • the radio resource may be one or a plurality of time slots.
  • Communication device C 1303 may receive the request from communication device D 1304 with a receiver.
  • the checking circuit 1502 is configured to detect whether usage of the radio resource has already been granted by another communication device.
  • communication device C 1303 may comprises a checking circuit to detect whether usage of the radio resource has already been granted by anothercommunication device, i.e. communication device B 1502, after receiving a request of usage of the radio resource from requesting communication device D 1304.
  • the signaling circuit 1503 is configured to signal a grant of the usage of the radio resource to the requesting communication device only if usage of the radio resource has not been granted by the other communication device.
  • the communication device C 1303 may receive messages from a neighbor communication device, i.e. communication device B 1302.
  • the message from communication device B 1302 may be a Medium Access Control layer message.
  • the message from communication device B 1302 may be a DSCH message.
  • the message from communication device B 1302 may include information of whether communication device B 1302 has granted the radio resource to another communication device A 1301. Assuming that communication device B 1302 has received a request from communication device A 1301 and has acknowledged a grant of the usage of the radio resource to communication device A 1301.
  • communication device C 1303 detects the grant from communication device B 1302, and communication device C 1303 will not send a grant to communication device D 1304 if the granted radio resource by communication device B 1302 is the same or overlapped with the requested radio resource by communication device D 1304.
  • Communication device C 1303 may only grant the usage of the radio resource to communication device D 1304 if communication device C 1303 has not detected any grant for the usage of the radio resource as requested by communication device D 1304 from neighbor communication devices, i.e. communication device B 1302.
  • a communication device receives a request from a requesting communication device requesting for transmitting data to the communication device using a radio resource, i.e. one or a plurality of time slots.
  • the communication device checks whether the radio resource has been granted to allocate to another communication device. For example, the checking may be through received signals from a neighbor communication device announcing the grant of allocation or usage of the radio resource to a requesting communication device of the neighbor communication device.
  • the communication device sends a grant of the usage of the radio resource to the requesting communication device only if the communication device has not detected grant of usage of the radio resource from any of its neighbor communication devices.
  • the checking circuit 1502 is configured to detect the grant of the radio resource by checking whether the radio resource has been used by the communication device or granted to the communication device. For example, referring to FIG. 13, after communication device C 1303 receives a request from requesting device D 1304 requesting for usage of a radio resource, communication device C 1303 may detect whether the radio resource has been granted by another communication device, i.e. communication device B 1302. In one embodiment, the checking circuit 1502 is configured to detect the grant of the radio resource by checking a message from the other communication device indicating whether usage of the radio resource has been granted to the other communication device. For example, referring to FIG. 13, communication device C 1303 may detect whether 5 communication device B 1302 has sent any message indicating that communication device B 1302 has granted the radio resource to another communication device, i.e. communication device A 1301.
  • the radio resource is one or a plurality of time slots. In one embodiment, o the radio resource is a range of frequencies, a frequency band, or a plurality of frequency bands. In one embodiment, the radio resource is a combination of time slots or a combination of frequencies.
  • the receiver 1501 is configured to receive a grant-confirm message from5 the requesting communication device after the grant of usage of the radio resource has been signaled to the requesting communication device, the grant-confirm message indicating confirmation of the usage of the radio resource requested by the requesting communication device.
  • a grant-confirm message from5 the requesting communication device after the grant of usage of the radio resource has been signaled to the requesting communication device, the grant-confirm message indicating confirmation of the usage of the radio resource requested by the requesting communication device.
  • communication o device C 1303 may further receive a message from communication device D 1304 confirming the usage of the radio resource for data transmission from communication device D 1304 to communication device C 1303.
  • the communication device 1500 is registered in an ad-hoc 5 communication network comprising a plurality of ad-hoc communication devices.
  • the communication device 1500 is registered in a mesh communication network comprising a plurality of communication devices and at least one base station as a central control of the plurality of communication devices, wherein each communication o device communicates with the at least one base station directly or via at least one other communication device.
  • a method for a communication device to grant usage of a radio resource to a requesting communication device, the method comprising: receiving a request for the grant of usage of the radio resource by the requesting communication device; detecting whether usage of the radio resource has already been granted by another communication device; signaling a grant of the usage of the radio resource to the requesting communication device only if usage of the radio resource has not been granted by the other 5 communication device.
  • the allocated time slots to a communication l o device may be interfered by the allocation of others, especially when the interference range of the data transmission is larger than the transmission range of control messages.
  • the interference can be explicit or implicit.
  • explicit means that the interference can be detected with the bandwidth allocation information from neighboring communication devices such as the grant and grant-confirm.
  • explicit interference may be
  • the implicit interference refers to the interference as indicated in the availability information element or from the data packet receiving. In other words, implicit interference can only be detected after it happens.
  • the delay in sending the grant-confirm may cause interference.
  • FIG. 16 illustrates a scenario wherein interference may happen due to delay in sending grant- confirm message.
  • 25 1602, C 1603, and D 1604 are all registered in an ad-hoc communication network or a mesh communication network, and they form an arbitrary topology.
  • Circle lines 1605, 1606, 1607, and 1608 represent transmission ranges of communication devices A 1601, B 1602, C 1603, and D 1604, respectively.
  • communication device B 1602 wishes to transmit data to communication device A 1601
  • communication device C 1603 wishes to transmit
  • communication device D 1604. The transmissions of communication devices B 1602 and C 1603, i.e. using an allocation of same time slots or overlapping time slots, may interfere the reception at communication device A 1601 and D 1604. Assuming at frame N, communication devices B 1602 and C 1603 receive data packets from an upper layer and the destinations are communication devices A 1601 and D 1604, respectively. Communication devices B 1602 and C 1603 may then send request to communication devices A 1501 and D 1504 respectively for usage of a radio resource, i.e. a set of time slots.
  • a radio resource i.e. a set of time slots.
  • both of communication devices A 1601 and D 1604 grant the bandwidth, namely the radio resource, before communication devices B 1602 or C 1603 can send a DSCH messages after receiving the respective grant to confirm the usage of the radio resource, then it is possible that communication devices B 1602 and C 1603 are granted with a same time slot in a frame.
  • interference may happen as interference may reach two-hops given that the transmission power are the same for both control messages and data.
  • two- hops may refer to a position outside the transmission range of a communication device but is within the transmission range of a one-hop neighbor of the communication device.
  • One-hop may refer to a range that is within the transmission range of a communication device.
  • communication devices B 1602 and C 1603 may then transmit data using a same time slot to communication devices A 1601 and D 1604, respectively.
  • Reception of data at communication device A 1601 may be interfered by data transmission from communication device C 1603, and data reception at communication device D 1604 may be interfered by data transmission from communication device B 1602.
  • one of communication devices B 1602 and C 1603 gives up the allocation of the radio resource, i.e. one or more time slots.
  • the cancellation of the allocation of the radio resource is by sending a canceling message.
  • FCFS First Come First Serve
  • radio resource respectively from communication devices A 1601 and D 1604, if communication device C 1603 first sends a grant-confirm announcing the confirmation of the usage of the radio resource, then communication device B 1602 will not send a grant-confirm but will cancel the allocation of the radio resource by sending a cancelling message. In this example, communication device C 1603 will only send the grant-confirm message only if communication device C 1603 has not detected that communication device B 1602 has send any grant-confirmation message. Implicit Interference Aware in Time Slot Allocation
  • the implicit interference exists because the interference range is longer than the transmission range.
  • FIG. 17 illustrates a scenario wherein implicit interference may happen.
  • communication devices A 1701, B 1702, C 1703, D 1704, and E 1705 are all registered in an ad-hoc communication network or a mesh communication network, and they form an arbitrary topology.
  • Circle lines 1706, 1707, 1708, 1709, and 1710 represent transmission ranges of communication devices A 1701, B 1702, C 1703, D 1704, and E 1705, respectively.
  • communication devices B 1702 and D 1704 want to transmit data to A 1701 and E 1705, respectively.
  • each pair of communication devices may not hear the grant and grant-confirm information from other communication devices, it is possible that both communication devices E 1705 and A 1701 allocate a set of same slots or overlapping time slots to communication devices B 1702 and D 1704, respectively. In this case, interference may happen at both communication devices E 1705 and A 1701, even if the allocation are performed correctly. In other words, even if the communication devices A 1701 and B 1702 complete the three-way handshake first, it is possible for D 1704 and E 1705 to use the same slot for data transmission, especially when the persistence 7 is used.
  • a communication device not only checks the slot states of its own, but also the slot states of its neighbors because the transmission of a two-hop neighbors may cause interference.
  • the communication devices E 1705 and D 1704 will not use these slots for transmission. The interference may be avoided then.
  • communication device C 1703 receives the message, i.e. DSCH message, from communication device B 1702 and marks the radio resource, i.e. a set of time slots allocated to communication devices B 1702 and A 1701, as not available.
  • communication device E 1705 receives a request of using the radio resource from communication device D 1704
  • communication device E checks the messages, i.e. DSCH messages, from all its neighbors, i.e. communication device C 1703, wherein the messages indicate the availability of the radio resource. If communication device E 1705 finds that the radio resource as requested by communication device D 1704 is marked as not available, communication device E 1705 will not send a grant of the usage the radio resource to communication device D 1704.
  • communication device D 1704 sends a request of usage of a radio resource to communication device E 1705
  • communication device E 1705 sends a grant of usage of the radio resource to communication device D 1704.
  • Communication device C 1703 also receives the grant from communication device E 1705 and marks the radio resource, i.e. a set of time slots allocated to communication devices D 1704 and E 1705, as not available.
  • communication device B 1702 has just received a grant of the radio resource from communication device A 1701, before communication device B 1702 sends out a grant-confirm message, communication device B 1702 will check the availability of the radio resource from all its neighbor communication devices, i.e. communication device C
  • FIG. 18 shows an ad-hoc communication device 1800 according to one embodiment.
  • the ad-hoc communication device 1800 may comprise a receiver 1801 and an allocation circuit 1802.
  • the receiver 1801 is configured to receive a message from another ad- hoc communication device of an ad hoc communication network in which the ad-hoc communication device is registered specifying whether the other communication device has determined a time slot as unavailable for a data transmission by the other communication device.
  • the allocation circuit 1802 is configured to allocate the time slot for data transmission only if the time slot has not been determined as unavailable for a data transmission by the other communication device.
  • communication device E 1705 may receive a request from communication device D requesting for usage of a time slot for data transmission from communication device D 1704 to communication device E 1705.
  • Communication device E 1705 checks the DSCH messages from its neighbor communication devices, i.e. communication device C 1703, the DSCH message indicating whether the time slot of time slot is available to be used for data transmission. If all the neighbor communication devices of communication device E 1705 indicate that the time slot is available, the communication device E 1705 will grant the usage of the time slot to communication device D 1704. In case that communication device C 1703 indicates that the time slot is not available, communication device E 1705 will not grant the usage of the time slot to communication device D 1704.
  • the communication device C 1703 may indicate the time slot as unavailable because communication device C 1703 receives a message from communication device B 1702 indicating that communication device B 1702 has sent a grant-confirm of the usage of the time slot for data transmission from communication device B 1702 to communication device A 1701.
  • a communication device may receive a request for allocation of a radio resource, i.e. a set of time slots, for data transmission from a requesting communication device.
  • the communication device detects the messages, i.e. DSCH messages, from its neighbors to see whether any of the neighbors indicates that the requested time slots are not available.
  • the communication device will only grant the usage of the requested time slots to the requesting communication device if all the neighbor communication devices indicate that the time slots are available. Otherwise, if there is a neighbor communication device indicating that the time slots are not available to be used, the communication device will not grant the radio resource, i.e. the requested set of time slots to the requesting communication device.
  • the message is included in a Medium Access Control layer message which is sent periodically by the other ad-hoc communication device.
  • the message is sent with in a control sub-frame.
  • the message is a DSCH control message.
  • the time slot is determined as unavailable if the message indicates that the time slot is being used or to be used by the other communication device.
  • the time slot is determined as unavailable if the message indicates that the time slot is being used by a third communication device.
  • the ad-hoc communication device 1800 is registered in an ad-hoc communication network comprising a plurality of ad-hoc communication devices.
  • the ad-hoc communication device 1800 is registered in a mesh communication network comprising a plurality of communication devices and at least one base station as a central control of the plurality of the communication devices, wherein each communication device communicates with the at least one base station directly or via at least one other communication device.
  • a method for a communication device to allocate a time slot for data transmission, the method comprising: receiving a message from another ad-hoc communication device of an ad hoc communication network in which the ad-hoc communication device is registered specifying whether the other communication device has determined a time slot as unavailable for a data transmission by the other communication device; and allocating the time slot for data transmission only if the time slot has not been determined as unavailable for a data transmission by the other communication device.
  • FIG. 19 illustrates a scenario wherein interference may happen.
  • communication devices A 1901, B 1902, C 1903, D 1904, E 1905, and F 1906 are all registered in an ad-hoc communication network or a mesh communication network, and they form a string topology.
  • Circle lines 1907, 1908, 1909, 1910, 1911, and 1912 represent transmission ranges of communication devices A 1901, B 1902, C 1903, D 1904, E 1905, and F 1906, respectively.
  • communication devices B 1902 and D 1904 want to transmit data to the communication devices A 1901 and E 1905, respectively.
  • communication devices A 1901 and B 1902, and communication devices D 1904 and E 1905 there is no common one-hop neighbor for the two pairs of communication devices, namely communication devices A 1901 and B 1902, and communication devices D 1904 and E 1905.
  • communication devices B 1902 and D 1904 are allocated with a same time slot for data transmission, communication device B 1902 can not know the allocation of the slot to communication device D 1904 from 5 the neighbor communication device C 1903.
  • communication device D 1904 can not know the allocation of time slot to communication device B 1902 from the neighbor communication device F 1906.
  • the pair of communication devices A 1901 and B 1902 and the pair of communication devices D 1904 and E 1905 can not be aware of the transmission of each other through neighboring communication devices, hi such scenario, l o interference may not be resolved immediately.
  • a communication device may detect an interference by observing the packet receiving with the allocated bandwidth.
  • the communication may comprise a receiver for detecting the interference by
  • the communication device may conclude either interference happens or the sender has given up the slots.
  • the pre-determined time period may set to be 2.5 seconds. After detection of an interference or the cancelling of the data transmission from the sender, the communication device may
  • one-hop neighbor devices may refer to neighbor communication devices located within the transmission range of the communication device.
  • the sender may release the allocated bandwidth first and then hold on the data transmission. If there are still packets in the queue, the sender
  • the MAC layer 25 may send bandwidth request again to allocate bandwidth. If the receiver cancels the bandwidth firstly, then the MAC layer may consider that it is interference instead of sender giving up the allocation.
  • a receiver may first cancel the allocation of the bandwidth due to detection of 30 interference, and the sender may request for bandwidth again for continuation of the data transmission. It might happen that the receiver grants the sender with the cancelled time slots with interference again.
  • a variable is defined which may be named as grantOffset for each link, for example, for each pair of receiver and sender. The variable may be used to determine a new position of time slots within each frame to be used for data transmission after the cancellation of previous time slots due to interference.
  • grantOffset slotSart+slotRange+a ( 1 )
  • slotStart denotes the start position of slots for the cancelled slot allocation within each frame
  • slotRange refers to the number of slots being allocated for the cancelled allocation within each frame
  • is a value to move the grantOffset further away from the interference part.
  • FIG. 20 further illustrates the calculation of the grantOffset according to equation (1).
  • the receiver may re-allocate a set of time slots at the position of grantOffset 2004, which is away from the slotStart 2001 of the cancelled time slots by a time period distance of the sum of the slot range 2002 and the random time period value q 2003.
  • FIG. 21 shows an example of how a communication device may change the allocation of time slots after occurrence of interference, thus avoiding the re-allocated time slots to be same or overlapped with the time slots with interference again.
  • numbers 1 , 2, 3... n represent frame numbers.
  • L AB 2101 represents the length of the set of time slots allocated to communication devices A 1901 and B 1902 (see FIG. 19) for data transmission.
  • Ic 1 2102 represents the starting point of L AB 2101 in a frame
  • k 2 2103 represents the ending position of L AB 2101 in a frame.
  • L DE 2104 represents the length of the set of time slots allocated to communication devices D 1904 and E 1905 for data transmission.
  • Ic 1 ' 2105 represents the starting position of L DE 2104 in a frame
  • k 2 ' 2106 represents the ending position of LQ E 2104 in a frame.
  • L AB 2101 overlaps with L DE 2104.
  • communication device D 1904 detects the interference, and then cancels the data transmission and releases the allocated set of time slots L DE 2104.
  • Communication device D 1904 may then re-allocate a new set of time slots to communication device E 1905 for continuation of data transmission.
  • 21 (b) illustrates the re-allocation of a new set of time slots to communication devices D 1904 and E 1905 for data transmission with a same length of time slots L DE 2104.
  • kj" 2107 represents the starting point of newly allocated L DE 2004 in a frame
  • k 2 " 2108 represents the ending point of the newly allocated L DE 2104 in a frame.
  • the grantOffset namely the starting point Ic 1 " may be expressed, according to equation (1), as: wherein ⁇ may be a random time period value to move the Ic 1 " further away from the interference part.
  • FIG. 22 illustrates a scheduling circuit 2200 of a communication device according to one embodiment.
  • the scheduling circuit may comprise a detecting circuit 2201, a cancelling circuit 2202, a determining circuit 2203, and an allocating circuit 2204.
  • the detecting circuit 2201 may be configured to detect whether interference has occurred in a data transmission between the communication device and another communication device for which a set of time slots comprising at least a time slot has been used that is allocated to the communication device, wherein the set of time slots is part of a time slot sequence that is repeated periodically.
  • communication device D 1904 or E 1905 may detect interference in a data transmission between communication devices D 1904 and E 1905 using the set of time slots starting from k ⁇ and ending at k 2 '.
  • the set of time slots is within a frame which may comprise a plurality of time slots, i.e. 256 time slots.
  • the cancelling circuit 2202 is configured to cancel the allocation of the set of time slots to the communication device if it has been detected that interference has occurred in the data transmission.
  • communication device D 1904 may cancel the allocation of the set of time slots starting from Ic 1 ' and ending at k 2 ' after communication device D 1904 detects interference has occurred.
  • the determining circuit 2203 is configured to determine another set of time slots comprising at least one time slot of the time slot sequence to be allocated to the communication device, wherein a relative position of the other set of time slots to the set of time slots in the sequence of time slots is determined based on a pre-determined parameter, and the other set of time slots is determined such that it has the determined relative position to the set of time slots.
  • communication device D 1904 may then determine a new set of time slots to be allocated to communication device E 1905, wherein the new set of time slots starts from Ic 1 " and ends at k 2 ".
  • the allocating circuit 2204 is configured to allocate the other set of time slots to the communication device for a further data transmission.
  • the new set of time slots may be determined based on a pre-determined parameter, such that the new set of time slots which starts from Ic 1 " and ends at k 2 " has a relative position to the cancelled time slots which starts from ki' and ends at k 2 '.
  • a communication device may detect whether interference has happened within the allocated time slots for data transmission.
  • the communication device may cancel the allocation of the set of time slots in case interference is detected.
  • the communication device may cancel the allocation by sending a canceling message.
  • the communication device may then determine another set of time slots based on a predetermined parameter, such that the other set of time slots shifts from the position of the cancelled set of time slots and has no overlap with the cancelled set of time slots.
  • the pre-determined parameter may be sum of the length of the cancelled time slots.
  • the communication device may then allocate the newly determined set of time slots for data transmission.
  • the pre-determined parameter is the length of the set of time slots.
  • the slotRange 2002 as shown ih FIG. 20 represents the length of the set of time slots.
  • the length of the set of time slot may refer to the number of slots in the set of time slots.
  • the relative position of the other set of time slots is away from the set of time slots by a distance of the sum of the pre-determined parameter and a random time length value.
  • the ⁇ 2003 in FIG. 20 may be a random time period length value.
  • ⁇ 2003 in FIG. 20 may be a non- random but adjustable period length value.
  • the communication device is registered in an ad-hoc communication network comprising a plurality of ad-hoc communication devices.
  • the communication device is registered in a mesh communication network comprising a plurality of communication devices and at least one base station as a central control of the plurality of communication devices, wherein each communication device communicates with the at least one base station directly or via at least one other communication device.
  • the time slot sequence comprises a control time slot sequence comprising a plurality of control time slots and a data time slot sequence comprising a plurality of data time slots.
  • the time slot sequence may be a frame comprising a plurality of time slots.
  • a frame comprises a control sub-frame and a data sub-frame.
  • the control sub-frame comprises a plurality of control time slots and a data sub-frame comprises a plurality of data time slots.
  • part of data time slot sequence is allocated to a communication device for data transmission.
  • the allocating circuit 2204 is further configured to specify the starting time slot of the other set of time slots in the time sequence.
  • communication device D 1904 may specify the starting slot, namely position k ⁇ ' in a frame.
  • the allocating circuit 2204 is further configured to specify the number of time slots comprised in the other set of time slots.
  • communication device D 1904 may specify the length of the newly allocated set of time slots, namely L DE - hi this example, L DE is same as the length of the cancelled set of time slots.
  • L DE is same as the length of the cancelled set of time slots.
  • the length of the re-allocated set of time slots may also be different from the set of cancelled set of time slots.
  • the allocating circuit 2204 is further configured to specify the number of repetitions of the time slot sequence for which the other set of time slots is allocated to the communication device. For example, referring to FIG. 19, communication device D 1904 may further specify the persistence of the newly allocated time slots.
  • the allocating circuit 2204 is further configured to specify the number of repetitions of the time slot sequence after which the other set of time slot starts to be allocated to the communication device relative to a beginning repetition of the time slot sequence.
  • the allocating circuit 2204 may further specify starting frame number that the new set of time slots starting from Ic 1 " should be allocated.
  • a method for allocating a set of time slots comprising at least one time slot to a communication device comprising: detecting whether interference has occurred in a data transmission between the communication device and another communication device for which a set of time slots comprising at least a time slot has been used that is allocated to the communication device, wherein the set of time slots is part of a time slot sequence that is repeated periodically; cancelling the allocation of the set of time slots to the communication device if it has been detected that interference has occurred in the data transmission; determining another set of time slots comprising at least one time slot of the time slot sequence to be allocated to the communication device, wherein a relative position of the other set of time slots to the set of time slots in the sequence of time slots is , determined based on a pre-determined parameter, and the other set of time slots is determined such that it has the determined relative position to the set of time slots; and allocating the other set of time slots to the communication device for a further data transmission. Handling the loss of DSCH messages
  • DSCH messages can be lost due to the channel impairment or interference. When these messages are lost, they may cause the scheduling information to be inconsistent among the neighboring communication devices. This problem is addressed in the following.
  • a given communication device misses the messages with grant or grant-confirm from its neighbors, it may cause collision due to the incomplete of the information at a given communication device.
  • FIG. 23 illustrates the scenario that collision may happen due to loss of DSCH messages.
  • communication devices A 2301, B 2302, C 2303, and D 2304 are all registered in an ad-hoc communication network or a mesh communication network, and they form a string topology.
  • Circle lines 2304, 2305, 2306, 2307, and 2308 represent transmission ranges of communication devices A 2301, B 2302, C 2303, and D 2304, respectively.
  • communication device A 2301 wishes to transmit data to communication device B 2302
  • communication device D 2304 wishes to transmit data to communication device C 2303.
  • communication device B 2302 may grant a radio resource, i.e. a set of time slots, to communication device A 2301.
  • the communication device B 2302 may send the grant with a DSCH message.
  • communication device C 2303 fails to receive the grant from communication device B, communication device C 2303 may then grant a same or overlapping time slots to communication device D 2304. Thus, interference may happen.
  • the above described collision may be avoided if there is a communication device E that is one-hop neighbor for both communication devices B 2302 and C 2303, namely that
  • - communication device E is within the common transmission range of both communication devices B 2302 and C 2303.
  • the communication device C 2303 can be aware of the transmission from communication device A 2301 to B 2302 given that communication device C 2303 receives a DSCH message from communication device E.
  • one communication device of A 2301 , B 2302, C 2303, and D 2304 may detect the interference during data transmission, and take actions to cancel the allocated time slots. Re-allocation of a new set of time slots may be according to the method described earlier in relation to FIGs. 19-22.
  • a communication device may correct its bandwidth allocation information from the availability information element sent from the owners of the allocation, hi this context, the owners may be the transmitter and/or the receiver. If the states of the allocated slots have changed from unavailable to available in the DSCH message from the owners, then the communication device should also clear the relative bandwidth allocation information from its table so that it can be used in the future slot allocation. As an illustration, referring to FIG. 17, communication device D 1704 transmits data to communication device E 1705.
  • Communication device E 1705 may cancel the allocation of the time slots, and communication device C 1703 may miss the cancelling message from communication device E 1705.
  • communication device D which is also an owner of the allocation, also cancels the allocation of the bandwidth, and communication device C 1703 may detect the change of the status of the allocated time slots from communication device D 1704. Then communication device C 1703 may update the status of the previous allocated slots from unavailable to available.
  • the IEEE 802.16d mesh MAC protocol assumes that the network is a static multi-hop wireless network.
  • the communication devices may be the ships and they can move in the shipping lane. So the ⁇ mobility need to be addressed. Two problems can be caused by the mobility. One is the interference and the other is the link breakage.
  • Interference may be caused by the communication devices with crossed bandwidth allocation moving towards each other. For example, at time t, communication device A is assigned with a slot x for data transmission to B, and communication device C is also assigned with the same slot JC by communication device D for data transmission. As these two pairs of communication devices may be rather far away, they do not interfere each other. If the allocation is with persistence 7, the communication devices may use the slots for a long time. Assuming after a while, communication devices C and D moves to a nearby place to communication devices A and B, the interference may happen when they are close enough.
  • one of the two parties may give up the allocation of the bandwidth, and re-allocate a new bandwidth may be according to methods by either checking the slot state of neighboring communication devices as described earlier in relation to FIGs. 17 and 18 or moving the grant offset to a different position as described in relation to FIGs. 19-22. 0
  • Link breakage may be caused by the mobility. For example, a receiver may not receive any messages from the sender including the control messages, after the distance between the receiver and the sender becomes long enough.
  • each communication device may maintain a neighbor list at the MAC layer, and when a communication device can5 not hear from its one-hop neighbor exceeds pre-determined time period threshold, the neighbor is downgraded to a two-hop neighbor and a link breakage is reported to upper layer.
  • the pre-determined timing threshold for link breakage detection may be set to be 5 seconds. In such cases, the routing layer may stop using this link for data forwarding.
  • one-hop neighbor refers to a neighbor communication device that is located within the o transmission range of the communication device, and can transmit or receive data with the communication device directly without a relaying communication device in between.
  • Two- hop neighbor may refer to a neighbor communication device that is located outside the transmission range of the communication device, and need to communicate with the communication device with a one-hop neighbor for relaying data. 5
  • the traffic load at the MAC may vary either due to the variation of traffic itself or due to the change of route in the network.
  • a communication device may readjust its allocated bandwidth based on traffic load observed at the MAC layer. In one embodiment,0 two threshold values are used in controlling the allocated bandwidth over a link.
  • the IEEE 802.16d MAC protocol supports different persistence values in bandwidth allocation.
  • the effectiveness of allocation varies from one frame to many frames until a canceling command is issued.
  • adjustment of utilization of the bandwidth is designed mainly for time slots allocated with the highest persistence, namely persistence 7.
  • persistence 7 For persistence one, the allocated slots are used only once. Thus, it is not necessary to adjust the allocation.
  • the utilization of allocated slots may be calculated periodically by a sender.
  • the time period duration may be denoted as ⁇ and the frame duration may be denoted as T f .
  • A(IJ represents a specific data transmission over link /,.
  • n represents the number of slots allocated to it in each frame. If M A is the number of slots used during the current period ⁇ , then the utilization is calculated as follows:
  • two threshold values may be defined, THu and THi. They are the upper and lower bound for the utilization.
  • a communication device may consider to release the bandwidth until the allocation becomes irreducible.
  • irreducible refers to the situation that if the current allocation is cancelled, the communication device has to apply for the bandwidth again on the same link.
  • the communication device may apply for new bandwidth to avoid the buffer being overflowed.
  • the application for new bandwidth may be performed gradually but not bursty. In other words, when a new application of additional bandwidth, i.e. time slots, is made and get granted, the communication device will observe the utilization for a while. If all of them are still above threshold TH U , then the communication device may apply for the bandwidth further until either there is an allocation on the link with utilization dropped below the TH L or there are no bandwidth available for application.
  • FIG. 24 illustrates a communication device 2400 according to one embodiment.
  • the communication device 2400 comprises a determining circuit 2401, a comparing circuit 2402, and a controller 2403.
  • the determining circuit 2401 is configured to determine the degree of utilization of radio resources allocated to the communication device for data transmissions carried out by the communication device.
  • the radio resources allocated to the communication device may be a set of time slots with a persistence code of 7.
  • the comparing circuit 2402 is configured to compare the degree of utilization with a pre-determined threshold.
  • the pre-determined threshold may be used to determine whether the bandwidth should be released or whether further bandwidth should be applied for.
  • the controller 2403 is configured to initiate the allocation of additional radio resources if the degree of utilization is higher than the pre-determined threshold or configured to initiate the release of at least some of the radio resources if the degree of utilization is lower than the pre-determined threshold.
  • the communication device may request for additional time slots within each frame when the utilization is higher that the pre-determined threshold.
  • the communication device may release part of the time slots within each frame if the communication detects that the utilization is lower than the pre-determined threshold.
  • a communication device determines the utilization of the allocated radio resources, and compares the utilization , with a pre-determined threshold. If the communication device detects that the utilization is above the pre-determined threshold, the communication device will apply for further radio resources, i.e. additional time slots within each frame to be allocated for data transmission. If the communication device detects that the utilization of the radio resources is below the predetermined threshold, the communication device will then release at least part of the radio resources for data transmission.
  • the radio resources comprise a plurality of time slots of a time slot sequence that is repeated periodically. For example, the time slot sequence is a frame.
  • the radio resources are a range of frequencies, a frequency band, or a plurality of frequency bands. In one embodiment, the radio resources are a combination of time slots or a time slot sequence that is repeated periodically or a combination of frequencies.
  • the comparing circuit 2402 is configured to compare the degree of utilization with a higher pre-determined threshold and a lower pre-determined threshold.
  • the higher pre-determined threshold is denoted as THu
  • the lower predetermined threshold is denoted as TH L , wherein THu > TH L .
  • the controller 2403 is configured to initiate the allocation of additional radio resources if the degree of utilization is higher than the higher pre-determined threshold or configured to initiate the release of at least some of the radio resources if the degree of utilization is lower than the lower pre-determined threshold.
  • degree of utilization of the radio resources during period ⁇ is calculated as
  • T f wherein the periodicity of the slot sequence is T f , A(l t ) represents the data transmission, U(A(I 1 )) represents the degree of utilization of the allocated radio resources during period r ' of the data transmission, M A represents number of time slots used for data transmission during period r , and n represents number of time slots allocated in each time slot sequence for the communication device.
  • the time slot sequence may be a frame.
  • the communication device 2400 is registered in an ad-hoc communication network comprising a plurality of ad-hoc communication devices. In one embodiment, the communication device 2400 is registered in a mesh communication network comprising a plurality of communication devices and at least one base station as a central control of the plurality of communication devices, wherein each communication device communicates with the at least one base station directly or via at least one other 5 communication device.
  • a method for adjusting the allocation of radio resources to a communication device for data transmissions carried out by the communication device, the method comprising: determining the degree of utilization of radio resources allocated to the l o communication device; comparing the degree of utilization with a pre-determined threshold; initiating the allocation of additional radio resources if the degree of utilization is higher than the pre-determined threshold or configured to initiate the release of at least some of the radio resources if the degree of utilization is lower than the pre-determined threshold.
  • the communication devices in the network may remember the ownerships of those that use the allocated bandwidth, hi this context, the term "ownership" may refer to both the transmitter and the receiver. In one embodiment, the ownership is indicated in a cancellation messages in order to avoid
  • FIG. 25 illustrates a scenario wherein interference may be avoided with use of ownership.
  • communication devices A 2501, B 2502, C 2503, D 2504, E , 2505, F 2506, and G 2507 are all registered in an ad-hoc communication network or a mesh 25 communication network.
  • Circle lines 2508, 2509, 2510, 2511, 2512, 2513, and 2514 represent transmission ranges of communication devices A 2501, B 2502, C 2503, D 2504, E .2505, F 2506, and G 2507, respectively.
  • communication devices A 2501 and D 2504 want to 30 send data to B 2502 and C 2503, respectively. Assuming that persistence 7 is used in the bandwidth allocation.
  • the initial topology is shown in FIG. 25 (a).
  • communication devices A 2501, B 2502, C 2503, and D 2504 are allocated slots at the same location in a frame.
  • the communication device E 2505 knows the allocation according to communication device B's grant. As the two pairs of communication devices A 2501, B 2502, C 2503, and D 2504 are far apart, no interference happens.
  • communication devices C 2503 and D 2504 move toward A 2501 and B 2502 as shown in FIG. 25 (b) eventually the transmissions interfere each other and communication device C 2503 may not be able to receive data from communication device D 2504.
  • Communication device C 2503 may then cancel the interfered slots. If communication device E 2505 receives the cancellation message from communication device C 2503 and marks the states of slots as available, then communication devices F 2506 and G 2507 may use the same slot for transmission after the cancellation, hi this case, interference may happen between the transmission between communication devices A 2501 and B 2502 and the transmission between communication devices F 2506 and G 2507 as shown in FIG. 25 (b). In order to address this problem, in one embodiment, the ownership is remembered by the communication devices.
  • communication device E 2505 receives a cancelling message from communication device C 2503, communication device E 2505 will not cancel the allocation which is marked to be allocation to communication device B 2502. Thus, communication devices F 2506 and G 2507 will know from the neighbor communication device E 2505 that the time slots are not available, and will not use it for transmission. This method prevents interference from happening in certain scenarios and thus improves the performance of the MAC.
  • FIG. 26 illustrates a communication device 2600 according to one embodiment.
  • the communication device 2600 comprises a detector 2601, a cancelling circuit 2602, and a signaling circuit 2603.
  • the detector 2601 is configured to detect whether interference has occurred between a first data transmission between a first communication device and a second communication device and a second data transmission between a third communication device and a fourth communication device, wherein a radio resource allocated to the first communication device and allocated to the third communication device has been used for the first data transmission and the second data transmission.
  • communication device C 2503 may comprise a detector to detect whether interference has happened between a first transmission between communication devices C 2503 and D 2504 and a second data transmission between communication devices A 2501 and B 2502.
  • the cancelling circuit 2602 is configured to cancel the allocation of the 5 radio resource to the first communication device if it has been detected that interference has occurred between the first data transmission and the second data transmission.
  • communication device C 2503 may cancel the allocation of the radio resource if communication device C 2503 detects that there is interference between the first transmission between communication devices C 2503 and D 2504 and the o second data transmission between communication devices A 2501 and B 2502.
  • the signaling circuit 2603 is configured to signal that the allocation of the radio resource to the first communication device has been cancelled and that the radio resource remains to be allocated to the third communication device.
  • 5 communication device C 2503 may send a cancelling message indicating that communication device C 2503 has cancelled the allocated radio resource, i.e. a set of time slots, such that neighbor communication device will know that the allocation of the radio resource has been cancelled for communication device C 2503.
  • the cancelling message may be a DSCH message.
  • neighbor communication devices may mark that the radio o resource is cancelled for communication device C 2503.
  • a communication device detects whether interference has occurred using the currently allocated radio resource, i.e. a set of time slots. In case the communication detects that interference has5 occurred, the communication device generates a cancelling message indicating that the radio resource has been cancelled for the communication device.
  • Neighbor communication devices of communication device will know that the radio resource is no longer allocated to the communication device. Neighbor communication devices will set the radio resource to be available if no other communication device (e.g. communication device A in Fig. 25b)0 indicates that the other communication device is using the radio resource.
  • the signaling circuit 2603 is configured to signal the cancellation of the radio resource to the first communication device with a Medium Access Control layer message.
  • the message may be a DSCH message.
  • the communication device 2600 is registered in an ad-hoc communication network comprising a plurality of ad-hoc communication devices.
  • the communication device 2600 is registered in a mesh communication network comprising a plurality of communication devices and at least one base station as a l o central control of the plurality of communication devices, wherein each communication device communicates with the at least one base station directly or via at least one other communication device.
  • a method for adjusting allocation of a radio resource comprising: detecting whether interference has occurred between a first data transmission between a first communication device and a second communication device and a second data transmission between a third communication device and a fourth communication device, wherein the radio resource allocated to the first communication device and allocated to the third communication device has been used for the first data 20 transmission and the second data transmission; cancelling the allocation of the radio resource to the first communication device if it has been detected that interference has occurred between the first data transmission and the second data transmission; and signaling that the allocation of the radio resource to the first communication device has been cancelled and that the radio resource remains to be allocated to the third communication device.
  • the routing protocol used in a mesh network is critical for ensuring data packets that are delivered with a certain level of Quality of Service (QoS).
  • QoS Quality of Service
  • the traffic in the mesh network is usually between the SS and BS instead of peer to
  • OLSR Optimized Link State Routing
  • AODV Ad Hoc On Demand Distance Vector
  • AOMDV Ad Hoc On 5 Demand Multipath Distance Vector
  • Ad Hoc On Demand Distance Vector AODV
  • Optimized Link State Routing OLSR
  • AODV is a reactive routing scheme and a route is only setup between the source and 5 destination when necessary. It uses a message flooding mechanism to find the destination and a uni-cast reply message, sent from destination to the source once the destination has been located. As a route may frequently break due to topology changes, there are route repair mechanisms built into the protocol to repair the routes at the point where the routes are broken to the destination or repaired from the source to the destination again. To reduce the o impact on delay and throughput due to broken routes, AODV has been enhanced with mechanisms to include multiple routes from source to destination so that when one path is broken, the source can use another route to quickly deliver the packets.
  • One such protocol that includes this enhancement is Ad Hoc On Demand Multipath Distance Vector (AOMD V).
  • OLSR is a reactive routing scheme, whereby routes are actively maintained and a communication device has the benefit of finding the destination immediately without performing a route discovery phase.
  • OLSR requires the communication devices to keep exchanging topology information among each communication devices in order to maintain a fresh routing table. Although this protocol tries to keep up-to-date routes, it incurs too many0 control overheads, thus causing the performance of the system to degrade. In fact, all these routing scheme mentioned above are not performing well as the IEEE 802.16d MAC does not support broadcast packets well.
  • the term "broadcast packets" may refer to data packets that are transmitted to all the communication devices in a mesh communication network.
  • IEEE 802.16d MAC is restrictive as it has a certain fixed allocation for control slots. The limited control slots usually limit the amount of broadcast packets in protocols such as OLSR. As such, the OLSR protocol is unable to establish the accurate routing topology as fast as required.
  • IEEE 802.16d does not define how to support the broadcast packets.
  • Existing routing protocols have problems such as long delay in route discovery for reactive routing protocols such as AODV and AOMDV.
  • One reason for this problem is that existing routing protocols depend heavily on broadcast message, which is not well supported in the IEEE 802.16 based mesh network.
  • Another reason is due to long delay caused by the three-way o handshake mechanism. Further, failures of bandwidth request happen frequently when many communication devices want to broadcast at the same time.
  • Another problem of existing routing protocols is slow link breakage detection and route repair for proactive routing protocols such as OLSR. This problem is partly due to the fact5 that collision and failure in bandwidth allocation may happen when hello message interval is short. Another reason is that link breakage detection and route repair is long when interval for hello messages is long. A further reason is that there may be too many broadcast messages.
  • a method which utilizes dedicated control slots available in o the MAC layer for fast dissemination of routing information.
  • NCFG messages are used for dissemination of routing messages. Usage of NCFG messages is simple but powerful.
  • a three way handshake mechanism may be used.
  • a 5 communication device sends bandwidth request to the sponsor communication device when it wants to send a broadcast packet.
  • the sponsor communication device grants the bandwidth . for broadcast.
  • the term "sponsor communication device” may refer to one of the communication devices in the broadcasting range of a node that agrees to participate in the three way handshake to help allocate the bandwidth for broadcast type packets.
  • Three0 way handshake mechanism may not be able to avoid collision totally, but it works fine for most cases.
  • With three way handshake mechanism a communication device may only be able to get the bandwidth after several tens of milliseconds. However, for both AODV and OLSR, using of three way handshake mechanism slows down the route discovery and repair.
  • new routing methods are provided that performs much better, i.e. in the Maritime Mesh Environment, using a TDMA like protocol such as IEEE 802.16d mesh.
  • control messages are used within dedicated control slots and are frequently exchanged in the network.
  • control messages that are transmitted in the air are designed to be collision free.
  • routing information is attached with the MAC layer control messages that are sent in the control sub-frame.
  • the MAC layer uses two key control messages, the NCFG and DSCH messages. DSCH messages are transmitted more frequently compared to the NCFG message. However, the space available in DSCH is less as it needs to transmit the "availability" information of the data slots.
  • the route information (OSI layer 3) is attached in the NCFG messages (OSI layer 2).
  • OSI layer 3 namely the Network Layer, performs network routing functions. Routers operate at this layer sending data throughout the extended network and making the Internet possible.
  • the OSI layer 2 namely the Data Link Layer, provides the functional and procedural means to transfer data between network entities and to detect and possibly correct errors that may occur in OSI layer 1, namely the Physical Layer.
  • the frequency of NCFG message is variable.
  • the configuration parameters such as how frequent the NCFG control sub-frame should be sent affect the intervals.
  • the frequency that the NCFG control sub-frame is sent is set to be one for every 10 frames.
  • density of communication devices also affects the frequency because the transmission opportunities are determined by the mesh election.
  • the mesh election procedure determines whether a local communication device is the winner for using a specific time slot among all the competing communication devices. Higher density means less number of transmission opportunities. For example, with the maritime network topology shown in FIG. 39, each communication device can send an NCFG for every 30 frames in average, or 300 milliseconds. It is fast enough for the propagation of routing messages.
  • the exporting of the routing layer information into the MAC layer control slots is a first key consideration of the routing methods and devices according to the present invention.
  • the second key consideration of the routing methods and devices according to the present invention is the mechanisms that are designed to specially cater for efficient routing of traffic between the BS and SS in a mesh network. Aspects of the design are focused on single and multiple paths routing setup, maintenance of routes and repair of routes between SS and BS. Another key consideration is the loop free nature of the routing protocol. In the following, the schemes that are designed for packets routed from BS to SS and vice-versa, from SS to BS are described.
  • the NCFG message from BS is used to carry routing information.
  • This NCFG message is then flooded towards the SSs that would rely on this BS for access to the Internet.
  • the NCFG is designed to carry routing information that includes a sequence number (4 bytes), hop count (1 byte) and other possible routing metric.
  • other routing metric may be link quality, end-to-end bandwidth availability, reliability, etc.
  • one-hop may refer to a step of data transmission from one communication device to the next on the path of data transmission in a communication network.
  • the term "hop count" may be a number being associated with the number of communication devices between one source communication device to a destination communication device along the path of data transmission. If there are multiple BSs within a region, a BS identification (1 byte) may also be included as a field in the NCFG to help SSs distinguish the BSs.
  • sequence number is used to ensure loop-free properties for the routing protocol.
  • a sequence number may be used to indicate the sequence of the NCFG message. For example, a NCFG message with a larger sequence number may indicate that the NCFG message is newer. Sequence numbers have been widely used in other routing protocols used for Ad-Hoc networks, such as in AODV, AOMDV and DSDV.
  • the NCFG messages are broadcasted and collected by all communication devices to help maintain neighborhood information. This neighborhood information intrinsically maintains the two-hop topology information in relation to a communication device.
  • two-hop may refer to a range relative to a communication device in which a neighbor communication device can not directly transmit data to the communication device but can transmit data to the communication device with one relaying communication device in between.
  • the route is updated whenever the sequence number is larger than the current ones and old route information is given up.
  • the update in this manner happens even if the messages are sent from communication devices that are not the current next hop.
  • Such a method has a disadvantage in that it may cause a communication device to frequently change its next hop and further affect the performance in data forwarding because a stable routing structure is critical for the TDMA-based MAC.
  • the term "current next hop” may refer to a neighbor communication device in the broadcasting range of a communication device, which is currently selected as the current next hop communication device to help route the packets between the communication device and a destination communication device, i.e. a base station.
  • NCFG messages are used for routing.
  • the sequence number can only be increased by the base station (BS) and is incremented with each new NCFG message sent out by BS.
  • the special fields for routing in the NCFG message may be propagated as far as the furthest communication device associated with a BS.
  • a communication device other than the BS receives NCFG messages from its neighbors, and it has not identified its current next hop to BS, it may choose a neighbor as next hop immediately if the link to the next hop is eligible for routing.
  • a communication device other than the BS receives NCFG messages from its neighbors, and a current next hop to BS has been already chosen by this communication device, it updates its sequence number only when it receives a larger sequence number from its current next hop.
  • a communication device updates its sequence number only if it receives a larger one from its parent communication device.
  • only the base station may update the sequence number.
  • the term "parent communication device” may refer to one of the neighbor communication devices in the radio range of a communication device that can be chosen as the next hop communication device to route data towards the destination, i.e. a base station.
  • the term "parent communication device may be used interchangeably with the term "next hop”.
  • the communication devices i.e. ships
  • the performance of the TDMA network is rather sensitive to the stability of the routing because the change in route may lead to renegotiation of the bandwidth.
  • both routing cost and stability are considered, hi the implementation, the routing cost may be represented by the hop count.
  • the use of single path routing may be easily affected by the topology changes.
  • routing methods that allow each communication device to maintain multiple routing paths are provided.
  • the term "link” may refer to a potential next hop communication device in the communication network as a backup in case the current link to the current next hop communication device is broken.
  • the Received Signal Strength (RSS) of packets transmitted along the link in a single or return direction is used as a criteria for screening for potential links.
  • RSS Received Signal Strength
  • the correlation between distance and RSS may be weak, it can still be used to infer distances of link in some favorable conditions. Higher signal strength usually indicates a shorter link and thus available for a longer time.
  • two thresholds may be defined, namely RSSu and RSS L , serving as upper and lower bound to screen for useful links, hi one embodiment, signal-to-noise ratio may be used to represent the Received Signal Strength (RSS). hi one embodiment, only if the RSS values of link is above RSSu, it is eligible for being chosen for routing, hi one embodiment, once a link is chosen for routing, it is used unless its RSS drops below the RSS L or a better path has been found.
  • the two thresholds may prevent a link from being given up shortly after it is chosen for routing. When the RSS of the link to the current next hop is lower than RSS L , a communication device gives up the current next hop and chooses a new link for data forwarding.
  • FIG. 27 illustrates a process for path selection according to one embodiment. Assuming that communication devices A and B are all registered in a mesh network which comprises a plurality of communication devices and one base station. Firstly, in process 2701, the communication device A receives a NCFG message from another communication device B. In process 2702, the device A determines whether it has already had a route entry in its route table for recording neighbor communication devices that may be used as a next hop communication device. If no, the communication device A proceeds to process 2703 and determines whether the received NCFG message has the signal-to-noise ratio (SNR) being higher than a upper threshold THu- IF no, the communication device ignores this NCFG message from communication device B.
  • SNR signal-to-noise ratio
  • the communication device A proceeds to process 2704 in which the communication device A inserts a new route entry into the route table.
  • the communication device A then proceeds to process 2705 in which device A creates a new route element in the route entry indicating that device B may be considered as a next hop device in the routing between communication device A and the base station.
  • process 2702 if device A determines that it has already had route entry in the route table, communication device A proceeds to process 2706 and determines whether the route entry comprises a route element for device B. If no, communication device A proceeds to process 2707 and determines whether the received NCGF message has a SNR being higher than the upper threshold TH U . If no, device A proceeds to process 2712. If yes, device A proceeds to process 2708 in which the device A creates a route element for communication device B indicating that device B may be considered as a next hop device for data transmission in the route comprising device A and the base station.
  • process 2706 if device A determines that it has already had a route element in the route table for device B, device A then proceeds to process 2709 in which it determines whether the received NCGF message has a SNR being lower than a lower threshold TH L . If no, device A proceeds to process 2710 in which device A updates the route element for device B by remaining the route element for device B, and then proceeds to process 2712. If yes, device A proceeds to process 2711 in which device A removes the route element for device B, and then proceeds to process 2712.
  • device A determines whether the route comprising device A and the base station is in an activated state.
  • the activated state refers to a state that data or packets can be transmitted along the route comprising device A and the base station. If no, device A proceeds to process 2713 in which device A repairs the route. In this context, repair of the route may refer to that communication device A selects a new next hop communication device for data transmission between the base station and communication device A. If yes, device A proceeds to process 21 r l 4 in which device A determines whether device B is the 5 current next hop of device A in the data transmission route between device A and the base station.
  • SNR refers to the SNR of the NCGF message from device B.
  • THu refers to the higher threshold.
  • HC refers to hop count being associated with the number of communication l o devices needed for relaying data between device A and the base station if device A selects device B as its next hop to the base station.
  • currHC refers to the hop count being associated with the number of communication devices in the current data transmission route between device A and the base station.
  • SN refers to the sequence number in the NCFG message from device B indicating the sequence of the NCFG and indicating whether the NCFG message is
  • currSN refers to the sequence number of the current next hop that is stored in the routing table. If the three criteria are not satisfied at the same time, device A ends the process. If the three criteria are satisfied at the same time, device A proceeds to process 2716 in which device A changes device B to be the next hop. Then device A ends the process.
  • process 2714 if device A determines that device B is the next hop, device A proceeds to process 2717 in which device A determines whether the received NCFG message from device B has the SNR being lower than the lower threshold TH L . If no, device A proceeds to process 2718 in which device A updates the routing information. That is, device A updates the sequence number comprised in the NCFG from device B into the routing table. Then
  • device A ends the process. If yes, device A proceeds to process 2719 in which device A repairs the route by removing device B as a next hop and identifying a new next hop.
  • FIG. 28 illustrates a particular example of route selection.
  • a mesh communication network which comprises a base station (BS) 2800, and communication devices A-F (2801-2806).
  • BS base station
  • A-F 2801-2806
  • ' communication device A 2801 currently is using a data transmission route to the BS 2800 via communication devices C 2803, D 2804, and F 2806.
  • the current next hop of communication device A 2801 is communication device C 2803.
  • the current hop count of the route is 4, as communication device A 2801 needs three communication devices, namely C 2803, D 2804, and F 2806, to relay data packets to the BS 2800.
  • communication device A 2801 may now receive a NCFG message from communication device B 2802. Upon the reception of this message, communication device A 2801 may detect whether communication device A 2801 has already had a route entry for recording neighbor communication devices that may be used as a next hop for data transmission to the base station. If yes, communication device A 2801 may then detect whether communication device B 2802 is already recorded in the route entry as a route element. If yes, communication device A 2801 may then detect whether the SNR of the received NCFG message from device B 2802 is lower that a lower threshold TH L . If the SNR is lower than TH L , communication device A 2801 removes communication device B 2802 from the route entry.
  • communication device A 2801 proceeds to determine whether the route for data transmission to the BS 2800 is in an activated state. If yes, communication device A proceeds to determine whether communication device B 2802 is the current next hop of communication device A 2801. Communication device A 2801 may then note from its route table that the current next hop is communication device C 2803 but not communication device B 2802. Communication device A 2801 may then decide whether communication device B 2802 fulfills the following three criteria: SNR > THu, and HC ⁇ currHC, and SN > currSN at the same time. In this context, THu represents a higher predetermined threshold.
  • HC represents the hop count between communication device A 2801 and the base station (BS) 2800 if communication device B 2802 is selected to be the next hop of communication device A 2801, namely 3 in this example.
  • currHC represents the current hop count wherein communication device C 2803 is used as a next hop, namely 4 in this example.
  • SN represents the sequence number included in the NCFG message from communication device B 2802.
  • currSN represents the sequence number included in the NCFG message from the current next hop, namely communication device C 2803. It can be seen that HC is less than currHC.
  • the communication device A 2801 may remove communication device C 2803 as a next hop but set communication device B 2802 as a next hop for relaying data packets to the BS 2800.
  • FIG. 29 illustrates an example of a route table 2900 according to one embodiment.
  • the route table 2900 may keep a record of destinations as shown in column 2901.
  • the destination refers the destination communication device for data transmission.
  • one destination may be the base station.
  • the route table 2900 may comprise, for each destination, a record of respective next hop as shown 5 in column 2902.
  • the route table 2900 may comprise, for each destination, a record of respective hop count as shown in column 2903.
  • the route table 2900 may comprise, for each destination, a record of respective sequence number included in the message from the next hop as shown in column 2904.
  • the route table 2900 may comprise a record of route element for each destination, the route l o element comprising a list of neighbor communication devices that may be used as a next hop.
  • the routing table may comprise a route element for the destination which is a base station as shown in sub-table 2905.
  • the route element table 2905 for each potential next hop as shown in column 2906, the table 2905 may also keep a record of the respective
  • route element table 2905 may also, for each potential next hop, keep a record of the respective SNR of the messages from the respective potential next hop as shown in column 2908. In one embodiment, route element table 2905 may also, for each
  • a communication device may keep a route table recording routing information for data transmission in the communication network in which
  • the communication device may include the route table into the routing message broadcasting to other communication , devices, hi one embodiment, the communication network is a mesh communication network which comprises a plurality of communication devices and at least one base station as a central control of the plurality of communication devices, hi one embodiment, the routing
  • the routing table may comprise a list of destinations for data transmission from the communication device.
  • the destination may be a base station or another communication device in the mesh communication network.
  • the routing table may comprise a next hop information indicating the nearest communication device in a route that is currently used for data transmission between the communication device and the base station, hi one embodiment, the routing table may comprise a hop count being associated with the number of communication devices in the route that is currently used for data transmission between the communication device and the base station, hi one embodiment, the routing table may comprise a record of the sequence number indicating the sequence of the routing message 5 received from the current next hop. In one embodiment, a larger sequence number indicates that the routing message is newer.
  • the routing table may also keep a record of several candidate links for next hops, hi other words, o the communication device may keep a record of a neighbor list recording one or more neighbor communication devices that may be used as a next hop to the communication device in the route between the communication device and the base station, hi one embodiment, the neighbor list is included in a routing table as route element for each destination, i.e.
  • the routing table may also keep a record of hop count indicating the number of communication devices between the communication device and the base station if the communication device A listed in the neighbor list is used as a next hop of the communication device.
  • the routing table may also keep a record of the o SNR of the NCFG messages from the communication device A listed in the neighbor list, hi one embodiment, the routing table may also keep a record of sequence number included in the routing message from communication device A that is recorded in the neighbor list, hi one embodiment, the routing table is updated whenever routing messages are received from another communication device.
  • the routing table may also keep a record5 of other routing metrics. Examples could be reliability of link, bandwidth availability, etc.
  • routing layer monitors these events and perform the0 updating of better routes or repairing of broken links when necessary.
  • communication devices may use NCFG control layer messages to monitor and exchange routing information within the communication network.
  • a communication device reviews its list of backup next hop links. Several criteria may be used. The first criteria is that the sequence number of these backups must be larger than the current sequence number observed from the old broken link. From the list of backup next hop that satisfy the sequence number criterion, the link with the least number of hop count is chosen. o Note that this criterion could be based on other metrics.
  • FIG. 30 illustrates a process of path repair according to one embodiment.
  • Process 3001 is the start of the path repair.
  • a communication device A is 5 registered in a mesh network which comprises a plurality of communication devices and a base station.
  • Communication device A may find in process 3001 that the data transmission route using the current next hop is broken.
  • the communication device A then proceeds to process 3002 in which communication device0 A checks the list of route elements in its route table, wherein each route element corresponds to a respective neighbor communication device of communication device A that may be used as a next hop.
  • Each route element may also comprise information of respective hop count, SNR, and sequence number as illustrated in the sub-table 2905 as shown in FIG. 29.
  • RE is used to represent the route element in the list that is currently under the test of 5 whether the respective communication device fulfills the criterion to be set as a new next hop.
  • SN is used to represent the sequence number included in the messages, i.e. NCFG messages, . from the current next hop.
  • HC is used to represent the current hop count for the data transmission route between the communication device A and the base station.
  • Communication device A then proceeds to process 3003 in which communication device A determines whether the list of route elements is empty. In other words, communication device A determines whether a route element (RE) exists in the list. If the list of route element is empty, communication device A proceeds to process 3010. Otherwise, communication device A proceeds to process 3004. In process 3004, communication device A determines whether one of the two criterion is satisfied.
  • RE route element
  • the first criterion is that the sequence number corresponding to the RE, which is denoted as RE->SN, is larger than the sequence number included in the message from current next hop (SN).
  • the second criteria is that the sequence number corresponding to the RE, which is denoted as RE->SN, is equal to the sequence number included in the message from current next hop (SN), and the hop count corresponding to the RE, which is denoted as RE- >HC, is less than the hop count of the current next hop.
  • the sequence number corresponding to RE refers to the sequence number included in the messages, i.e. NCFG messages, from the communication device recorded in the RE.
  • the hop count corresponding to the RE refers to the hop count in the data transmission route between communication device A and the base station if the communication device recorded in RE is used as a next hop of communication device A. In case that one of the criterion is fulfilled, communication device A proceeds to process 3005. Otherwise, communication device A proceeds to process 3009.
  • communication device A determines whether it has already recorded a candidate route element (candidateRE) which corresponds to a communication device that satisfies the criterion to be a new next hop. If candidateRE already exists, communication device A proceeds to process 3007. Otherwise, communication device A proceeds to process 3006.
  • candidateRE a candidate route element
  • communication device A determines whether the following two criterion are satisfied at the same time.
  • the first criteria is that RE->HC is less than candidateRE->HC.
  • the second criteria is that RE->SNR is larger than THu-
  • candidateRE->HC refers to the hop count in the route between the communication device A and the base station if the communication device corresponding to the candidateRE is used as a next hop of the communication device A.
  • RE->SNR may refer to the SNR of the message, i.e. NCFG message, from the communication device corresponding to RE.
  • THu represents a upper threshold. If communication device A determines that the two criterion are satisfied at the same time, communication device A proceeds to process 3008. Otherwise, communication device A proceeds to process 3009. In process 3006, communication device A determines whether the following criteria is fulfilled: RE->SNR is larger than THu. If the criteria is fulfilled, communication device A proceeds to process 3008. Otherwise, communication device A proceeds to process 3009.
  • communication device A replaces the current candidateRE with the RE. hi other words, communication device A sets RE to be the current candidateRE which fulfills the criterion to be a new next hop. Then communication A proceeds to process 3009.
  • communication device A sets a next route element in the neighbor list to be RE. If there is no next route element, RE is set to be empty, namely NULL. Then communication device A proceeds to process 3003.
  • communication device A determines whether there is a candidate route element (candidateRE) being recorded. If yes, communication device A proceeds to process 3011. Otherwise, communication device A ends the process.
  • candidate route element candidateRE
  • communication device A sets the candidate route element to be the current next hop. In other words, communication device A uses the respective communication device of the candidate route element as the new next hop of communication device A.
  • FIG. 31 illustrates a message generating circuit 3100 according to one embodiment.
  • the message generating circuit 3100 is configured to generate a Medium Access Control layer message comprising routing information based on which a communication route to a communication device in a communication network in which the communication device is registered may be determined.
  • the Medium Access Control layer message may be a NCFG message.
  • the routing information may comprise next hop information indicating the next hop to the base station, and other information as illustrated in the table 2900 in FIG. 29.
  • a communication device may comprise a message generating circuit for generate a routing message.
  • the routing message may comprise routing information which may be used to determine the route from the communication device to a destination, i.e. a base station.
  • the routing information may comprise a next hop information indicating a neighbor communication device that the communication device should transmit data to, such that the neighbor communication device may relay the data to the destination.
  • the Medium Access Control layer message is a message of a plurality of Medium Access Control layer messages transmitted periodically.
  • the communication network is an ad-hoc communication network comprising a plurality of ad-hoc communication devices.
  • the communication network is a mesh communication network comprising a plurality of communication devices and at least a base station as a central control of the plurality of communication devices, wherein each communication device communicates with the at least one base station directly or via one or more other communication devices.
  • the communication route is a path in the communication network for data transmission comprising the communication device and the at least one base station.
  • the routing information comprises a hop count number indicating the number of other communication devices in the route between the base station and the communication device.
  • the hop count is associated with the number of communication devices in the route for data transmission between the communication device and the base station. For example, if there is no other communication device for data relaying between the communication device and the base station, then the hop count is considered to be one. hi another example, if there are two other communication devices in the route for data transmission between the communication device and the base station, the hop count is consider to be three.
  • the message generating circuit is in the at least one base station, and the message generating circuit is configured to include a sequence number in the Medium Access Control layer message to indicate the sequence of the Medium Access Control layer message by increasing the sequence number each time the Medium Access Control layer message is sent out.
  • the base station has the right to increase the sequence number included in the Medium Access Control layer message, i.e. NCFG message.
  • Other communication devices in the mesh network can not increase the sequence number included in the Medium Access Control layer message.
  • the message generating circuit 3100 is in a communication device other than a base station and the message generating circuit is configured to determine whether a received Medium Access Control layer message is newer than another received Medium Access Control layer message based on a detection of the sequence number included in the Medium Access Control layer message.
  • the base station may increase the sequence number included in the Medium Access Control layer message each time a new Medium Access Control layer message is generated, the other communication devices may determine whether the received Medium Access Control layer message is newer based on the sequence number included in the Medium Access Control layer message.
  • the routing information further comprises a next hop information indicating the nearest communication device to the communication device in the route between the communication device and the at least one base station.
  • An illustration of the next hop information may be seen from column 2902 in FIG. 29.
  • the routing information further comprises a neighbor list recording one or more neighbor communication devices that may be used as a nearest communication device to the communication device in the route between the communication device and the at least one base station.
  • An illustration of the neighbor list may be seen from the sub-table 2905 in FIG. 29.
  • the message generating circuit 3100 is configured to use an upper , threshold of the signal strength of signals received from another communication device and a lower threshold of the signal strength of signals received from the other communication device as a criteria to determine whether or not the other communication device may be considered as a nearest neighbor device to the communication device for relaying data transmission in the route between the communication device and the at least one base station.
  • the upper threshold may be denoted as THu
  • the lower threshold may be denoted as TH L . Usage of the upper threshold THu and the lower threshold TH L has been illustrated in the description of processes in relation to FIGs. 27 and 30.
  • the other communication device if the signal strength of signals received from the other communication device is higher than the upper threshold and if the other communication device has not been recorded in the neighbor list, the other communication device is considered to satisfy the 5 criteria and is included in the neighbor list. This embodiment is illustrated in the process 2701-2702-2706-2707-2708 as shown in FIG. 27.
  • the other communication device if the other communication device has been recorded in the neighbor list, and if the signal strength of signals received from the other communication device is lower o than the lower threshold, the other communication device is not considered to satisfy the criteria and the message generating circuit is configured to remove the other communication device from the neighbor list.
  • This embodiment is illustrated in the processes of 2701-2702- 2706-2709-2711 as shown in FIG. 27. 5
  • the message generating circuit if the signal strength of signals received from the next hop communication device is determined to be lower than the lower threshold, the message generating circuit is configured to remove the next hop communication device from the routing information. This embodiment is illustrated in process of 2714-2717-2719 as shown in FIG. 27. 0
  • the message generating circuit is further configured to determine a new next hop communication device the received signal strength of which is higher than the upper threshold and whose sequence number included in the Medium Access Control layer message is larger than the current sequence number, and whose hop count number is smallest among 5 other communication devices, and further configured to include the new neighbor communication device in the routing information.
  • the criterion of the selection of the next . hop is illustrated in the description earlier in relation to process 3015 as shown in FIG. 27.
  • a method for generating a message comprising generating a0 Medium Access Control layer message comprising routing information based on which a communication route to a communication device in a communication network in which the communication device is registered may be determined. Route From BS to SS
  • the route for data transmission from BS to SS is different from data transmission from SS to BS because data transmission from BS to SS is a one-to-many routing.
  • the approach of 5 broadcasting BS information in NCFG message as described earlier is not scalable as the space required in the NCFG message is in the order of n, whereby n is the number of SSs in the sub-network served by a single BS.
  • all the communication devices can find an alternative way compared to the SS to BS routing method described earlier, hi one embodiment, a bitmap approach may be applied that efficiently encodes the logical routing o tree for the routes formed from SSs to BS in a compressed manner.
  • This information may be then propagated in the reverse direction from SS to BS using the same NCFG message encoding described earlier.
  • the encoding can incur some overheads if the size of the network increases, the proposed encoding methods are feasible for a small scale networks with several tenths of communication devices. 5
  • the path selected from a communication device to BS may be chosen as the path from BS to this communication device (BS->SS) to simplify the routing design.
  • SS->BS the path from BS to this communication device
  • BS->SS Quality of Service
  • QoS Quality of Service
  • One main issue in the BS to SS route setup is how to efficiently let the BS know the next hop to SS. It is a one-to-many routing issue and is more complex than the many-to-one route setup such as routes from SS to BS.
  • each communication device will have to send out information to notify its current next hop to the BS.
  • the intermediate communication devices will then5 help to forward this route information to BS.
  • the BS and those communication devices along the path know its next hops for forwarding data from BS to a . given SS.
  • a bitmap may be used to carry the routing topology information.
  • each communication device is assigned a unique bit in the bitmap and all the communication devices are assumed to know their assignment.
  • the routes can be setup from BS to SSs according to this bitmap. The routing methods and devices are described in more detail in the following.
  • FIG. 32 illustrates an example of bitmap.
  • Each bit in the bitmap may correspond to a communication device. For example, if a communication device exists in the network, the respective bit in the bitmap maybe set to be 1.
  • the IEEE 802.16d mesh MAC layer function maybe used for joining a network to help in the assignment of this unique bitmap ID. The details of this address assignment scheme are not described in this document.
  • FIG. 33 illustrates assignment of addresses to communication devices within a mesh communication network using bitmap.
  • the mesh communication network comprises a base station (BS) 3300 and communication devices A 3301 to G 3307.
  • the dotted lines in FIG. 33 illustrate the network connectivity and the labels beside the SS communication devices A 3301- G 3307 indicate the bitmap address assignment of the respective communication devices.
  • the bitmap address assignment may be arbitrary.
  • the address assignment scheme running on BS ensures a unique address assignment to each SS communication device. In one embodiment, there is no need to allocate the bitmap address for the BSs. In another embodiment, when there are multiple BSs in the network, the BS address may be included in the NCFG messages explicitly.
  • each bit in the address of a communication device, each bit may be associated with a communication device in the network, and the bit being associated with the respective communication device is set to be a first pre-defined value, i.e. 1.
  • Other bits may be set to be a second pre-defined value, i.e. 0.
  • communication device A 3301 has an address of 0000001. hi the address, each bit corresponds to a communication device in the network. The last bit corresponds to communication device A 3301 itself, and is set to be the first pre-defined value, namely 1.
  • the first bit in the address corresponds to communication device F 3306, and is set to be the second pre-defined value, namely 0, in the address of communication device A 3301.
  • FIG. 34 illustrates the encoding of the logical routing tree for the routes between BS and SSs.
  • the mesh communication network in FIG. 34 corresponds to the network shown in FIG. 33, and same reference numbers to the communication devices A 3301- G 3307 are used.
  • the bitmap information maybe carried in the NCFG message.
  • the solid lines indicate the chosen routing paths for routes originating from SSs to BS at a given instance.
  • Communication devices A 3301, B 3302 and C 3303 have chosen communication device D 3304 as their next hop forwarding communication device for routes destined to BS 3300. Because communication devices A 3301, B 3302 and C 3303 are one- hop away from communication device D 3304, communication devices A 3301, B 3302 and C 3303 are aware of communication device D 3304's bitmap address. Each of communication devices A 3301, B 3302 and C 3303 may then use an XOR operation on the their own address and the address of communication device D 3304, which is their next hop communication device.
  • each of communication devices A 3301, B 3302 and C 3303 may use an OR operation on the their own address and the address of communication device D 3304, which is their next hop communication device.
  • the result of the OR operation is then used as routing information and broadcasted in the NCFG message.
  • the logical operation exclusive disjunction also called exclusive or (symbolized XOR or EOR), is a type of logical disjunction on two operands that results in a value of true if and only if exactly one of the operands has a value of true.
  • FIG. 35 (a) illustrates the XOR operation for X and Y. hi this example, number 1 may denote “true”, and number 0 may denote “false”.
  • the logical operation disjunction (symbolized OR), is a type of logical disjunction on two operands that results in a value of true if at least one of the operands has a value of true.
  • FIG. 35 (b) illustrates the OR operation for X and Y. In this example, number 1 may denote "true", and number "0" may denote "false”.
  • communication device A 3301 selects communication device D 3304' as the next hop communication device.
  • Communication device A 3301 uses a XOR operation for the address of communication device A 3301, namely 0000001, and the address of communication device D 3304, namely 0100000.
  • the XOR operation is operated for each pair of bits that are associated with a same communication device in the network.
  • the first bits in the addresses of both communication device A 3301 and D 3302 are associated with communication device F 3306.
  • the XOR operation is applied for the first bit of the address of communication device A 3301 and the first bit of the address of communication device D 3304.
  • the result form a first flag in the routing information generated by communication device A 3301, wherein the flag is also associated with communication device F 3306 in the network.
  • the final generated routing information by communication device A 3301 is 0100001 as shown in FIG. 34.
  • communication device A 3301 selects communication device D 3304 as the next hop communication device.
  • Communication device A 3301 uses an OR operation for the address of communication device A 3301 , namely 0000001 , and the address of communication device D 3304, namely 0100000.
  • the OR operation is operated for each pair of bits that are associated with a same communication device in the network.
  • the first bits in the addresses of both communication device A 3301 and D 3304 are associated with communication device F 3306.
  • the OR operation is applied for the first bit of the address of communication device A 3301 and the first bit of the address of communication device D 3304.
  • the result form a first flag in the routing information generated by communication device A 3301, wherein the flag is also associated with communication device F 3306 in the network.
  • OR operation is applied for each pair of bits in the addresses of communication devices A 3301 and D 3304, thus resulting in a set of flags each being associated with a respective communication device in the network.
  • the final generated routing information by communication device A 3301 is 0100001 as shown in FIG. 34.
  • communication device D 3304 When communication device D 3304 receives the NCFG message from communication devices A 3301, B 3302 and C 3303, respectively, communication device D 3304 decodes routing information and knows that communication devices A 3301, B 3302 and C 3303 have chosen communication device D 3304 as the next hop forwarding communication device. Note that communication device E 3305 might receive the NCFG message from communication device C 3303 as well. However, communication device E 3305 is not indicated as the next hop destination in the routing information. In this case, communication device E 3305 ignores the NCFG message from communication device C 3303 and the routing information from communication device C 3303.
  • communication device D 3304 after receiving NCFG messages from communication devices A 3301, B 3302, and C 3303, knows that communication devices A 3301, B 3302, and C 3303 have selected communication device D 3304 as a next hop communication device. Further, communication device D 3304 knows that communication device F 3306 is the next hop communication device of communication device D 3304. Communication device D 3304 then performs a XOR operation for the routing information of communication devices A 3301, B 3302, C 3303, and the address of communication device F 3306. The XOR operation is performed for bits that are associated with a same communication device in the network, resulting in a flag in the routing information that is also associated with the respective communication device.
  • the flag that is associated with the communication device itself in the routing information may be set to be the first pre-defined value, i.e. 1.
  • the generated routing information comprises a plurality of flags: 1100111. Each flag corresponds to a communication devices in the network.
  • the first flag ' 1 ' is set from the XOR operation for the first bits of the addresses of communication devices A 3301, B 3302, C 3303, D 3304, and F 3306.
  • the flag that is associated with communication device D 3304 namely the second flag in the routing information, is set to be the first pre-defined value, namely 1.
  • communication device D 3304J after receiving NCFG messages from communication devices A 3301, B 3302, and C 3303, knows that communication devices A 3301, B 3302, and C 3303 have selected communication device D 3304 as a next hop communication device. Further, communication device D 3304 knows that communication device F 3306 is the next hop communication device of communication device D 3304. Communication device D 3304 then performs an OR operation for the routing information of communication devices A 3301, B 3302, C 3303, and the address of communication device F 3306. The OR operation is performed for bits that are 5 associated with a same communication device in the network, resulting in a flag in the routing information that is also associated with the respective communication device.
  • This process repeats itself for the entire tree, and at the end of the process, BS receives one or several bitmaps indicating the location of all communication devices in its subnet. Because the bitmaps are aggregated along the tree branches, the forwarding communication devices o along the way are able to indicate if a particular communication device is located under at a certain branch. Using this technique, the BS is able to route packets directly to an SS by just decoding the bitmap along the tree branches as indicated in FIG. 34.
  • FIG. 36 illustrates a scenario of the communication network setup wherein routing problems may happen.
  • the communication network comprises a base station (BS) 3600, and communication devices A 3601, B 3602, C 3603, and D 3604.
  • communication o device D 3604 first selects communication device C 3603 as the next hop communication device for routing packets from communication device D 3604 to BS 3600.
  • the bitmap that is comprised in the routing message from communication device D 3604 to communication device C 3603 has the value D ⁇ C or D v C, wherein XOR operation for addresses of D , 3604 and C 3603 may be written as D ⁇ C, and OR operation for addresses of D 3604 and C5 3603 may be written as D v C.
  • communication device D 3604 now changes its route to communication device B 3602.
  • Communication device D 3602 will now • broadcast a value of D ⁇ B or D v B in the routing message, i.e. NCFG message. Assuming that communication device C 3603 has the stale value of D ⁇ C or D v C and it sends this to communication device A 3601 while communication device B 3602 also sends the value of D0 ⁇ B or D v B to communication device A 3601. This may happen in case link of communication devices D 3604 to C 3603 breakdowns after communication device C 3603 had received the value of D ® C or D v C from communication device D 3604. Communication device A 3601 will then be confused since the bitmap it receives indicates multiple routes to communication device D 3604 (one via communication device C 3603 and another via communication device B 3602).
  • a second problem may arise when communication device D 3604 receives the stale broadcast from communication device C 3603 (i.e. D ⁇ C or D v C ) after the switch has occurred. If communication device D 3604 has selected communication device B 3602 as its next hop, Communication device D 3604 will now think that communication device C 3603 is selecting communication device D 3604 as its next hop. Communication device D 3604 will start broadcasting D ⁇ C ⁇ B or D v C v B to communication device B 3602. In such a case, communication device A 3601 will again be confused with two paths to communication device C 3603. To avoid this second problem, in one embodiment, a next hop field may be included in the NCFG message.
  • This field which may be a 2 byte field, can be coded in binary form to explicitly indicate the address of the chosen next hop.
  • the NCFG message may also carry this next hop field.
  • another 1-bit field known as the broadcast token field may be included in the routing table.
  • communication device D 3604 may send the broadcast token field along with the bitmap in the routing message to communication device C 3603. If this entry is a fresh entry, or in other words, if communication device C 3603 receives the message indicating that communication device C 3603 is selected as the next hop from communication device D 3604 for the first time, communication device C 3603 then creates a new entry in the route table and sets the broadcasting flag of the entry for communication device D 3604 to be a third pre-defined value, i.e. 1. Communication device C 3603 then keeps this entry in its routing table and knows that this entry is a fresh entry from the value of the broadcast flag, i.e. 1.
  • communication device C 3603 selects communication device A 3601 as its next hop and forms the bitmap, namely the routing information
  • communication device C 3603 scans through the routing table to search for the entries with the broadcasting flag set to the third pre-defined value, i.e. 1. These entries are then chosen to form the bitmap/routing information. For example, the addresses of the communication devices whose 5 entries have a value of a broadcasting flag to be 1 are used in generation of the routing information by communication device C 3603.
  • broadcast flags are set to be a fourth. pre-defined value, i.e. 0.
  • the flags will be set to be 1 again when communication device C 3603 receives a new 0 routing message with respective bitmap from the child communication device, namely communication device D 3604, wherein communication device D 3604 indicates that communication device C 3603 is the next hop communication device.
  • communication device C 3603 will first send D ⁇ C ⁇ A or D v C v A if the token value is set to be the third pre-defined value, i.e. 1. It will then set the token to be5 the fourth pre-defined value, i.e. 0 for the entries in the routing table.
  • communication device C 3603 When communication device C 3603 ceases to receive a broadcast message from communication device D 3604 due to a link disruption, the entry for communication device D 3604 in the routing table of communication device C 3603 will still remain with token value of the fourth pre-defined value, i.e. 0. Thus, when communication device C 3603 starts to generate a next routing o information, communication device C 3603 will omit the entry for communication device D 3604 in the new broadcast of routing message. This process helps the communication device to flush out stale entries and avoid the first problem described above.
  • the hop count information may not be included the routing information5 from BS to SS.
  • the BS may only know the next hop of reaching certain communication device but do not know the number of hops to the relative communication devices.
  • bitmap for including routing information
  • a communication device0 can setup the reverse path from BS to SS.
  • the size of bitmap may increase when the number of communication devices in the network increases. For example, for a network with 64 communication devices, 8 bytes are needed to carry the bitmap. As the size of the NCFG control message is limited as each message can only occupy one slot, preferably the size of the bitmap can be reduced. As described above, the bitmap may carry the route information. Given that the network topology changes slowly, most of the time, the bitmap transmitted by a communication device may be the same.
  • a bitmap may be compressed by either 5 indicating that the bitmap is the same as previous or compress the bitmap by using established contexts with related communication devices. In the following, different compression methods are described that can be applied in compressing the bitmap.
  • D.1 A simple compression scheme 0
  • the variation of the bitmap at each communication device can be slow.
  • the bitmap may keep constant for certain period.
  • the previous bitmap may be inferred if the present bitmap is the same with the previous bitmap.
  • an uncompressed bitmap may be sent. If they are5 the same, then the bitmap may not be sent. Instead, a flag in the route information may be turned on, which indicates that the bitmap is the same as the preceding one.
  • bitmaps sent by a communication device are in the following sequence A-A-A- A-B-B-B, where A and B represent the 64-bit (assuming the communication device address space is 64) bitmaps.
  • a and B represent the 64-bit (assuming the communication device address space is 64) bitmaps.
  • a communication o device can send A-'0'-'0'-'0'-B-'0'- ⁇ 0' instead, where ' 0 ' represents the single bit flag without the 64-bit bitmap.
  • the bitmaps A and B are transmitted once so that other communication devices are aware of the base bitmap.
  • a communication o device may send more than one uncompressed bitmaps when a change occurs.
  • a bitmap transmission using the example above would resemble the following: A-A-'O'-'O'-B-B-'O'.
  • the communication device may also periodically refresh the context with uncompressed bitmaps when they are unchanged for a long time, hi this context, refresh means that the communication device may resend the uncompressed bit map. D.2 Compression of multiple contexts with simplified routing information Due to the channel corruption, even if the routes at a communication device are unchanged, the bitmap sent by the communication devices may oscillate among several different bitmaps.
  • bitmap sent by a communication device is A-A-A-A-A-A-A-A-A-A.
  • the bitmap sent by the communication device may become A-B-C-C-B-A-B-C-C. Note that the bitmaps reoccur after several transmissions. The change of bitmap may be due to the loss of route information caused by channel corruption. 0
  • the communication devices can setup multiple contexts, with each context being assigned a simplified routing information.
  • A which is a 64 bit string may represented by bits OOOO', B with OOOl ' and C with '0010' etc.
  • the four bits simplified routing information may be much shorter than the bitmap. Thus, the bitmap can be compressed efficiently.
  • the contexts namely the bitmaps containing the routing information, kept o for certain links may exceed the capacity space of the simplified routing information.
  • the maximal contexts can be identified is 16. So if there are more than 16 contexts, then some of the contexts to simplified routing information mapping may be dropped according to certain rules. For example, least seen and old bitmaps may be replaced by more frequent and new bitmaps. 5
  • the first is to0 setup a context at those related communication devices who cares about the bitmap sent out by a communication device.
  • the second step is to compress the bitmap according to the context.
  • the compression may be done as follows: firstly, performing an XOR function for the current bitmap with a bitmap in the context, wherein a previous bitmap may be set to be the bitmap in the context. If the two bitmaps are almost identical, then most of the bits will be zero after the XOR operation.
  • the XORed bitmap is compressed according to a predefined dictionary.
  • the dictionary can be constructed with, for example, Huffman coding with an appropriate block size.
  • bitmap with 64 bits may be divided into 16 blocks with each block having 4 bits. Then the relative code for each block may be found in a dictionary and a compressed bits string may be formed. This string may be attached in the route information and broadcasted to the network. The other communication devices in the network can decode and decompress the compressed bits string with the predefined dictionary and context.
  • bitmap sent previously is 00110100 and is used as the context
  • bitmap after XOR is 00000000.
  • the XORed bitmap 00000000 may be compressed to be two bits OO', if four-bit block is used and one bit '0' is used to stand for OOOO' in the dictionary.
  • bitmap after XOR operation and compression may be more than two bits.
  • the size of bitmap is checked after compression. If the compress ration is low, then an uncompressed bitmap is sent.
  • a communication device may have many neighbors. Some of them may serve as default or backup next hop to the base station, and some of them depend on this communication device to reach the base station. Others may not have direct relationship with the communication device in routing.
  • a communication device keeps the bitmap in the context for all those communication devices that appears in the routing table with distance equal to 1 when measured in hop count. In other words, a communication device keeps the bitmap in the context for all the communication devices within the transmission range of the communication device.
  • FIG. 37 illustrates an example of the record of bitmap in the context by a communication device.
  • communication devices 1, 2, 4, 5, 6 are correlated communication devices of communication device 3.
  • Communication device 2 and 1 are default and backup next hops to BS; communication device 4, 5, 6 are children of communication device 3.
  • communication device 1, BS and communication device 3 are correlated communication devices.
  • the bitmap used for context is sent either in uncompressed format or in compressed format. When it is compressed, it may be only compressed according to the dictionary.
  • a communication device can check the bitmap sent by other communication devices to verify whether the context has been setup successfully at the correlated communication devices. It may refresh the context if it is not synchronized.
  • FIG. 38 illustrates a message generating circuit 3800 of a first communication device for generating a routing message to be sent to a second communication device according to one embodiment.
  • the message generating circuit 3800 is configured to generate routing information, wherein the routing information comprises a plurality of flags, each flag being associated with one of plurality of communication devices and to set the value of each flag such that the flag indicates whether or not the respective one of the plurality of communication devices may be reached by a route in the communication network comprising the first communication device. In one embodiment, the message generating circuit 3800 is configured to generate the routing message based on the routing information.
  • the routing information generated by communication device D 3304 comprises 7 flags: 1100111 , wherein each flag is associated with a communication device in the network.
  • each flag is associated with a communication device in the network.
  • the first flag is associated with communication device F 3306
  • the last flag is associated with communication device A 3301.
  • the value of each flag may be used to indicate whether the respective communication device can be reached through the route comprising communication device D 3304 and the base station.
  • the routing message is a Medium Access Control layer message.
  • the message may be a NCFG message.
  • the communication network is a mesh communication network comprising the plurality of communication devices and at least a base station as a central control of the plurality of communication devices, wherein each communication device communicates with the at least one base station directly or via one or more other communication devices.
  • the route is a path for data transmission comprising the at least one base station and the first communication device.
  • the route is a path for data transmission comprising communication device D 3304 and the base station (BS) 3300.
  • the value of each flag of the routing information is set to be a first predefined value if the respective communication device of the plurality of communication devices may be reached by a route in the communication network comprising the first communication device, and the value is set to be a second pre-defined value if the respective communication device of the plurality of communication devices may not be reached by a route in the communication network comprising the first communication device.
  • the routing information is: 1100111. If the flag has a value of a first pre-determined value, i.e. 1, then the respective communication device is located in the route comprising communication device D 3304 and the base station.
  • the first flag has a value of 1, meaning that the respective communication device F 3306 is located in the route comprising communication device D 3304 and the base station.
  • the flag has a second pre-defined value, i.e. 0, then it means that the respective communication device is not located in the route comprising communication device D 3304.
  • the third flag has a value of 0, meaning that the communication device G 3307 can not be reached by the route comprising communication device D 3304.
  • each communication device of the plurality of communication devices is associated with an address comprising a plurality of bits, each bit corresponding to one of the plurality of flags and the bit being associated with the respective communication devi ⁇ e of the plurality of communication devices having the first pre-defined value.
  • each communication device has a unique address.
  • communication device D 3304 has a 7-bit address of 0100000.
  • Each bit is associated with a communication device in the network. Only the bit that is associated with communication device D 3304 itself is set to be the first pre-defined value, namely 1.
  • the values of bits corresponding to flags associated with the other communication devices are set to be the second pre-defined value.
  • the bits in the address of communication device D 3304 that are not associated with communication device D 3304 itself are set to be the second pre-defined value, namely 0.
  • the message generating circuit 3800 is configured to set the routing information by a combination of the address of the first communication device, and the address of a third communication device wherein the third communication device is nearest to the first communication device in the route between the first communication device and the at least one base station.
  • the routing information generated by communication device A 3301 is set by a combination, i.e. exclusive disjunction function or disjunction function function, for the address of communication device A 3301 and the address of the next hop, namely communication device D 3304.
  • the combination further includes routing messages from a set of communication devices comprising at least one communication device wherein each communication device of the set of communication devices indicates in the routing message of the respective communication device of the set of communication devices that the first communication device is a nearest communication device to the respective communication device in the route between the respective communication device and the at least one base station, hi other words, the combination further includes routing messages from all the children devices of the first communication device, wherein the children devices refer to devices which set the first communication device as a next hop communication device to the base station.
  • a set of communication devices comprising at least one communication device wherein each communication device of the set of communication devices indicates in the routing message of the respective communication device of the set of communication devices that the first communication device is a nearest communication device to the respective communication device in the route between the respective communication device and the at least one base station, hi other words, the combination further includes routing messages from all the children devices of the first communication device, wherein the children devices refer to devices which set the first communication device as a next hop communication device to the base station.
  • the generation of routing information not only includes the combination of the address of its next hop, namely communication device F 3306, but also includes the routing messages of communication devices A 3301, B 3302, and C 3303, which select communication device D 3304 as next hop for data transmission to the base station 3300.
  • the generation of routing information includes a combination of the routing message from communication device D 3304 and the address of communication device F 3306, wherein communication device D 3304 selects communication device F 3306 as the next hop communication device to the base station 3300.
  • the combination is according to an exclusive disjunction function, wherein the value of each flag of the routing message of the first communication device is set by performing an exclusive disjunction function, for the value of each bit associated with a respective communication device in the address of the first communication device and the value of the bit associated with the same communication device in the address of the third communication device, and the flags associated with the same communication device in the routing messages from the set of communication devices.
  • an exclusive disjunction function wherein the value of each flag of the routing message of the first communication device is set by performing an exclusive disjunction function, for the value of each bit associated with a respective communication device in the address of the first communication device and the value of the bit associated with the same communication device in the address of the third communication device, and the flags associated with the same communication device in the routing messages from the set of communication devices.
  • each flag that is associated with a respective communication device of the routing information of communi cation device D 3304 is set by performing a XOR operation for the bit that is associated with a same communication device in the address of communication device D 3304, and the bit that is associated with the same communication device in the address of the next hop communication device F 3306, and the flags that are associated with the same communication device in the routing information of the communication devices A 3301, B 3302, and C 3303, which indicate that communication device D 3304 is the next hop for data transmission to the base station.
  • the value of the bit associated with the first communication device in the routing message of the first communication device is set to be the first pre-defined value.
  • the flag that is associated with communication device D 3304 itself is set to be the first pre- 1 defined value, namely 1.
  • the combination is according to a disjunction function, wherein the value , of each flag of the routing message of the first communication device is set by performing a disjunction function, for the value of each bit associated with a respective communication device in the address of the first communication device, and the value of the bit associated with the same communication device in the address of the third communication device, and the flags associated with the same communication device in the routing messages from the set of communication devices.
  • a disjunction function wherein the value , of each flag of the routing message of the first communication device is set by performing a disjunction function, for the value of each bit associated with a respective communication device in the address of the first communication device, and the value of the bit associated with the same communication device in the address of the third communication device, and the flags associated with the same communication device in the routing messages from the set of communication devices.
  • each flag that is associated with a respective communication device of the routing information of communication device D 3304 is set by performing an OR operation for the bit that is associated with a same communication device in the address of communication device D 3304, and the bit that is associated with the same communication device in the address of the next hop communication device F 3306, and the flags that are associated with the same communication device in the routing information of the communication devices A 3301, B 3302, and C 3303, 5 which indicate that communication device D 3304 is the next hop for data transmission to the base station.
  • device A 3301 performs OR operation with device D 3304 for the addresses of device A 3301 and device D 3304, and produces the map 0100001 in Fig 34.
  • the routing information further comprises a next hop information indicating the nearest communication device of the first communication device in the route between the first communication device and the at least one base station. For example, referring to FIG.
  • the routing information of communication device C 3603 may comprise a next hop field to indicate that the next hop in the route comprising communication device C o 3603 is device A 3601.
  • communication device D 3604 will not be confused whether communication device C 3603 wishes to select communication device D 3604 as the next hop for data transmission. There may be many ways of deciding what the route is, for example, shortest path, QoS, availability, etc. 5
  • the routing information further comprises a plurality of sub-flags, each sub-flag being associated with one of the plurality of flags in the routing information and the respective communication device of the flag, and wherein the message generating circuit is configured to set the value of each sub-flag such that the sub-flag indicates whether or not the0 respective flag is valid for indicating whether or not the respective communication device may be reached by a route in the communication network comprising the first commuhication device.
  • a broadcast token field may be included in the routing message from communication device D 3604 to C 3603.
  • the broadcast token field may be set to be 1.
  • communication device C 3603 Upon reception of the routing message from communication device D 3604, before generating a routing information, communication device C 3603 sets the value of the sub-flag, namely the broadcast token field, which corresponds to the flag being associated with communication device D 3604 to be a third pre-defined value, i.e. 1, meaning that the routing message from communication device D 3604 will be considered in the generation of the routing message of communication device C 3603.
  • the value of each sub-flag of the routing information is set to be a third pre-defined value only if the first communication device has received a routing message from the respective communication device that the sub-flag is associated with and the routing message from the respective communication device indicates that the first communication device may be reached by a routing comprising the respective communication device, and only if the message generating circuit of the first communication device has not generated a message including the routing information based on the routing information message from the respective communication device.
  • communication device C 3603 after receiving a routing message from communication device D 3604, if communication device D 3604 indicates that communication device C 3603 is in the route of data transmission comprising communication device D 3604, communication device C 3603 will set the value of the sub- flag which corresponds to the flag being associated with communication device D 3604 to be the third pre-defined value before generating the routing message.
  • the value of the flag that the sub-flag is associated with is set to be the first pre-defined value. For example, referring to FIG. 36, if communication device C 3603 indicates that the sub-flag that is associated with communication device D 3604 is set to be the third defined value, i.e. 1, then communication device C 3603 sets the value of the flag being associated with communication device D 3604 to be the first pre-defined value, i.e. 1.
  • the value of each sub-flag of the routing information is set to be a fourth pre-defined value if the first communication device has not received a routing message from the respective communication device that the sub-flag is associated with wherein the routing message of the respective communication device indicates that the first communication device may be reached by a routing comprising the respective communication device, or if the first communication device has received a routing message from the respective communication device that the sub-flag is associated with wherein the routing message from the respective communication device indicates that the first communication device may be reached by a routing comprising the respective communication device, and the message generating circuit of the first communication device has generated a message including the routing information based on the routing information message from the respective communication device.
  • the message generating circuit of the first communication device has generated a message including the routing information based on the routing information message from the respective communication device.
  • communication device C 3603 sets the sub-flag which corresponds to the flag being associated with communication device D 3604 to be a fourth pre-defined value, i.e. 0.
  • the value of the flag that the sub-flag is associated with is set to be the second pre-defined value. For example, referring to FIG. 36, if before generating the routing information, communication device C 3603 finds that the value of the sub-flag which corresponds to the flag being associated with communication device D 3604 to be the fourth pre-defined value, i.e. 0, then communication device C 3603 sets the value of the flag being associated with communication device D 3604 to be the second pre-defined value, i.e. 0, in the routing information.
  • the message generating circuit 3800 is configured to detect whether the generated routing information is the same as a preceding routing information, and to generate a repeating message comprising a flag indicating that the routing information has not been changed.
  • This embodiment is illustrated in section D.I.
  • the bitmaps sent by a communication device are in the following sequence A-A-A-A-B-B- B, where A and B represent the 64-bit (assuming the communication device address space is 64) bitmaps.
  • a communication device may send A- O'-O'-O'-B-O'-O' instead, where '0' is a flag being used to represent that the bitmap is same as preceding bitmap.
  • the message generating circuit 3800 is configured to detect whether the generated routing information is the same as a preceding routing information and whether the preceding routing information has been repeated for a predetermined number of times, and to generate a repeating message comprising a flag indicating that the routing information has not been changed and has been repeated for at least the predetermined number of times.
  • This embodiment is also illustrated in section D.I.
  • a communication device may send more than one uncompressed bitmaps when a change occurs.
  • a bitmap transmission using the example above would resemble the following: A-A-'0'-'0'-B-B-'0'.
  • the preceding routing information has been repeated for one time, and then a one bit flag '0' is generated to indicate that the bitmap routing information is the same as the preceding routing information.
  • the message generating circuit 3800 is further configured to generate a simplified routing message such that the simplified routing message corresponds to the routing information, the simplified routing message comprising a plurality of flags, wherein the number of flags of the simplified routing message is less than the number of flags of the routing information.
  • This embodiment is illustrated in section D.2. For example, assuming that A is a 64 bit string, then, A may be represented by 4-bit simplified routing information: 0000. Similarly, assuming that B is another 64 bit string, then B may be compressed to be a 4-bit simplified routing information: 0001. The simplified routing information has less bits than the corresponding 64-bit bitmap.
  • the message generating circuit 3800 is further configured to generate a same simplified routing message of a previously generated routing message to indicate that the generated routing message is same with the previously generated routing message if the message generating circuit detects that the generated routing information is same as the routing information of the previously generated routing message.
  • A, B, C are three different 64-bit bitmaps. If the routing messages generated by a communication devices are A-B-B-C-A, then the communication device may assign a simplified routing information to represent A, B, C, respectively. For example, A may be represented by OOOO', B may be presented by OOOl', and C may be represented by OOlO'.
  • the communication device When the communication device generates the routing information A again, the communication device then knows that a same routing information A has been generated previously, and may use the simplified routing information OOOO' to represent the routing information A and generate a routing message including the simplified routing information OOOO' to indicate that the routing information same as the routing information A previously generated.
  • the message generating circuit 3800 is further configured to generate a pre-compression information by a combination of the generated routing information and a previous routing information, the pre-compression information comprising a plurality of flags, each flag being associated with one of the plurality of flags of the generated routing information.
  • This embodiment is illustrated in section D.3.
  • a context may be first set up to be a previous generated routing information.
  • a communication device may then perform a XOR operation for the generated routing information with the context.
  • the pre-compression information has a same number of flags as the generated routing information, and each flag in the pre-compression information corresponds to a flag in the generated routing information.
  • the combination is according to an exclusive disjunction function, wherein the value of each flag of the pre-compression information is set by performing an exclusive disjunction function for the value of the respective flag of the routing information that is associated with one of the plurality of communication devices and the value of the flag that is associated with a same communication device in the previous routing information.
  • the message generating circuit 3800 is further configured to generate a simplified routing message corresponding to the generated pre-compression information, wherein the simplified routing message comprises one or a plurality of flags, and the number of flags of the simplified routing message is less than the number of flags in the pre- compression information.
  • This embodiment is illustrated in section D.3.
  • the value of most flags of the resulted pre-compression information may be 0 if the generated routing information and the routing information in context are generally the same.
  • the pre-compression information may be further compressed.
  • the pre- compression information may be divided into several blocks with each block having 4 flags. A block with flags OOOO' may be compressed to a corresponding bit: 0.
  • the simplified routing message is generated according to a predetermined dictionary, such that a plurality of flags with each flag having a certain value in the pre- compression information correspond to at least one flag with a predetermined value in the simplified routing message.
  • a dictionary may be pre-determined.
  • the compression of the pre-compression information may be compressed according to the predetermined dictionary. For example, if the dictionary defines that '0000' may be compressed to be O', and '0010' may be compressed to be '10', then the block OOOO' in the pre- compression information may be compressed to be O', and the block '0010' in the pre- 5 compression information may be compressed to be ' 10' .
  • the message generating circuit 3800 is further configured to store the pre-determined dictionary, and to include the pre-determined dictionary in the simplified routing message at least for one time.
  • a communication device may store the0 dictionary so that it can compress the pre-compression information according to the dictionary.
  • the communication device will send the content of the dictionary to the other related communication devices so that the other related communication devices may decode the dictionary according to the dictionary.
  • the routing message further comprises a sequence number indicating the sequence of the routing message such that a largest sequence number indicates that the routing message is the latest one. For example, only the base station (BS) has the right to increase the sequence number comprised in a routing message, and the BS increases the sequence number each time a new routing message is generated. Thus, the sequence number o can indicate whether it is a newer sequence number than another.
  • a method for generating a routing message by a first communication device to be sent to a second communication device, the method comprising: generating routing information, wherein the routing information comprises a plurality of 5 flags, each flag being associated with one of plurality of communication devices setting the value of each flag such that the flag indicates whether or not the respective one of . the plurality of communication devices may be reached by a route in the communication network comprising the first communication device; and generating the routing message based on the routing information.
  • Simulation has been carried out to test the performance of communication devices according to the routing methods of various embodiments.
  • a design of the MAC and routing protocol has been implemented in the QualNet Network simulator.
  • a Maritime communication scenario is assumed in which ships are cruising along the lanes that are not very far away from the coast. It is assumed that there is BS on the shore and its radio can reach the ships as far as 35 kilometers. The maximum communication range between the ships is 20 kilometers.
  • FIG. 39 illustrates the maritime network topology used in the simulation. Dot denoted with number 1 is the base station o the shore. There are a total of 52 communication devices including the base station in the simulation. Each communication device can send an NCFG for every 30 frames in average, or 300 milliseconds. It is fast enough for the propagation of l o routing messages .
  • Each selected communication device starts a constant bit rate (CBR) flow, where the output data 15 rate is constant.
  • CBR constant bit rate
  • the CBR flow generates 50 packets per second and each packet carries 40 bytes of data, hi the study of the performance from BS to SS, the BS is assumed to start 5 CBR flows at the same time to these selected SSs.
  • the traffic characteristics are the same but the direction of data flow is reversed.
  • the buffer size at both routing and MAC layer is set to be 200 packets.
  • the initial delay is defined as the time difference between the first packet being sent out and the time the first packet reaches the destination.
  • the delay average is the delay averaged over all the packets received by the 25 destination.
  • the throughput is measured in bits per second (bps).
  • the performance is compared in two sea states, 3.0 and 6.0. Sea state 3.0 represents a smoother sea conditions. It has some effect over the signal receiving, but the impact is rather light. In sea state 6.0, the wave is rather high and this affects the position of the antenna significantly which then impacts the radio transmission and reception seriously.
  • routes are setup in two directions, from SS to BS and from BS to SS.
  • scenario from SS to BS is first focused on, and then scenario from BS to SS is focused on.
  • One of the main advantages of the proposed routing methods is that there is no delay for route discovery given that traffic starts after the network has established itself for a while. This characteristic is the same as that found in OLSR.
  • FIG. 40 (a) shows the initial delay achieved by different routing schemes under sea state 3.0.
  • numbers 11, 49, 46, 39, and 25 correspond to the 5 communication devices with same denoted numbers in FIG. 39.
  • the vertical axis represents the initial delay.
  • the histograms in each column of the respective o communication device represents initial delays using different routing methods under sea state 3.0.
  • Correspondent of the hatchures of the histograms with the routing methods are shown in box 4001.
  • aodv-3 represents the AODV routing method under sea state 3.0.
  • FIG. 40 (b) shows the initial delay achieved by different routing schemes under sea state 6.0.
  • FIG. 40 (b) shows the initial delay achieved by different routing schemes under sea state 6.0.
  • numbers 11, 49, 46, 39, and 25 correspond to the 5 communication devices with same denoted numbers in FIG. 39. Similar as FIG. 40 (a), the vertical axis represents the initial delay.
  • the histograms in each column of the respective communication device represents initial delays using different routing methods o under sea state 6.0. Correspondent of the hatchures of the histograms with the routing methods are shown in box 4002. For example, triton-6 represents the routing methods according to present invention under sea state 6.0.
  • the initial delay is rather5 long and in some cases, reaches up to several seconds.
  • the delay of AODV and AOMDV is mainly caused by the routing discovery. As the IEEE 802.16d mesh network does not support . broadcast packets well, this increases the route discovery since flooding is used in route request propagation. AODV is better than AOMDV because it can get replies from intermediate communication devices. Whereas, in AOMDV, only the destination 0 communication device can reply to the request. That is the reason why AODV has better performance compared to AOMDV in the initial delay metric. OLSR experiences shorter delay because the route is setup before the traffic is started.
  • the path chosen by OLSR may not be as good as the routing methods according to present invention, it might experience a longer delay than our scheme due to delay in bandwidth allocation along the path.
  • the routing methods according to present invention performs better since broadcasting of route request are not used within the data sub-frame.
  • NCFG messages which is collision free
  • the initial delay using routing methods according to present invention is even shorter than OLSR. For example, in sea state 6.0, communication devices 46 and 49 5 experiences a much longer initial delay when using OLSR when compared to our scheme.
  • FIG. 41 (a) shows the delay average that is achieved with different routing methods at sea state 3.0.
  • numbers 11, 49, 46, 39, and 25 correspond to the 5 communication devices with same denoted numbers in FIG. 39.
  • the l o vertical axis represents the average delay.
  • the histograms in each column of the respective communication device represent average delays using different routing methods under sea state 3.0 conditions.
  • Correspondent of the hatchures of the histograms with the routing methods under sea state 3.0 are shown in box 4101.
  • aodv-3 represents the AODV routing method under sea state 3.0.
  • FIG. 41 (b) shows the delay average that is achieved with different routing methods at sea state 6.0.
  • numbers 11, 49, 46, 39, and 25 correspond to the 5 communication devices with same denoted numbers in FIG. 39.
  • the vertical axis represents the average delay.
  • the histograms in 20 each column of the respective communication device represent average delays using different routing methods under sea state 6.0 conditions.
  • Correspondent of the hatchures of the histograms with the routing methods under sea state 6.0 are shown in box 4102.
  • triton-6 represents the routing methods according to present invention under sea state 6.0.
  • OLSR performs badly when compared to other routing methods. This is due to the slow reaction to the link . breakage when OLSR is used. OLSR depends on the loss of hello messages to detect link breakages. Given that the hello messages are sent with an interval of 30 seconds, it typically takes about more than 1 minute to detect a link breakage. However, for AODV and AOMDV,
  • routing methods can repair the route earlier.
  • the route may switch to a different path even before the link breakage happens since it monitors the signal level of the channel.
  • AODV can either repairs locally or get replies from intermediate communication devices.
  • AOMDV it could maintain several backup routes. It can use this mechanism to recover the route if there is a valid and working backup route. However, if there is no backup, then the repair process may take a longer time. This is the reason why AOMDV does not always perform better than AODV.
  • the route maintains many backup paths and they are updated and maintained frequently with the NCFG messages. The route can be repaired rapidly. This may be the reason why the routing methods according to the present invention has the best performance for average delay.
  • FIG. 42 (a) shows the throughput that is achieved with different routing methods under sea state 3.0.
  • numbers 11, 49, 46, 39, and 25 correspond to the 5 communication devices with same denoted numbers in FIG. 39.
  • the vertical axis represents the throughput.
  • the histograms in each column of the respective communication device represent throughputs using different routing methods under sea state 3.0.
  • Correspondent of the hatchures of the histograms with the routing methods are shown in box 4201.
  • aodv-3 represents the AODV routing method under sea state 3.0.
  • FIG. 42 (b) shows the throughput that is achieved with different routing methods under sea state 6.0.
  • numbers 11, 49, 46, 39, and 25 correspond to the 5 communication devices with same denoted numbers in FIG. 39.
  • the vertical axis represents the throughput.
  • the histograms in each column of the respective communication device represent throughputs using different routing methods under sea state 6.0.
  • Correspondent of the hatchures of the histograms with the routing methods are shown in box 4202.
  • triton-6 represents the routing methods according to present invention under sea state 6.0.
  • the routing methods according to the present invention perform the best, even at sea state 6.0.
  • FIG. 43 shows the initial delay from BS to SS achieved by different routing schemes under sea state 6.0.
  • numbers 11, 49, 46, 39, and 25 correspond to the 5 communication devices with same denoted numbers in FIG. 39.
  • the vertical axis represents the initial delay.
  • the histograms in each column of the respective communication device represent initial delays using different routing methods.
  • Correspondent of the hatchures of the histograms with the routing methods and sea conditions are shown in box 4301.
  • aodv-6 represents the AODV routing method under sea state 6.0.
  • sea state 6.0 In sea state 6.0, with AODV, due to some bad link conditions, there were no routes that were formed to the destination. In sea state 6.0, AODV experiences a longer initial delay than the routing methods according to the present invention.
  • FIG. 44 shows the average delay from BS to SS achieved by different routing schemes under sea state 6.0.
  • numbers 11, 49, 46, 39, and 25 correspond to the 5 communication devices with same denoted numbers in FIG. 39.
  • the vertical axis represents the average delay.
  • the histograms in each column of the respective communication device represent initial delays using different routing methods. Correspondent of the hatchures of the histograms with the routing methods and sea conditions are shown in box 4401. For example, aodv-6 represents the AODV routing method under sea state 6.0.
  • the routing methods according to the present invention do not always perform better than AODV.
  • the reason is because the routing methods according to the present invention invoke more route repair when compared to AODV.
  • the AODV repairs the route when link breakages happen.
  • the routing may switch to a better route when the link quality on the old link is bad. As bandwidth allocation may be invoked each for each of the route changes, so it is normal to observe longer delay for packets.
  • FIG. 45 shows the throughput from BS to SS achieved by different routing schemes under sea state 6.0.
  • numbers 11, 49, 46, 39, and 25 correspond to the 5 communication devices with same denoted numbers in FIG. 39.
  • the vertical axis represents the throughput.
  • the histograms in each column of the respective communication device represent throughputs using different routing methods. Correspondent of the hatchures of the histograms with the routing methods and sea conditions are shown in box 4501. For example, aodv-6 represents the AODV routing method under sea state 6.0.
  • routing methods according to the present invention also show better 5 performance because routing methods according to the present invention are able to choose a path with better link quality and also repair broken links rapidly.
  • the routing methods according to the present invention for the Maritime Mesh support the traffic conditions efficiently.
  • the IEEE 802.16d MAC does not support l o broadcasting well, and traditional routing protocols designed for MANET such as AODV, AOMDV and OLSR does not perform well.
  • the routing methods according to the present invention apply a cross layer designed routing method which utilized the messages sent in the control sub-frame. These messages are scheduled by using the mesh election scheme defined in the IEEE 802.16d MAC to ensure the transmission is collision free. Since the control
  • the route discovery information attached to the MAC layer message helps to perform the routing function more effectively.
  • the routing methods according to the present invention can form and repair the routes quickly. Simulation results show that the performances of routing methods according to the present invention outperform the AODV, AOMDV and OLSR routing schemes.
  • scheduling and resource allocation methods for the IEEE 802.16d MAC have been proposed. Not only interference caused by the two-hop neighboring has been taken into consideration, but also the enhancement with mobility supporting. Simulation study shows that the scheduling and resource allocation methods according to the 25 present invention work well in supporting network with slow mobility.
  • a cross layer designed routing method is provided by attaching the route information into MAC control messages. This accelerates the route setup and shortens the time for route repairing. Performance results show that the routing methods according to the 30 present invention perform better than the existing methods such as the AODV, the AOMDV and the OLSR.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

A method for a communication device to grant usage of a radio resource to a requesting communication device, comprising: receiving a request for the grant of usage of the radio resource by the requesting communication device, detecting whether usage of the radio has already been granted by another communication device, signalling a grant of the usage of the radio resource to the requesting communication device only if usage of the radio resource has not been granted by the other communication device.

Description

COMMUNICATION DEVICES AND METHODS FOR SCHEDULING AND
ALLOCATING OF RADIO RESOURCES AND COMMUNICATION DEVICES AND
METHODS FOR ROUTING IN A COMMUNICATION NETWORK
The present application claims the benefit of the United States provisional application 61/059,591 (filed on 6 June 2008), the entire contents of which are incorporated herein by reference for all purposes.
Technical Field Embodiments relate to the field of communication networks, such as an ad-hoc radio communication network or a mesh communication network, for example. By way of example, embodiments relate to methods of scheduling and allocating of radio resources and routing among the communication devices within an ad-hoc communication network or a mesh communication network.
Background
A communication system generally consists of a plurality of communication devices, wherein the communication among the communication devices are either central-controlled or self- organized.
An ad-hoc communication network generally consists of a plurality of ad-hoc communication devices, wherein the communication among these devices is self-organized. The plurality of devices are able to discover each other within a range to form the communication network, and within the communication network, they can communicate with each other without the need of a central control.
Efficient methods for allocating resources and scheduling are desirable for ad-hoc communication systems.
Document [1] describes the Air interface for fixed broadband wireless access systems according to the IEEE standard for local and metropolitan area networks. Document [2] describes an optimized link state routing protocol (OLSR). Document [3] shows a performance comparison of routing protocols for Maritime wireless mesh networks. Document [4] describes on-demand multipath distance vector routing in ad hoc networks. Document [5] describes an ad hoc on-demand distance vector (AODV) routing protocol. Document [6] shows dynamic destination-sequenced distance- vector routing (DSDV) for mobile computers. Document [7] shows details of a Maritime simulation environment.
Summary
In one embodiment, a communication device is provided, the communication device having a receiver configured to receive a request for the grant of usage of a radio resource by a requesting communication device, a checking circuit configured to detect whether usage of the radio resource has already been granted by another communication device, and a signaling circuit configured to signal a grant of the usage of the radio resource to the requesting communication device only if usage of the radio resource has not been granted by the other communication device.
In one embodiment, a communication device is provided, the communication device having a receiver configured to receive a grant for the usage of a radio resource by a granting communication device, a checking circuit configured to detect whether usage of the radio resource has been granted to another communication device, and a transceiver configured to use the radio resource only if usage of the radio resource has not been granted to the other communication device.
In one embodiment, an ad-hoc communication device is provided, the ad-hoc communication device having a receiver configured to receive a message from another ad-hoc communication device of an ad hoc communication network in which the ad-hoc communication device is registered specifying whether the other communication device has determined a time slot as unavailable for a data transmission by the other communication device, and an allocation circuit configured to allocate the time slot for data transmission only if the time slot has not been determined as unavailable for a data transmission by the other communication device.
In one embodiment, a scheduling circuit of a communication device is provided, the scheduling circuit having a detecting circuit configured to detect whether interference'has occurred in a data transmission between the communication device and another communication device for which a set of time slots comprising at least a time slot has been used that is allocated to the communication device, wherein the set of time slots is part of a time slot sequence that is repeated periodically, a cancelling circuit configured to cancel the allocation of the set of time slots to the communication device if it has been detected that interference has occurred in the data transmission, a determining circuit configured to determine another set of time slots comprising at least one time slot of the time slot sequence to be allocated to the communication device, wherein a relative position of the other set of time slots to the set of time slots in the sequence of time slots is determined based on a predetermined parameter, and the other set of time slots is determined such that it has the determined relative position to the set of time slots, and an allocating circuit configured to allocate the other set of time slots to the communication device for a further data transmission.
In one embodiment, a communication device is provided, the communication device having a detector configured to detect whether interference has occurred between a first data transmission between a first communication device and a second communication device and a second data transmission between a third communication device and a fourth communication device, wherein a radio resource allocated to the first communication device and allocated to the third communication device has been used for the first data transmission and the second data transmission, a cancelling circuit configured to cancel the allocation of the radio resource to the first communication device if it has been detected that interference has occurred between the first data transmission and the second data transmission, and a signaling circuit configured to signal that the allocation of the radio resource to the first communication device has been cancelled and that the radio resource remains to be allocated to the third communication device.
In one embodiment, a communication device is provided, the communication device having a determining circuit configured to determine the degree of utilization of radio resources allocated to the communication device for data transmissions carried out by the communication device, a comparing circuit configured to compare the degree of utilization with a pre-determined threshold, and a controller configured to initiate the allocation of additional radio resources if the degree of utilization is higher than the pre-determined threshold or configured to initiate the release of at least some of the radio resources if the degree of utilization is lower than the pre-determined threshold. In one embodiment, a message generating circuit is provided, the message generating circuit being configured to generate a Medium Access Control layer message comprising routing information based on which a communication route to a communication device in a communication network in which the communication device is registered may be determined.
5
In one embodiment, a message generating circuit of a first communication device is provided for generating a routing message to be sent to a second communication device, the message generating circuit being configured to generate routing information, wherein the routing information comprises a plurality of flags, each flag being associated with one of plurality of o communication devices and to set the value of each flag such that the flag indicates whether or not the respective one of the plurality of communication devices may be reached by a route in the communication network comprising the first communication device and configured to generate the routing message based on the routing information. 5 According to other embodiments, methods according to the devices/circuits described above are provided.
Brief Description of the Drawings
The drawings are not necessarily to scale, emphasis instead generally being placed upon o illustrating the principles of various embodiments. In the following description, various embodiments are described with reference to the following drawings, in which: FIG. 1 shows an illustration of an ad hoc communication network; FIG. 2 shows an illustration of a mesh communication network; FIG. 3 illustrates of the frame structure in Point-to-Multi-Point (PMP) mode 5 according to the IEEE 802.16 standard;
FIG. 4 illustrates of the frame structure in mesh mode according to the IEEE 802.16 . standard;
FIG. 5 shows an illustration of the three way handshake working mechanism; FIG. 6 shows an illustration of bandwidth allocation to a communication device; 0 FIG. 7 shows a table listing 8 types of persistence in the bandwidth allocation according to the IEEE 802.16 standard, wherein persistence refers to the number of frames during which the allocated bandwidth is valid for;
FIG. 8 shows an example of slots states that are kept by a communication device; FIG. 9 illustrates a scenario when the interference range Rf of data packet is smaller than the transmission range Rjx of the control message;
FIG. 10 illustrates a diagram of slot state transition when the interference range Rf of data packet is smaller than the transmission range Rjx of the control message; FIG. 11 illustrates a scenario when the interference range Rf of data packet is larger than the transmission range Rjx of the control message;
FIG. 12 illustrates a diagram of slot state transition when the interference range Rf of data packet is larger than the transmission range Kjx of the control message;
FIG. 13 illustrates a scenario wherein collision in time slot allocation may happen; FIG. 14 illustrates a communication device according to one embodiment;
FIG. 15 illustrates a communication device according to one embodiment; FIG. 16 illustrates a scenario wherein explicit interference in time slot allocation may happen;
FIG. 17 illustrates a scenario wherein implicit interferences in bandwidth allocation may happen;
FIG. 18 shows a communication device according to one embodiment; FIG. 19 illustrates a scenario wherein implicit interference in bandwidth allocation may happen;
FIG. 20 illustrates an example of how to re-allocate bandwidth after an interference has occurred according to one embodiment of the invention;
FIG. 21 (a) illustrates a scenario wherein interference happens between a first transmission between communication devices A and B and a second transmission between communication devices D and E;
FIG. 21 (b) illustrates a scenario wherein communication devices D and E re-allocate the bandwidth and solve the problem of interference;
FIG. 22 illustrates a communication device according to one embodiment of the invention;
FIG. 23 illustrates an example of collision between a first transmission between communication devices A and B and a second transmission between communication devices C and D due to loss of DSCH messages;
FIG. 24 illustrates a communication device according to one embodiment of the invention; FIG. 25 (a) illustrates a scenario wherein no interference exists in the communication network which comprises communication devices A-G, wherein communication devices C and D are relatively far from communication devices A and B;
FIG. 25 (b) illustrates a scenario wherein interference happens between a first transmission between communication devices A and B and a second transmission between communication devices C and D when communication devices C and D move near to communication devices A and B;
FIG. 26 illustrates a communication device according to one embodiment of the invention; FIG. 27 illustrates a process of path selection according to one embodiment of the invention;
FIG. 28 illustrates an example that a communication device A may change the route to the base station;
FIG. 29 illustrates a route table according to one embodiment of the invention; FIG. 30 illustrates a process of route repair according to one embodiment of the invention;
FIG. 31 illustrates a message generating circuit according to one embodiment of the invention;
FIG. 32 shows an illustration of a bitmap; FIG. 33 illustrates the assignment of addresses of communication devices in a mesh communication network;
FIG. 34 illustrates generation of routing information by each communication device in the mesh communication network;
FIG. 35 illustrates how a distinctive function is operated; FIG. 36 illustrates a scenario wherein ambiguous routing information may be generated;
FIG. 37 illustrates an example of a communication device in a communication network keeping a context for a related communication device, wherein the context is used for compression of routing information; FIG. 38 illustrates a message generating circuit according to one embodiment of the invention;
FIG. 39 illustrates a mesh network topology used for simulation of performance of communication devices in a mesh communication network, wherein the mesh communication network comprises a base station and a plurality of communication devices; FIG. 40 (a) illustrates simulation results of initial delay from a communication device to the base station for 5 communication devices in the communication network using different routing methods under sea state 3.0;
FIG. 40 (b) illustrates simulation results of initial delay from a communication device to the base station for 5 communication devices in the communication network using ' different routing methods under sea state 6.0;
FIG. 41 (a) illustrates simulation results of delay average from a communication device to the base station for 5 communication devices in the communication network using different routing methods under sea state 3.0; FIG. 41 (b) illustrates simulation results of delay average from a communication device to the base station for 5 communication devices in the communication network using different routing methods under sea state 6.0;
FIG. 42 (a) illustrates simulation results of throughput from a communication device to the base station for 5 communication devices in the communication network using different routing methods under sea state 3.0;
FIG. 42 (b) illustrates simulation results of throughput from a communication device to the base station for 5 communication devices in the communication network using different routing methods under sea state 6.0;
FIG. 43 illustrates simulation results of initial delay from the base station to a communication for 5 communication devices in the communication network device using different routing methods under sea state 6.0;
FIG. 44 illustrates simulation results of delay average from the base station to a communication device for 5 communication devices in the communication network using different routing methods under sea state 6.0; FIG. 45 illustrates simulation results of throughput from the base station to a communication device for 5 communication devices in the communication network using . different routing methods under sea state 6.0.
Description FIG. 1 shows a system according to an embodiment.
For example, FIG. 1 shows an illustration of an ad-hoc communication network 100 including communication devices A to H (111 - 118). For example, the communication network comprises ad-hoc communication devices A to H (111-118), wherein all the devices A to H (111-118) self-organize the communication among devices within the network. For illustration, circle line 101 represents the transmission range of device B 112, meaning that device B 112 is able to transmit data to other communication devices that are located within the circle line 101. In this illustration, device B 112 is able to transmit data to devices A l I l, 5 C 113, D 114, E 115, and H 118. Similarly, circle line 102 represents the transmission range of device C 113, meaning'that device C is able to transmit data to other communication devices that are located within the circle line 102, and circle line 103 represents the transmission range of device D 114, meaning that device D is able to transmit data to other communication devices that are located within the circle line 103. 0
Wireless mesh communication networks are self-configured and self-organized multi-hop wireless networks. The communication devices in the network automatically establish the network and maintaining the connectivity. It is a kind of ad-hoc network. However, it is different from the traditional mobile ad-hoc networks (MANET). In this context, the term 5 multi-hop may refer to the scenario that there may be one or a plurality of communication devices in the route for data transmission between a source communication device and a destination communication device. In other words, one or a plurality of communication devices may be used for relaying data from a source communication device to a destination device. 0
In the mobile ad-hoc networks (MANET), the communication devices are equal in routing and data forwarding. The mobility of the communication device is uncontrollable. In the mesh communication network, there are two types of communication devices, mesh routers , and mesh clients. The mesh routers have minimal mobility and form the backbone for the5 mesh clients. Although mesh clients can also serve as routers, their hardware and software are usually simpler comparing to that of the mesh routers. From the definition of mesh network, . it can be seen that the mesh network is a kind of hybrid multi-hop wireless networks in which some communication devices are static and some of them are mobile. This makes the network topology more stable and their behaviors more predictable comparing to the pure o MANET. The mesh router in the mesh network is usually referred to as a base station (BS) functioning as a central control of the mesh routers, i.e. communication devices, in the mesh network, and a mesh communication network generally comprises at least one base station. Wireless mesh networks have great potential in enlarging the transmission coverage area and reducing the cost in building the network, especially for the territories that are not suitable for the deployment of network infrastructure. For example, deploying base stations (BSs) on the sea is difficult. However, wireless mesh network can be used to provide the Internet services for the ships anchoring or cruising nearby the sea port. The base stations on shore can serve as the mesh routers and the ships are the mesh clients. The present invention focuses on such a communication scenario and provides communication devices and communication methods for scheduling and allocation of radio resources and routing among the communication devices within the Maritime Mesh Network. However, it should be noted that the claimed subject matter of the present invention is not limited to Maritime Mesh Network, but can be applied in any mesh communication network or an ad-hoc communication network.
FIG. 2 shows an illustration of a basic configuration of a mesh communication network 200 in which BS 201 represents base stations (BSs). For a particular example, the base stations 201 may be planted on shore and connected to the Internet 202. SSs 203 represent communication devices within the mesh network 200. For a particular example, SSs 203 may be ships in a shipping lane. The SSs 203 may be connected to the BS 201 with wireless mesh protocols.
There are different technologies that can be used for the organization of the wireless mesh network. The widely used technologies are the IEEE 802.11 and the IEEE 802.16 protocols. The 802.11 standards are suitable for the communication within several hundred meters. The IEEE 802.16 standards are defined for the communication over several kilometers. As the distances between the ships usually are in the range of kilometers, the 802.16 protocols are more suitable for the communication of Maritime Mesh Network. Different from the 802.11 standard which adopts Orthogonal Frequency Division Multiplexing (OFDM) for data transmission, the 802.16 standard proposed to use Time Division Multiple Access (TDMA) for the scheduling of transmission opportunities.
In this invention, one focus is on the TDMA-based Medium Access Control (MAC) over the mobile mesh communication network. In order to test the performance using different allocating and scheduling methods, a TDMA-based MAC in QualNet network simulator based on the standard of the IEEE 802.16d MAC in mesh mode is implemented (cf. [I]). QualNet is a kind of simulation tool used to predict performance of network devices. For the convenience of writing, in the following, 16d MAC is used to represent the IEEE 802.16d MAC in mesh mode. As background information, two-way PMP and mesh topology wireless networks are examples for sharing wireless network media. In this context, the medium may refer to space through which the radio waves propagate. The main difference between the 5 PMP mode and mesh mode is that in the PMP mode, traffic only occurs between the BS and SSs, while in the mesh mode, traffic can also be routed through other SSs and also occur directly between SSs. The 16d MAC and physical layers support multi-hop communication. According to this standard, a communication device can reserve time slots once and use the time slots across frames. As background information, a frame is a periodically repeating o structure during which data or control messages are sent by communication devices. A frame may be further divided into a plurality of time slots. However, the standard does not support mobility. The moving of communication devices may cause interference and collision when the communication devices are close to each other and use the same slot for communication. To avoid the interference, in one embodiment, devices and methods for scheduling and5 allocating of radio resources are provided that reduce the chances of interference happening. Further, devices and methods are provided to mitigate the interference by reallocating the interfered slots if interference happens.
Further, routing devices and routing methods are provided for a mesh communication o network with a cross layer method by attaching the routing information into MAC control messages. Some existing routing protocols such as AOD V[5], AOMD V[4] and OLSR (cf . [2]) are tested over the mesh network for comparison purpose. The performance of different routing protocols can also be seen in [I]. It can be seen that none of existing routing methods performs well over the TDMA-based network because the 16.d MAC does not provide a5 good support for the broadcast of data packet, hi one embodiment, routing devices and corresponding routing methods are provided by which the routing information is attached in . the MAC layer control messages. The control messages are exchanged between neighbor communication devices frequently and are collision free. Therefore, the routing information can propagate in the network rapidly and reliably, hi one embodiment, multiple routing paths0 are kept to a base station (BS) so that the broken routes can be repaired quickly. In other words, a communication device may keep a record of several candidate links in case the current link is broken. The reverse path, or the path from BS to a communication device (SS as shown in FIG. 2), is also established. In one embodiment, the currently used path from the SS to BS is chosen as the reverse path, i.e. the path from BS to the corresponding SS. The routes are maintained proactively. The routes are loop free by using the destination sequence number similarly as proposed in DSDV (cf. [6]). The proposed routing methods are tested in a Maritime simulation environment. The details of the Maritime simulation environment can be seen in [7].
The description is organized as followed: introduction of the 16d MAC; devices and methods for scheduling and allocating of bandwidth in order to reduce or to resolve interference; and routing devices and methods for an ad-hoc communication network or a mesh communication network.
Embodiments described in the following are mainly based on the IEEE 802.16 standard. However, it is to be noted that various changes in form and detail may be made therein without departing from the scope of the invention as defined by the appended claims.
It should also be noted that the embodiments described in the dependent claims of independent device claims are also analogously valid for the corresponding methods where applicable.
IEEE 802.16d MAC in Mesh Mode The IEEE 802.16 standard (cf. [I]) defines the MAC and physical layer protocols for the Broadband Wireless Metropolitan Area Networks (WiMax). The standard supports both the Point-to-Multi-Point (PMP) and the Mesh modes in the communication. The Time Division Multiple Access (TDMA) is used for the channel access. With the 802.16 based networks, the physical channel is organized in frames with fixed time duration such as 2ms, 5ms, 10ms and 20ms. The frames are further divided into slots. Each frame can have 256 data slots and slot is the basic data transmission unit. There are two types of communication devices, Base Station (BS) and Subscriber Station (SS), in the 16d based networks. In this context, the SS may be communication devices in the mesh communication network. The BS usually connects to the core network with wired lines. The SS connects to the core network through the BS directly or indirectly.
FIG. 3 illustrates of the frame structure in Point-to-Multi-Point (PMP) mode according to the IEEE 802.16 standard, which is used in one embodiment. In PMP mode, each frame 301 is divided into two parts, downlink 302 and uplink 303 sub- frames as shown in FIG. 3. The downlink sub-frame 302 is designed for the BS transmitting data to SSs. The uplink sub-frame 303 is for the SSs transmitting data to BS. The sub-frames 5 are further divided into two parts. For the downlink frame 302, the first part is used for the time synchronization and the scheduling of data transmission. It is at the beginning of the downlink sub-frame. The second part of the downlink sub-frame is used for data transmission. The BS transmits data to SSs with the slots inside the down link sub-frame. The uplink sub-frame 303 is also divided into two parts. The first part is used for the transmission0 of ranging and bandwidth requests. SSs have to compete for the transmissions in this part and collision may happen. Back-off mechanisms are used to reduce the chances of collision. The SSs transmit the data to BS with the slots in the second part of the uplink sub-frame. Slots are assigned by the BS and are known through the scheduling information sent in the first part of downlink sub-frame. 5
In PMP mode, the network is organized as a centralized system. BS is the core of the network and all the important decisions such as scheduling and network entry are made by it. The functions of SSs are simple. They only need to take care of their own data or send requests for ranging and scheduling. It is similar to the role of terminals in the mobile o telecommunication networks. The PMP mode is usually used for the cellular-based communication.
In mesh mode, the communication style is completely different from the PMP. First of all, the network is designed to support multi-hop communication instead of the cellular like 5 communication. The SSs in mesh mode not only transmit data originated from its own applications, but also relay data from other communication devices. Comparing to the PMP . mode, the SSs in mesh mode are more complex in networking functionality. They not only transmit data, but also make the decisions on scheduling. An embodiment of the invention may be seen to focus on the scenario wherein the mesh mode is used, for example, for the0 Maritime Wireless Mesh Network, hi the following, a more detailed description of the mesh mode is given. Frame structure
Generally speaking, when the TDMA is used as basic channel access technology, the channel is divided into frames with equivalent length in time. In this context, channel may refer to medium through which data are transmitted.
FIG. 4 shows the basic structure of the frame 401 in mesh mode (cf. [I]) which is used in one embodiment. It consists of two parts, control sub-frame 402 and data sub-frame 403. It is different from the frame structure in PMP mode as shown in FIG. 3. The control sub-frame 402 is divided equally into a number of slots, such as 16. The data sub-frames 403 are divided equally into 256 slots. The lengths of control and data slots may be different. Each control message can only occupy one control slots while the data packet can be sent across several data slots.
There are two types of control sub-frames, Network Configuration (NCFG) and
Centralized/Distributed Scheduling (DSCH/CSCH). The two types of control sub-frames are exclusive to each other. They are sent in different frames. For example, in one embodiment, the NCFG sub-frames may be sent in every ten frames and the rests are sent with the DSCH/CSCH sub-frames.
In NCFG sub-frames, the first slots are used for network entry and the rest are for the network configuration control messages. The network entry is for the communication devices outside the network being accepted as a valid communication device inside the network. When a communication device wants to enter the network, it first has to listen to the network and tries to find a sponsor communication device. If it receives two NCFG messages consecutively from a neighboring communication device, then it may choose it as sponsor communication device. After finding the sponsor communication device, the communication device sends a Network Entry messages to the sponsor communication device with network entry slots in the following NCFG sub-frames. To avoid collision, a communication device may not send with the immediate available transmission opportunity, instead, it uses a random back-off mechanism to decide when to transmit the message. Once the Network Entry request reaches the sponsor communication device and passes the authentication, it includes the communication device as its valid neighbor. The communication device that sent the Network Entry messages scans the NCFG messages sent by the chosen sponsor communication device. If it is included in the neighbor list, it knows the fact that it has been accepted as a valid member of the network. At this stage, the communication device can start to schedule the control messages and data packet transmissions.
Network Configuration (NCFG) messages contain information such as neighbor list, scheduling information of NCFG messages, the hop count to the BS etc. in this context, the hop count to the BS may be associated with the number of devices used for relaying data in a route for data communication between a communication device and the base station. Communication devices in the network compete for their next transmission opportunities for NCFG messages based on the scheduling information contained in those from other communication devices.
For the CSCH/DSCH sub-frame, the control messages for data scheduling are sent inside it. The scheduling control messages are used for the management of the transmissions in data sub-frame. The messages contain the states of the slots, the requests for bandwidth and the location of granting/granted bandwidth. In this context, the state of a slot may refer to whether the slot has been used or reserved for data transmission, or whether the slot is available for data transmission. A communication device processes the Availability IEs in the DSCH messages to further determine which slots can be granted for transmission. The Availability Information Elements (IEs) comprises a list of the slots available.
In the following, a more detailed description of the scheduling mechanism in the 802.16d MAC is given, which may be used in one embodiment.
The DSCH Messages
Distributed Coordinated Scheduling (DSCH) is sent in the scheduling control sub-frame. It . may include following information: • Basic MAC information: it is used to identify who sends this message.
• DSCH scheduling information: including both this communication device and its neighbors. It can be used to report the scheduling information of the current communication device and its neighbors so that others communication devices can determine their transmission opportunities for their DSCH messages. • Availability: or the slot state information. It tells the neighbors of their slot state information so that they can refer to it when allocating bandwidth.
• Bandwidth requests: request for the bandwidth. The information include, number of slots required, how many frame it will cross.
5 • Bandwidth grants: the information includes, the starting frame, the starting point of the slots, the number of slots granted to a neighbor and how many frames it crosses.
• Bandwidth grant-confirm: when a communication device get the granted slots, it has to notify its neighbors of the granted bandwidth information. The content of information is the same as the bandwidth grant. The difference is the grant is sent by the receiver o and grant-confirm is sent by the sender.
Scheduling
With the IEEE 802.16d MAC, to avoid collision, packets, including both control messages and data packets, are scheduled before transmitting. The scheduling mechanisms of control5 messages and data packets are different. The scheduling of control messages, both network configuration and scheduling, is through mesh elections. The mesh election procedure determines whether a communication device is the winner for a specific transmission slot among other competing communication devices. The scheduling of data packet transmission is through the exchanging of DSCH/CSCH control messages. The 16.d MAC defines a three- o way hand-shake mechanism for the scheduling of data packet transmission which will be described later in relation to FIG. 5.
Scheduling of the Control Messages
A control message, either NCFG or DSCH message, is sent within one time slot. According5 to the 16.d standard, the length of a control slot is equivalent to seven OFDM symbols. The scheduling of the control message is through mesh election, which provides a mechanism for ' the communication devices to compete the transmission slots in the control sub-frame.
To perform the mesh election, each communication device forms a list that includes the0 scheduling information of its own and its neighbors, which is obtained from the received NCFG and DSCH/CSCH messages. The scheduling information includes the communication device ID and the possible next transmission slots for the sending of next control messages. The possible next transmission slots of a communication device are described with two variables, NextXmtMx and XmtHoldOffExponent. With these two values, the next transmission time of a communication device, denoted as NextXmtTime, falls in the range of 2xmtHoidoffE XP onent χ NeχtXmtMx < NextXmtTime < 2XmtHMOffExponent x (NextXmtMx + 1) . After one eligibility interval, a communication device must hold off transmission for a
' Λ f 9 XmtHoldoff Exponent +Λ
In mesh mode, a communication device calculates the NextXmtTime when it sends the current control messages. It uses the election algorithm to find the next transmission slot as follows: first, the communication device chooses the first slot after the hold off time as a temporary transmission opportunity; second, it finds all the two-hop neighbors, potential competitors, that may also using this slot for transmissions based on the two variables, NextXmtMx and XmtHoldOffExponent, of these communication devices. The potential competitors are defined as follows: a) those communication devices whose intervals of NextXmtTime include this slot; b) those communication devices with Earliest Subsequent Xmt Time is the same as or before this slot; the EarliestSubsequentXmtTime = NextXmtTime + XmtHoldoffTime. c) the communication devices whose schedules are unknown. With all the potential competitors, the communication device uses an algorithm in determining whether it can use this slot for control message transmission. The algorithm is a pseudo-random function that takes the communication device ID and slot number as inputs. If the pseudo-random number generated with the current slot number and the ID of this communication device is the largest values, then this communication device wins the slot and will schedule the next transmission of control message on it. Else, it increases the slot number by one and does the competition again until it wins. Once it wins, it derives the value of NextXmtMx and adds it in the current control message.
Scheduling of the Data Messages
The 16d MAC protocol uses a three-way handshake mechanism to allocate the bandwidth (time slot). In this context, the terms "bandwidth" and "time slot" are used interchangeably.
FIG. 5 illustrates the three-way handshake mechanism used in one embodiment. As illustrated in FIG. 5, the three-way handshake mechanism involves sending and receiving of request 501, grant 502 and grant-confirm 503 which are not transmitted as separated packets, but as information elements (IE) of the DSCH messages. Request 501 is a message used by a sender to tell a receiver how many slots are needed. Grant 502 is a message from the receiver telling the sender and one-hop neighbors of where the slots are allocated. Grant-confirm 503 is a message from the sender telling the one-hop neighbors which slots will be used in the future for data transmission. In this context, one-hop neighbors refer to neighbor communication devices of the sender or receiver which are within transmission ranges of the sender and the receiver. Consider a communication device 504 that wants to send a data packet to the receiver 505 but has no allocated time slot on the link. The sender 504 creates a request 501 and holds it in its buffer. At the next opportunity to transmit a DSCH message at (MAC) frame N, the sender 504 removes the request 501 from the buffer to form a part of the DSCH message. Upon receiving the request 501, the receiver 505 will hold it in its buffer until its next opportunity to transmit a DSCH message at Frame N+i. At the time, the receiver 505 removes the received request 501 from its buffer to generate a bandwidth grant 502 accordingly. All the one-hop neighbors of the receiver 505 will hear the grant 502 and use it to mark the time slot as not available (NA) accordingly. The sender communication device 504 which also receive the grant 502, will verify if the allocated time slots indicated in the grant 502 are available. If these allocated time slots are indeed available, the sender communication device 504 will create a grant-confirm 503 to be transmitted in the next DSCH message at Frame N+i+j. After issuing the grant-confirm, the sender 504 can start transmitting in the allocated time slots from Frame N+i+j+k. Similar to grant, all one-hop neighbors of the sender that hear the grant-confirm 503 mark the allocated time slots as NA accordingly.
The Grant and Grant-Confirm are similar to the RTS/CTS messages defined in the IEEE 802.11 standard. The difference is RTS/CTS can only reserve time slots for one transmission while the grant and grant-confirm can reserve time slots for many transmissions.
The location information of the allocated bandwidth in 802.16 is described in FrameOffset, SlotStart, SlotRange and Persistence. The FrameOffset indicates from which frame the allocation is started relative to a starting frame. The slotStart tells the starting slot of the allocation within the data frames. The slotRange indicates how many slots are allocated within each data frame. The Persistence tells how many frames this allocation is valid for.
FIG. 6 shows an illustration of bandwidth allocation. Frame 0 refers to the current frame. The area in grey represents the allocated slots and is described by the relative variables such as frameOffset 601, slotStart 602, slotRange 603, and persistence 604. After receiving the grant, the sender first validates the allocation and then sends it out in the next CSCH/DSCH control messages. The information is the same as that in the grant but it uses a flag to tell that the information is sent by the sender. The purposes of sending the grant and grant-confirm are to let the communication devices around the sender and receiver be aware of the transmission.
Once the data slots are allocated successfully, the sender communication device can schedule the data transmission based on the allocation.
With the IEEE 802.16d MAC, it supports up to 8 persistence types in bandwidth allocation as shown in FIG. 7. As can be seen from the table, persistence code zero is used to cancel the allocated bandwidth. The codes of one to seven represent that the allocation may last for the corresponding number of frames. For example, the persistence code 4 represents that the allocation lasts for a repetition of 8 frames. With persistence code 7, the allocation is valid forever until it is cancelled explicitly.
To avoid the collision and interference in data transmission, a communication device may track the data transmitting/receiving that will happen around it. The data transmitting/receiving information is kept on slot basis. The 802.16d MAC defines four states for the slot based on the transmitting and receiving activity of the current communication devices and its neighbors. The four states are Available for Both Transmission and Receiving (TR), Available for Transmission Only (TO), Available for Receiving Only (RO) and Not Available (NA). The transitions of the states of slots are based on the bandwidth allocation . information, i.e. the information carried in the Grant and Grant-Confirmation IEs. Currently, it has not been defined how state should transit in the standard. A communication device allocates the slots for transmission based on the state of the slots.
According to the IEEE 802.16d standard, each communication device should keep the states of the slots up to 8 - 12 frames. FIG. 8 shows an example of slots states that are kept by a communication device. The information for the states of the slots is attached in the DSCH control messages. A communication device may refer to the information when allocate the bandwidth to other communication devices. Quality of Service (QoS)
IEEE 802.16d supports four types of services, Unsolicited Grant Service (UGS), Real-time Polling Service (rtPS), Non-real-time Polling Service (nrtPS), and Best Effort (BE). UGS is designed for real time service with fixed-size data packet issued at periodic intervals. rtPS is designed to support real-time streams consisting of variable-size data packets. nrtPS is designed to support delay-tolerant steams consisting of variable-sized data packets for which a minimum data rate is required, such as FTP. Different QoS types may require different strategies in bandwidth allocation.
Interference Aware and Adaptive Time Slot Allocation Method for Wireless Mesh Networks In the following, communication devices and corresponding methods are provided to reduce interference and to adapt time slot allocation for the 802.16d based wireless mesh network.
It is known that timeslots play an important role in the bandwidth allocation of IEEE
802.16d-based mesh network. First, it is the basic unit for the allocation. Second, its states represent the data transmitting/receiving activities around a communication device. These activities must be considered in the slot allocation, else the interference may happen. The standard has defined four states for the slots, i.e. the TR, RO, TO and NA states. However, how should the states transit among the four states based on the slot allocation information from the Grant and Grant-Confirm IE are not given. In the present invention, a mechanism for the slot state transition is provided based on the transmitting/receiving activities that may happen around a communication device. The slot state information is integrated with the three-way handshake mechanism and communication devices and corresponding methods are provided that can help in avoiding the collision and interference in the bandwidth allocation. Further, communication devices and corresponding methods are provided that are able to adapt the bandwidth allocation to the variation of the traffic load.
Slot State Transition As mentioned earlier, the 802.16d MAC in mesh mode defines that each data slot can be in one of the four states, TR, TO, RO anάNA, at a given time epoch. The purpose of classifying the slot in different states is to avoid collision and interference in scheduling and simplify the resource management. According to one embodiment, it is found that the state transition depends on the transmission range of the control message and the interference range of data packet, denoted as RT c x and Rf , respectively. Rjx and Rf can be different because the interference range usually is longer than the transmission range given the transmission power is the same. It is possible that the control messages and data messages are transmitted with different power and thus cause the Rjx and Rf to be different. In the following the state transition in two cases, Rf ≤ RT c x and Rf > Rjx are discussed.
In one case, given that/?/ < Rjx , the interference and collision can be avoided easily as all the communication devices that may be affected or can affect the corresponding transmission can know it explicitly through the three-way handshake mechanism. In the following, an example is given to illustrate how the communication devices are affected or affect a given transmission.
FIG. 9 illustrates a scenario wherein Rf ≤ Rjx . As shown in FIG. 9, assuming that communication device A 901 wants to transmit data to communication device B 902 with slot x. Two circles 907 and 908 are used to represent the interference range of communication device A 901 and B 902, respectively. Obviously, communication devices fall in area a 903 are not affected by the transmission as they are out of the range of interference for both A 901 and B 902. Communication devices in the area b 904 other than A 901 and B 902 can neither transmit nor receive with slot x. The communication devices in the area b 904 can not receive data in slot x because they would be interfered by the transmission of the communication device A 901, and they also can not transmit because it would interfere the receiving of communication device B 902. Communication devices in the area c 905 can transmit but cannot receive because the receiving would be interfered by the transmission of the
' communication device A 901. In area d 906, communication devices can receive but cannot transmit because they would not interfered by the transmission of the communication device A 901. However, their transmission would interfere the receiving of the communication device B 902.
FIG. 10 illustrates a slot state transition diagram according to one embodiment. Normally, when a slot is neither used by the current communication device nor by any of its neighboring communication device, it should be in the TR state 1001. When a communication device uses a slot to transmit or receive, the state should transit from any state to NR state 1004 as it cannot transmit and receive at the same time. When any of the neighboring communication devices uses a slot for transmission, a communication device is in area c 905 of the neighbor device as shown in FIG. 9 cannot use the slot for receiving as collision would happen in such scenario. Instead, the communication device can use it for transmission if it is in TR 1001 or TO 1002 state previously. Similarly, when any of the neighboring communication devices using a slot for receiving, a communication device can only use the slot for receiving given it is in 77? 1001 or RO 1003 state previously. The communication device cannot use the time slot for transmission because it would cause the collision at its neighboring communication devices who use it for receiving.
In another case, assuming that Rf > Rjx , the state transition is different from the transition logic shown in FIG. 9. This can happen, for example, when the transmission power of control messages and data packets are the same.
FIG. 11 illustrates the impact of interference assuming that Rf > R^x . Circles 907 and 908 represent the interference range of device A 901 and B 902, respectively. Circles 1101 and 1102 represent transmission ranges of device A 901 and device B 902 respectively. The impact to communication devices in the area of a 903, b 904, c 905, d 906 are generally the same as shown in FIG. 9. However, the difference is that the communication devices in area c 905 and d 906 are not able to hear the bandwidth allocation information from the communication device A 901 and B 902. Even those in area b 904 may be unable to hear the control messages if they are located outside transmission range of device A 901 and device B 902 (namely outside circles 1101 and 1102 in area b 904). Only the communication devices in part of the area of b 904 (inside circles 1101 and 1102) are able to hear the bandwidth allocation information. With such a situation, the state transition described in FIG. 10 may cause interference and thus can not be used anymore. The TO and RO states in FIG. 10 becomes inaccurate for the scheduling.
In one embodiment, to avoid interference, the number of states of slots are reduced to be two states, TR and NA and the state transition becomes simpler. FIG. 12 illustrates a slot state transition diagram with only two states TR 1201 and NA 1202. Even if the number of states is reduced to be two, however, as the interference may reach two-hops, it is inadequate to just perform the bandwidth allocation by just considering the slots state kept at the transmitter and receiver. In the following, devices and methods which integrate the slot state and bandwidth allocation are shown. In this context, two-hops may refer to a position outside the transmission range of a communication device but is within the transmission range of a one-hop neighbor of the communication device.
In the following, the transmission powers of the control messages and data packet are assumed to be the same, namely Rf > R^x and, thus the slot state transition scheme shown in FIG. 12 is used.
Collision in Time Slot Allocation
In the following, methods are discussed on how to avoid the collision and the interference with the three-way handshake bandwidth allocation mechanism and the available state information. With the three-way handshake mechanism, collision in slot allocation may happen due to the delay in sending the grant-confirm.
FIG. 13 illustrates a scenario wherein collision may happen due to delay in sending grant- confirm message.
For example, communication devices B 1302 and D 1304 want to send data to A 1301 and ,C
1303, respectively. Circle lines 1305, 1306, 1307, and 1308 represent transmission ranges of devices A 1301, B 1302, C 1303, and D 1304, respectively. It may happen if communication device A 1301 grants allocation of several time slots first and communication device B 1302
- sends the grant-confirm before communication device C 1303 grants the bandwidth. In this case, communication device C 1303 will not grant the same slots to communication device D.
In such situation, there will be no collision.
In another case, if communication device C 1303 grants the time slots to D 1304 first, and communication device B 1302 sends DSCH messages with the updated slot information before communication device A 1301 grants the same time slots, then it is also collision free. However, if communication device C 1303 grants the bandwidth first and A 1301 also grants before communication device B 1302 can send a DSCH message for updating, then collision may happen if communication devices A 1301 and D 1304 allocate the same slots.
In one embodiment, communication device B 1302 may give up the allocation by either canceling the allocation (persistence > 1) or resending the request (persistence = 1). For the case of persistence = 1 , the reservation is only for 1 frame. Thus, there is no need to do cancellation. If collision happens, the node may simply make a new request since the reserved 1 slot has been used (and wasted due to the collision). For the case of persistence > 1, timeslots are reserved for more than 1 frame. If collision happens and detected in the first reserved frame, then cancellation may be done to remove reserved slots in consecutive frames. In one embodiment, new requests may be made after collision is detected.
Collision in bandwidth allocation may also happen in another situation. Referring to FIG. 13, assuming that communication device B 1302 obtains the grant from communication device A 1301 first, but before communication device B 1302 can send out the grant- confirm, communication device C 1303 grants the same slot to communication device D 1304. If none of them cancels the allocation, collision will happen as communication device C 1303 will receive data from devices B 1302 and D 1304 at the same time. From the perspective of fairness, communication device C 1303 may cancel the allocation as A 1301 sends the grant first. However, as communication device C 1303 may only be aware of the collision later after B 1302 sends out the grant-confirm, it may be too late to cancel the allocation, and thus resulting in collision. To avoid the collision, in one embodiment, a Later Come First Serve (LCFS) rule is used, that is, the one received grant earlier cancel the allocation. In this example, communication device B 1302 cancels the grant and requests for the bandwidth again. Communication devices C 1303 and D 1304 keep the allocation and later use it for transmission. LCFS rule may not be a fair solution, however, it is better than collision.
FIG. 14 shows a communication device 1400 according to one embodiment.
The communication device 1400 may comprise a receiver 1401, a checking circuit 1402, and a transceiver 1403. In one embodiment, the receiver 1401 is configured to receive a grant for the usage of a radio resource by a granting communication device. As an illustration, the communication device may be communication device B 1302 as shown in FIG. 13. The communication device B 1302 may wish to send data to communication device A 1301, and send to device A 1301 a request for usage of a radio resource, i.e. one or a plurality of time slots. The communication device A 1301 may acknowledge the request by sending to communication device B 1302 a grant of the usage of the radio resource, and the communication device B may receive the grant with a receiver 1401.
In one embodiment, the checking circuit 1402 is configured to detect whether usage of the radio resource has been granted to another communication device. As an illustration, referring to FIG. 13, the communication device B 1302 may further comprise a checking circuit 1402 for detecting whether the radio resource has been granted to be used by any other communication device. For example, as shown in FIG. 13, the communication device B 1302 may detect message from the communication device C 1303 which may include a grant of the usage of the radio resource to communication device D 1304. In another embodiment, communication device B 1302 may also detect grant of the usage of the radio resource be detecting a grant-confirm message from a neighbor device in case the neighbor device has obtained a grant of the usage of the radio resource from another communication device and the neighbor communication device has sent a grant-confirm message confirming the usage of the radio resource. This embodiment will be described in more detail in relation to FIG. 16.
In one embodiment, the transceiver 1403 is configured to use the radio resource only if usage of the radio resource has not been granted to the other communication device. As an illustration, the communication device B 1302 may use the radio resource for data transmission only if it has not received any grant of the radio resource to another communication device, i.e. to the communication device D 1304. Otherwise, if the communication device B 1302 has received the grant of the radio resource from communication device A 1301, and if the communication device B 1302 has also detected that communication device C 1303 has granted the usage of the radio resource to communication device D 1304, then communication device B 1302 will not use the radio resource to transmit data to communication device A 1301. In this case, communication device B 1302 may send a request for allocation of another radio resource again to the communication device A 1301.
In one embodiment, in other words, a communication device wishes to transmit data to a granting communication device and sends to the granting communication device a request of using a radio resource for data transmission. The granting communication device acknowledges the usage of the radio resource by sending to the communication device a grant for the usage of the radio resource. The communication device receives the grant for the usage of the radio resource from the granting communication device, and further detects whether the radio resource has been granted to any other communication device. For example, the communication device may detect messages from other communication devices whether the messages include information of grant of the usage of the radio resource to another communication device or information of grant-confirm of the usage of the radio resource by another communication device. The communication device uses the radio resource only if the communication device has not detected the grant or grant-confirm of the usage of the radio resource by any other communication device. In case that the communication device detects a grant or grant-confirm of the usage of the radio resource by another communication device after the communication device receives a grant from the granting communication device, the communication device gives up the usage of the radio resource. The communication device may then send a request to the granting communication device requesting for allocation of another radio resource for data transmission.
In one example, the communication device may detect that there is a grant of the usage of the radio resource to another communication device first, and the communication device receives a grant from the granting communication device before the communication device cancels the request. In this scenario, according to one embodiment of the present invention, the communication device may cancel the usage of the radio resource. The communication may then send a request for allocation of another radio resource to the granting communication device.
In one embodiment, the checking circuit 1402 is configured to detect whether usage of the radio resource has been granted to another communication device by receiving a message from at least one neighbor communication device, the message indicating whether the usage of the radio resource has been granted to the other communication device. As an illustration, referring to FIG. 13, the communication device B 1302 may detect the message from the communication device C 1303 to determine whether communication device C 1303 has sent a grant for the usage of the radio resource to communication device D 1304.
In one embodiment, the message is a Medium Access Control layer message. For example, the message may be comprised in a control sub-frame. For a particular example, the message may be a Distributed Scheduling (DSCH) message.
In one embodiment, the radio resource is one or a plurality of time slots. In one embodiment, the radio resource is a range of frequencies, a frequency band, or a plurality of frequency bands. In one embodiment, the radio resource is a combination of time slots or a combination of frequencies. As used herein, the term frequency band may refer to a predefined continuous frequency range, which may be used for signal transmission. A frequency band or band may often be referred to using a (frequency) band number associated with it.
In one embodiment, the communication device 1400 further comprises a signaling circuit 1404. hi one embodiment, the signaling circuit 1404 is configured to send a grant-confirm of the usage of the radio resource only if the usage of the radio resource has not been granted to the other communication device. For example, referring to FIG. 13, if the communication device B 1302 detects that there is no grant of the usage of the radio resource to any other communication device, the communication device B 1302 then send a grant-confirm to communication device A 1301 confirming usage of the radio resource for transmitting data from communication device B 1302 to communication device A 1301.
In one embodiment, the communication device 1400 is registered in an ad-hoc communication network comprising a plurality of ad-hoc communication devices, wherein each communication device communicates with the at least one base station directly or via at least one other communication device.
In one embodiment, the communication device 1400 is registered in a mesh communication network comprising a plurality of communication devices and at least one base station as a central control of the plurality of the communication devices, wherein each communication device communicates with the at least one base station directly or via at least one other communication device. In one embodiment, a method is provided for a communication device to obtain a grant of usage of a radio resource from a granting communication device, the method comprising receiving a grant for the usage of the radio resource by the granting communication device; detecting whether the usage of the radio resource has been granted to another communication device; and using the radio resource only if usage of the radio resource has not been granted to the other communication device.
FIG. 15 shows a communication device 1500 according to one embodiment.
The communication device 1500 may comprise a receiver 1501, a checking circuit 1502, and a signaling circuit 1503.
In one embodiment, the receiver 1501 is configured to receive a request for the grant of usage of a radio resource by a requesting communication device. As an illustration, referring to FIG. 13, a requesting communication device D 1304 as shown in FIG. 13 may wish to transmit data to the communication device C 1303. Before the data transmission, the requesting communication device D 1304 may send a request to the communication device C 1303 requesting for allocation of the radio resource to be used for data transmission. For example, the radio resource may be one or a plurality of time slots. Communication device C 1303 may receive the request from communication device D 1304 with a receiver.
In one embodiment, the checking circuit 1502 is configured to detect whether usage of the radio resource has already been granted by another communication device. As an illustration, referring to FIG. 13, communication device C 1303 may comprises a checking circuit to detect whether usage of the radio resource has already been granted by anothercommunication device, i.e. communication device B 1502, after receiving a request of usage of the radio resource from requesting communication device D 1304.
In one embodiment, the signaling circuit 1503 is configured to signal a grant of the usage of the radio resource to the requesting communication device only if usage of the radio resource has not been granted by the other communication device. For example, referring to FIG. 13, the communication device C 1303 may receive messages from a neighbor communication device, i.e. communication device B 1302. The message from communication device B 1302 may be a Medium Access Control layer message. Particularly, the message from communication device B 1302 may be a DSCH message. The message from communication device B 1302 may include information of whether communication device B 1302 has granted the radio resource to another communication device A 1301. Assuming that communication device B 1302 has received a request from communication device A 1301 and has acknowledged a grant of the usage of the radio resource to communication device A 1301. hi this case, communication device C 1303 detects the grant from communication device B 1302, and communication device C 1303 will not send a grant to communication device D 1304 if the granted radio resource by communication device B 1302 is the same or overlapped with the requested radio resource by communication device D 1304. Communication device C 1303 may only grant the usage of the radio resource to communication device D 1304 if communication device C 1303 has not detected any grant for the usage of the radio resource as requested by communication device D 1304 from neighbor communication devices, i.e. communication device B 1302.
In one embodiment, in other words, a communication device receives a request from a requesting communication device requesting for transmitting data to the communication device using a radio resource, i.e. one or a plurality of time slots. The communication device checks whether the radio resource has been granted to allocate to another communication device. For example, the checking may be through received signals from a neighbor communication device announcing the grant of allocation or usage of the radio resource to a requesting communication device of the neighbor communication device. The communication device sends a grant of the usage of the radio resource to the requesting communication device only if the communication device has not detected grant of usage of the radio resource from any of its neighbor communication devices.
In one embodiment, the checking circuit 1502 is configured to detect the grant of the radio resource by checking whether the radio resource has been used by the communication device or granted to the communication device. For example, referring to FIG. 13, after communication device C 1303 receives a request from requesting device D 1304 requesting for usage of a radio resource, communication device C 1303 may detect whether the radio resource has been granted by another communication device, i.e. communication device B 1302. In one embodiment, the checking circuit 1502 is configured to detect the grant of the radio resource by checking a message from the other communication device indicating whether usage of the radio resource has been granted to the other communication device. For example, referring to FIG. 13, communication device C 1303 may detect whether 5 communication device B 1302 has sent any message indicating that communication device B 1302 has granted the radio resource to another communication device, i.e. communication device A 1301.
hi one embodiment, the radio resource is one or a plurality of time slots. In one embodiment, o the radio resource is a range of frequencies, a frequency band, or a plurality of frequency bands. In one embodiment, the radio resource is a combination of time slots or a combination of frequencies.
In one embodiment, the receiver 1501 is configured to receive a grant-confirm message from5 the requesting communication device after the grant of usage of the radio resource has been signaled to the requesting communication device, the grant-confirm message indicating confirmation of the usage of the radio resource requested by the requesting communication device. As an illustration, referring to FIG. 13, after communication device C 1303 grants the usage of the radio resource to the requesting communication device D 1304, communication o device C 1303 may further receive a message from communication device D 1304 confirming the usage of the radio resource for data transmission from communication device D 1304 to communication device C 1303.
hi one embodiment, the communication device 1500 is registered in an ad-hoc 5 communication network comprising a plurality of ad-hoc communication devices.
, hi one embodiment, the communication device 1500 is registered in a mesh communication network comprising a plurality of communication devices and at least one base station as a central control of the plurality of communication devices, wherein each communication o device communicates with the at least one base station directly or via at least one other communication device.
In one embodiment, a method is provided for a communication device to grant usage of a radio resource to a requesting communication device, the method comprising: receiving a request for the grant of usage of the radio resource by the requesting communication device; detecting whether usage of the radio resource has already been granted by another communication device; signaling a grant of the usage of the radio resource to the requesting communication device only if usage of the radio resource has not been granted by the other 5 communication device.
Interference Awareness in Time Slot Allocation
With the three-way handshaking mechanism, the allocated time slots to a communication l o device may be interfered by the allocation of others, especially when the interference range of the data transmission is larger than the transmission range of control messages. The interference can be explicit or implicit. In this context, explicit means that the interference can be detected with the bandwidth allocation information from neighboring communication devices such as the grant and grant-confirm. In other words, explicit interference may be
15 avoided. The implicit interference refers to the interference as indicated in the availability information element or from the data packet receiving. In other words, implicit interference can only be detected after it happens.
Explicit Interference Awareness
20
Similar to the collision, the delay in sending the grant-confirm may cause interference.
FIG. 16 illustrates a scenario wherein interference may happen due to delay in sending grant- confirm message. For example, as shown in FIG. 16, communication devices A 1601, B
25 1602, C 1603, and D 1604 are all registered in an ad-hoc communication network or a mesh communication network, and they form an arbitrary topology. Circle lines 1605, 1606, 1607, and 1608 represent transmission ranges of communication devices A 1601, B 1602, C 1603, and D 1604, respectively. In one example, communication device B 1602 wishes to transmit data to communication device A 1601, and communication device C 1603 wishes to transmit
30 data to communication device D 1604. The transmissions of communication devices B 1602 and C 1603, i.e. using an allocation of same time slots or overlapping time slots, may interfere the reception at communication device A 1601 and D 1604. Assuming at frame N, communication devices B 1602 and C 1603 receive data packets from an upper layer and the destinations are communication devices A 1601 and D 1604, respectively. Communication devices B 1602 and C 1603 may then send request to communication devices A 1501 and D 1504 respectively for usage of a radio resource, i.e. a set of time slots. If both of communication devices A 1601 and D 1604 grant the bandwidth, namely the radio resource, before communication devices B 1602 or C 1603 can send a DSCH messages after receiving the respective grant to confirm the usage of the radio resource, then it is possible that communication devices B 1602 and C 1603 are granted with a same time slot in a frame. In such a situation, interference may happen as interference may reach two-hops given that the transmission power are the same for both control messages and data. In this context, two- hops may refer to a position outside the transmission range of a communication device but is within the transmission range of a one-hop neighbor of the communication device. One-hop may refer to a range that is within the transmission range of a communication device. For example, in this case, communication devices B 1602 and C 1603 may then transmit data using a same time slot to communication devices A 1601 and D 1604, respectively. Reception of data at communication device A 1601 may be interfered by data transmission from communication device C 1603, and data reception at communication device D 1604 may be interfered by data transmission from communication device B 1602. To avoid interference, according to one embodiment of the present invention, one of communication devices B 1602 and C 1603 gives up the allocation of the radio resource, i.e. one or more time slots. In one embodiment, the cancellation of the allocation of the radio resource is by sending a canceling message.
In one embodiment, in other words, a First Come First Serve (FCFS) rule is applied in determination of who should keep the allocation. Namely, the one who sends the grant- confirm first wins the allocation. In one embodiment, the communication device who receives a grant-confirm that conflicts with its granted bandwidth cancels its allocation. For example, after communication devices B 1602 and C 1603 receive grant of the usage of the
, radio resource respectively from communication devices A 1601 and D 1604, if communication device C 1603 first sends a grant-confirm announcing the confirmation of the usage of the radio resource, then communication device B 1602 will not send a grant-confirm but will cancel the allocation of the radio resource by sending a cancelling message. In this example, communication device C 1603 will only send the grant-confirm message only if communication device C 1603 has not detected that communication device B 1602 has send any grant-confirmation message. Implicit Interference Aware in Time Slot Allocation
The implicit interference exists because the interference range is longer than the transmission range.
FIG. 17 illustrates a scenario wherein implicit interference may happen. For example, as shown in FIG. 17, communication devices A 1701, B 1702, C 1703, D 1704, and E 1705 are all registered in an ad-hoc communication network or a mesh communication network, and they form an arbitrary topology. Circle lines 1706, 1707, 1708, 1709, and 1710 represent transmission ranges of communication devices A 1701, B 1702, C 1703, D 1704, and E 1705, respectively. For example, assuming that communication devices B 1702 and D 1704 want to transmit data to A 1701 and E 1705, respectively. Since each pair of communication devices may not hear the grant and grant-confirm information from other communication devices, it is possible that both communication devices E 1705 and A 1701 allocate a set of same slots or overlapping time slots to communication devices B 1702 and D 1704, respectively. In this case, interference may happen at both communication devices E 1705 and A 1701, even if the allocation are performed correctly. In other words, even if the communication devices A 1701 and B 1702 complete the three-way handshake first, it is possible for D 1704 and E 1705 to use the same slot for data transmission, especially when the persistence 7 is used.
With the example shown in FIG. 17, if can be seen that the communication device C 1703 is aware the both transmissions between communication devices A 1701 and B 1702 and between communication devices D 1704 and E 1705. According to one embodiment, a communication device not only checks the slot states of its own, but also the slot states of its neighbors because the transmission of a two-hop neighbors may cause interference. With the example shown in FIG. 17, if communication device A 1701 and B 1702 complete the resource allocation with persistence 7 and communication device C 1703 has also sent the updated slot states to its neighbors, then the communication devices E 1705 and D 1704 will not use these slots for transmission. The interference may be avoided then.
In other words, for example, after communication device B 1702 has sent a grant-confirm message confirming usage of a radio resource for data transmission to communication device A 1701, communication device C 1703 receives the message, i.e. DSCH message, from communication device B 1702 and marks the radio resource, i.e. a set of time slots allocated to communication devices B 1702 and A 1701, as not available. When communication device E 1705 receives a request of using the radio resource from communication device D 1704, communication device E checks the messages, i.e. DSCH messages, from all its neighbors, i.e. communication device C 1703, wherein the messages indicate the availability of the radio resource. If communication device E 1705 finds that the radio resource as requested by communication device D 1704 is marked as not available, communication device E 1705 will not send a grant of the usage the radio resource to communication device D 1704.
For another example, after communication device D 1704 sends a request of usage of a radio resource to communication device E 1705, communication device E 1705 sends a grant of usage of the radio resource to communication device D 1704. Communication device C 1703 also receives the grant from communication device E 1705 and marks the radio resource, i.e. a set of time slots allocated to communication devices D 1704 and E 1705, as not available.
In case at this time, communication device B 1702 has just received a grant of the radio resource from communication device A 1701, before communication device B 1702 sends out a grant-confirm message, communication device B 1702 will check the availability of the radio resource from all its neighbor communication devices, i.e. communication device C
1703. If the message, i.e. DSCH message, from communication device C 1703 indicates that the radio resource as granted by communication device A 1701 is not available to be used, communication device B 1702 will not send the grant-confirm message to communication device A 1701.
FIG. 18 shows an ad-hoc communication device 1800 according to one embodiment.
The ad-hoc communication device 1800 may comprise a receiver 1801 and an allocation circuit 1802.
In one embodiment, the receiver 1801 is configured to receive a message from another ad- hoc communication device of an ad hoc communication network in which the ad-hoc communication device is registered specifying whether the other communication device has determined a time slot as unavailable for a data transmission by the other communication device. In one embodiment, the allocation circuit 1802 is configured to allocate the time slot for data transmission only if the time slot has not been determined as unavailable for a data transmission by the other communication device.
As an illustration, referring to FIG. 17, communication device E 1705 may receive a request from communication device D requesting for usage of a time slot for data transmission from communication device D 1704 to communication device E 1705. Communication device E 1705 checks the DSCH messages from its neighbor communication devices, i.e. communication device C 1703, the DSCH message indicating whether the time slot of time slot is available to be used for data transmission. If all the neighbor communication devices of communication device E 1705 indicate that the time slot is available, the communication device E 1705 will grant the usage of the time slot to communication device D 1704. In case that communication device C 1703 indicates that the time slot is not available, communication device E 1705 will not grant the usage of the time slot to communication device D 1704. The communication device C 1703 may indicate the time slot as unavailable because communication device C 1703 receives a message from communication device B 1702 indicating that communication device B 1702 has sent a grant-confirm of the usage of the time slot for data transmission from communication device B 1702 to communication device A 1701.
In one embodiment, in other words, a communication device may receive a request for allocation of a radio resource, i.e. a set of time slots, for data transmission from a requesting communication device. The communication device detects the messages, i.e. DSCH messages, from its neighbors to see whether any of the neighbors indicates that the requested time slots are not available. The communication device will only grant the usage of the requested time slots to the requesting communication device if all the neighbor communication devices indicate that the time slots are available. Otherwise, if there is a neighbor communication device indicating that the time slots are not available to be used, the communication device will not grant the radio resource, i.e. the requested set of time slots to the requesting communication device.
In one embodiment, the message is included in a Medium Access Control layer message which is sent periodically by the other ad-hoc communication device. In one example, the message is sent with in a control sub-frame. In a particular example, the message is a DSCH control message.
In one embodiment, the time slot is determined as unavailable if the message indicates that the time slot is being used or to be used by the other communication device.
In one embodiment, the time slot is determined as unavailable if the message indicates that the time slot is being used by a third communication device.
In one embodiment, the ad-hoc communication device 1800 is registered in an ad-hoc communication network comprising a plurality of ad-hoc communication devices.
In one embodiment, the ad-hoc communication device 1800 is registered in a mesh communication network comprising a plurality of communication devices and at least one base station as a central control of the plurality of the communication devices, wherein each communication device communicates with the at least one base station directly or via at least one other communication device.
In one embodiment, a method is provided for a communication device to allocate a time slot for data transmission, the method comprising: receiving a message from another ad-hoc communication device of an ad hoc communication network in which the ad-hoc communication device is registered specifying whether the other communication device has determined a time slot as unavailable for a data transmission by the other communication device; and allocating the time slot for data transmission only if the time slot has not been determined as unavailable for a data transmission by the other communication device.
, FIG. 19 illustrates a scenario wherein interference may happen. For example, as shown in FIG. 19, communication devices A 1901, B 1902, C 1903, D 1904, E 1905, and F 1906 are all registered in an ad-hoc communication network or a mesh communication network, and they form a string topology. Circle lines 1907, 1908, 1909, 1910, 1911, and 1912 represent transmission ranges of communication devices A 1901, B 1902, C 1903, D 1904, E 1905, and F 1906, respectively. For example, communication devices B 1902 and D 1904 want to transmit data to the communication devices A 1901 and E 1905, respectively. The differences from previous examples in relation to FIG. 17 are that there is no common one-hop neighbor for the two pairs of communication devices, namely communication devices A 1901 and B 1902, and communication devices D 1904 and E 1905. Thus, if communication devices B 1902 and D 1904 are allocated with a same time slot for data transmission, communication device B 1902 can not know the allocation of the slot to communication device D 1904 from 5 the neighbor communication device C 1903. Similarly, communication device D 1904 can not know the allocation of time slot to communication device B 1902 from the neighbor communication device F 1906. Thus, the pair of communication devices A 1901 and B 1902 and the pair of communication devices D 1904 and E 1905 can not be aware of the transmission of each other through neighboring communication devices, hi such scenario, l o interference may not be resolved immediately.
In order to address this problem, according to one embodiment, a communication device may detect an interference by observing the packet receiving with the allocated bandwidth. In other words, the communication may comprise a receiver for detecting the interference by
15 monitoring on the data packet received over those allocated time slots. If it has not received any packet for a pre-determined time period with these slots, then the communication device may conclude either interference happens or the sender has given up the slots. For example, the pre-determined time period may set to be 2.5 seconds. After detection of an interference or the cancelling of the data transmission from the sender, the communication device may
20 send a cancellation message to notify the sender and all one-hop neighbors around it to cancel these allocated slots. In this context, one-hop neighbor devices may refer to neighbor communication devices located within the transmission range of the communication device. When the sender receives the cancellation messages, it may release the allocated bandwidth first and then hold on the data transmission. If there are still packets in the queue, the sender
25 may send bandwidth request again to allocate bandwidth. If the receiver cancels the bandwidth firstly, then the MAC layer may consider that it is interference instead of sender giving up the allocation.
hi one case, a receiver may first cancel the allocation of the bandwidth due to detection of 30 interference, and the sender may request for bandwidth again for continuation of the data transmission. It might happen that the receiver grants the sender with the cancelled time slots with interference again. In order to address this problem, in one embodiment, a variable is defined which may be named as grantOffset for each link, for example, for each pair of receiver and sender. The variable may be used to determine a new position of time slots within each frame to be used for data transmission after the cancellation of previous time slots due to interference. In one embodiment, when interference is detected, the receiver may change the value of grantOffset as follows: grantOffset=slotSart+slotRange+a ( 1 ) where slotStart denotes the start position of slots for the cancelled slot allocation within each frame, slotRange refers to the number of slots being allocated for the cancelled allocation within each frame, and α is a value to move the grantOffset further away from the interference part. With this method, the MAC layer may successfully avoid the problem of allocating those interference slots repeatedly to a communication device.
FIG. 20 further illustrates the calculation of the grantOffset according to equation (1).
As shown in FIG. 20, the receiver may re-allocate a set of time slots at the position of grantOffset 2004, which is away from the slotStart 2001 of the cancelled time slots by a time period distance of the sum of the slot range 2002 and the random time period value q 2003.
FIG. 21 shows an example of how a communication device may change the allocation of time slots after occurrence of interference, thus avoiding the re-allocated time slots to be same or overlapped with the time slots with interference again. In FIG. 21 , numbers 1 , 2, 3... n represent frame numbers. In this example, LAB 2101 represents the length of the set of time slots allocated to communication devices A 1901 and B 1902 (see FIG. 19) for data transmission. Ic1 2102 represents the starting point of LAB 2101 in a frame, and k2 2103 represents the ending position of LAB 2101 in a frame. In FIG. 21 (a), LDE 2104 represents the length of the set of time slots allocated to communication devices D 1904 and E 1905 for data transmission. Ic1' 2105 represents the starting position of LDE 2104 in a frame, and k2' 2106 represents the ending position of LQE 2104 in a frame. As can be seen from FIG. 21 (a), LAB 2101 overlaps with LDE 2104. Thus, interference may happen between the transmission between communication devices A 1901 and B 1902 and the transmission between communication devices D 1904 and E 1905. In this example, communication device D 1904 detects the interference, and then cancels the data transmission and releases the allocated set of time slots LDE 2104. Communication device D 1904 may then re-allocate a new set of time slots to communication device E 1905 for continuation of data transmission. FIG. 21 (b) illustrates the re-allocation of a new set of time slots to communication devices D 1904 and E 1905 for data transmission with a same length of time slots LDE 2104. kj" 2107 represents the starting point of newly allocated LDE 2004 in a frame, and k2" 2108 represents the ending point of the newly allocated LDE 2104 in a frame.
As can be seen from FIG. 21 (b), the new set of time slots for communication devices D 1904 and E 1905 has been shifted so that it does not overlap with LAB 2101. Thus, interference is avoided. In this example, the grantOffset, namely the starting point Ic1" may be expressed, according to equation (1), as: wherein α may be a random time period value to move the Ic1" further away from the interference part.
With the above allocation method, most interference in a network may be avoided.
FIG. 22 illustrates a scheduling circuit 2200 of a communication device according to one embodiment.
In one embodiment, the scheduling circuit may comprise a detecting circuit 2201, a cancelling circuit 2202, a determining circuit 2203, and an allocating circuit 2204.
In one embodiment, the detecting circuit 2201 may be configured to detect whether interference has occurred in a data transmission between the communication device and another communication device for which a set of time slots comprising at least a time slot has been used that is allocated to the communication device, wherein the set of time slots is part of a time slot sequence that is repeated periodically. As an illustration, referring to FIGs. 19 , and 21, communication device D 1904 or E 1905 may detect interference in a data transmission between communication devices D 1904 and E 1905 using the set of time slots starting from k^ and ending at k2'. The set of time slots is within a frame which may comprise a plurality of time slots, i.e. 256 time slots.
In one embodiment, the cancelling circuit 2202 is configured to cancel the allocation of the set of time slots to the communication device if it has been detected that interference has occurred in the data transmission. As an illustration, referring to FIGs. 19 and 21, communication device D 1904 may cancel the allocation of the set of time slots starting from Ic1 ' and ending at k2' after communication device D 1904 detects interference has occurred.
In one embodiment, the determining circuit 2203 is configured to determine another set of time slots comprising at least one time slot of the time slot sequence to be allocated to the communication device, wherein a relative position of the other set of time slots to the set of time slots in the sequence of time slots is determined based on a pre-determined parameter, and the other set of time slots is determined such that it has the determined relative position to the set of time slots. As an illustration, referring to FIGs. 19 and 21, communication device D 1904 may then determine a new set of time slots to be allocated to communication device E 1905, wherein the new set of time slots starts from Ic1" and ends at k2".
In one embodiment, the allocating circuit 2204 is configured to allocate the other set of time slots to the communication device for a further data transmission. As an illustration, referring to FIGs. 19 and 21 , the new set of time slots may be determined based on a pre-determined parameter, such that the new set of time slots which starts from Ic1" and ends at k2" has a relative position to the cancelled time slots which starts from ki' and ends at k2'.
In one embodiment, in other words, a communication device may detect whether interference has happened within the allocated time slots for data transmission. The communication device may cancel the allocation of the set of time slots in case interference is detected. The communication device may cancel the allocation by sending a canceling message. The communication device may then determine another set of time slots based on a predetermined parameter, such that the other set of time slots shifts from the position of the cancelled set of time slots and has no overlap with the cancelled set of time slots. For example, the pre-determined parameter may be sum of the length of the cancelled time slots. The communication device may then allocate the newly determined set of time slots for data transmission.
In one embodiment, the pre-determined parameter is the length of the set of time slots. This embodiment is illustrated in FIG. 20 and equation (2). The slotRange 2002 as shown ih FIG. 20 represents the length of the set of time slots. In this context, the length of the set of time slot may refer to the number of slots in the set of time slots. In one embodiment, the relative position of the other set of time slots is away from the set of time slots by a distance of the sum of the pre-determined parameter and a random time length value. This embodiment is illustrated in FIG. 20 and equation (2). The α 2003 in FIG. 20 may be a random time period length value. In one embodiment, α 2003 in FIG. 20 may be a non- random but adjustable period length value.
In one embodiment, the communication device is registered in an ad-hoc communication network comprising a plurality of ad-hoc communication devices.
In one embodiment, the communication device is registered in a mesh communication network comprising a plurality of communication devices and at least one base station as a central control of the plurality of communication devices, wherein each communication device communicates with the at least one base station directly or via at least one other communication device.
In one embodiment, the time slot sequence comprises a control time slot sequence comprising a plurality of control time slots and a data time slot sequence comprising a plurality of data time slots. As an illustration, the time slot sequence may be a frame comprising a plurality of time slots. According to the structure of a frame, a frame comprises a control sub-frame and a data sub-frame. The control sub-frame comprises a plurality of control time slots and a data sub-frame comprises a plurality of data time slots.
In one embodiment, part of data time slot sequence is allocated to a communication device for data transmission.
In one embodiment, the allocating circuit 2204 is further configured to specify the starting time slot of the other set of time slots in the time sequence. As an illustration, referring to FIGs. 19 and 21, communication device D 1904 may specify the starting slot, namely position k^' in a frame.
In one embodiment, the allocating circuit 2204 is further configured to specify the number of time slots comprised in the other set of time slots. As an illustration, referring to FIGs. 19 and 21, communication device D 1904 may specify the length of the newly allocated set of time slots, namely LDE- hi this example, LDE is same as the length of the cancelled set of time slots. However, the length of the re-allocated set of time slots may also be different from the set of cancelled set of time slots.
In one embodiment, the allocating circuit 2204 is further configured to specify the number of repetitions of the time slot sequence for which the other set of time slots is allocated to the communication device. For example, referring to FIG. 19, communication device D 1904 may further specify the persistence of the newly allocated time slots.
In one embodiment, the allocating circuit 2204 is further configured to specify the number of repetitions of the time slot sequence after which the other set of time slot starts to be allocated to the communication device relative to a beginning repetition of the time slot sequence. As an illustration, referring to FIGs. 19 and 21, after communication device D 1904 cancels the allocation of set of time slots starting from Ic1', communication device D 1904 may further specify starting frame number that the new set of time slots starting from Ic1" should be allocated.
In one embodiment, a method is provided for allocating a set of time slots comprising at least one time slot to a communication device, the method comprising: detecting whether interference has occurred in a data transmission between the communication device and another communication device for which a set of time slots comprising at least a time slot has been used that is allocated to the communication device, wherein the set of time slots is part of a time slot sequence that is repeated periodically; cancelling the allocation of the set of time slots to the communication device if it has been detected that interference has occurred in the data transmission; determining another set of time slots comprising at least one time slot of the time slot sequence to be allocated to the communication device, wherein a relative position of the other set of time slots to the set of time slots in the sequence of time slots is , determined based on a pre-determined parameter, and the other set of time slots is determined such that it has the determined relative position to the set of time slots; and allocating the other set of time slots to the communication device for a further data transmission. Handling the loss of DSCH messages
DSCH messages can be lost due to the channel impairment or interference. When these messages are lost, they may cause the scheduling information to be inconsistent among the neighboring communication devices. This problem is addressed in the following.
Loss of DSCH messages with Grant and Grant-Confirm information
If a given communication device misses the messages with grant or grant-confirm from its neighbors, it may cause collision due to the incomplete of the information at a given communication device.
FIG. 23 illustrates the scenario that collision may happen due to loss of DSCH messages. For example, as shown in FIG. 23, communication devices A 2301, B 2302, C 2303, and D 2304, are all registered in an ad-hoc communication network or a mesh communication network, and they form a string topology. Circle lines 2304, 2305, 2306, 2307, and 2308 represent transmission ranges of communication devices A 2301, B 2302, C 2303, and D 2304, respectively. For example, communication device A 2301 wishes to transmit data to communication device B 2302, and communication device D 2304 wishes to transmit data to communication device C 2303. In one case, communication device B 2302 may grant a radio resource, i.e. a set of time slots, to communication device A 2301. The communication device B 2302 may send the grant with a DSCH message. In this case, if communication device C 2303 fails to receive the grant from communication device B, communication device C 2303 may then grant a same or overlapping time slots to communication device D 2304. Thus, interference may happen.
The above described collision may be avoided if there is a communication device E that is one-hop neighbor for both communication devices B 2302 and C 2303, namely that
- communication device E is within the common transmission range of both communication devices B 2302 and C 2303. In such case, the communication device C 2303 can be aware of the transmission from communication device A 2301 to B 2302 given that communication device C 2303 receives a DSCH message from communication device E. In another case, if there is no such communication device E, one communication device of A 2301 , B 2302, C 2303, and D 2304 may detect the interference during data transmission, and take actions to cancel the allocated time slots. Re-allocation of a new set of time slots may be according to the method described earlier in relation to FIGs. 19-22.
Losses of DSCH messages with Bandwidth Canceling Information If a communication device misses the bandwidth canceling message from its neighbor, as the slot state at the respective position is still in unavailable state, other communication devices cannot use the slot for transmission, hi order to address this problem, in one embodiment, a communication device may correct its bandwidth allocation information from the availability information element sent from the owners of the allocation, hi this context, the owners may be the transmitter and/or the receiver. If the states of the allocated slots have changed from unavailable to available in the DSCH message from the owners, then the communication device should also clear the relative bandwidth allocation information from its table so that it can be used in the future slot allocation. As an illustration, referring to FIG. 17, communication device D 1704 transmits data to communication device E 1705. Communication device E 1705 may cancel the allocation of the time slots, and communication device C 1703 may miss the cancelling message from communication device E 1705. However, communication device D, which is also an owner of the allocation, also cancels the allocation of the bandwidth, and communication device C 1703 may detect the change of the status of the allocated time slots from communication device D 1704. Then communication device C 1703 may update the status of the previous allocated slots from unavailable to available.
Mobility Support
The IEEE 802.16d mesh MAC protocol assumes that the network is a static multi-hop wireless network. However, in simulation of the Maritime mesh networks, the communication devices may be the ships and they can move in the shipping lane. So the mobility need to be addressed. Two problems can be caused by the mobility. One is the interference and the other is the link breakage.
Interference may be caused by the communication devices with crossed bandwidth allocation moving towards each other. For example, at time t, communication device A is assigned with a slot x for data transmission to B, and communication device C is also assigned with the same slot JC by communication device D for data transmission. As these two pairs of communication devices may be rather far away, they do not interfere each other. If the allocation is with persistence 7, the communication devices may use the slots for a long time. Assuming after a while, communication devices C and D moves to a nearby place to communication devices A and B, the interference may happen when they are close enough. 5 When interference happens, one of the two parties may give up the allocation of the bandwidth, and re-allocate a new bandwidth may be according to methods by either checking the slot state of neighboring communication devices as described earlier in relation to FIGs. 17 and 18 or moving the grant offset to a different position as described in relation to FIGs. 19-22. 0
Link breakage may be caused by the mobility. For example, a receiver may not receive any messages from the sender including the control messages, after the distance between the receiver and the sender becomes long enough. In one embodiment, each communication device may maintain a neighbor list at the MAC layer, and when a communication device can5 not hear from its one-hop neighbor exceeds pre-determined time period threshold, the neighbor is downgraded to a two-hop neighbor and a link breakage is reported to upper layer. The pre-determined timing threshold for link breakage detection may be set to be 5 seconds. In such cases, the routing layer may stop using this link for data forwarding. In this context, one-hop neighbor refers to a neighbor communication device that is located within the o transmission range of the communication device, and can transmit or receive data with the communication device directly without a relaying communication device in between. Two- hop neighbor may refer to a neighbor communication device that is located outside the transmission range of the communication device, and need to communicate with the communication device with a one-hop neighbor for relaying data. 5
Traffic Load Adaptivity
. The traffic load at the MAC may vary either due to the variation of traffic itself or due to the change of route in the network. In one embodiment, a communication device may readjust its allocated bandwidth based on traffic load observed at the MAC layer. In one embodiment,0 two threshold values are used in controlling the allocated bandwidth over a link.
It is known that the IEEE 802.16d MAC protocol supports different persistence values in bandwidth allocation. The effectiveness of allocation varies from one frame to many frames until a canceling command is issued. In one embodiment, adjustment of utilization of the bandwidth is designed mainly for time slots allocated with the highest persistence, namely persistence 7. For persistence one, the allocated slots are used only once. Thus, it is not necessary to adjust the allocation.
Statistics of utilization
In one embodiment, the utilization of allocated slots may be calculated periodically by a sender. The time period duration may be denoted as τ and the frame duration may be denoted as Tf . A(IJ represents a specific data transmission over link /,. n represents the number of slots allocated to it in each frame. If MA is the number of slots used during the current period τ , then the utilization is calculated as follows:
M11
U(A(I1)) =
(3)
Adjustment hi one embodiment, to make the adjustment smooth, two threshold values may be defined, THu and THi. They are the upper and lower bound for the utilization.
hi one embodiment, if U(A(I1 )) < TH L ? a communication device may consider to release the bandwidth until the allocation becomes irreducible. In this context, the term "irreducible" refers to the situation that if the current allocation is cancelled, the communication device has to apply for the bandwidth again on the same link.
When the utilization of all the allocations on the same link is greater than THn, then the communication device may apply for new bandwidth to avoid the buffer being overflowed. The application for new bandwidth may be performed gradually but not bursty. In other words, when a new application of additional bandwidth, i.e. time slots, is made and get granted, the communication device will observe the utilization for a while. If all of them are still above threshold THU, then the communication device may apply for the bandwidth further until either there is an allocation on the link with utilization dropped below the THL or there are no bandwidth available for application. FIG. 24 illustrates a communication device 2400 according to one embodiment.
In one embodiment, the communication device 2400 comprises a determining circuit 2401, a comparing circuit 2402, and a controller 2403.
In one embodiment, the determining circuit 2401 is configured to determine the degree of utilization of radio resources allocated to the communication device for data transmissions carried out by the communication device. For example, the radio resources allocated to the communication device may be a set of time slots with a persistence code of 7.
In one embodiment, the comparing circuit 2402 is configured to compare the degree of utilization with a pre-determined threshold. For example, the pre-determined threshold may be used to determine whether the bandwidth should be released or whether further bandwidth should be applied for.
In one embodiment, the controller 2403 is configured to initiate the allocation of additional radio resources if the degree of utilization is higher than the pre-determined threshold or configured to initiate the release of at least some of the radio resources if the degree of utilization is lower than the pre-determined threshold. For example, the communication device may request for additional time slots within each frame when the utilization is higher that the pre-determined threshold. For another example, the communication device may release part of the time slots within each frame if the communication detects that the utilization is lower than the pre-determined threshold.
In one embodiment, in other words, during a period of data transmission, a communication device determines the utilization of the allocated radio resources, and compares the utilization , with a pre-determined threshold. If the communication device detects that the utilization is above the pre-determined threshold, the communication device will apply for further radio resources, i.e. additional time slots within each frame to be allocated for data transmission. If the communication device detects that the utilization of the radio resources is below the predetermined threshold, the communication device will then release at least part of the radio resources for data transmission. In one embodiment, the radio resources comprise a plurality of time slots of a time slot sequence that is repeated periodically. For example, the time slot sequence is a frame.
In one embodiment, the radio resources are a range of frequencies, a frequency band, or a plurality of frequency bands. In one embodiment, the radio resources are a combination of time slots or a time slot sequence that is repeated periodically or a combination of frequencies.
In one embodiment, the comparing circuit 2402 is configured to compare the degree of utilization with a higher pre-determined threshold and a lower pre-determined threshold. For example, the higher pre-determined threshold is denoted as THu, and the lower predetermined threshold is denoted as THL, wherein THu > THL.
In one embodiment, the controller 2403 is configured to initiate the allocation of additional radio resources if the degree of utilization is higher than the higher pre-determined threshold or configured to initiate the release of at least some of the radio resources if the degree of utilization is lower than the lower pre-determined threshold.
In one embodiment, degree of utilization of the radio resources during period τ is calculated as
M U(A(I1)) = -^- X B
Tf wherein the periodicity of the slot sequence is Tf , A(lt) represents the data transmission, U(A(I1)) represents the degree of utilization of the allocated radio resources during period r ' of the data transmission, MA represents number of time slots used for data transmission during period r , and n represents number of time slots allocated in each time slot sequence for the communication device. For example, the time slot sequence may be a frame.
In one embodiment, the communication device 2400 is registered in an ad-hoc communication network comprising a plurality of ad-hoc communication devices. In one embodiment, the communication device 2400 is registered in a mesh communication network comprising a plurality of communication devices and at least one base station as a central control of the plurality of communication devices, wherein each communication device communicates with the at least one base station directly or via at least one other 5 communication device.
In one embodiment, a method is provided for adjusting the allocation of radio resources to a communication device for data transmissions carried out by the communication device, the method comprising: determining the degree of utilization of radio resources allocated to the l o communication device; comparing the degree of utilization with a pre-determined threshold; initiating the allocation of additional radio resources if the degree of utilization is higher than the pre-determined threshold or configured to initiate the release of at least some of the radio resources if the degree of utilization is lower than the pre-determined threshold.
15 Ownership of the Allocation
In one embodiment, for bandwidth allocated with persistence 7, the communication devices in the network may remember the ownerships of those that use the allocated bandwidth, hi this context, the term "ownership" may refer to both the transmitter and the receiver. In one embodiment, the ownership is indicated in a cancellation messages in order to avoid
20 occurrence of interference.
FIG. 25 illustrates a scenario wherein interference may be avoided with use of ownership. For example, as shown in FIG. 25, communication devices A 2501, B 2502, C 2503, D 2504, E , 2505, F 2506, and G 2507 are all registered in an ad-hoc communication network or a mesh 25 communication network. Circle lines 2508, 2509, 2510, 2511, 2512, 2513, and 2514 represent transmission ranges of communication devices A 2501, B 2502, C 2503, D 2504, E .2505, F 2506, and G 2507, respectively.
For example, as shown in FIG. 25 (a), communication devices A 2501 and D 2504 want to 30 send data to B 2502 and C 2503, respectively. Assuming that persistence 7 is used in the bandwidth allocation. The initial topology is shown in FIG. 25 (a). In one case, communication devices A 2501, B 2502, C 2503, and D 2504 are allocated slots at the same location in a frame. The communication device E 2505 knows the allocation according to communication device B's grant. As the two pairs of communication devices A 2501, B 2502, C 2503, and D 2504 are far apart, no interference happens.
Assuming that communication devices C 2503 and D 2504 move toward A 2501 and B 2502 as shown in FIG. 25 (b), eventually the transmissions interfere each other and communication device C 2503 may not be able to receive data from communication device D 2504. Communication device C 2503 may then cancel the interfered slots. If communication device E 2505 receives the cancellation message from communication device C 2503 and marks the states of slots as available, then communication devices F 2506 and G 2507 may use the same slot for transmission after the cancellation, hi this case, interference may happen between the transmission between communication devices A 2501 and B 2502 and the transmission between communication devices F 2506 and G 2507 as shown in FIG. 25 (b). In order to address this problem, in one embodiment, the ownership is remembered by the communication devices. For example, although communication device E 2505 receives a cancelling message from communication device C 2503, communication device E 2505 will not cancel the allocation which is marked to be allocation to communication device B 2502. Thus, communication devices F 2506 and G 2507 will know from the neighbor communication device E 2505 that the time slots are not available, and will not use it for transmission. This method prevents interference from happening in certain scenarios and thus improves the performance of the MAC.
FIG. 26 illustrates a communication device 2600 according to one embodiment.
In one embodiment, the communication device 2600 comprises a detector 2601, a cancelling circuit 2602, and a signaling circuit 2603.
hi one embodiment, the detector 2601 is configured to detect whether interference has occurred between a first data transmission between a first communication device and a second communication device and a second data transmission between a third communication device and a fourth communication device, wherein a radio resource allocated to the first communication device and allocated to the third communication device has been used for the first data transmission and the second data transmission. As an illustration, referring to FIG. 25 (b), communication device C 2503 may comprise a detector to detect whether interference has happened between a first transmission between communication devices C 2503 and D 2504 and a second data transmission between communication devices A 2501 and B 2502.
In one embodiment, the cancelling circuit 2602 is configured to cancel the allocation of the 5 radio resource to the first communication device if it has been detected that interference has occurred between the first data transmission and the second data transmission. As an illustration, referring to FIG. 25 (b) communication device C 2503 may cancel the allocation of the radio resource if communication device C 2503 detects that there is interference between the first transmission between communication devices C 2503 and D 2504 and the o second data transmission between communication devices A 2501 and B 2502.
In one embodiment, the signaling circuit 2603 is configured to signal that the allocation of the radio resource to the first communication device has been cancelled and that the radio resource remains to be allocated to the third communication device. As an illustration,5 communication device C 2503 may send a cancelling message indicating that communication device C 2503 has cancelled the allocated radio resource, i.e. a set of time slots, such that neighbor communication device will know that the allocation of the radio resource has been cancelled for communication device C 2503. For example, the cancelling message may be a DSCH message. In this example, neighbor communication devices may mark that the radio o resource is cancelled for communication device C 2503.
In one embodiment, in other words, a communication device (e.g. communication device C in Fig. 25b) detects whether interference has occurred using the currently allocated radio resource, i.e. a set of time slots. In case the communication detects that interference has5 occurred, the communication device generates a cancelling message indicating that the radio resource has been cancelled for the communication device. Neighbor communication devices . of communication device will know that the radio resource is no longer allocated to the communication device. Neighbor communication devices will set the radio resource to be available if no other communication device (e.g. communication device A in Fig. 25b)0 indicates that the other communication device is using the radio resource. In case that another communication device indicates that the radio resource is being used by the other communication device, neighbor communication devices will mark the radio resource as unavailable to be used for data transmission. In one embodiment, the signaling circuit 2603 is configured to signal the cancellation of the radio resource to the first communication device with a Medium Access Control layer message. For example, the message may be a DSCH message.
5 In one embodiment, the communication device 2600 is registered in an ad-hoc communication network comprising a plurality of ad-hoc communication devices.
In one embodiment, the communication device 2600 is registered in a mesh communication network comprising a plurality of communication devices and at least one base station as a l o central control of the plurality of communication devices, wherein each communication device communicates with the at least one base station directly or via at least one other communication device.
In one embodiment, a method is provided for adjusting allocation of a radio resource, the 15 method comprising: detecting whether interference has occurred between a first data transmission between a first communication device and a second communication device and a second data transmission between a third communication device and a fourth communication device, wherein the radio resource allocated to the first communication device and allocated to the third communication device has been used for the first data 20 transmission and the second data transmission; cancelling the allocation of the radio resource to the first communication device if it has been detected that interference has occurred between the first data transmission and the second data transmission; and signaling that the allocation of the radio resource to the first communication device has been cancelled and that the radio resource remains to be allocated to the third communication device.
25
Routing
■ The routing protocol used in a mesh network is critical for ensuring data packets that are delivered with a certain level of Quality of Service (QoS). Unlike the general Ad Hoc networks, the traffic in the mesh network is usually between the SS and BS instead of peer to
30 peer communication, namely communication among SSs.
In the following, various general classes of routing protocols for the Maritime mesh network are investigated. Three broad classes of routing protocols and accordingly the three best representations of these classes have been chosen to represent the entire spectrum of routing protocols for investigation. The three classes are proactive multi-path, reactive single path and reactive multi-path. The protocols selected to represent the three classes are Optimized Link State Routing (OLSR), Ad Hoc On Demand Distance Vector (AODV) and Ad Hoc On 5 Demand Multipath Distance Vector (AOMDV), respectively. In general, the performance of these three protocols are not satisfactory as they are designed without considering the TDMA features of the IEEE 802.16d MAC. To solve the problem, in one embodiment, new routing methods that take the basic of the IEEE 802.16d MAC into consideration are provided.
o Many routing protocols have been designed for the Mobile Multi-hop wireless network.
Among them, Ad Hoc On Demand Distance Vector (AODV) and Optimized Link State Routing (OLSR) are two schemes that have been widely used.
AODV is a reactive routing scheme and a route is only setup between the source and 5 destination when necessary. It uses a message flooding mechanism to find the destination and a uni-cast reply message, sent from destination to the source once the destination has been located. As a route may frequently break due to topology changes, there are route repair mechanisms built into the protocol to repair the routes at the point where the routes are broken to the destination or repaired from the source to the destination again. To reduce the o impact on delay and throughput due to broken routes, AODV has been enhanced with mechanisms to include multiple routes from source to destination so that when one path is broken, the source can use another route to quickly deliver the packets. One such protocol that includes this enhancement is Ad Hoc On Demand Multipath Distance Vector (AOMD V). 5 OLSR is a reactive routing scheme, whereby routes are actively maintained and a communication device has the benefit of finding the destination immediately without performing a route discovery phase. OLSR requires the communication devices to keep exchanging topology information among each communication devices in order to maintain a fresh routing table. Although this protocol tries to keep up-to-date routes, it incurs too many0 control overheads, thus causing the performance of the system to degrade. In fact, all these routing scheme mentioned above are not performing well as the IEEE 802.16d MAC does not support broadcast packets well. Generally speaking, the term "broadcast packets" may refer to data packets that are transmitted to all the communication devices in a mesh communication network. IEEE 802.16d MAC is restrictive as it has a certain fixed allocation for control slots. The limited control slots usually limit the amount of broadcast packets in protocols such as OLSR. As such, the OLSR protocol is unable to establish the accurate routing topology as fast as required.
5 Note that IEEE 802.16d does not define how to support the broadcast packets. Existing routing protocols have problems such as long delay in route discovery for reactive routing protocols such as AODV and AOMDV. One reason for this problem is that existing routing protocols depend heavily on broadcast message, which is not well supported in the IEEE 802.16 based mesh network. Another reason is due to long delay caused by the three-way o handshake mechanism. Further, failures of bandwidth request happen frequently when many communication devices want to broadcast at the same time.
Another problem of existing routing protocols is slow link breakage detection and route repair for proactive routing protocols such as OLSR. This problem is partly due to the fact5 that collision and failure in bandwidth allocation may happen when hello message interval is short. Another reason is that link breakage detection and route repair is long when interval for hello messages is long. A further reason is that there may be too many broadcast messages.
In one embodiment, a method is provided which utilizes dedicated control slots available in o the MAC layer for fast dissemination of routing information. In one embodiment, NCFG messages are used for dissemination of routing messages. Usage of NCFG messages is simple but powerful.
In one embodiment, a three way handshake mechanism may be used. For example, a 5 communication device sends bandwidth request to the sponsor communication device when it wants to send a broadcast packet. The sponsor communication device grants the bandwidth . for broadcast. In this context, the term "sponsor communication device" may refer to one of the communication devices in the broadcasting range of a node that agrees to participate in the three way handshake to help allocate the bandwidth for broadcast type packets. Three0 way handshake mechanism may not be able to avoid collision totally, but it works fine for most cases. With three way handshake mechanism, a communication device may only be able to get the bandwidth after several tens of milliseconds. However, for both AODV and OLSR, using of three way handshake mechanism slows down the route discovery and repair. In view of the observed poorer performance of the three protocols AODV, AOMDV and OLSR, new routing methods are provided that performs much better, i.e. in the Maritime Mesh Environment, using a TDMA like protocol such as IEEE 802.16d mesh.
The Routing Design In IEEE 802.16d mesh MAC, control messages are used within dedicated control slots and are frequently exchanged in the network. With the mesh election scheme, control messages that are transmitted in the air are designed to be collision free.
In one embodiment, due to the rapid nature of control messages, routing information is attached with the MAC layer control messages that are sent in the control sub-frame. In
802.16d Mesh MAC, the MAC layer uses two key control messages, the NCFG and DSCH messages. DSCH messages are transmitted more frequently compared to the NCFG message. However, the space available in DSCH is less as it needs to transmit the "availability" information of the data slots. In one embodiment, the route information (OSI layer 3) is attached in the NCFG messages (OSI layer 2). As background information, the OSI layer 3, namely the Network Layer, performs network routing functions. Routers operate at this layer sending data throughout the extended network and making the Internet possible. The OSI layer 2, namely the Data Link Layer, provides the functional and procedural means to transfer data between network entities and to detect and possibly correct errors that may occur in OSI layer 1, namely the Physical Layer. The frequency of NCFG message is variable. It depends on the MAC configuration parameters and the communication device density. The configuration parameters such as how frequent the NCFG control sub-frame should be sent affect the intervals. In one embodiment, the frequency that the NCFG control sub-frame is sent is set to be one for every 10 frames. Besides the configuration parameters, density of communication devices also affects the frequency because the transmission opportunities are determined by the mesh election. The mesh election procedure determines whether a local communication device is the winner for using a specific time slot among all the competing communication devices. Higher density means less number of transmission opportunities. For example, with the maritime network topology shown in FIG. 39, each communication device can send an NCFG for every 30 frames in average, or 300 milliseconds. It is fast enough for the propagation of routing messages.
The exporting of the routing layer information into the MAC layer control slots is a first key consideration of the routing methods and devices according to the present invention. The second key consideration of the routing methods and devices according to the present invention is the mechanisms that are designed to specially cater for efficient routing of traffic between the BS and SS in a mesh network. Aspects of the design are focused on single and multiple paths routing setup, maintenance of routes and repair of routes between SS and BS. Another key consideration is the loop free nature of the routing protocol. In the following, the schemes that are designed for packets routed from BS to SS and vice-versa, from SS to BS are described.
Packets routed from SS to BS
Firstly, a scenario of the routing setup from SS to BS is considered. In one embodiment, the NCFG message from BS is used to carry routing information. This NCFG message is then flooded towards the SSs that would rely on this BS for access to the Internet. The NCFG is designed to carry routing information that includes a sequence number (4 bytes), hop count (1 byte) and other possible routing metric. For example, other routing metric may be link quality, end-to-end bandwidth availability, reliability, etc. In this context, one-hop may refer to a step of data transmission from one communication device to the next on the path of data transmission in a communication network. The term "hop count" may be a number being associated with the number of communication devices between one source communication device to a destination communication device along the path of data transmission. If there are multiple BSs within a region, a BS identification (1 byte) may also be included as a field in the NCFG to help SSs distinguish the BSs.
A. Loop Free design consideration There are several matrices that can be used to ensure loop free properties. In one embodiment, sequence number is used to ensure loop-free properties for the routing protocol. A sequence number may be used to indicate the sequence of the NCFG message. For example, a NCFG message with a larger sequence number may indicate that the NCFG message is newer. Sequence numbers have been widely used in other routing protocols used for Ad-Hoc networks, such as in AODV, AOMDV and DSDV. In the original design of IEEE 802.16d mesh MAC protocol, the NCFG messages are broadcasted and collected by all communication devices to help maintain neighborhood information. This neighborhood information intrinsically maintains the two-hop topology information in relation to a communication device. Information related to states more than two-hops away are not propagated in the NCFG broadcast message. In this context, the term "two-hop" may refer to a range relative to a communication device in which a neighbor communication device can not directly transmit data to the communication device but can transmit data to the communication device with one relaying communication device in between.
According to the AODV or AOMDV, the route is updated whenever the sequence number is larger than the current ones and old route information is given up. The update in this manner happens even if the messages are sent from communication devices that are not the current next hop. Such a method has a disadvantage in that it may cause a communication device to frequently change its next hop and further affect the performance in data forwarding because a stable routing structure is critical for the TDMA-based MAC. hi this context, the term "current next hop" may refer to a neighbor communication device in the broadcasting range of a communication device, which is currently selected as the current next hop communication device to help route the packets between the communication device and a destination communication device, i.e. a base station.
In one embodiment, NCFG messages are used for routing. In one embodiment, the sequence number can only be increased by the base station (BS) and is incremented with each new NCFG message sent out by BS.
In one embodiment, the special fields for routing in the NCFG message may be propagated as far as the furthest communication device associated with a BS. When a communication device other than the BS receives NCFG messages from its neighbors, and it has not identified its current next hop to BS, it may choose a neighbor as next hop immediately if the link to the next hop is eligible for routing. When a communication device other than the BS receives NCFG messages from its neighbors, and a current next hop to BS has been already chosen by this communication device, it updates its sequence number only when it receives a larger sequence number from its current next hop.
This method of updating routing information is similar as the one proposed in the DSDV. hi DSDV [6], a communication device updates its sequence number only if it receives a larger one from its parent communication device. In one embodiment, only the base station may update the sequence number. In this context, the term "parent communication device" may refer to one of the neighbor communication devices in the radio range of a communication device that can be chosen as the next hop communication device to route data towards the destination, i.e. a base station. In this context, the term "parent communication device may be used interchangeably with the term "next hop".
B. Path Selection
In one Maritime mesh network scenario, the communication devices, i.e. ships, are mobile and the performance of the TDMA network is rather sensitive to the stability of the routing because the change in route may lead to renegotiation of the bandwidth. In one embodiment, when routes are chosen, both routing cost and stability are considered, hi the implementation, the routing cost may be represented by the hop count. In one scenario, the use of single path routing may be easily affected by the topology changes. In one embodiment, routing methods that allow each communication device to maintain multiple routing paths are provided.
hi one embodiment, several ways of screening for potential links are provided which are more stable compared with prior art. In this context, the term "link" may refer to a potential next hop communication device in the communication network as a backup in case the current link to the current next hop communication device is broken. In one embodiment, the Received Signal Strength (RSS) of packets transmitted along the link in a single or return direction is used as a criteria for screening for potential links. Although the correlation between distance and RSS may be weak, it can still be used to infer distances of link in some favorable conditions. Higher signal strength usually indicates a shorter link and thus available for a longer time. In one embodiment, two thresholds may be defined, namely RSSu and RSSL, serving as upper and lower bound to screen for useful links, hi one embodiment, signal-to-noise ratio may be used to represent the Received Signal Strength (RSS). hi one embodiment, only if the RSS values of link is above RSSu, it is eligible for being chosen for routing, hi one embodiment, once a link is chosen for routing, it is used unless its RSS drops below the RSSL or a better path has been found. The two thresholds may prevent a link from being given up shortly after it is chosen for routing. When the RSS of the link to the current next hop is lower than RSSL, a communication device gives up the current next hop and chooses a new link for data forwarding.
FIG. 27 illustrates a process for path selection according to one embodiment. Assuming that communication devices A and B are all registered in a mesh network which comprises a plurality of communication devices and one base station. Firstly, in process 2701, the communication device A receives a NCFG message from another communication device B. In process 2702, the device A determines whether it has already had a route entry in its route table for recording neighbor communication devices that may be used as a next hop communication device. If no, the communication device A proceeds to process 2703 and determines whether the received NCFG message has the signal-to-noise ratio (SNR) being higher than a upper threshold THu- IF no, the communication device ignores this NCFG message from communication device B. IF yes, the communication device A proceeds to process 2704 in which the communication device A inserts a new route entry into the route table. The communication device A then proceeds to process 2705 in which device A creates a new route element in the route entry indicating that device B may be considered as a next hop device in the routing between communication device A and the base station.
In process 2702, if device A determines that it has already had route entry in the route table, communication device A proceeds to process 2706 and determines whether the route entry comprises a route element for device B. If no, communication device A proceeds to process 2707 and determines whether the received NCGF message has a SNR being higher than the upper threshold THU. If no, device A proceeds to process 2712. If yes, device A proceeds to process 2708 in which the device A creates a route element for communication device B indicating that device B may be considered as a next hop device for data transmission in the route comprising device A and the base station.
In process 2706, if device A determines that it has already had a route element in the route table for device B, device A then proceeds to process 2709 in which it determines whether the received NCGF message has a SNR being lower than a lower threshold THL. If no, device A proceeds to process 2710 in which device A updates the route element for device B by remaining the route element for device B, and then proceeds to process 2712. If yes, device A proceeds to process 2711 in which device A removes the route element for device B, and then proceeds to process 2712.
In process 2712, device A determines whether the route comprising device A and the base station is in an activated state. In this context, the activated state refers to a state that data or packets can be transmitted along the route comprising device A and the base station. If no, device A proceeds to process 2713 in which device A repairs the route. In this context, repair of the route may refer to that communication device A selects a new next hop communication device for data transmission between the base station and communication device A. If yes, device A proceeds to process 21 rl 4 in which device A determines whether device B is the 5 current next hop of device A in the data transmission route between device A and the base station. If no, device A proceeds to process 2715 in which device A determines whether the three criteria are simultaneously satisfied: SNR > THU and HC < currHC and SN > currSN. In this context, SNR refers to the SNR of the NCGF message from device B. THu refers to the higher threshold. HC refers to hop count being associated with the number of communication l o devices needed for relaying data between device A and the base station if device A selects device B as its next hop to the base station. currHC refers to the hop count being associated with the number of communication devices in the current data transmission route between device A and the base station. SN refers to the sequence number in the NCFG message from device B indicating the sequence of the NCFG and indicating whether the NCFG message is
15 a newer one. currSN refers to the sequence number of the current next hop that is stored in the routing table. If the three criteria are not satisfied at the same time, device A ends the process. If the three criteria are satisfied at the same time, device A proceeds to process 2716 in which device A changes device B to be the next hop. Then device A ends the process.
20 In process 2714, if device A determines that device B is the next hop, device A proceeds to process 2717 in which device A determines whether the received NCFG message from device B has the SNR being lower than the lower threshold THL. If no, device A proceeds to process 2718 in which device A updates the routing information. That is, device A updates the sequence number comprised in the NCFG from device B into the routing table. Then
25 device A ends the process. If yes, device A proceeds to process 2719 in which device A repairs the route by removing device B as a next hop and identifying a new next hop.
FIG. 28 illustrates a particular example of route selection.
30 As can be seen from FIG. 28, a mesh communication network is provided which comprises a base station (BS) 2800, and communication devices A-F (2801-2806). Assuming that ' communication device A 2801 currently is using a data transmission route to the BS 2800 via communication devices C 2803, D 2804, and F 2806. Thus, the current next hop of communication device A 2801 is communication device C 2803. The current hop count of the route is 4, as communication device A 2801 needs three communication devices, namely C 2803, D 2804, and F 2806, to relay data packets to the BS 2800.
For example, communication device A 2801 may now receive a NCFG message from communication device B 2802. Upon the reception of this message, communication device A 2801 may detect whether communication device A 2801 has already had a route entry for recording neighbor communication devices that may be used as a next hop for data transmission to the base station. If yes, communication device A 2801 may then detect whether communication device B 2802 is already recorded in the route entry as a route element. If yes, communication device A 2801 may then detect whether the SNR of the received NCFG message from device B 2802 is lower that a lower threshold THL. If the SNR is lower than THL, communication device A 2801 removes communication device B 2802 from the route entry. If the SNR is higher than THL, communication device A 2801 proceeds to determine whether the route for data transmission to the BS 2800 is in an activated state. If yes, communication device A proceeds to determine whether communication device B 2802 is the current next hop of communication device A 2801. Communication device A 2801 may then note from its route table that the current next hop is communication device C 2803 but not communication device B 2802. Communication device A 2801 may then decide whether communication device B 2802 fulfills the following three criteria: SNR > THu, and HC < currHC, and SN > currSN at the same time. In this context, THu represents a higher predetermined threshold. HC represents the hop count between communication device A 2801 and the base station (BS) 2800 if communication device B 2802 is selected to be the next hop of communication device A 2801, namely 3 in this example. currHC represents the current hop count wherein communication device C 2803 is used as a next hop, namely 4 in this example. SN represents the sequence number included in the NCFG message from communication device B 2802. currSN represents the sequence number included in the NCFG message from the current next hop, namely communication device C 2803. It can be seen that HC is less than currHC. In case that the other two criteria are also fulfilled, namely SNR > THu, and SN > currSN, the communication device A 2801 may remove communication device C 2803 as a next hop but set communication device B 2802 as a next hop for relaying data packets to the BS 2800.
FIG. 29 illustrates an example of a route table 2900 according to one embodiment. In one embodiment, the route table 2900 may keep a record of destinations as shown in column 2901. The destination refers the destination communication device for data transmission. For example, one destination may be the base station. In one embodiment, the route table 2900 may comprise, for each destination, a record of respective next hop as shown 5 in column 2902. In one embodiment, the route table 2900 may comprise, for each destination, a record of respective hop count as shown in column 2903. hi one embodiment, the route table 2900 may comprise, for each destination, a record of respective sequence number included in the message from the next hop as shown in column 2904. hi one embodiment, the route table 2900 may comprise a record of route element for each destination, the route l o element comprising a list of neighbor communication devices that may be used as a next hop.
In particular, the routing table may comprise a route element for the destination which is a base station as shown in sub-table 2905. In the route element table 2905, for each potential next hop as shown in column 2906, the table 2905 may also keep a record of the respective
15 hop count as shown in column 2906, wherein the hop count represents the hop count if the respective potential next hop is used as a next hop for the data transmission to the base station. In one embodiment, route element table 2905 may also, for each potential next hop, keep a record of the respective SNR of the messages from the respective potential next hop as shown in column 2908. In one embodiment, route element table 2905 may also, for each
20 potential next hop, keep a record of the respective sequence number included in the messages from the respective potential next hop as shown in column 2909.
In one embodiment, in other words, a communication device may keep a route table recording routing information for data transmission in the communication network in which
25 the communication device is registered. In one embodiment, the communication device may include the route table into the routing message broadcasting to other communication , devices, hi one embodiment, the communication network is a mesh communication network which comprises a plurality of communication devices and at least one base station as a central control of the plurality of communication devices, hi one embodiment, the routing
30 table may comprise a list of destinations for data transmission from the communication device. For example, the destination may be a base station or another communication device in the mesh communication network. In one embodiment, the routing table may comprise a next hop information indicating the nearest communication device in a route that is currently used for data transmission between the communication device and the base station, hi one embodiment, the routing table may comprise a hop count being associated with the number of communication devices in the route that is currently used for data transmission between the communication device and the base station, hi one embodiment, the routing table may comprise a record of the sequence number indicating the sequence of the routing message 5 received from the current next hop. In one embodiment, a larger sequence number indicates that the routing message is newer.
In one embodiment, in order to make the route more robust to the topology changes, the routing table may also keep a record of several candidate links for next hops, hi other words, o the communication device may keep a record of a neighbor list recording one or more neighbor communication devices that may be used as a next hop to the communication device in the route between the communication device and the base station, hi one embodiment, the neighbor list is included in a routing table as route element for each destination, i.e. base station, hi one embodiment, the communication devices listed in the neighbor list are all with5 RSS values greater than RSSu- hi one embodiment, for each communication device A in the neighbor list, the routing table may also keep a record of hop count indicating the number of communication devices between the communication device and the base station if the communication device A listed in the neighbor list is used as a next hop of the communication device. In one embodiment, the routing table may also keep a record of the o SNR of the NCFG messages from the communication device A listed in the neighbor list, hi one embodiment, the routing table may also keep a record of sequence number included in the routing message from communication device A that is recorded in the neighbor list, hi one embodiment, the routing table is updated whenever routing messages are received from another communication device. In one embodiment, the routing table may also keep a record5 of other routing metrics. Examples could be reliability of link, bandwidth availability, etc.
C. Route Maintenance
Due to the topology changes, a better route may appear or an existing route may be broken at a later stage. In one embodiment, the routing layer monitors these events and perform the0 updating of better routes or repairing of broken links when necessary. In other words, in one embodiment, communication devices may use NCFG control layer messages to monitor and exchange routing information within the communication network.
Cl Identifying and switching to better routes When a better route appears, a communication device may switch to it immediately. This may not cause frequent route change in case that the change of topology is slow.
C.2 Handle the link breakages 5 In one embodiment, when a link that forms the chosen next hop in the route breaks, a communication device reviews its list of backup next hop links. Several criteria may be used. The first criteria is that the sequence number of these backups must be larger than the current sequence number observed from the old broken link. From the list of backup next hop that satisfy the sequence number criterion, the link with the least number of hop count is chosen. o Note that this criterion could be based on other metrics.
FIG. 30 illustrates a process of path repair according to one embodiment.
Process 3001 is the start of the path repair. For example, a communication device A is 5 registered in a mesh network which comprises a plurality of communication devices and a base station. Communication device A may find in process 3001 that the data transmission route using the current next hop is broken.
The communication device A then proceeds to process 3002 in which communication device0 A checks the list of route elements in its route table, wherein each route element corresponds to a respective neighbor communication device of communication device A that may be used as a next hop. Each route element may also comprise information of respective hop count, SNR, and sequence number as illustrated in the sub-table 2905 as shown in FIG. 29. In this context, RE is used to represent the route element in the list that is currently under the test of 5 whether the respective communication device fulfills the criterion to be set as a new next hop.
SN is used to represent the sequence number included in the messages, i.e. NCFG messages, . from the current next hop. HC is used to represent the current hop count for the data transmission route between the communication device A and the base station. 0 Communication device A then proceeds to process 3003 in which communication device A determines whether the list of route elements is empty. In other words, communication device A determines whether a route element (RE) exists in the list. If the list of route element is empty, communication device A proceeds to process 3010. Otherwise, communication device A proceeds to process 3004. In process 3004, communication device A determines whether one of the two criterion is satisfied. The first criterion is that the sequence number corresponding to the RE, which is denoted as RE->SN, is larger than the sequence number included in the message from current next hop (SN). The second criteria is that the sequence number corresponding to the RE, which is denoted as RE->SN, is equal to the sequence number included in the message from current next hop (SN), and the hop count corresponding to the RE, which is denoted as RE- >HC, is less than the hop count of the current next hop. In this context, the sequence number corresponding to RE refers to the sequence number included in the messages, i.e. NCFG messages, from the communication device recorded in the RE. The hop count corresponding to the RE refers to the hop count in the data transmission route between communication device A and the base station if the communication device recorded in RE is used as a next hop of communication device A. In case that one of the criterion is fulfilled, communication device A proceeds to process 3005. Otherwise, communication device A proceeds to process 3009.
In process 3005, communication device A determines whether it has already recorded a candidate route element (candidateRE) which corresponds to a communication device that satisfies the criterion to be a new next hop. If candidateRE already exists, communication device A proceeds to process 3007. Otherwise, communication device A proceeds to process 3006.
hi process 3007, communication device A determines whether the following two criterion are satisfied at the same time. The first criteria is that RE->HC is less than candidateRE->HC. The second criteria is that RE->SNR is larger than THu- In this context, candidateRE->HC refers to the hop count in the route between the communication device A and the base station if the communication device corresponding to the candidateRE is used as a next hop of the communication device A. RE->SNR may refer to the SNR of the message, i.e. NCFG message, from the communication device corresponding to RE. THu represents a upper threshold. If communication device A determines that the two criterion are satisfied at the same time, communication device A proceeds to process 3008. Otherwise, communication device A proceeds to process 3009. In process 3006, communication device A determines whether the following criteria is fulfilled: RE->SNR is larger than THu. If the criteria is fulfilled, communication device A proceeds to process 3008. Otherwise, communication device A proceeds to process 3009.
In process 3008, communication device A replaces the current candidateRE with the RE. hi other words, communication device A sets RE to be the current candidateRE which fulfills the criterion to be a new next hop. Then communication A proceeds to process 3009.
In process 3009, communication device A sets a next route element in the neighbor list to be RE. If there is no next route element, RE is set to be empty, namely NULL. Then communication device A proceeds to process 3003.
In process 3010, communication device A determines whether there is a candidate route element (candidateRE) being recorded. If yes, communication device A proceeds to process 3011. Otherwise, communication device A ends the process.
In process 3011, communication device A sets the candidate route element to be the current next hop. In other words, communication device A uses the respective communication device of the candidate route element as the new next hop of communication device A.
FIG. 31 illustrates a message generating circuit 3100 according to one embodiment.
In one embodiment, the message generating circuit 3100 is configured to generate a Medium Access Control layer message comprising routing information based on which a communication route to a communication device in a communication network in which the communication device is registered may be determined. For example, the Medium Access Control layer message may be a NCFG message. In one example, the routing information may comprise next hop information indicating the next hop to the base station, and other information as illustrated in the table 2900 in FIG. 29.
In one embodiment, in other words, a communication device may comprise a message generating circuit for generate a routing message. The routing message may comprise routing information which may be used to determine the route from the communication device to a destination, i.e. a base station. For example, the routing information may comprise a next hop information indicating a neighbor communication device that the communication device should transmit data to, such that the neighbor communication device may relay the data to the destination.
In one embodiment, the Medium Access Control layer message is a message of a plurality of Medium Access Control layer messages transmitted periodically.
hi one embodiment, the communication network is an ad-hoc communication network comprising a plurality of ad-hoc communication devices.
In one embodiment, the communication network is a mesh communication network comprising a plurality of communication devices and at least a base station as a central control of the plurality of communication devices, wherein each communication device communicates with the at least one base station directly or via one or more other communication devices.
In one embodiment, the communication route is a path in the communication network for data transmission comprising the communication device and the at least one base station.
In one embodiment, the routing information comprises a hop count number indicating the number of other communication devices in the route between the base station and the communication device. In other words, the hop count is associated with the number of communication devices in the route for data transmission between the communication device and the base station. For example, if there is no other communication device for data relaying between the communication device and the base station, then the hop count is considered to be one. hi another example, if there are two other communication devices in the route for data transmission between the communication device and the base station, the hop count is consider to be three.
hi one embodiment, the message generating circuit is in the at least one base station, and the message generating circuit is configured to include a sequence number in the Medium Access Control layer message to indicate the sequence of the Medium Access Control layer message by increasing the sequence number each time the Medium Access Control layer message is sent out. In other words, only the base station has the right to increase the sequence number included in the Medium Access Control layer message, i.e. NCFG message. Other communication devices in the mesh network can not increase the sequence number included in the Medium Access Control layer message.
In one embodiment, the message generating circuit 3100 is in a communication device other than a base station and the message generating circuit is configured to determine whether a received Medium Access Control layer message is newer than another received Medium Access Control layer message based on a detection of the sequence number included in the Medium Access Control layer message. In other words, as the base station may increase the sequence number included in the Medium Access Control layer message each time a new Medium Access Control layer message is generated, the other communication devices may determine whether the received Medium Access Control layer message is newer based on the sequence number included in the Medium Access Control layer message.
In one embodiment, the routing information further comprises a next hop information indicating the nearest communication device to the communication device in the route between the communication device and the at least one base station. An illustration of the next hop information may be seen from column 2902 in FIG. 29.
In one embodiment, the routing information further comprises a neighbor list recording one or more neighbor communication devices that may be used as a nearest communication device to the communication device in the route between the communication device and the at least one base station. An illustration of the neighbor list may be seen from the sub-table 2905 in FIG. 29.
In one embodiment, the message generating circuit 3100 is configured to use an upper , threshold of the signal strength of signals received from another communication device and a lower threshold of the signal strength of signals received from the other communication device as a criteria to determine whether or not the other communication device may be considered as a nearest neighbor device to the communication device for relaying data transmission in the route between the communication device and the at least one base station. For example, the upper threshold may be denoted as THu, and the lower threshold may be denoted as THL. Usage of the upper threshold THu and the lower threshold THL has been illustrated in the description of processes in relation to FIGs. 27 and 30. In one embodiment, if the signal strength of signals received from the other communication device is higher than the upper threshold and if the other communication device has not been recorded in the neighbor list, the other communication device is considered to satisfy the 5 criteria and is included in the neighbor list. This embodiment is illustrated in the process 2701-2702-2706-2707-2708 as shown in FIG. 27.
In one embodiment, if the other communication device has been recorded in the neighbor list, and if the signal strength of signals received from the other communication device is lower o than the lower threshold, the other communication device is not considered to satisfy the criteria and the message generating circuit is configured to remove the other communication device from the neighbor list. This embodiment is illustrated in the processes of 2701-2702- 2706-2709-2711 as shown in FIG. 27. 5 In one embodiment, if the signal strength of signals received from the next hop communication device is determined to be lower than the lower threshold, the message generating circuit is configured to remove the next hop communication device from the routing information. This embodiment is illustrated in process of 2714-2717-2719 as shown in FIG. 27. 0
In one embodiment, the message generating circuit is further configured to determine a new next hop communication device the received signal strength of which is higher than the upper threshold and whose sequence number included in the Medium Access Control layer message is larger than the current sequence number, and whose hop count number is smallest among 5 other communication devices, and further configured to include the new neighbor communication device in the routing information. The criterion of the selection of the next . hop is illustrated in the description earlier in relation to process 3015 as shown in FIG. 27.
In one embodiment, a method is provided for generating a message comprising generating a0 Medium Access Control layer message comprising routing information based on which a communication route to a communication device in a communication network in which the communication device is registered may be determined. Route From BS to SS
The route for data transmission from BS to SS is different from data transmission from SS to BS because data transmission from BS to SS is a one-to-many routing. The approach of 5 broadcasting BS information in NCFG message as described earlier is not scalable as the space required in the NCFG message is in the order of n, whereby n is the number of SSs in the sub-network served by a single BS. Preferably, all the communication devices can find an alternative way compared to the SS to BS routing method described earlier, hi one embodiment, a bitmap approach may be applied that efficiently encodes the logical routing o tree for the routes formed from SSs to BS in a compressed manner. This information may be then propagated in the reverse direction from SS to BS using the same NCFG message encoding described earlier. Although the encoding can incur some overheads if the size of the network increases, the proposed encoding methods are feasible for a small scale networks with several tenths of communication devices. 5
A. Path Selection
In one embodiment, the path selected from a communication device to BS (SS->BS) may be chosen as the path from BS to this communication device (BS->SS) to simplify the routing design. Choosing a symmetric path allows to provide similar Quality of Service (QoS) in 0 both directions. One main issue in the BS to SS route setup is how to efficiently let the BS know the next hop to SS. It is a one-to-many routing issue and is more complex than the many-to-one route setup such as routes from SS to BS. Using the well known routing protocols such as AODV, etc., each communication device will have to send out information to notify its current next hop to the BS. The intermediate communication devices will then5 help to forward this route information to BS. With such a method, the BS and those communication devices along the path know its next hops for forwarding data from BS to a . given SS.
As the space in the NCFG is limited, the size of control information that is carried for the0 purpose of setting up routes from BS to SSs is preferably reduced. Considering the network addressed by the present invention is a small scale setup, in one embodiment, a bitmap may be used to carry the routing topology information. In the bitmap, each communication device is assigned a unique bit in the bitmap and all the communication devices are assumed to know their assignment. In one embodiment, the routes can be setup from BS to SSs according to this bitmap. The routing methods and devices are described in more detail in the following.
B. The Bitmap FIG. 32 illustrates an example of bitmap. In this example, it is assumed that maximally N communication devices can be in a communication network at the same time, the size of bitmap is k bytes, wherein k = N/8. Each bit in the bitmap may correspond to a communication device. For example, if a communication device exists in the network, the respective bit in the bitmap maybe set to be 1.
In one embodiment, the IEEE 802.16d mesh MAC layer function maybe used for joining a network to help in the assignment of this unique bitmap ID. The details of this address assignment scheme are not described in this document.
FIG. 33 illustrates assignment of addresses to communication devices within a mesh communication network using bitmap. As can be seen, the mesh communication network comprises a base station (BS) 3300 and communication devices A 3301 to G 3307. The dotted lines in FIG. 33 illustrate the network connectivity and the labels beside the SS communication devices A 3301- G 3307 indicate the bitmap address assignment of the respective communication devices. The bitmap address assignment may be arbitrary. The address assignment scheme running on BS ensures a unique address assignment to each SS communication device. In one embodiment, there is no need to allocate the bitmap address for the BSs. In another embodiment, when there are multiple BSs in the network, the BS address may be included in the NCFG messages explicitly.
In this example, in the address of a communication device, each bit may be associated with a communication device in the network, and the bit being associated with the respective communication device is set to be a first pre-defined value, i.e. 1. Other bits may be set to be a second pre-defined value, i.e. 0. For example, referring to FIG. 33, communication device A 3301 has an address of 0000001. hi the address, each bit corresponds to a communication device in the network. The last bit corresponds to communication device A 3301 itself, and is set to be the first pre-defined value, namely 1. In this example, the first bit in the address corresponds to communication device F 3306, and is set to be the second pre-defined value, namely 0, in the address of communication device A 3301. FIG. 34 illustrates the encoding of the logical routing tree for the routes between BS and SSs. The mesh communication network in FIG. 34 corresponds to the network shown in FIG. 33, and same reference numbers to the communication devices A 3301- G 3307 are used.
As mentioned earlier, the bitmap information maybe carried in the NCFG message. In FIG. 34, the solid lines indicate the chosen routing paths for routes originating from SSs to BS at a given instance. Communication devices A 3301, B 3302 and C 3303 have chosen communication device D 3304 as their next hop forwarding communication device for routes destined to BS 3300. Because communication devices A 3301, B 3302 and C 3303 are one- hop away from communication device D 3304, communication devices A 3301, B 3302 and C 3303 are aware of communication device D 3304's bitmap address. Each of communication devices A 3301, B 3302 and C 3303 may then use an XOR operation on the their own address and the address of communication device D 3304, which is their next hop communication device. The result of the XOR operation is then used as routing information and broadcasted in the NCFG message, hi an alternative embodiment, each of communication devices A 3301, B 3302 and C 3303 may use an OR operation on the their own address and the address of communication device D 3304, which is their next hop communication device. The result of the OR operation is then used as routing information and broadcasted in the NCFG message.
As background information, the logical operation exclusive disjunction, also called exclusive or (symbolized XOR or EOR), is a type of logical disjunction on two operands that results in a value of true if and only if exactly one of the operands has a value of true. FIG. 35 (a) illustrates the XOR operation for X and Y. hi this example, number 1 may denote "true", and number 0 may denote "false". The logical operation disjunction (symbolized OR), is a type of logical disjunction on two operands that results in a value of true if at least one of the operands has a value of true. FIG. 35 (b) illustrates the OR operation for X and Y. In this example, number 1 may denote "true", and number "0" may denote "false".
In one example, communication device A 3301 selects communication device D 3304' as the next hop communication device. Communication device A 3301 then uses a XOR operation for the address of communication device A 3301, namely 0000001, and the address of communication device D 3304, namely 0100000. In one embodiment, the XOR operation is operated for each pair of bits that are associated with a same communication device in the network. For example, the first bits in the addresses of both communication device A 3301 and D 3302 are associated with communication device F 3306. The XOR operation is applied for the first bit of the address of communication device A 3301 and the first bit of the address of communication device D 3304. The result form a first flag in the routing information generated by communication device A 3301, wherein the flag is also associated with communication device F 3306 in the network.
Similarly, XOR operation is applied for each pair of bits in the addresses of communication devices A 3301 and D 3304, thus resulting in a set of flags each being associated with a respective communication device in the network. The final generated routing information by communication device A 3301 is 0100001 as shown in FIG. 34.
Similarly, in an alternative example, communication device A 3301 selects communication device D 3304 as the next hop communication device. Communication device A 3301 then uses an OR operation for the address of communication device A 3301 , namely 0000001 , and the address of communication device D 3304, namely 0100000. In one embodiment, the OR operation is operated for each pair of bits that are associated with a same communication device in the network. For example, the first bits in the addresses of both communication device A 3301 and D 3304 are associated with communication device F 3306. The OR operation is applied for the first bit of the address of communication device A 3301 and the first bit of the address of communication device D 3304. The result form a first flag in the routing information generated by communication device A 3301, wherein the flag is also associated with communication device F 3306 in the network.
Similarly, OR operation is applied for each pair of bits in the addresses of communication devices A 3301 and D 3304, thus resulting in a set of flags each being associated with a respective communication device in the network. The final generated routing information by communication device A 3301 is 0100001 as shown in FIG. 34.
When communication device D 3304 receives the NCFG message from communication devices A 3301, B 3302 and C 3303, respectively, communication device D 3304 decodes routing information and knows that communication devices A 3301, B 3302 and C 3303 have chosen communication device D 3304 as the next hop forwarding communication device. Note that communication device E 3305 might receive the NCFG message from communication device C 3303 as well. However, communication device E 3305 is not indicated as the next hop destination in the routing information. In this case, communication device E 3305 ignores the NCFG message from communication device C 3303 and the routing information from communication device C 3303.
As a further example, communication device D 3304, after receiving NCFG messages from communication devices A 3301, B 3302, and C 3303, knows that communication devices A 3301, B 3302, and C 3303 have selected communication device D 3304 as a next hop communication device. Further, communication device D 3304 knows that communication device F 3306 is the next hop communication device of communication device D 3304. Communication device D 3304 then performs a XOR operation for the routing information of communication devices A 3301, B 3302, C 3303, and the address of communication device F 3306. The XOR operation is performed for bits that are associated with a same communication device in the network, resulting in a flag in the routing information that is also associated with the respective communication device.
In one embodiment, in the process of generating routing information by a communication device, XOR operation is not performed for bits that are associated with the communication device itself. The flag that is associated with the communication device itself in the routing information may be set to be the first pre-defined value, i.e. 1. For example, for communication device D 3304, the generated routing information comprises a plurality of flags: 1100111. Each flag corresponds to a communication devices in the network. For example, the first flag ' 1 ' is set from the XOR operation for the first bits of the addresses of communication devices A 3301, B 3302, C 3303, D 3304, and F 3306. The same applies to other flags in the routing information generated by communication device D 3304, except for the flag that is associated with communication device D 3304. The flag that is associated with communication device D 3304, namely the second flag in the routing information, is set to be the first pre-defined value, namely 1.
In another example according to another embodiment, communication device D 3304J after receiving NCFG messages from communication devices A 3301, B 3302, and C 3303, knows that communication devices A 3301, B 3302, and C 3303 have selected communication device D 3304 as a next hop communication device. Further, communication device D 3304 knows that communication device F 3306 is the next hop communication device of communication device D 3304. Communication device D 3304 then performs an OR operation for the routing information of communication devices A 3301, B 3302, C 3303, and the address of communication device F 3306. The OR operation is performed for bits that are 5 associated with a same communication device in the network, resulting in a flag in the routing information that is also associated with the respective communication device. This process repeats itself for the entire tree, and at the end of the process, BS receives one or several bitmaps indicating the location of all communication devices in its subnet. Because the bitmaps are aggregated along the tree branches, the forwarding communication devices o along the way are able to indicate if a particular communication device is located under at a certain branch. Using this technique, the BS is able to route packets directly to an SS by just decoding the bitmap along the tree branches as indicated in FIG. 34.
C. Eliminating ambiguity during route changes 5 FIG. 36 illustrates a scenario of the communication network setup wherein routing problems may happen.
For example, the communication network comprises a base station (BS) 3600, and communication devices A 3601, B 3602, C 3603, and D 3604. For example, communication o device D 3604 first selects communication device C 3603 as the next hop communication device for routing packets from communication device D 3604 to BS 3600. The bitmap that is comprised in the routing message from communication device D 3604 to communication device C 3603 has the value D θ C or D v C, wherein XOR operation for addresses of D , 3604 and C 3603 may be written as D Θ C, and OR operation for addresses of D 3604 and C5 3603 may be written as D v C. Assuming that communication device D 3604 now changes its route to communication device B 3602. Communication device D 3602 will now • broadcast a value of D θ B or D v B in the routing message, i.e. NCFG message. Assuming that communication device C 3603 has the stale value of D θ C or D v C and it sends this to communication device A 3601 while communication device B 3602 also sends the value of D0 θ B or D v B to communication device A 3601. This may happen in case link of communication devices D 3604 to C 3603 breakdowns after communication device C 3603 had received the value of D ® C or D v C from communication device D 3604. Communication device A 3601 will then be confused since the bitmap it receives indicates multiple routes to communication device D 3604 (one via communication device C 3603 and another via communication device B 3602).
A second problem may arise when communication device D 3604 receives the stale broadcast from communication device C 3603 (i.e. D Θ C or D v C ) after the switch has occurred. If communication device D 3604 has selected communication device B 3602 as its next hop, Communication device D 3604 will now think that communication device C 3603 is selecting communication device D 3604 as its next hop. Communication device D 3604 will start broadcasting D Θ C Θ B or D v C v B to communication device B 3602. In such a case, communication device A 3601 will again be confused with two paths to communication device C 3603. To avoid this second problem, in one embodiment, a next hop field may be included in the NCFG message. This field, which may be a 2 byte field, can be coded in binary form to explicitly indicate the address of the chosen next hop. Thus, in addition to the bitmap of routing information as shown in FIG 34, the NCFG message may also carry this next hop field. By using the next hop field, the second problem highlighted above can be avoided. In the example highlighted above, the stale value of D θ C or D v C sent out by communication device C 3603 will no longer confuse communication device D 3604 because the routing message from communication device C 3603 will clearly indicate communication device A 3601 as its next hop.
In order to address the first problem, in one embodiment, another 1-bit field known as the broadcast token field may be included in the routing table.
When communication device D 3604 first chooses communication device C 3603 as the next hop communication device, communication device D 3604 may send the broadcast token field along with the bitmap in the routing message to communication device C 3603. If this entry is a fresh entry, or in other words, if communication device C 3603 receives the message indicating that communication device C 3603 is selected as the next hop from communication device D 3604 for the first time, communication device C 3603 then creates a new entry in the route table and sets the broadcasting flag of the entry for communication device D 3604 to be a third pre-defined value, i.e. 1. Communication device C 3603 then keeps this entry in its routing table and knows that this entry is a fresh entry from the value of the broadcast flag, i.e. 1. When communication device C 3603 selects communication device A 3601 as its next hop and forms the bitmap, namely the routing information, communication device C 3603 scans through the routing table to search for the entries with the broadcasting flag set to the third pre-defined value, i.e. 1. These entries are then chosen to form the bitmap/routing information. For example, the addresses of the communication devices whose 5 entries have a value of a broadcasting flag to be 1 are used in generation of the routing information by communication device C 3603.
Once these entries are used, their broadcast flags are set to be a fourth. pre-defined value, i.e. 0. The flags will be set to be 1 again when communication device C 3603 receives a new 0 routing message with respective bitmap from the child communication device, namely communication device D 3604, wherein communication device D 3604 indicates that communication device C 3603 is the next hop communication device. In the embodiment depicted above, communication device C 3603 will first send D Θ C Θ A or D v C v A if the token value is set to be the third pre-defined value, i.e. 1. It will then set the token to be5 the fourth pre-defined value, i.e. 0 for the entries in the routing table. When communication device C 3603 ceases to receive a broadcast message from communication device D 3604 due to a link disruption, the entry for communication device D 3604 in the routing table of communication device C 3603 will still remain with token value of the fourth pre-defined value, i.e. 0. Thus, when communication device C 3603 starts to generate a next routing o information, communication device C 3603 will omit the entry for communication device D 3604 in the new broadcast of routing message. This process helps the communication device to flush out stale entries and avoid the first problem described above.
In one embodiment, the hop count information may not be included the routing information5 from BS to SS. Thus, the BS may only know the next hop of reaching certain communication device but do not know the number of hops to the relative communication devices.
D The Compression of Bitmap
With the application of bitmap for including routing information, a communication device0 can setup the reverse path from BS to SS. The size of bitmap may increase when the number of communication devices in the network increases. For example, for a network with 64 communication devices, 8 bytes are needed to carry the bitmap. As the size of the NCFG control message is limited as each message can only occupy one slot, preferably the size of the bitmap can be reduced. As described above, the bitmap may carry the route information. Given that the network topology changes slowly, most of the time, the bitmap transmitted by a communication device may be the same. In one embodiment, a bitmap may be compressed by either 5 indicating that the bitmap is the same as previous or compress the bitmap by using established contexts with related communication devices. In the following, different compression methods are described that can be applied in compressing the bitmap.
D.1 A simple compression scheme 0 When the changing of topology is slow, the variation of the bitmap at each communication device can be slow. The bitmap may keep constant for certain period. To compress the bitmap with such characteristics of slow change, in one embodiment, the previous bitmap may be inferred if the present bitmap is the same with the previous bitmap. In case that the bitmap is different with the preceding one, an uncompressed bitmap may be sent. If they are5 the same, then the bitmap may not be sent. Instead, a flag in the route information may be turned on, which indicates that the bitmap is the same as the preceding one. For example, assuming the bitmaps sent by a communication device are in the following sequence A-A-A- A-B-B-B, where A and B represent the 64-bit (assuming the communication device address space is 64) bitmaps. To compress the bitmaps with the proposed method, a communication o device can send A-'0'-'0'-'0'-B-'0'-ς0' instead, where ' 0 ' represents the single bit flag without the 64-bit bitmap. The bitmaps A and B are transmitted once so that other communication devices are aware of the base bitmap.
This method is simple and efficient when the changing of bitmap is slow. Only one bit is 5 required in the route information sent. In addition, the base bitmap is only maintained by this communication device and its parent communication device, namely the next hop of the , communication device.
In order to be more robust to the channel corruption, in one embodiment, a communication o device may send more than one uncompressed bitmaps when a change occurs. A bitmap transmission using the example above would resemble the following: A-A-'O'-'O'-B-B-'O'. The communication device may also periodically refresh the context with uncompressed bitmaps when they are unchanged for a long time, hi this context, refresh means that the communication device may resend the uncompressed bit map. D.2 Compression of multiple contexts with simplified routing information Due to the channel corruption, even if the routes at a communication device are unchanged, the bitmap sent by the communication devices may oscillate among several different bitmaps. 5 For example, assuming with perfect channel, the bitmap sent by a communication device is A-A-A-A-A-A-A-A-A. However, with lossy channel conditions, the bitmap sent by the communication device may become A-B-C-C-B-A-B-C-C. Note that the bitmaps reoccur after several transmissions. The change of bitmap may be due to the loss of route information caused by channel corruption. 0
To compress the bitmaps, in one embodiment, the communication devices can setup multiple contexts, with each context being assigned a simplified routing information. For example, A, which is a 64 bit string may represented by bits OOOO', B with OOOl ' and C with '0010' etc. Each time when a communication device sends the bitmap and finds that it has sent the same5 bitmap previously. It may just send the respective simplified routing information assigned to this bitmap. The four bits simplified routing information may be much shorter than the bitmap. Thus, the bitmap can be compressed efficiently.
It is possible that the contexts, namely the bitmaps containing the routing information, kept o for certain links may exceed the capacity space of the simplified routing information. For example, with 4 bits simplified routing information, the maximal contexts can be identified is 16. So if there are more than 16 contexts, then some of the contexts to simplified routing information mapping may be dropped according to certain rules. For example, least seen and old bitmaps may be replaced by more frequent and new bitmaps. 5
D.3 A more complex compression scheme
. Besides the two compression methods mentioned above, a more complex method is provided when the topology changes are more frequent according to one embodiment. With this method, two steps are needed to achieve a high average compression ratio. The first is to0 setup a context at those related communication devices who cares about the bitmap sent out by a communication device. The second step is to compress the bitmap according to the context. The compression may be done as follows: firstly, performing an XOR function for the current bitmap with a bitmap in the context, wherein a previous bitmap may be set to be the bitmap in the context. If the two bitmaps are almost identical, then most of the bits will be zero after the XOR operation. In the second step, the XORed bitmap is compressed according to a predefined dictionary. The dictionary can be constructed with, for example, Huffman coding with an appropriate block size.
For example, the bitmap with 64 bits may be divided into 16 blocks with each block having 4 bits. Then the relative code for each block may be found in a dictionary and a compressed bits string may be formed. This string may be attached in the route information and broadcasted to the network. The other communication devices in the network can decode and decompress the compressed bits string with the predefined dictionary and context.
For example, assuming the bitmap sent previously is 00110100 and is used as the context, if the current one is the same as context, then the bitmap after XOR is 00000000. The XORed bitmap 00000000 may be compressed to be two bits OO', if four-bit block is used and one bit '0' is used to stand for OOOO' in the dictionary. In this example, if the bitmap and the bitmap in context are different, then the bitmap after XOR operation and compression may be more than two bits. In one embodiment, the size of bitmap is checked after compression. If the compress ration is low, then an uncompressed bitmap is sent.
One critical issue of the compression method described here is that who should keep the bitmap in the context. A communication device may have many neighbors. Some of them may serve as default or backup next hop to the base station, and some of them depend on this communication device to reach the base station. Others may not have direct relationship with the communication device in routing. In one embodiment, a communication device keeps the bitmap in the context for all those communication devices that appears in the routing table with distance equal to 1 when measured in hop count. In other words, a communication device keeps the bitmap in the context for all the communication devices within the transmission range of the communication device.
FIG. 37 illustrates an example of the record of bitmap in the context by a communication device.
For example, as shown in FIG. 37, for communication device 3, communication devices 1, 2, 4, 5, 6 are correlated communication devices of communication device 3. Communication device 2 and 1 are default and backup next hops to BS; communication device 4, 5, 6 are children of communication device 3. For communication device 1, BS and communication device 3 are correlated communication devices.
In one embodiment, the bitmap used for context is sent either in uncompressed format or in compressed format. When it is compressed, it may be only compressed according to the dictionary.
A communication device can check the bitmap sent by other communication devices to verify whether the context has been setup successfully at the correlated communication devices. It may refresh the context if it is not synchronized.
FIG. 38 illustrates a message generating circuit 3800 of a first communication device for generating a routing message to be sent to a second communication device according to one embodiment.
In one embodiment, the message generating circuit 3800 is configured to generate routing information, wherein the routing information comprises a plurality of flags, each flag being associated with one of plurality of communication devices and to set the value of each flag such that the flag indicates whether or not the respective one of the plurality of communication devices may be reached by a route in the communication network comprising the first communication device. In one embodiment, the message generating circuit 3800 is configured to generate the routing message based on the routing information.
As an illustration, referring to FIG. 34, the routing information generated by communication device D 3304 comprises 7 flags: 1100111 , wherein each flag is associated with a communication device in the network. For example, the first flag is associated with communication device F 3306, and the last flag is associated with communication device A 3301. The value of each flag may be used to indicate whether the respective communication device can be reached through the route comprising communication device D 3304 and the base station.
In one embodiment, the routing message is a Medium Access Control layer message. For example, the message may be a NCFG message. In one embodiment, the communication network is a mesh communication network comprising the plurality of communication devices and at least a base station as a central control of the plurality of communication devices, wherein each communication device communicates with the at least one base station directly or via one or more other communication devices.
hi one embodiment, the route is a path for data transmission comprising the at least one base station and the first communication device. For example, referring to FIG. 34, the route is a path for data transmission comprising communication device D 3304 and the base station (BS) 3300.
In one embodiment, the value of each flag of the routing information is set to be a first predefined value if the respective communication device of the plurality of communication devices may be reached by a route in the communication network comprising the first communication device, and the value is set to be a second pre-defined value if the respective communication device of the plurality of communication devices may not be reached by a route in the communication network comprising the first communication device. For example, referring to communication device D 3304 in FIG. 34, the routing information is: 1100111. If the flag has a value of a first pre-determined value, i.e. 1, then the respective communication device is located in the route comprising communication device D 3304 and the base station. For example, the first flag has a value of 1, meaning that the respective communication device F 3306 is located in the route comprising communication device D 3304 and the base station. In this example, if the flag has a second pre-defined value, i.e. 0, then it means that the respective communication device is not located in the route comprising communication device D 3304. For example, the third flag has a value of 0, meaning that the communication device G 3307 can not be reached by the route comprising communication device D 3304.
In one embodiment, each communication device of the plurality of communication devices is associated with an address comprising a plurality of bits, each bit corresponding to one of the plurality of flags and the bit being associated with the respective communication deviόe of the plurality of communication devices having the first pre-defined value. As an illustration, referring to FIG. 34, each communication device has a unique address. For example, communication device D 3304 has a 7-bit address of 0100000. Each bit is associated with a communication device in the network. Only the bit that is associated with communication device D 3304 itself is set to be the first pre-defined value, namely 1.
In one embodiment, the values of bits corresponding to flags associated with the other communication devices are set to be the second pre-defined value. As an illustration, referring to FIG. 34, the bits in the address of communication device D 3304 that are not associated with communication device D 3304 itself are set to be the second pre-defined value, namely 0.
In one embodiment, the message generating circuit 3800 is configured to set the routing information by a combination of the address of the first communication device, and the address of a third communication device wherein the third communication device is nearest to the first communication device in the route between the first communication device and the at least one base station. As an illustration, referring to FIG. 34, the routing information generated by communication device A 3301 is set by a combination, i.e. exclusive disjunction function or disjunction function function, for the address of communication device A 3301 and the address of the next hop, namely communication device D 3304.
In one embodiment, the combination further includes routing messages from a set of communication devices comprising at least one communication device wherein each communication device of the set of communication devices indicates in the routing message of the respective communication device of the set of communication devices that the first communication device is a nearest communication device to the respective communication device in the route between the respective communication device and the at least one base station, hi other words, the combination further includes routing messages from all the children devices of the first communication device, wherein the children devices refer to devices which set the first communication device as a next hop communication device to the base station. As an illustration, referring to FIG. 34, for communication device D 3304, the generation of routing information not only includes the combination of the address of its next hop, namely communication device F 3306, but also includes the routing messages of communication devices A 3301, B 3302, and C 3303, which select communication device D 3304 as next hop for data transmission to the base station 3300. As another example, referring to FIG. 34, for communication device F 3306, the generation of routing information includes a combination of the routing message from communication device D 3304 and the address of communication device F 3306, wherein communication device D 3304 selects communication device F 3306 as the next hop communication device to the base station 3300.
In one embodiment, the combination is according to an exclusive disjunction function, wherein the value of each flag of the routing message of the first communication device is set by performing an exclusive disjunction function, for the value of each bit associated with a respective communication device in the address of the first communication device and the value of the bit associated with the same communication device in the address of the third communication device, and the flags associated with the same communication device in the routing messages from the set of communication devices. As an illustration, referring to FIG. 34, each flag that is associated with a respective communication device of the routing information of communi cation device D 3304 is set by performing a XOR operation for the bit that is associated with a same communication device in the address of communication device D 3304, and the bit that is associated with the same communication device in the address of the next hop communication device F 3306, and the flags that are associated with the same communication device in the routing information of the communication devices A 3301, B 3302, and C 3303, which indicate that communication device D 3304 is the next hop for data transmission to the base station.
In one embodiment, the value of the bit associated with the first communication device in the routing message of the first communication device is set to be the first pre-defined value. For example, referring to FIG. 34, in the routing information for communication device D 3304, the flag that is associated with communication device D 3304 itself is set to be the first pre- 1 defined value, namely 1.
hi one embodiment, the combination is according to a disjunction function, wherein the value , of each flag of the routing message of the first communication device is set by performing a disjunction function, for the value of each bit associated with a respective communication device in the address of the first communication device, and the value of the bit associated with the same communication device in the address of the third communication device, and the flags associated with the same communication device in the routing messages from the set of communication devices. As an illustration, referring to FIG. 34, each flag that is associated with a respective communication device of the routing information of communication device D 3304 is set by performing an OR operation for the bit that is associated with a same communication device in the address of communication device D 3304, and the bit that is associated with the same communication device in the address of the next hop communication device F 3306, and the flags that are associated with the same communication device in the routing information of the communication devices A 3301, B 3302, and C 3303, 5 which indicate that communication device D 3304 is the next hop for data transmission to the base station. In more detail, device A 3301 performs OR operation with device D 3304 for the addresses of device A 3301 and device D 3304, and produces the map 0100001 in Fig 34. Similarly, for device B 3302 and C 3303, they produce the respective map as indicated in Fig 34. Device D 3304 then collects all the incoming maps from devices A 3301, B 3302, and C0 3303 associated to device D 3304 and does an OR operation with the chosen parent, which is device F 3306. The map 1100111 is the resultant map of device D 3304. In one embodiment, the BS 3300 does not have a bitmap address, and, device F 3306's map, namely device F's routing information, is the same as the routing information of device D 3304. 5 In one embodiment, the routing information further comprises a next hop information indicating the nearest communication device of the first communication device in the route between the first communication device and the at least one base station. For example, referring to FIG. 36, the routing information of communication device C 3603 may comprise a next hop field to indicate that the next hop in the route comprising communication device C o 3603 is device A 3601. In one example, if communication device C 3603 indicates that communication device A 3601 is the next hop, communication device D 3604 will not be confused whether communication device C 3603 wishes to select communication device D 3604 as the next hop for data transmission. There may be many ways of deciding what the route is, for example, shortest path, QoS, availability, etc. 5
In one embodiment, the routing information further comprises a plurality of sub-flags, each sub-flag being associated with one of the plurality of flags in the routing information and the respective communication device of the flag, and wherein the message generating circuit is configured to set the value of each sub-flag such that the sub-flag indicates whether or not the0 respective flag is valid for indicating whether or not the respective communication device may be reached by a route in the communication network comprising the first commuhication device. As an illustration, referring to FIG. 36, a broadcast token field may be included in the routing message from communication device D 3604 to C 3603. The broadcast token field may be set to be 1. Upon reception of the routing message from communication device D 3604, before generating a routing information, communication device C 3603 sets the value of the sub-flag, namely the broadcast token field, which corresponds to the flag being associated with communication device D 3604 to be a third pre-defined value, i.e. 1, meaning that the routing message from communication device D 3604 will be considered in the generation of the routing message of communication device C 3603.
In one embodiment, the value of each sub-flag of the routing information is set to be a third pre-defined value only if the first communication device has received a routing message from the respective communication device that the sub-flag is associated with and the routing message from the respective communication device indicates that the first communication device may be reached by a routing comprising the respective communication device, and only if the message generating circuit of the first communication device has not generated a message including the routing information based on the routing information message from the respective communication device. As an illustration, referring to FIG. 36, after receiving a routing message from communication device D 3604, if communication device D 3604 indicates that communication device C 3603 is in the route of data transmission comprising communication device D 3604, communication device C 3603 will set the value of the sub- flag which corresponds to the flag being associated with communication device D 3604 to be the third pre-defined value before generating the routing message.
In one embodiment, if the value of the sub-flag is the third pre-defined value, the value of the flag that the sub-flag is associated with is set to be the first pre-defined value. For example, referring to FIG. 36, if communication device C 3603 indicates that the sub-flag that is associated with communication device D 3604 is set to be the third defined value, i.e. 1, then communication device C 3603 sets the value of the flag being associated with communication device D 3604 to be the first pre-defined value, i.e. 1.
In one embodiment, the value of each sub-flag of the routing information is set to be a fourth pre-defined value if the first communication device has not received a routing message from the respective communication device that the sub-flag is associated with wherein the routing message of the respective communication device indicates that the first communication device may be reached by a routing comprising the respective communication device, or if the first communication device has received a routing message from the respective communication device that the sub-flag is associated with wherein the routing message from the respective communication device indicates that the first communication device may be reached by a routing comprising the respective communication device, and the message generating circuit of the first communication device has generated a message including the routing information based on the routing information message from the respective communication device. As an illustration, referring to FIG. 36, if communication device C 3603 has not received any routing message from communication device D 3604 indicating communication device C 3603 is in the route of data transmission comprising communication device C 3603, or if communication device C 3603 has received any routing message from communication device D 3604 indicating communication device C 3603 is in the route of data transmission comprising communication device C 3603 and has generated a routing message, communication device C 3603 sets the sub-flag which corresponds to the flag being associated with communication device D 3604 to be a fourth pre-defined value, i.e. 0.
In one embodiment, if the value of the sub-flag is the fourth pre-defined value, the value of the flag that the sub-flag is associated with is set to be the second pre-defined value. For example, referring to FIG. 36, if before generating the routing information, communication device C 3603 finds that the value of the sub-flag which corresponds to the flag being associated with communication device D 3604 to be the fourth pre-defined value, i.e. 0, then communication device C 3603 sets the value of the flag being associated with communication device D 3604 to be the second pre-defined value, i.e. 0, in the routing information.
In one embodiment, the message generating circuit 3800 is configured to detect whether the generated routing information is the same as a preceding routing information, and to generate a repeating message comprising a flag indicating that the routing information has not been changed. This embodiment is illustrated in section D.I. For example, assuming the bitmaps sent by a communication device are in the following sequence A-A-A-A-B-B- B, where A and B represent the 64-bit (assuming the communication device address space is 64) bitmaps. To compress the bitmaps with the proposed method, a communication device may send A- O'-O'-O'-B-O'-O' instead, where '0' is a flag being used to represent that the bitmap is same as preceding bitmap.
In one embodiment, the message generating circuit 3800 is configured to detect whether the generated routing information is the same as a preceding routing information and whether the preceding routing information has been repeated for a predetermined number of times, and to generate a repeating message comprising a flag indicating that the routing information has not been changed and has been repeated for at least the predetermined number of times. This embodiment is also illustrated in section D.I. For example, in order to be more robust to the channel corruption, a communication device may send more than one uncompressed bitmaps when a change occurs. A bitmap transmission using the example above would resemble the following: A-A-'0'-'0'-B-B-'0'. In this example, the preceding routing information has been repeated for one time, and then a one bit flag '0' is generated to indicate that the bitmap routing information is the same as the preceding routing information.
In one embodiment, the message generating circuit 3800 is further configured to generate a simplified routing message such that the simplified routing message corresponds to the routing information, the simplified routing message comprising a plurality of flags, wherein the number of flags of the simplified routing message is less than the number of flags of the routing information. This embodiment is illustrated in section D.2. For example, assuming that A is a 64 bit string, then, A may be represented by 4-bit simplified routing information: 0000. Similarly, assuming that B is another 64 bit string, then B may be compressed to be a 4-bit simplified routing information: 0001. The simplified routing information has less bits than the corresponding 64-bit bitmap.
In one embodiment, the message generating circuit 3800 is further configured to generate a same simplified routing message of a previously generated routing message to indicate that the generated routing message is same with the previously generated routing message if the message generating circuit detects that the generated routing information is same as the routing information of the previously generated routing message. As an illustration, assuming that A, B, C are three different 64-bit bitmaps. If the routing messages generated by a communication devices are A-B-B-C-A, then the communication device may assign a simplified routing information to represent A, B, C, respectively. For example, A may be represented by OOOO', B may be presented by OOOl', and C may be represented by OOlO'. When the communication device generates the routing information A again, the communication device then knows that a same routing information A has been generated previously, and may use the simplified routing information OOOO' to represent the routing information A and generate a routing message including the simplified routing information OOOO' to indicate that the routing information same as the routing information A previously generated. In one embodiment, the message generating circuit 3800 is further configured to generate a pre-compression information by a combination of the generated routing information and a previous routing information, the pre-compression information comprising a plurality of flags, each flag being associated with one of the plurality of flags of the generated routing information. This embodiment is illustrated in section D.3. For example, a context may be first set up to be a previous generated routing information. A communication device may then perform a XOR operation for the generated routing information with the context. Thus, the pre-compression information has a same number of flags as the generated routing information, and each flag in the pre-compression information corresponds to a flag in the generated routing information.
In one embodiment, the combination is according to an exclusive disjunction function, wherein the value of each flag of the pre-compression information is set by performing an exclusive disjunction function for the value of the respective flag of the routing information that is associated with one of the plurality of communication devices and the value of the flag that is associated with a same communication device in the previous routing information.
In one embodiment, the message generating circuit 3800 is further configured to generate a simplified routing message corresponding to the generated pre-compression information, wherein the simplified routing message comprises one or a plurality of flags, and the number of flags of the simplified routing message is less than the number of flags in the pre- compression information. This embodiment is illustrated in section D.3. For example, after the XOR operation for the generated routing information and the routing information in context, the value of most flags of the resulted pre-compression information may be 0 if the generated routing information and the routing information in context are generally the same. Thus, the pre-compression information may be further compressed. For example, the pre- compression information may be divided into several blocks with each block having 4 flags. A block with flags OOOO' may be compressed to a corresponding bit: 0.
In one embodiment, the simplified routing message is generated according to a predetermined dictionary, such that a plurality of flags with each flag having a certain value in the pre- compression information correspond to at least one flag with a predetermined value in the simplified routing message. For example, a dictionary may be pre-determined. The compression of the pre-compression information may be compressed according to the predetermined dictionary. For example, if the dictionary defines that '0000' may be compressed to be O', and '0010' may be compressed to be '10', then the block OOOO' in the pre- compression information may be compressed to be O', and the block '0010' in the pre- 5 compression information may be compressed to be ' 10' .
In one embodiment, the message generating circuit 3800 is further configured to store the pre-determined dictionary, and to include the pre-determined dictionary in the simplified routing message at least for one time. For example, a communication device may store the0 dictionary so that it can compress the pre-compression information according to the dictionary. Further, the communication device will send the content of the dictionary to the other related communication devices so that the other related communication devices may decode the dictionary according to the dictionary. 5 In one embodiment, the routing message further comprises a sequence number indicating the sequence of the routing message such that a largest sequence number indicates that the routing message is the latest one. For example, only the base station (BS) has the right to increase the sequence number comprised in a routing message, and the BS increases the sequence number each time a new routing message is generated. Thus, the sequence number o can indicate whether it is a newer sequence number than another.
In one embodiment, a method is provided for generating a routing message by a first communication device to be sent to a second communication device, the method comprising: generating routing information, wherein the routing information comprises a plurality of 5 flags, each flag being associated with one of plurality of communication devices setting the value of each flag such that the flag indicates whether or not the respective one of . the plurality of communication devices may be reached by a route in the communication network comprising the first communication device; and generating the routing message based on the routing information. 0
Simulation Configuration
Simulation has been carried out to test the performance of communication devices according to the routing methods of various embodiments. A design of the MAC and routing protocol has been implemented in the QualNet Network simulator. A Maritime communication scenario is assumed in which ships are cruising along the lanes that are not very far away from the coast. It is assumed that there is BS on the shore and its radio can reach the ships as far as 35 kilometers. The maximum communication range between the ships is 20 kilometers.
5
FIG. 39 illustrates the maritime network topology used in the simulation. Dot denoted with number 1 is the base station o the shore. There are a total of 52 communication devices including the base station in the simulation. Each communication device can send an NCFG for every 30 frames in average, or 300 milliseconds. It is fast enough for the propagation of l o routing messages .
In the simulation, five communication devices are chosen as either the source or the destination of the data traffic. The performance of route from SS BS is studied first. Each selected communication device starts a constant bit rate (CBR) flow, where the output data 15 rate is constant. The CBR flow generates 50 packets per second and each packet carries 40 bytes of data, hi the study of the performance from BS to SS, the BS is assumed to start 5 CBR flows at the same time to these selected SSs. The traffic characteristics are the same but the direction of data flow is reversed. The buffer size at both routing and MAC layer is set to be 200 packets.
20
For the performance metrics, three performance metrics are mainly used, the initial delay, the delay average and throughput. For a given flow, the initial delay is defined as the time difference between the first packet being sent out and the time the first packet reaches the destination. The delay average is the delay averaged over all the packets received by the 25 destination. The throughput is measured in bits per second (bps). The performance is compared in two sea states, 3.0 and 6.0. Sea state 3.0 represents a smoother sea conditions. It has some effect over the signal receiving, but the impact is rather light. In sea state 6.0, the wave is rather high and this affects the position of the antenna significantly which then impacts the radio transmission and reception seriously.
30
Performance Results
In the test, routes are setup in two directions, from SS to BS and from BS to SS. hi the simulation, scenario from SS to BS is first focused on, and then scenario from BS to SS is focused on. One of the main advantages of the proposed routing methods is that there is no delay for route discovery given that traffic starts after the network has established itself for a while. This characteristic is the same as that found in OLSR.
5
FIG. 40 (a) shows the initial delay achieved by different routing schemes under sea state 3.0. In FIG. 40 (a), as can be seen from the horizontal axis, numbers 11, 49, 46, 39, and 25 correspond to the 5 communication devices with same denoted numbers in FIG. 39. The vertical axis represents the initial delay. The histograms in each column of the respective o communication device represents initial delays using different routing methods under sea state 3.0. Correspondent of the hatchures of the histograms with the routing methods are shown in box 4001. For example, aodv-3 represents the AODV routing method under sea state 3.0. 5 FIG. 40 (b) shows the initial delay achieved by different routing schemes under sea state 6.0. In FIG. 40 (b), as can be seen from the horizontal axis, numbers 11, 49, 46, 39, and 25 correspond to the 5 communication devices with same denoted numbers in FIG. 39. Similar as FIG. 40 (a), the vertical axis represents the initial delay. The histograms in each column of the respective communication device represents initial delays using different routing methods o under sea state 6.0. Correspondent of the hatchures of the histograms with the routing methods are shown in box 4002. For example, triton-6 represents the routing methods according to present invention under sea state 6.0.
As can be seen in FIGs. 40 (a) and 40 (b), for AODV and AOMDV, the initial delay is rather5 long and in some cases, reaches up to several seconds. The delay of AODV and AOMDV is mainly caused by the routing discovery. As the IEEE 802.16d mesh network does not support . broadcast packets well, this increases the route discovery since flooding is used in route request propagation. AODV is better than AOMDV because it can get replies from intermediate communication devices. Whereas, in AOMDV, only the destination 0 communication device can reply to the request. That is the reason why AODV has better performance compared to AOMDV in the initial delay metric. OLSR experiences shorter delay because the route is setup before the traffic is started. However, as the path chosen by OLSR may not be as good as the routing methods according to present invention, it might experience a longer delay than our scheme due to delay in bandwidth allocation along the path. The routing methods according to present invention performs better since broadcasting of route request are not used within the data sub-frame. With the help of NCFG messages, which is collision free, the initial delay using routing methods according to present invention is even shorter than OLSR. For example, in sea state 6.0, communication devices 46 and 49 5 experiences a much longer initial delay when using OLSR when compared to our scheme.
FIG. 41 (a) shows the delay average that is achieved with different routing methods at sea state 3.0. In FIG. 41 (a), as can be seen from the horizontal axis, numbers 11, 49, 46, 39, and 25 correspond to the 5 communication devices with same denoted numbers in FIG. 39. The l o vertical axis represents the average delay. The histograms in each column of the respective communication device represent average delays using different routing methods under sea state 3.0 conditions. Correspondent of the hatchures of the histograms with the routing methods under sea state 3.0 are shown in box 4101. For example, aodv-3 represents the AODV routing method under sea state 3.0.
15
FIG. 41 (b) shows the delay average that is achieved with different routing methods at sea state 6.0. In FIG. 41 (b), as can be seen from the horizontal axis, numbers 11, 49, 46, 39, and 25 correspond to the 5 communication devices with same denoted numbers in FIG. 39. Similarly as for FIG. 41 (a), the vertical axis represents the average delay. The histograms in 20 each column of the respective communication device represent average delays using different routing methods under sea state 6.0 conditions. Correspondent of the hatchures of the histograms with the routing methods under sea state 6.0 are shown in box 4102. For example, triton-6 represents the routing methods according to present invention under sea state 6.0.
25 As can be seen from FIGs. 41 (a) and 41 (b), unlike initial delay, the OLSR performs badly when compared to other routing methods. This is due to the slow reaction to the link . breakage when OLSR is used. OLSR depends on the loss of hello messages to detect link breakages. Given that the hello messages are sent with an interval of 30 seconds, it typically takes about more than 1 minute to detect a link breakage. However, for AODV and AOMDV,
30 since notification can be obtained from the link layer, they can detect the link breakages within 5 seconds. So these routing methods can repair the route earlier. For the routing methods according to the present invention, the route may switch to a different path even before the link breakage happens since it monitors the signal level of the channel. When link breakage happens, AODV can either repairs locally or get replies from intermediate communication devices. For AOMDV, it could maintain several backup routes. It can use this mechanism to recover the route if there is a valid and working backup route. However, if there is no backup, then the repair process may take a longer time. This is the reason why AOMDV does not always perform better than AODV. For the routing methods according to the present invention, the route maintains many backup paths and they are updated and maintained frequently with the NCFG messages. The route can be repaired rapidly. This may be the reason why the routing methods according to the present invention has the best performance for average delay.
FIG. 42 (a) shows the throughput that is achieved with different routing methods under sea state 3.0. In FIG. 42 (a), as can be seen from the horizontal axis, numbers 11, 49, 46, 39, and 25 correspond to the 5 communication devices with same denoted numbers in FIG. 39. The vertical axis represents the throughput. The histograms in each column of the respective communication device represent throughputs using different routing methods under sea state 3.0. Correspondent of the hatchures of the histograms with the routing methods are shown in box 4201. For example, aodv-3 represents the AODV routing method under sea state 3.0.
FIG. 42 (b) shows the throughput that is achieved with different routing methods under sea state 6.0. In FIG. 42 (b), as can be seen from the horizontal axis, numbers 11, 49, 46, 39, and 25 correspond to the 5 communication devices with same denoted numbers in FIG. 39. The vertical axis represents the throughput. The histograms in each column of the respective communication device represent throughputs using different routing methods under sea state 6.0. Correspondent of the hatchures of the histograms with the routing methods are shown in box 4202. For another example, triton-6 represents the routing methods according to present invention under sea state 6.0.
As can be seen from FIGs. 42 (a) and 42 (b), the routing methods according to the present invention perform the best, even at sea state 6.0.
For the performance study of route from BS to SS, the test for AOMDV and OLSR are omitted. Comparison is carried out of the routing methods according to present invention and the AODV. FIG. 43 shows the initial delay from BS to SS achieved by different routing schemes under sea state 6.0. In FIG. 43, as can be seen from the horizontal axis, numbers 11, 49, 46, 39, and 25 correspond to the 5 communication devices with same denoted numbers in FIG. 39. The vertical axis represents the initial delay. The histograms in each column of the respective communication device represent initial delays using different routing methods. Correspondent of the hatchures of the histograms with the routing methods and sea conditions are shown in box 4301. For example, aodv-6 represents the AODV routing method under sea state 6.0.
In sea state 6.0, with AODV, due to some bad link conditions, there were no routes that were formed to the destination. In sea state 6.0, AODV experiences a longer initial delay than the routing methods according to the present invention.
FIG. 44 shows the average delay from BS to SS achieved by different routing schemes under sea state 6.0. In FIG. 44, as can be seen from the horizontal axis, numbers 11, 49, 46, 39, and 25 correspond to the 5 communication devices with same denoted numbers in FIG. 39. The vertical axis represents the average delay. The histograms in each column of the respective communication device represent initial delays using different routing methods. Correspondent of the hatchures of the histograms with the routing methods and sea conditions are shown in box 4401. For example, aodv-6 represents the AODV routing method under sea state 6.0.
As can be seen from FIG. 44, for the delay average metric, the routing methods according to the present invention do not always perform better than AODV. The reason is because the routing methods according to the present invention invoke more route repair when compared to AODV. The AODV repairs the route when link breakages happen. For routing methods according to the present invention, the routing may switch to a better route when the link quality on the old link is bad. As bandwidth allocation may be invoked each for each of the route changes, so it is normal to observe longer delay for packets.
FIG. 45 shows the throughput from BS to SS achieved by different routing schemes under sea state 6.0. In FIG. 45, as can be seen from the horizontal axis, numbers 11, 49, 46, 39, and 25 correspond to the 5 communication devices with same denoted numbers in FIG. 39. The vertical axis represents the throughput. The histograms in each column of the respective communication device represent throughputs using different routing methods. Correspondent of the hatchures of the histograms with the routing methods and sea conditions are shown in box 4501. For example, aodv-6 represents the AODV routing method under sea state 6.0.
For the throughput, routing methods according to the present invention also show better 5 performance because routing methods according to the present invention are able to choose a path with better link quality and also repair broken links rapidly.
hi summary, the routing methods according to the present invention for the Maritime Mesh support the traffic conditions efficiently. The IEEE 802.16d MAC does not support l o broadcasting well, and traditional routing protocols designed for MANET such as AODV, AOMDV and OLSR does not perform well. The routing methods according to the present invention apply a cross layer designed routing method which utilized the messages sent in the control sub-frame. These messages are scheduled by using the mesh election scheme defined in the IEEE 802.16d MAC to ensure the transmission is collision free. Since the control
15 messages are sent rather frequently at MAC layer, the route discovery information attached to the MAC layer message helps to perform the routing function more effectively. The routing methods according to the present invention can form and repair the routes quickly. Simulation results show that the performances of routing methods according to the present invention outperform the AODV, AOMDV and OLSR routing schemes.
20
Overall, for the MAC layer, scheduling and resource allocation methods for the IEEE 802.16d MAC have been proposed. Not only interference caused by the two-hop neighboring has been taken into consideration, but also the enhancement with mobility supporting. Simulation study shows that the scheduling and resource allocation methods according to the 25 present invention work well in supporting network with slow mobility.
For the routing layer, a cross layer designed routing method is provided by attaching the route information into MAC control messages. This accelerates the route setup and shortens the time for route repairing. Performance results show that the routing methods according to the 30 present invention perform better than the existing methods such as the AODV, the AOMDV and the OLSR. While the invention has been particularly shown and described with reference to specific embodiments, it should be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the scope of the invention as defined by the appended claims. The scope of the invention is thus indicated by the appended claims and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced.
In this document, the following documents are cited:
[1].IEEE 802.16d: IEEE standard for local and metropolitan area networks part 16: Air interface for fixed broadband wireless access systems, 2004. 2004. [2]. T. Clausen and P. Jacquet. "Optimized link state routing protocol(OLSR)". In IETF RFC
3626, October 2003.
[3]. P-Y. Kong and H. Wang. "A performance comparison of routing protocols for maritime wireless mesh networks". In Proceedings of IEEE Wireless Communication and
Networking (WCNC), March 2008.
[4]. M. K. Marina and S. R. Das. "On-demand multipath distance vector routing in ad hoc networks". In Proceedings of IEEE International Conference on Network Protocols (ICNP), pages 14 - 23, Riverside, CA, USA, November 2001. [5]. C. E. Perkins, E. M. Royer, and S. R. Das. "Ad hoc on demand distance vector (aodv) routing". In IETFRFC 3561, July 2003.
[6]. Charles Perkins and Pravin Bhagwat. "Highly dynamic destination-sequenced distance- vector routing (DSDV) for mobile computers". In ACM SIGCOMM'94 Conference on Communications Architectures, Protocols and Applications, pages 234-244, 1994. ' [7]. S. Wen, P. Y. Kong, J. Shankar, H. Wang, Y. Ge, and C. W. Ang, "A novel framework to simulate maritime wireless communication networks". In Proceedings of IEEE/MTS OCEANS, 2007, September 2007.

Claims

ClaimsWhat is claimed is:
1. A communication device comprising a receiver configured to receive a request for the grant of usage of a radio resource by a 5 requesting communication device; a checking circuit configured to detect whether usage of the radio resource has already been granted by another communication device; a signaling circuit configured to signal a grant of the usage of the radio resource to the requesting communication device only if usage of the radio resource has not been granted by the o other communication device.
2. The communication device according to claim 1, wherein the checking circuit is configured to detect the grant of the radio resource by checking whether the radio resource has been used by the communication device or granted to the communication device. 5
3. The communication device according to claim 1, wherein the checking circuit is configured to detect the grant of the radio resource by checking a message from the other communication device indicating whether usage of the radio resource has been granted to the other communication device. 0
4. The communication device according to claim 1 , wherein the radio resource is one or a plurality of time slots.
5. The communication device according to claim 1, wherein the radio resource is a range of 5 frequencies, a frequency band, or a plurality of frequency bands.
6. The communication device according to claim 1, wherein the radio resource is a combination of time slots or a combination of frequencies.
7. The communication device according to claim 1, wherein the receiver is configured to receive a grant-confirm message from the requesting communication device after the grant of usage of the radio resource has been signaled to the requesting communication device, the grant- confirm message indicating confirmation of the usage of the radio resource requested by the 5 requesting communication device.
8. The communication device according to claim 1, wherein the communication device is registered in an ad-hoc communication network comprising a plurality of ad-hoc communication devices. 0
9. The communication device according to claim 1 , wherein the communication device is registered in a mesh communication network comprising a plurality of communication devices and at least one base station as a central control of the plurality of communication devices, wherein each communication device communicates with the at least one base station directly or 5 via at least one other communication device.
10. A method for a communication device to grant usage of a radio resource to a requesting communication device, comprising: receiving a request for the grant of usage of the radio resource by the requesting o communication device; detecting whether usage of the radio resource has already been granted by another communication device; signaling a grant of the usage of the radio resource to the requesting communication device only if usage of the radio resource has not been granted by the other communication 5 device.
11. A communication device comprising a receiver configured to receive a grant for the usage of a radio resource by a granting communication device; 0 a checking circuit configured to detect whether usage of the radio resource has been granted to another communication device; a transceiver configured to use the radio resource only if usage of the radio resource has not been granted to the other communication device.
12. The communication device according to claim 11, wherein the checking circuit is 5 configured to detect whether usage of the radio resource has been granted to another communication device by receiving a message from at least one neighbor communication device, the message indicating whether the usage of the radio resource has been granted to the other communication device. 0
13. The communication device according to claim 12, wherein the message is a Medium Access Control layer message.
14. The communication device according to claim 11 , wherein the radio resource is one or a plurality of time slots. 5
15. The communication device according to claim 11, wherein the radio resource is a range of frequencies, a frequency band, or a plurality of frequency bands.
16. The communication device according to claim 11, wherein the radio resource is a o combination of time slots or a combination of frequencies.
17. The communication device according to claim 11 , further comprising a signaling circuit configured to send a grant-confirm of the usage of the radio resource only if the usage of the radio resource has not been granted to the other communication device. 5
18. The communication device according to claim 11, wherein the communication device is registered in an ad-hoc communication network comprising a plurality of ad-hoc communication devices, wherein each communication device communicates with the at least one base station directly or via at least one other communication device. 0
19. The communication device according to claim 11 , wherein the communication device is registered in a mesh communication network comprising a plurality of communication devices and at least one base station as a central control of the plurality of the communication devices, wherein each communication device communicates with the at least one base station directly or
5 via at least one other communication device.
20. A method for a communication device to obtain a grant of usage of a radio resource from a granting communication device, comprising receiving a grant for the usage of the radio resource by the granting communication o device; detecting whether the usage of the radio resource has been granted to another communication device; using the radio resource only if usage of the radio resource has not been granted to the other communication device. 5
21. An ad-hoc communication device comprising: a receiver configured to receive a message from another ad-hoc communication device of an ad hoc communication network in which the ad-hoc communication device is registered specifying whether the other communication device has determined a time slot 0 as unavailable for a data transmission by the other communication device; an allocation circuit configured to allocate the time slot for data transmission only if the time slot has not been determined as unavailable for a data transmission by the other communication device. 5
22. The ad-hoc communication device according to claim 21 , wherein the message is included in a Medium Access Control layer message which is sent periodically by the other ad- hoc communication device.
23. The ad-hoc communication device according to claim 21, wherein the time slot is determined0 as unavailable if the message indicates that the time slot is being used or to be used by the other communication device.
24. The ad-hoc communication device according to claim 21, wherein the time slot is determined as unavailable if the message indicates that the time slot is being used by a third communication device.
5
25. The ad-hoc communication device according to claim 21, which is registered in an ad-hoc communication network comprising a plurality of ad-hoc communication devices.
26. The ad-hoc communication device according to claim 21, which is registered in a mesh o communication network comprising a plurality of communication devices and at least one base station as a central control of the plurality of the communication devices, wherein each communication device communicates with the at least one base station directly or via at least one other communication device.
5 27. A method for a communication device to allocate a time slot for data transmission, comprising: receiving a message from another ad-hoc communication device of an ad hoc communication network in which the ad-hoc communication device is registered specifying whether the other communication device has determined a time slot as o unavailable for a data transmission by the other communication device; allocating the time slot for data transmission only if the time slot has not been determined as unavailable for a data transmission by the other communication device.
28. A scheduling circuit of a communication device comprising: 5 a detecting circuit configured to detect whether interference has occurred in a data transmission between the communication device and another communication device for which a set of time slots comprising at least a time slot has been used that is allocated to the communication device, wherein the set of time slots is part of a time slot sequence that is repeated periodically; a cancelling circuit configured to cancel the allocation of the set of time slots to the communication device if it has been detected that interference has occurred in the data transmission; a determining circuit configured to determine another set of time slots comprising at least 5 one time slot of the time slot sequence to be allocated to the communication device, wherein a relative position of the other set of time slots to the set of time slots in the sequence of time slots is determined based on a pre-determined parameter, and the other set of time slots is determined such that it has the determined relative position to the set of time slots; an allocating circuit configured to allocate the other set of time slots to the o communication device for a further data transmission.
29. The scheduling circuit according to claim 28, wherein the pre-determined parameter is the length of the set of time slots. 5
30. The scheduling circuit according to claim 29, wherein the relative position of the other set of time slots is away from the set of time slots by a distance of the sum of the pre-determined parameter and a random time length value.
31. The scheduling circuit according to claim 28, wherein the communication device is o registered in an ad-hoc communication network comprising a plurality of ad-hoc communication devices.
32. The scheduling circuit according to claim 28, wherein the communication device is registered in a mesh communication network comprising a plurality of communication devices 5 and at least one base station as a central control of the plurality of communication devices, wherein each communication device communicates with the at least one base station directly or via at least one other communication device.
33. The scheduling circuit according to claim 28, wherein the time slot sequence comprises a o control time slot sequence comprising a plurality of control time slots and a data time slot sequence comprising a plurality of data time slots.
34. The scheduling circuit according to claim 33, wherein part of data time slot sequence is allocated to a communication device for data transmission.
35. The scheduling circuit according to claim 28, wherein the allocating circuit is further configured to specify the starting time slot of the other set of time slots in the time sequence.
36. The scheduling circuit according to claim 28, wherein the allocation circuit is further configured to specify the number of time slots comprised in the other set of time slots.
37. The scheduling circuit according to claim 28, wherein the allocation circuit is further configured to specify the number of repetitions of the time slot sequence for which the other set of time slots is allocated to the communication device.
38. The scheduling circuit according to claim 28, wherein the allocation circuit is further configured to specify the number of repetitions of the time slot sequence after which the other set of time slot starts to be allocated to the communication device relative to a beginning repetition of the time slot sequence.
39. A method for allocating a set of time slot comprising at least one time slot to a communication device: detecting whether interference has occurred in a data transmission between the communication device and another communication device for which a set of time slots comprising at least a time slot has been used that is allocated to the communication device, wherein the set of time slots is part of a time slot sequence that is repeated periodically; cancelling the allocation of the set of time slots to the communication device if it has been detected that interference has occurred in the data transmission; determining another set of time slots comprising at least one time slot of the time slot sequence to be allocated to the communication device, wherein a relative position of the other set of time slots to the set of time slots in the sequence of time slots is determined based on a pre- determined parameter, and the other set of time slots is determined such that it has the determined relative position to the set of time slots; allocating the other set of time slots to the communication device for a further data transmission.
5
40. A communication device comprising a detector configured to detect whether interference has occurred between a first data transmission between a first communication device and a second communication device and a second data transmission between a third communication device and a fourth communication o device, wherein a radio resource allocated to the first communication device and allocated to the third communication device has been used for the first data transmission and the second data transmission; a cancelling circuit configured to cancel the allocation of the radio resource to the first communication device if it has been detected that interference has occurred between the first data 5 transmission and the second data transmission; a signaling circuit configured to signal that the allocation of the radio resource to the first communication device has been cancelled and that the radio resource remains to be allocated to the third communication device.
0 41. The communication device according to claim 40, wherein the signaling circuit is configured to signal the cancellation of the radio resource to the first communication device with a Medium Access Control layer message.
42. The communication device according to claim 40, which is registered in an ad-hoc 5 communication network comprising a plurality of ad-hoc communication devices.
43. The communication device according to claim 40, which is registered in a mesh communication network comprising a plurality of communication devices and at least one base station as a central control of the plurality of communication devices, wherein each 0 communication device communicates with the at least one base station directly or via at least one other communication device.
44. A method for adjusting allocation of a radio resource, comprising: detecting whether interference has occurred between a first data transmission between a first communication device and a second communication device and a second data transmission between a third communication device and a fourth communication device, wherein the radio resource allocated to the first communication device and allocated to the third communication device has been used for the first data transmission and the second data transmission; cancelling the allocation of the radio resource to the first communication device if it has been detected that interference has occurred between the first data transmission and the second data transmission; signaling that the allocation of the radio resource to the first communication device has been cancelled and that the radio resource remains to be allocated to the third communication device.
45. A communication device comprising a determining circuit configured to determine the degree of utilization of radio resources allocated to the communication device for data transmissions carried out by the communication device; a comparing circuit configured to compare the degree of utilization with a pre-determined threshold; a controller configured to initiate the allocation of additional radio resources if the degree of utilization is higher than the pre-determined threshold or configured to initiate the release of at least some of the radio resources if the degree of utilization is lower than the pre-determined threshold.
46. The communication device according to claim 45, wherein the radio resources comprise a plurality of time slots of a time slot sequence that is repeated periodically.
47. The communication device according to claim 45, wherein the radio resources are a range of frequencies, a frequency band, or a plurality of frequency bands.
48. The communication device according to claim 45, wherein the radio resources are a combination of time slots of a time slot sequence that is repeated periodically or a combination of frequencies.
5 49. The communication device according to claim 45, wherein the comparing circuit is configured to compare the degree of utilization with a higher pre-determined threshold and a lower pre-determined threshold.
50. The communication device according to claim 49, wherein the controller is configured to o initiate the allocation of additional radio resources if the degree of utilization is higher than the higher pre-determined threshold or configured to initiate the release of at least some of the radio resources if the degree of utilization is lower than the lower pre-determined threshold.
51. The communication device according to claim 46, wherein degree of utilization of the 5 radio resources during period τ is calculated as
U (A(I1)) ^ ^- — x n Tf wherein the periodicity of the slot sequence is Tf , A(I1) represents the data transmission, U(A(I1)) represents the degree of utilization of the allocated radio resources during period r of o the data transmission, M Λ represents number of time slots used for data transmission during period T , and n represents number of time slots allocated in each time slot sequence for the communication device.
52. The communication device according to claim 45, which is registered in an ad-hoc 5 communication network comprising a plurality of ad-hoc communication devices.
53. The communication device according to claim 45, which is registered in a mesh communication network comprising a plurality of communication devices and at least one base station as a central control of the plurality of communication devices, wherein each communication device communicates with the at least one base station directly or via at least one other communication device.
54. A method for adjusting the allocation of radio resources to a communication device for 5 data transmissions carried out by the communication device, comprising: determining the degree of utilization of radio resources allocated to the communication device; comparing the degree of utilization with a pre-determined threshold; initiating the allocation of additional radio resources if the degree of utilization is higher o than the pre-determined threshold or configured to initiate the release of at least some of the radio resources if the degree of utilization is lower than the pre-determined threshold.
55. A message generating circuit configured to generate a Medium Access Control layer message comprising routing 5 information based on which a communication route to a communication device in a communication network in which the communication device is registered may be determined.
56. The message generating circuit according to claim 55, wherein the Medium Access o Control layer message is a message of a plurality of Medium Access Control layer messages transmitted periodically.
57. The message generating circuit according to claim 55, wherein the communication network is an ad-hoc communication network comprising a plurality of ad-hoc communication 5 devices.
58. The message generating circuit according to claim 55, wherein the communication network is a mesh communication network comprising a plurality of communication devices and at least a base station as a central control of the plurality of communication devices, wherein0 each communication device communicates with the at least one base station directly or via one or more other communication devices.
59. The message generating circuit according to claim 58, wherein the communication route is a path in the communication network for data transmission comprising the communication device and the at least one base station.
60. The message generating circuit according to claim 58, wherein the routing information comprises a hop count number indicating the number of other communication devices in the route between the base station and the communication device.
61. The message generating circuit according to claim 58, wherein the message generating circuit is in the at least one base station, and the message generating circuit is configured to include a sequence number in the Medium Access Control layer message to indicate the sequence of the Medium Access Control layer message by increasing the sequence number each time the Medium Access Control layer message is sent out.
62. The message generating circuit according to claim 61, wherein the message generating circuit is in a communication device other than a base station and the message generating circuit is configured to determine whether a received Medium Access Control layer message is newer than another received Medium Access Control layer message based on a detection of the sequence number included in the Medium Access Control layer message.
63. The message generating circuit according to claim 58, wherein the routing information . further comprises a next hop information indicating the nearest communication device to the communication device in the route between the communication device and the at least one base station.
64. The message generating circuit according to claim 63, wherein the routing information further comprises a neighbor list recording one or more neighbor communication devices that may be used as a nearest communication device to the communication device in the route between the communication device and the at least one base station.
65. The message generating circuit according to claim 64, configured to use an upper threshold of the signal strength of signals received from another communication device and a lower threshold of the signal strength of signals received from the other communication device as a criteria to determine whether or not the other communication device may be considered as a 5 nearest neighbor device to the communication device for relaying data transmission in the route between the communication device and the at least one base station.
66. The message generating circuit according to claim 65, wherein if the signal strength of signals received from the other communication device is higher than the upper threshold and o if the other communication device has not been recorded in the neighbor list, the other communication device is considered to satisfy the criteria and is included in the neighbor list.
67. The message generating circuit according to claim 65, wherein if the other communication device has been recorded in the neighbor list, and if the signal strength of signals received5 from the other communication device is lower than the lower threshold, the other communication device is not considered to satisfy the criteria and the message generating circuit is configured to remove the other communication device from the neighbor list.
68. The message generating circuit according to claim 65, wherein if the signal strength of o signals received from the nearest neighbor communication device is determined to be lower than the lower threshold, the message generating circuit is configured to remove the nearest neighbor communication device from the routing information.
69. The message generating circuit according to claim 68, further configured to determine a new 5 nearest neighbor communication device the received signal strength of which is higher than the upper threshold and whose sequence number included in the Medium Access Control layer message is larger than the current sequence number, and whose hop count number is smallest among other communication devices, and further configured to include the new neighbor communication device in the routing information. 0
70. A method for generating a message comprising generating a Medium Access Control layer message comprising routing information based on which a communication route to a communication device in a communication network in which the communication device is registered may be determined.
5 71. A message generating circuit of a first communication device for generating a routing message to be sent to a second communication device configured to generate routing information, wherein the routing information comprises a plurality of flags, each flag being associated with one of plurality of communication devices and to set the value of each flag such that the flag indicates whether or not the o respective one of the plurality of communication devices may be reached by a route in the communication network comprising the first communication device and configured to generate the routing message based on the routing information.
72. The message generating circuit according to claim 71, wherein the routing message is a 5 Medium Access Control layer message.
73. The message generating circuit according to claim 71, wherein the communication network is a mesh communication network comprising the plurality of communication devices and at least a base station as a central control of the plurality of communication devices, wherein o each communication device communicates with the at least one base station directly or via one or more other communication devices.
74. The message generating circuit according to claim 73, wherein the route is a path for data transmission comprising the at least one base station and the first communication device.5
75. The message generating circuit according to claim 74, wherein the value of each flag of the routing information is set to be a first pre-defined value if the respective communication device of the plurality of communication devices may be reached by a route in the communication network comprising the first communication device, and the value is set to be0 a second pre-defined value if the respective communication device of the plurality of communication devices may not be reached by a route in the communication network comprising the first communication device.
76. The message generating circuit according to claim 75, wherein each communication device of the plurality of communication devices is associated with an address comprising a plurality of bits, each bit corresponding to one of the plurality of flags and the bit being associated with the respective communication device of the plurality of communication devices having the first pre-defined value.
77. The message generating circuit according to claim 76, wherein the values of bits corresponding to flags associated with the other communication devices are set to be the second pre-defined value.
78. The message generating circuit according to claim 77, wherein the message generating circuit is configured to set the routing information by a combination of the address of the first communication device, and the address of a third communication device wherein the third communication device is nearest to the first communication device in the route between the first communication device and the at least one base station.
79. The message generating circuit according to claim 78, wherein the combination further includes routing messages from a set of communication devices comprising at least one communication device wherein each communication device of the set of communication devices indicates in the routing message of the respective communication device of the set of communication devices that the first communication device is a nearest communication device to the respective communication device in the route between the respective communication device and the at least one base station.
80. The message generating circuit according to claim 79, wherein the combination is according to an exclusive disjunction function, wherein the value of each flag of the routing message of the first communication device is set by performing an exclusive disjunction function, for the value of each bit associated with a respective communication device in the address of the first communication device and the value of the bit associated with the same communication device in the address of the third communication device, and the flags associated with the same communication device in the routing messages from the set of communication devices.
5 81. The message generating circuit according to claim 80, wherein the value of the bit associated with the first communication device in the routing message of the first communication device is set to be the first pre-defined value.
82. The message generating circuit according to claim 79, wherein the combination is according0 to a disjunction function, wherein the value of each flag of the routing message of the first communication device is set by performing a disjunction function, for the value of each bit associated with a respective communication device in the address of the first communication device, and the value of the bit associated with the same communication device in the address of the third communication device, and the flags associated with the same 5 communication device in the routing messages from the set of communication devices.
83. The message generating circuit according to claim 73, wherein the routing information further comprises a next hop information indicating the nearest communication device of the first communication device in the route between the first communication device and the at o least one base station.
84. The message generating circuit according to claim 73, wherein the routing information further comprises a plurality of sub-flags, each sub-flag being associated with one of the plurality of flags in the routing information and the respective communication device of the 5 flag, and wherein the message generating circuit is configured to set the value of each sub- flag such that the sub-flag indicates whether or not the respective flag is valid for indicating whether or not the respective communication device may be reached by a route in the communication network comprising the first communication device. 0
85. The message generating circuit according to claim 84, wherein the value of each sub-flag of the routing information is set to be a third pre-defined value only if the first communication device has received a routing message from the respective communication device that the sub-flag is associated with and the routing message from the respective communication device indicates that the first communication device may be reached by a routing comprising the respective communication device, and only if the message generating circuit of the first 5 communication device has not generated a message including the routing information based on the routing information message from the respective communication device.
86. The message generating circuit according to claim 85, wherein if the value of the sub-flag is the third pre-defined value, the value of the flag that the sub-flag is associated with is set to0 be the first pre-defined value.
87. The message generating circuit according to claim 84, wherein the value of each sub-flag of the routing information is set to be a fourth pre-defined value if the first communication device has not received a routing message from the respective communication device that the5 sub-flag is associated with wherein the routing message of the respective communication device indicates that the first communication device may be reached by a routing comprising the respective communication device, or if the first communication device has received a routing message from the respective communication device that the sub-flag is associated with wherein the routing message from the respective communication device indicates that o the first communication device may be reached by a routing comprising the respective communication device, and the message generating circuit of the first communication device has generated a message including the routing information based on the routing information message from the respective communication device. 5
88. The message generating circuit according to claim 87, wherein if the value of the sub-flag is the fourth pre-defined value, the value of the flag that the sub-flag is associated with is set to be the second pre-defined value.
89. The message generating circuit according to claim 71, configured to detect whether the0 generated routing information is the same as a preceding routing information, and to generate a repeating message comprising a flag indicating that the routing information has not been changed.
90. The message generating circuit according to claim 71, configured to detect whether the 5 generated routing information is the same as a preceding routing information and whether the preceding routing information has been repeated for a predetermined number of times, and to generate a repeating message comprising a flag indicating that the routing information has not been changed and has been repeated for at least the predetermined number of times. 0
91. The message generating circuit according to claim 71 , further configured to generate a simplified routing message such that the simplified routing message corresponds to the routing information, the simplified routing message comprising a plurality of flags, wherein the number of flags of the simplified routing message is less than the number of flags of the routing information. 5
92. The message generating circuit according to claim 91, further configured to generate a same simplified routing message of a previously generated routing message to indicate that the generated routing message is same with the previously generated routing message if the message generating circuit detects that the generated routing information is same as the o routing information of the previously generated routing message.
93. The message generating circuit according to claim 71, further configured to generate a pre- compression information by a combination of the generated routing information and a previous routing information, the pre-compression information comprising a plurality of 5 flags, each flag being associated with one of the plurality of flags of the generated routing information.
94. The message generating circuit according to claim 93, wherein the combination is according to an exclusive disjunction function, wherein the value of each flag of the pre-compression0 information is set by performing an exclusive disjunction function for the value of the respective flag of the routing information that is associated with one of the plurality of communication devices and the value of the flag that is associated with a same communication device in the previous routing information.
95. The message generating circuit according to claim 93, further configured to generate a 5 simplified routing message corresponding to the generated pre-compression information, wherein the simplified routing message comprises one or a plurality of flags, and the number of flags of the simplified routing message is less than the number of flags in the pre- compression information. 0
96. The message generating circuit according to claim 95, wherein the simplified routing message is generated according to a predetermined dictionary, such that a plurality of flags with each flag having a certain value in the pre-compression information correspond to at least one flag with a predetermined value in the simplified routing message. 5
97. The message generating circuit according to claim 96, further configured to store the predetermined dictionary, and to include the pre-determined dictionary in the simplified routing message at least for one time.
98. The message generating circuit according to claim 73, wherein the routing message further o comprises a sequence number indicating the sequence of the routing message such that a largest sequence number indicates that the routing message is the latest one.
99. A method for generating a routing message by a first communication device to be sent to a second communication device, comprising: 5 generating routing information, wherein the routing information comprises a plurality of flags, each flag being associated with one of plurality of communication devices setting the value of each flag such that the flag indicates whether or not the respective one of the plurality of communication devices may be reached by a route in the communication network comprising the first communication device o generating the routing message based on the routing information.
EP09758633A 2008-06-06 2009-06-04 Communication devices and methods for scheduling and allocating of radio resources and communication devices and methods for routing in a communication network Withdrawn EP2289276A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US5959108P 2008-06-06 2008-06-06
PCT/SG2009/000196 WO2009148410A1 (en) 2008-06-06 2009-06-04 Communication devices and methods for scheduling and allocating of radio resources and communication devices and methods for routing in a communication network

Publications (1)

Publication Number Publication Date
EP2289276A1 true EP2289276A1 (en) 2011-03-02

Family

ID=41398342

Family Applications (1)

Application Number Title Priority Date Filing Date
EP09758633A Withdrawn EP2289276A1 (en) 2008-06-06 2009-06-04 Communication devices and methods for scheduling and allocating of radio resources and communication devices and methods for routing in a communication network

Country Status (2)

Country Link
EP (1) EP2289276A1 (en)
WO (1) WO2009148410A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10098154B2 (en) 2010-07-08 2018-10-09 Qualcomm Incorporated Method and apparatus for detection and resolution of resource collision in a peer-to-peer network
WO2016029406A1 (en) 2014-08-28 2016-03-03 Telefonaktiebolaget L M Ericsson (Publ) Communication devices and methods therein for enabling interference management of data transmissions in a wireless communications network
CN111050405B (en) * 2019-12-04 2023-04-18 中国人民解放军军事科学院国防科技创新研究院 Time slot election method, device, equipment and readable storage medium
US11736217B2 (en) * 2021-06-14 2023-08-22 Harris Global Communications, Inc. On demand data delivery in a wireless network
CN117812617B (en) * 2024-02-23 2024-05-07 山东浪潮数据库技术有限公司 Method for identifying subnet interference in wireless ad hoc network

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7149183B2 (en) * 2001-04-18 2006-12-12 Skypilot Networks, Inc. Network channel access protocol - slot allocation
US7333458B2 (en) * 2002-01-10 2008-02-19 Harris Corporation Wireless communication network including directional and omni-directional communication links and related methods
US7580394B2 (en) * 2002-11-27 2009-08-25 Nokia Corporation System and method for collision-free transmission scheduling in a network
WO2006020800A2 (en) * 2004-08-10 2006-02-23 Meshnetworks, Inc. Software architecture and hardware abstraction layer for multi-radio routing and method for providing the same
US8599822B2 (en) * 2005-03-23 2013-12-03 Cisco Technology, Inc. Slot-based transmission synchronization mechanism in wireless mesh networks
AU2005338057B2 (en) * 2005-11-09 2011-04-21 Interdigital Ce Patent Holdings Route selection in wireless networks
US20070133592A1 (en) * 2005-12-13 2007-06-14 Heyun Zheng Method for tree-based spatial time division multiple access (TDMA) scheduling in a multi-hop wireless
US20070274286A1 (en) * 2006-05-24 2007-11-29 Ranganathan Krishnan Overhead reduction in an ad-hoc wireless network
US7929546B2 (en) * 2006-05-25 2011-04-19 Motorola Solutions, Inc. Systems, methods and apparatus for allocating time slots in an ad hoc wireless communication network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2009148410A1 *

Also Published As

Publication number Publication date
WO2009148410A1 (en) 2009-12-10

Similar Documents

Publication Publication Date Title
JP6505884B2 (en) Method for scheduling transmissions in a wireless network
Sankaranarayanan et al. A bandwidth sharing approach to improve licensed spectrum utilization
JP6530523B2 (en) Method for scheduling closed loop information in a wireless network
KR100751124B1 (en) A method and system for forwarding information in a multi-hop in a multi-hop network having multiple nodes and a communication node in a packet radio multi-hop network
Ma et al. Single-radio adaptive channel algorithm for spectrum agile wireless ad hoc networks
Chen et al. Channel-aware routing in MANETs with route handoff
AU2002325401B2 (en) Radio Communication System, Base Station, Relay Station, Mobile Station, and Packet Transmission Control Method
Chiu et al. J-CAR: An efficient joint channel assignment and routing protocol for IEEE 802.11-based multi-channel multi-interface mobile ad hoc networks
CN103548391B (en) Wireless communication system and method
JP2018182727A (en) Method for assisting bidirectional communication in wireless network
KR20090108545A (en) Method and system for establishing cooperative routing in wireless networks
Tata et al. Multipath routing algorithm for device-to-device communications for public safety over LTE heterogeneous networks
Li et al. Oppcast: Opportunistic broadcast ofwarning messages in vanets with unreliable links
KR20050104409A (en) Method and base station for the transmission of information in a cellular radio communication system extended by means of ad-hoc connections
Darabkh et al. An improved reactive routing protocol over mobile Ad-hoc networks
WO2009148410A1 (en) Communication devices and methods for scheduling and allocating of radio resources and communication devices and methods for routing in a communication network
Bononi et al. Enhancing multi-hop communication over multi-radio multi-channel wireless mesh networks: A cross-layer approach
EP1564937B1 (en) Broadcast method in a WPAN network
Gawas et al. Cross layered adaptive cooperative routing mode in mobile ad hoc networks
Lee et al. A cooperative relay scheme for tactical multi-hop wireless networks
Abada et al. Improving relay selection scheme for connecting VANET to internet over IEEE 802.11 p
Kondylis et al. Multicasting sustained CBR and VBR traffic in wireless ad-hoc networks
Yang et al. Admission control for wireless mesh networks based on active neighbor bandwidth reservations
Shrivastava et al. Comparison of AOMDV Routing Protocol under IEEE802. 11 and TDMA Mac Layer Protocol
Choi et al. Geographic transmission with optimized relaying (GATOR) for the uplink in mesh networks

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20110106

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL BA RS

DAX Request for extension of the european patent (deleted)
RIN1 Information on inventor provided before grant (corrected)

Inventor name: SU, WEN

Inventor name: GE, YU

Inventor name: KONG, PENG YONG

Inventor name: PATHMASUNTHARAM, JAYA SHANKAR

Inventor name: ANG, CHEE WEI

Inventor name: WANG, HAIGUANG

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20130103