Method of controlling data transmission in a wireless mesh network and node thereof
There is provided a method of controlling data transmission in a wireless mesh network including a plurality of nodes capable of transmitting and receiving data packets. The method includes providing a frame comprising a plurality of time slots for data transmission, classifying the plurality of time slots into a plurality of sets of time slots, and determining, at a node of the plurality of nodes, a set of time slots amongst the plurality of sets of time slots for the node to transmit data packets, the set of time slots being determined based on a hop count associated with the node. There is also provided corresponding node(s) in a wireless mesh network configured to perform data transmission in the above manner.
Latest AGENCY FOR SCIENCE, TECHNOLOGY AND RESEARCH Patents:
- Systems and methods for corneal property analysis using terahertz radiation
- Direct and selective inhibition of MDM4 for treatment of cancer
- One-step process for making a polymer composite coating with high barrier
- Biodegradable functional polycarbonate nanoparticle carries for delivering molecular cargo
- METHOD
This patent application is a U.S. National Phase application under 35 U.S.C. § 371 of International Application No. PCT/SG2017/050093, filed on 28 Feb. 2017, entitled METHOD OF CONTROLLING DATA TRANSMISSION IN A WIRELESS MESH NETWORK AND NODE THEREOF, which claims the benefit of priority of Singapore Patent Application No. 10201601525V, filed 29 Feb. 2016, the contents of which were incorporated by reference in their entirety for all purposes.
TECHNICAL FIELDThe present invention generally relates to a method of controlling data transmission in a wireless mesh network and corresponding node(s) in the wireless mesh network.
BACKGROUNDWith the development of Smart Grid and Internet of Things (IoT) technique, large scale wireless mesh network are becoming common. A large scale wireless mesh network may involve hundreds of nodes which are wirelessly connected to each other by one or more links (e.g., radio frequency communication channels). Data transmission may go through tens of hops via multiple nodes in the wireless mesh network. Accordingly, the data transmission of each node may need to compete for the precious wireless medium with the data transmissions of hundreds of other nodes in the wireless mesh network.
Carrier Sense Multiple Access (CSMA) and Time Division Multiple Access (TDMA) are two conventional protocols for coordinating/controlling data transmission by nodes in a wireless mesh network.
Generally, CSMA is a probabilistic Media Access Control (MAC) protocol in which a node verifies the absence of other traffic before transmitting on a shared physical medium. The node verifies the absence of other traffic by listening/sensing for network signals before attempting to transmit data packets. If a network signal is sensed, the node waits for the transmission to end before retrying to transmit its data packets. On the other hand, if no network signal is sensed, the node may then proceed to transmit its data packets. The conventional CSMA protocol may be efficient when the wireless mesh network scale is small. However, when the number of nodes increases, the number of collisions of data transmissions by nodes may increase significantly, thus making the network perform very poorly or inefficiently.
Generally, TDMA is a MAC protocol which allows multiple nodes to share and use the same transmission channel by dividing signals into different time slots. Multiple nodes transmit in rapid succession, and each node uses their own time slot. This allows multiple nodes to share the same transmission medium (frequency channel). Accordingly, TDMA requires time synchronization and slot reservation for collision free transmission. Thus, TDMA may avoid data collision at the cost of software (broadcast of transmission schedule) and hardware (precise timing). The conventional TDMA protocol may work well when the wireless mesh network scale is one to two hops but if the hop count goes up, the difficulty in scheduling the transmission over the entire wireless mesh network may make TDMA impossible or impractical to implement.
A need therefore exists to provide a method of controlling data transmission in a wireless mesh network, and node(s) thereof that seek to overcome, or at least ameliorate, one or more of the deficiencies of conventional approaches in controlling data transmission in a wireless mesh network. It is against this background that the present invention has been developed.
SUMMARYAccording to a first aspect of the present invention, there is provided a method of controlling data transmission in a wireless mesh network, the wireless mesh network comprising a plurality of nodes capable of transmitting and receiving data packets, the method comprising:
-
- providing a frame comprising a plurality of time slots for data transmission;
- classifying the plurality of time slots into a plurality of sets of time slots; and
- determining, at a node of the plurality of nodes, a set of time slots amongst the plurality of sets of time slots for the node to transmit data packets, the set of time slots being determined based on a hop count associated with the node.
In various embodiments, said classifying the plurality of time slots comprises classifying the plurality of time slots into a number of sets of time slots, the number of sets of time slots being determined based on an interference range of the node.
In various embodiments, the number of sets of time slots is determined based on the number of hops, from the node to one or more other nodes in the plurality of nodes, being within the interference range.
In various embodiments, the number of sets of time slots is determined to be equal to or greater than said number of hops plus two.
In various embodiments, the determined set of time slots is determined amongst the plurality of sets of time slots based on the hop count associated with the node and the number of sets of time slots.
In various embodiments, the determined set of time slots is determined amongst the plurality of sets of time slots based on a value obtained from the hop count associated with the node modulo the number of sets of time slots.
In various embodiments, the plurality of sets of time slots is located separate from each other and in time order in the frame, and the determined set of time slots has a time order associated therewith in the frame satisfying a predefined relationship to said value obtained.
In various embodiments, the node is scheduled based on the frame to transmit data packets in the determined set of time slots, and the node is configured to randomly select a time slot in the determined set of time slots for transmitting the data packets.
In various embodiments, the node is further configured to perform a delay for a random time period from a start of the selected time slot prior to transmitting the data packets.
In various embodiments, the node is configured to transmit data packets at the selected time slot based on a Carrier Sense Multiple Access (CSMA) protocol.
In various embodiments, one of the plurality of nodes is a base node, and the hop count of the node is determined based on the number of hops between the base node and the node.
In various embodiments, the frame further comprises one or more additional time slots reserved for CSMA back-off and auto-retransmission located adjacent an end of each of the plurality of sets of time slots.
According to a second aspect of the present invention, there is provided a node in a wireless mesh network comprising a plurality of nodes capable of transmitting and receiving data packets, the node comprising:
-
- a frame module configured to provide a frame comprising a plurality of time slots for data transmission;
- a classification module configured to classify the plurality of time slots into a plurality of sets of time slots; and
- a time slot determination module configured to determine a set of time slots amongst the plurality of sets of time slots for the node to transmit data packets, the set of time slots being determined based on a hop count associated with the node.
In various embodiments, the classification module is configured to classify the plurality of time slots into a number of sets of time slots, the number of sets of time slots being determined based on an interference range of the node.
In various embodiments, the number of sets of time slots is determined based on the number of hops, from the node to one or more other nodes in the plurality of nodes, being within the interference range.
In various embodiments, the determined set of time slots is determined amongst the plurality of sets of time slots based on the hop count associated with the node and the number of sets of time slots.
In various embodiments, the node is scheduled based on the frame to transmit data packets in the determined set of time slots, and the time slot determination module is further configured to randomly select a time slot in the determined set of time slot for transmitting the data packets.
In various embodiments, the node is configured to transmit data packets at the selected time slot based on a Carrier Sense Multiple Access (CSMA) protocol.
In various embodiments, one of the plurality of nodes is a base node, and the hop count of the node is determined based on the number of hops between the base node and the node.
According to a third aspect of the present invention, there is provided a computer program product, embodied in one or more computer-readable storage mediums, comprising instructions executable by one or more computer processors to perform a method of controlling data transmission in a wireless mesh network, the wireless mesh network comprising a plurality of nodes capable of transmitting and receiving data packets, the method comprising:
-
- providing a frame comprising a plurality of time slots for data transmission;
- classifying the plurality of time slots into a plurality of sets of time slots; and
- determining, at a node of the plurality of nodes, a set of time slots amongst the plurality of sets of time slots for the node to transmit data packets, the set of time slots being determined based on a hop count associated with the node.
Embodiments of the present invention will be better understood and readily apparent to one of ordinary skill in the art from the following written description, by way of example only, and in conjunction with the drawings, in which:
Embodiments of the present invention provide a method of controlling data transmission in a wireless mesh network (or may interchangeably be referred to as a wireless ad-hoc network), and node(s) thereof that seek to overcome, or at least ameliorate, one or more of the deficiencies of conventional approaches in controlling data transmission in a wireless mesh network. For example, the method of controlling data transmission according to various embodiments of the present invention has been found to significantly improve data throughput in the wireless mesh network (including large scale mesh network) at low cost.
Accordingly, in a wireless mesh network such as shown in
By way of an example only and without limitation,
When a node transmits a message, the wireless signal may cover a circular zone about the node. The circular zone may be divided into two zones/sections, namely, a transmission zone/section and an interference zone/section. In the transmission zone (or may interchangeably be referred to as communication zone), the signal strength is sufficiently strong for a node therein to receive the signal correctly. In the interference zone, the signal strength is too weak for a node therein to correctly receive the signal, but is too strong for the signal to be overlooked. The wireless signal thus becomes noise for nodes within the interference zone.
For illustration purposes only and without limitation,
To avoid a collision in data transmission from multiple nodes, with reference to the exemplary wireless mesh network 200 shown in
Accordingly, various embodiments of the present invention advantageously provide a hop-count based data transmission method/technique for a wireless mesh network to overcome, or at least ameliorate, one or more of the deficiencies of conventional approaches in controlling data transmission in a wireless mesh network. For example, since time slots are classified into a plurality of sets of time slots (e.g., time slots are grouped into multiple groups for different groups of nodes) and a set of time slots amongst the plurality of sets of time slots is determined for a node to transmit data packets based on a hop count associated with the node, sets of time slots are respectively and effectively assigned/reserved to the different groups of nodes (classified based on their hop counts). Accordingly, nodes having hop counts that may cause interference/collision if such nodes were to transmit data at the same time (e.g., nodes 202-1 and 202-4 in the example of
In various embodiments, the plurality of sets of time slots may be located separate from each other (i.e., no overlapping transmission time) and in time order in the frame. For example and without limitation, the plurality of sets of time slots may include a first set for a first group of nodes (e.g., classified or referred to as Group 0) including the base/reference node and node(s) having a hop count which is a multiple of a predetermined number (e.g., four), a second set for a second group of nodes (e.g., classified or referred to as Group 1) including node(s) having a hop count of one and node(s) having a hop count which after minus one is a multiple of the predetermined number, a third set for a third group of nodes (e.g., classified or referred to as Group 2) including node(s) having a hop count of two and node(s) having a hop count which after minus two is a multiple of a predetermine number plus two, and so on. Based on the example of
In various embodiments, the plurality of time slots is classified into a number of sets of time slots based on an interference range of the node. In further embodiments, the number of sets of time slots is determined based on the number of hops, from the node to one or more other nodes in the plurality of nodes, being within the interference range. In still further embodiments, the number of sets of time slots is determined to be equal to or greater than the above-mentioned number of hops plus two. For example, referring to the example of
In various embodiments, the determined set of time slots is determined amongst the plurality of sets of time slots based on the hop count associated with the node and the number of sets of time slots. In further embodiments, the determined set of time slots is determined amongst the plurality of sets of time slots based on a value obtained from the hop count associated with the node modulo the number of sets of time slots (i.e., remainder of the division of the hop count associated with the node and the number of sets of time slots). In still further embodiments, the plurality of sets of time slots is located separate from each other and in time order in the frame, and the determined set of time slots has a time order associated therewith in the frame satisfying a predefined relationship to such a value obtained. For example, referring back to the example of
In various embodiments, the node is scheduled based on the frame to transmit data packets in the determined set of time slots, and the node is configured to randomly select a time slot in the determined set of time slots for transmitting the data packets. In further embodiments, the node is further configured to perform a delay for a random time period from a start of the selected time slot prior to transmitting data packets.
In various embodiments, the node (e.g., each node of the plurality of nodes) is configured to transmit data packets at the selected time slot based on a CSMA protocol, for example and without limitation, a CSMA-based Wi-Fi protocol.
In various embodiments, one of the plurality of nodes is a base node (or interchangeably referred to as reference node), and the hop count of the node in the plurality of nodes is determined based on the number of hops from the base node to the node. The hop count of any other node in the plurality of nodes is also determined based on the number of hops from the base node to such other node.
In various embodiments, the frame further comprises one or more additional time slots reserved for CSMA back-off and auto-retransmission located adjacent an end of each of the plurality of sets of time slots. For example, such additional time slot(s) may be located immediately after the end of the set of time slots assigned to a group of nodes. Accordingly, in various embodiments, the time slots for a group of nodes may comprise a controlled region/section comprising the above-mentioned set of time slots for scheduling data transmission timings of the group of nodes, and a buffered region/section comprising the above-mentioned additional time slots reserved for CSMA back-off and auto-retransmission.
A computing system, a controller, a microcontroller or any other system providing a processing capability may be presented according to various embodiments in the present disclosure. Such a system may be taken to include one or more processors and one or more computer-readable storage mediums. For example, as mentioned above, the node 400 described herein includes a processor (or controller) 408 and a computer-readable storage medium (or memory) 410 which are for example used in various processing carried out therein as described herein. A memory or computer-readable storage medium used in various embodiments may be a volatile memory, for example a DRAM (Dynamic Random Access Memory) or a non-volatile memory, for example a PROM (Programmable Read Only Memory), an EPROM (Erasable PROM), EEPROM (Electrically Erasable PROM), or a flash memory, e.g., a floating gate memory, a charge trapping memory, an MRAM (Magnetoresistive Random Access Memory) or a PCRAM (Phase Change Random Access Memory).
In various embodiments, a “circuit” may be understood as any kind of a logic implementing entity, which may be special purpose circuitry or a processor executing software stored in a memory, firmware, or any combination thereof. Thus, in an embodiment, a “circuit” may be a hard-wired logic circuit or a programmable logic circuit such as a programmable processor, e.g. a microprocessor (e.g. a Complex Instruction Set Computer (CISC) processor or a Reduced Instruction Set Computer (RISC) processor). A “circuit” may also be a processor executing software, e.g. any kind of computer program, e.g. a computer program using a virtual machine code such as e.g. Java. Any other kind of implementation of the respective functions which will be described in more detail below may also be understood as a “circuit” in accordance with various alternative embodiments. Similarly, a “module” may be a portion of a system according to various embodiments in the present invention and may encompass a “circuit” as above, or may be understood to be any kind of a logic-implementing entity therefrom.
Some portions of the present disclosure are explicitly or implicitly presented in terms of algorithms and functional or symbolic representations of operations on data within a computer memory. These algorithmic descriptions and functional or symbolic representations are the means used by those skilled in the data processing arts to convey most effectively the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities, such as electrical, magnetic or optical signals capable of being stored, transferred, combined, compared, and otherwise manipulated.
Unless specifically stated otherwise, and as apparent from the following, it will be appreciated that throughout the present specification, discussions utilizing terms such as “providing”, “determining”, “assigning”, “generating”, or the like, refer to the actions and processes of a computer system, or similar electronic device, that manipulates and transforms data represented as physical quantities within the computer system into other data similarly represented as physical quantities within the computer system or other information storage, transmission or display devices.
The present specification also discloses a system or an apparatus for performing the operations/functions of the methods described herein. Such a system or apparatus may be specially constructed for the required purposes, or may comprise a general purpose computer or other device selectively activated or reconfigured by a computer program stored in the computer. The algorithms presented herein are not inherently related to any particular computer or other apparatus. Various general purpose machines may be used with computer programs in accordance with the teachings herein. Alternatively, the construction of more specialized apparatus to perform the required method steps may be appropriate.
In addition, the present specification also at least implicitly discloses a computer program or software/functional module, in that it would be apparent to the person skilled in the art that the individual steps of the methods described herein may be put into effect by computer code. The computer program is not intended to be limited to any particular programming language and implementation thereof. It will be appreciated that a variety of programming languages and coding thereof may be used to implement the methods/techniques of the disclosure contained herein. Moreover, the computer program is not intended to be limited to any particular control flow. There are many other variants of the computer program, which can use different control flows without departing from the spirit or scope of the invention. It will be appreciated to a person skilled in the art that various modules described herein (e.g., the frame module 402, the classification module 404, and/or the time slot determination module 406) may be software module(s) realized by computer program(s) or set(s) of instructions executable by a computer processor to perform the required functions, or may be hardware module(s) being functional hardware unit(s) designed to perform the required functions. It will also be appreciated that a combination of hardware and software modules may be implemented.
Furthermore, one or more of the steps of the computer program/module or method may be performed in parallel rather than sequentially. Such a computer program may be stored on any computer readable medium. The computer readable medium may include storage devices such as magnetic or optical disks, memory chips, or other storage devices suitable for interfacing with a general purpose computer. The computer program when loaded and executed on such a general-purpose computer effectively results in an apparatus that implements the steps of the methods described herein.
In various embodiments, there is provided a computer program product, embodied in one or more computer-readable storage mediums (non-transitory computer-readable storage medium), comprising instructions (e.g., the frame module 402, the classification module 404, and/or the time slot determination module 406) executable by one or more computer processors to perform a method 300 of controlling data transmission in a wireless mesh network as described hereinbefore with reference to
The software or functional modules described herein may also be implemented as hardware modules. More particularly, in the hardware sense, a module is a functional hardware unit designed for use with other components or modules. For example, a module may be implemented using discrete electronic components, or it can form a portion of an entire electronic circuit such as an Application Specific Integrated Circuit (ASIC). Numerous other possibilities exist. Those skilled in the art will appreciate that the software or functional module(s) described herein can also be implemented as a combination of hardware and software modules.
The methods or functional modules of the various example embodiments as described hereinbefore may be implemented on a computer system (e.g., portable or desktop computer system), such as a computer system 500 as schematically shown in
It will be appreciated to a person skilled in the art that the terminology used herein is for the purpose of describing various embodiments only and is not intended to be limiting of the present invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
In order that the present invention may be readily understood and put into practical effect, various example embodiments of the present invention will be described hereinafter by way of examples only and not limitations. It will be appreciated by a person skilled in the art that the present invention may, however, be embodied in various different forms or configurations and should not be construed as limited to the example embodiments set forth hereinafter. Rather, these example embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the present invention to those skilled in the art.
Various example embodiments of the present invention provide a hop-count based data transmission technique (method of controlling data transmission) for mesh network which enhance the data transmission scheduling of CSMA with time-division features, that is, hop-count based time-division technique of controlling data transmission. Such a technique has advantageously been found to greatly improve the data delivery rate for large scale mesh network at very low cost.
For the sake of simplicity and without limitation or loss of generality, example embodiments described hereinbefore are based on the Free Space Model, with each node being equipped with an omni-directional antenna. All nodes are also assumed to have the same wireless features.
As described hereinbefore, when a node transmits a message, the wireless signal may cover a circular zone about the node. The circular zone may be divided into two zones/sections, namely, a transmission zone/section and an interference zone/section.
The free space path loss (FSPL) may be determined using the following equation:
FSPL(dB)=20 log10d+20 log10f+32.45 (Equation 1)
where d is the distance in kilometer (km), and f is the frequency in megahertz (MHz).
Considering the distance component of Equation 1, the FSPL at n times distance (i.e., at n*d) may be obtained using on the following equation:
FSPLdist(db)=20 log10(n*d)=20 log10n+20 log10 (Equation 2)
Accordingly, given the transmission range d, the signal strength will fade 20 log10 n dB at n*d distance. Table 1 below lists the path losses for several values of n.
Therefore, if a wireless signal's strength is Pd at the boundary of transmission range, the signal strength will become (Pd-Lossnd) at distance n*d. Accordingly, for a node at distance n*d, the received signal strength will obtain an extra noise (Pd−Lossnd).
In order to correctly demodulate a wireless signal at a node, the signal-to-noise ratio (SNR) at the node must be above a certain value. For example, typical minimal SNR value for Wi-Fi communication may be around 10 dB to 15 dB. Therefore, for Wi-Fi devices, the interference range may be more than three times of transmission range in free space. For some wireless devices, e.g., based on TV White Spaces (TVWS), the minimal SNR value is above 5 dB, therefore, the interference range may be two times of the transmission range.
For the sake of simplicity and without limitation or loss of generality, example embodiments described hereinbefore assume that (unless stated otherwise) the interference range is two times of the transmission range. However, it will be appreciated by a person skilled in the art that the same or similar principle applies to cases where the interference range and the transmission range are at other ratios/proportions.
Referring back to the example of
Accordingly, it is observed according to example embodiments of the present invention that when a node (with hop count N) is transmitting, nodes with up to three hops away from the transmitting node (e.g., for the linear deployment shown in
In the hop-count based time-division technique according to various example embodiments of the present invention, all nodes in the wireless mesh network are grouped (effectively) according to their respective hop count. Furthermore, each group has pre-allocated time slots to transmit. In particular, nodes that may not cause multiple hop interference may be grouped together such that they can transmit at the same time or in the same set of time slots. On the other hand, nodes that may cause interference to each other may be grouped in different groups to avoid sharing the same time slots or same set of time slots. The hop-count based time-division technique will now be described further below according to various example embodiments of the present invention.
As an initial step in the technique, a base node (e.g., a primary data sink, a gateway, or any predefined/preconfigured node) may be defined. Such a base node may have associated therewith a hop count of zero, and may function as a reference for other nodes in the mesh network to discover their respective hop counts. Subsequently, each node may broadcast control/routing messages, which includes the hop count information. Upon receiving the messages, each node may determine its hop count and then in turn transmits its control/routing messages, including the hop count information. After this process, each node in the mesh network will know its hop count from the base node. Furthermore, all nodes synchronize their time with the base node or a node with less hop count, for example, using network time protocol (NTP) or any other time synchronization protocol/techniques known in the art as desired or appropriate, such as based on GPS. For scheduling data transmission timings for the nodes in the mesh network, each node may divide the transmission time into repeating periods/frames 610, each frame 610 having a time period T, as for example illustrated in
In various example embodiments, all time slots are effectively grouped into at least m+2 groups/sets 614 of time slots 612 (e.g., “classifying the plurality of time slots” as described hereinbefore), “m” being the number of hops being within the interference range as described hereinbefore. Furthermore, the set 614 of time slots (denoted by a group identification, e.g., or Groupx) for a node x (i.e., the set of time slots reserved for node x) may be determined based on the hop count associated with node x, and in various example embodiments, using the following equation (e.g., the predefined relationship as described hereinbefore):
Groupx=Hopx%(m+2) (Equation 3)
where “%” denotes the modulo operator, and Hopx is the hop count associated with node x.
From
In various example embodiments, the frame further comprises one or more additional time slots 616 reserved for CSMA back-off and auto-retransmission for each group of nodes. For example, such additional time slot(s) 616 may be arranged adjacent (immediately after) the end of each set 614 of time slots as illustrated in
As referred to above,
Accordingly, various embodiments of the present invention advantageously use time-division mechanism/technique to address multiple-hop interference, and CSMA to address neighbourhood collision.
As mentioned hereinbefore, for the sake of simplicity, the example of
However, in such a case, multiple-hop interference may be possible between same hop-count nodes, since each node's interference zone may cover part of the ring, as shown in
In various example embodiments, one or more of the following techniques are implemented to reduce or mitigate the above-mentioned hop ring interference as illustrated in
-
- Move the base node to corner or edge of the mesh network. This has been found to reduce the number of nodes in the same hop ring;
- Message aggregation. This has been found to reduce the message transmissions and reduce the chance of hop ring interference;
- Reduce the signal transmission range to reduce the size of hop ring; and/or
- Lower the maximum number of packets a node may send in one round.
However, to improve the algorithm further, complex techniques may be required, such as two-dimensional or n-dimensional coordination algorithm. However, such two-dimensional or n-dimensional coordination algorithm may result in costs increasing exponentially and making it infeasible to employ.
Experiments/simulations were conducted in QualNet to test the performance of the hop count based data transmission mechanism. The simulations involved 256 (16×16) nodes, which were configured/arranged in grid formation, and adjacent nodes were separated by a distance of 300 meters (i.e., total area of 4.5 km×4.5 km). One node in the grid was selected as the base node and data sink. The remaining 255 nodes determined their hop counts with respect to the base node and sent constant bitrate (CBR) data to the base node. The packet size of the CBR data was 1000 bytes. The Physical Layer's bandwidth was set to 12 Mbps, and the transmitter and receiver model is based on 802.11a. Each node's radio coverage range was 367 m, each time slot was 5 ms, each cycle (T) consists of 100 time slots.
Two scenarios were simulated, namely, a first scenario (corner scenario) whereby the base node is at a grid corner, and a second scenario (center scenario) whereby base node is in the grid center. The node's hop counts range between 1 and 11 for the second scenario (grid center), and between 1 and 19 for the first scenario (grid corner). Interference range was assumed to be three hops. Therefore, each cycle is divided into five groups, each group consisting of 20 time slots, made up of 19 controlled slots and 1 buffered slot.
During the simulations, the interval of packet generation was adjusted to change the network load. Each scenario was run two times, once for the present hop-count based data transmission technique and another time for the traditional CSMA protocol. The simulation results are presented in a graph shown in
From the graph in
It can also be observed from the graph in
With the increase of number of packets, more simultaneous transmission happened for nodes with same hop count. The advantage gained through reducing size of hop ring is compensated by the number of simultaneous packets. The corner scenario shows similar results as center scenario, even though it has more hop counts.
For large scale mesh network, multiple hop interference will result serious packet lost. The hop count based data transmission/routing technique according to various embodiments of the present invention is advantageously able improve the data throughput significantly by reducing the multiple hop interference through time-division techniques.
Accordingly, various embodiments of the present invention advantageously provided a simple, low cost, and effective method/technique of controlling data transmission in a wireless mesh network. Furthermore, the method may be readily integrated into existing mesh network with minor software changes and minimal overheads. The above-discussed simulation results also demonstrated that the present method/technique is very effective and is able greatly improve the performance of mesh network.
While embodiments of the invention have 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 spirit and 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.
Claims
1. A method of controlling data transmission in a wireless mesh network, the wireless mesh network comprising a plurality of nodes capable of transmitting and receiving data packets, the method comprising:
- providing a frame comprising a plurality of time slots for data transmission;
- classifying the plurality of time slots into a plurality of sets of time slots, the plurality of sets of time slots having a number of sets of time slots, the number of sets of time slots being determined based on an interference range of the plurality of nodes, such that the plurality of time slots are classified into the plurality of sets of time slots for a plurality of groups of nodes of the plurality of nodes, respectively, and nodes in the plurality of nodes having respective hop counts associated therewith which are different but satisfy a predefined relationship based on the number of sets of time slots belong to a same group of the plurality of groups of nodes and are able to transmit data packets at a same set of time slots of the plurality of time slots, for avoiding multi-hop interference in data transmission in the frame amongst the plurality of nodes; and
- determining, at a node of the plurality of nodes, a set of time slots amongst the plurality of sets of time slots for the node to transmit data packets, the set of time slots being determined based on a hop count associated with the node.
2. The method according to claim 1, wherein the number of sets of time slots is determined based on the number of hops, from a node to one or more other nodes in the plurality of nodes, being within the interference range.
3. The method according to claim 2, wherein the number of sets of time slots is determined to be equal to or greater than said number of hops plus two.
4. The method according to claim 1, wherein the determined set of time slots is determined amongst the plurality of sets of time slots based on the hop count associated with the node and the number of sets of time slots.
5. The method according to claim 4, wherein the determined set of time slots is determined amongst the plurality of sets of time slots based on a value obtained from the hop count associated with the node modulo the number of sets of time slots.
6. The method according to claim 5, wherein the plurality of sets of time slots is located separate from each other and in time order in the frame, and the determined set of time slots has a time order associated therewith in the frame satisfying a predefined relationship to said value obtained.
7. The method according to claim 1, wherein the node is scheduled based on the frame to transmit data packets in the determined set of time slots, and the node is configured to randomly select a time slot in the determined set of time slots for transmitting the data packets.
8. The method according to claim 7, wherein the node is further configured to perform a delay for a random time period from a start of the selected time slot prior to transmitting the data packets.
9. The method according to claim 7, wherein the node is configured to transmit data packets at the selected time slot based on a Carrier Sense Multiple Access (CSMA) protocol.
10. The method according to claim 9, wherein the frame further comprises one or more additional time slots reserved for CSMA back-off and auto-retransmission located adjacent an end of each of the plurality of sets of time slots.
11. The method according to claim 1, wherein one of the plurality of nodes is a base node, and the hop count of the node is determined based on the number of hops between the base node and the node.
12. A node in a wireless mesh network comprising a plurality of nodes capable of transmitting and receiving data packets, the node comprising:
- a frame module configured to provide a frame comprising a plurality of time slots for data transmission;
- a classification module configured to classify the plurality of time slots into a plurality of sets of time slots, the plurality of sets of time slots having a number of sets of times slots, the number of sets of time slots being determined based on an interference range of the plurality of nodes, such that the plurality of time slots are classified into the plurality of sets of time slots for a plurality of groups of nodes of the plurality of nodes, respectively, and nodes in the plurality of nodes having respective hop counts associated therewith which are different but satisfy a predefined relationship based on the number of sets of time slots belong to a same group of the plurality of time slots for avoiding multi-hop interference in data transmission in the frame amongst the plurality of nodes; and
- a time slot determination module configured to determine a set of time slots amongst the plurality of sets of time slots for the node to transmit data packets, the set of time slots being determined based on a hop count associated with the node.
13. The node according to claim 12, wherein the number of sets of time slots is determined based on the number of hops, from a node to one or more other nodes in the plurality of nodes, being within the interference range.
14. The node according to claim 13, wherein the determined set of time slots is determined amongst the plurality of sets of time slots based on the hop count associated with the node and the number of sets of time slots.
15. The node according to claim 12, wherein the node is scheduled based on the frame to transmit data packets in the determined set of time slots, and the time slot determination module is further configured to randomly select a time slot in the determined set of time slot for transmitting the data packets.
16. The node according to claim 15, configured to transmit data packets at the selected time slot based on a Carrier Sense Multiple Access (CSMA) protocol.
17. The node to claim 12, wherein one of the plurality of nodes is a base node, and the hop count of the node is determined based on the number of hops between the base node and the node.
18. A computer program product, embodied in one or more non-transitory computer-readable storage mediums, comprising instructions executable by one or more computer processors to perform a method of controlling data transmission in a wireless mesh network, the wireless mesh network comprising a plurality of nodes capable of transmitting and receiving data packets, the method comprising:
- providing a frame comprising a plurality of time slots for data transmission;
- classifying the plurality of time slots into a plurality of sets of time slots, the plurality of sets of time slots having a number of sets of time slots, the number of sets of time slots being determined based on an interference range of the plurality of nodes, such that the plurality of time slots are classified into the plurality of sets of time slots for a plurality of groups of nodes of the plurality of nodes, respectively, and nodes in the plurality of nodes having respective hop counts associated therewith which are different but satisfy a predefined relationship based on the number of sets of time slots belong to a same group of the plurality of groups of nodes and are able to transmit data packets at a same set of time slots of the plurality of time slots, for avoiding multi-hop interference in data transmission in the frame amongst the plurality of nodes; and
- determining, at a node of the plurality of nodes, a set of time slots amongst the plurality of sets of time slots for the node to transmit data packets, the set of time slots being determined based on a hop count associated with the node.
8483616 | July 9, 2013 | Hall |
8942197 | January 27, 2015 | Rucknick et al. |
20070171819 | July 26, 2007 | Julian et al. |
20070280187 | December 6, 2007 | Wang |
20150071279 | March 12, 2015 | Wang |
20160066319 | March 3, 2016 | Sakata |
101291265 | October 2008 | CN |
- IP Office of Singapore—Notification of Transmittal of the International Search Report & the Written Opinion of the International Searching Authority, or the Declaration, with the International Search Report & Written Opinion dated May 24, 2017 for International Application No. PCT/SG2017/050093 (11 pgs).
- Al-Hemyari, A., et al., “Centralized Routing and Scheduling Using Multi-Channel System Single Transceiver in 802.16d.” International Conf. on Ad Hoc Networks 2009, LNISCST 28 (Sep. 22, 2008) pp. 316-322 (Section: Collision Avoidance Scheduling Algorithm) Selangor, Malaysia.
- Cheng, H.,et al., “Determined Scheduling Algorithms for Channel Access in Wireless Mesh Networks.” IEEE Int'l. Conference on Networking, Sending and Control, Apr. 6-8, 2008, pp. 277-282 (Sect. IV). Sanya, China.
- Cheng, H., et al., “Distributed Access Scheduling Algorithms in Wireless Mesh Networks.”—22nd Int'l Conference on Advanced Information Networking and Applications, Mar. 25-28, 2008, pp. 509-516 (Sect. 4.2). Okinawa, Japan.
Type: Grant
Filed: Feb 28, 2017
Date of Patent: Nov 3, 2020
Patent Publication Number: 20190090275
Assignee: AGENCY FOR SCIENCE, TECHNOLOGY AND RESEARCH (Singapore)
Inventors: Qingjun Zhang (Singapore), Yuen Sam Kwok (Singapore), Alvis Kim Hoong Lee (Singapore)
Primary Examiner: Mang Hang Yeung
Application Number: 16/081,024
International Classification: H04W 4/00 (20180101); H04W 74/08 (20090101); H04W 72/04 (20090101); H04W 72/08 (20090101); H04W 84/10 (20090101); H04W 84/18 (20090101);