GB2500450A - Routing between nodes in a wireless mesh network - Google Patents
Routing between nodes in a wireless mesh network Download PDFInfo
- Publication number
- GB2500450A GB2500450A GB1222015.8A GB201222015A GB2500450A GB 2500450 A GB2500450 A GB 2500450A GB 201222015 A GB201222015 A GB 201222015A GB 2500450 A GB2500450 A GB 2500450A
- Authority
- GB
- United Kingdom
- Prior art keywords
- node
- routing
- broadcast
- route
- type
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims description 92
- 230000008569 process Effects 0.000 claims description 23
- 230000004044 response Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 5
- SGPGESCZOCHFCL-UHFFFAOYSA-N Tilisolol hydrochloride Chemical compound [Cl-].C1=CC=C2C(=O)N(C)C=C(OCC(O)C[NH2+]C(C)(C)C)C2=C1 SGPGESCZOCHFCL-UHFFFAOYSA-N 0.000 claims 4
- 238000004891 communication Methods 0.000 description 15
- 235000008694 Humulus lupulus Nutrition 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 6
- 230000001934 delay Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 241000557769 Iodes Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- PNDPGZBMCMUPRI-UHFFFAOYSA-N iodine Chemical compound II PNDPGZBMCMUPRI-UHFFFAOYSA-N 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
- H04W40/246—Connectivity information discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
A wireless node (3) is for use in a wireless mesh network (i) in which nodes (2.3) receive and transmit routing broadcasts (5) to acquire routing information (6). The node is configured to transmit a routing broadcast only by retransmitting a routing broadcast received from another node. Within the network, some nodes are of a first type (2) and others of a second type (3). The first type of node is able to generate an initial routing broadcast and transmit it to another node. The second type of node is only able to rebroadcast a routing broadcast it has received from another node. This allows nodes within the network to obtain routing information. while reducing network overhead when compared to a wireless network where any nodes may initiate a routing broadcast. The routing broadcast may further include payload data, further reducing network resource overheads.
Description
Wireless Node
Field of the invention
The present invention relates to a wireless node for use as part of a wireless network such as a wireless mesh network.
Background
A data network (which is often simply referred to as a "network") can be used to route data between nodes. In certain networks, a node can not only be the source or io destination of data but also forward data between other nodes in the network.
Nodes can be arranged in a mesh network topology in which several nodes can have links to several other nodes.
i The links between nodes may be wireless (for example radio) communications links.
Whether it is possible to form such a link and the quality of the link can depend upon factors such as the relative positions of the nodes, physical obstructions, electromagnetic interference, transmission power, etc. These factors can change with time.
The network may be a low-power wireless mesh network. In a low-power wireless mesh network, communication can be Binited by power, bandwidth and/or data rate.
In some cases, the power source, data processing and/or storage capabilities of the nodes can be Umited. In some cases, the network can be operated without the need for a radio communications licence. In certain fields of use, the nodes may be provided with sensors or switches. For example, they may form part of a system for monitoring and/or controlling energy use.
Examples of wireless mesh networks can be found in GB 2407941 A and EP 1898574 Al.
Data can be routed through such a network along a path made up of a number of hops from a source node, via intermediate nodes, to a destination node. The nodes can act together to route the data. Moreover, routing can also adapt to changes such as the making or breaking of Bnks, the arrival of new iodes, etc. A number of different routing protocols can be used.
One of these routing protoccils is ad-hoc on-demand distance vector (AODV) routing as described, for examp'e, in C. Perkins et a].: "Ad hoc On-Demand Distance Vector (AODV) Routing", The Internet Engineering Task Force, RFC 3561 (2003). AODV routing is used, for example, in the ZigBee standard. An example of AODV routing can be found in GB 2432494 A. In AODV, when a route is needed, a node broadcasts a route request ("RREQ") to find a io route to the destination. A route can be determined when the RREQ reaches the destination or an intermediate node with a vahd mute entry for the destination whose associated sequence number is equal to or greater than that contained in the RREQ.
The route is made available by unicasting a route reply ("RREP") back to the originator of the RREQ. Each node receiving the RREQ caches a route back to the originator of is the RREQ so that the RREP can be unicast from the destination a'ong a path to the originator or from any intermediate node.
Nodes monitor the link status of next hops in active routes. When a node detects a link break in an active route, it notifies other nodes using a route error (RERR) message.
The RERR message indicates the destinations which are no longer reachable via the link.
Another muting protocol is open-shortest path first (OSPF) routing and reference is made to J. Moy: "OSPF Version 2", The Internet Engineering Task Force, RFC 278 (1998). An example of OSPF routing can be found in WO 2004/047370 Ai.
OSPF is a link-state routing protocol in which each router maintains a database describing the topology of the network. This database is referred to as the link-state database. Each router has an identical database. Each individua' piece of the database is a parUcu]ar router's oca state, for examp]e the router's usab]e interfaces and reachab]e neighbours. The router distributes its]oca] state throughout the network by flooding. From the Bnk-state database, each router constructs a tree of shortest paths with itse]f as root. This shortest-path tree gives the route to each destination in the network.
Siunmaiy According to a first aspect of the present invention there is provided a wireless node for use in a wiràless network in which nodes receive and transmit routing broadcasts to acquire routing information. The node is configured to transmit a routing broadcast only by retransmitting a routing broadcast received from another node.
Thus, the amount of routing traffic can be reduced compared to networks (for example those employing AODV routing) in which routing traffic can originate from any node.
Accordingly, the amount of data which the node needs to transmit and receive, and io process and store, can be reduced. Therefore, the approach is partictilady suitab'e for ow-power wirdess mesh networks.
The node may transmit other types of broadcasts (that is to say non-routing broadcasts) which are not used for acquiring routing information. Non-routing broadcasts may originate from the node.
The routing broadcast may comprise payload data. The node may be configured to process the payload data. Thus, since the node can acquire both routing information and payload data from the routing broadcast, lower communication resource overheads and lower latency can be achieved in the network compared with networks in which routing information payload data are sent separately. Herein, the term "payload data" is intended to mean data other than routing information and other network-layer or lower layer information. The payload data need not be any type of communication control information or signalling.
The node may be configured to use routing information acquired from routing broadcasts received from one or more other nodes to transmit data addressed to a particular node. Thus, the amount of routing traffic can be reduced compared to networks in which multiple transmissions arc received and transmitted before such data can be transmitted. Herein, the term "data addressed to a particular node" is intended to cover data in a unicast message or a multicast message and other such messages.
The node may be configured to transmit the data addressed to the particular node as a response to receiving a routing broadcast comprising payload data from the particular node. Thus, data can be exchanged between the node and the particular node and each part of the process can be carried out in an efficient manner.
The node may be configured to determine a next node in a most preferred route to the particular node by comparing route metrics associated with a plurality of muting broadcasts received from other nodes, the plurality of routing broadcasts corresponding to one or more routing broadcasts initially transmitted by the particular node. Herein, an initially transmitted broadcast (or "initial broadcast" for short) means a broadcast that is not transmitted in response to receiving a corresponding broadcast io from another node, that is to say not a rebroadcast.
The node may be configured to only retransmit a routing broadcast if no routing broadcast corresponding to the same routing broadcast initially transmitted by the particular node has already been received.
The node may be configured to delay retransmitting the routing broadcast by an amount of time which depends upon a link metric of the link to the next node in the most preferred route to the particular node known to the node before the delay and then to retransmit the routing broadcast including information about the most preferred route to the particular node known to the node after the delay. Thus, the retransmitted routing broadcast can include information about the most preferred route to the particular node even if the routing broadcast associated with this route arrives later because, for example, the route involved more hops.
The node may be configured to determine that a next node in a route to a further particular node is the node from which data addressed to a further node and originating from the further particular node was received. Thus, once a further particular node has transmitted such data, routing information can be acquired enabling data to be sent back to the further particular node without flooding the network with routing broadcasts.
The routing broadcast may comprise information identifying the nodes in a most preferred route between a particular node and the other node. The node may be configured to discard any acquired routing information about a route to the particular node via the other node in response to determining that the most preferred route between the particular node and the other node includes the node. Thus, the node can prevent routing ioops in an efficient manner.
The node may comprise at least one processor, memory, storage for storing routing information, (for example in the form of non-volatile memory), and at least one wireless network interface. According to a second aspect of the present invention, there is provided a wireless node for use in a wireless network in which nodes receive and transmit routing broadcasts to acquire routing information. The node comprises at least one processor and memory storing computer program code for causing the node io to transmit a routing broadcast on'y by retransmitting a routing broadcast received from another node.
According to a third aspect of the present invention there is provided a network in which nodes receive and transmit routing broadcasts to acquire routing information.
The network comprises at least one node of a first type which is configured to transmit a routing broadcast and at least one node of a second type which is configured to transmit a routing broadcast only by retransmitting a broadcast received from another node.
Thus, since the network is divided into two different types of nodes, namely those that transmit initial routing broadcasts and those that do not, the amount of routing traffic can be reduced in a particularly effective manner by selecting the type of each node based upon patterns of communication within the network, for example the frequency with which a node communicates with any other node in the network.
A node of the first type may be a gateway node.
In a network, data most often travels between the gateway node and one or another of the other nodcs. In othcr words, communication corresponds to onc or more tree patterns, depending upon the number of first nodes. For examp'e, the other nodes can send data (for example sensor readings) to the gateway node, or the gateway node can send requests for data or commands requiring acknowledgement to the other nodes.
This type of communication can be carried out in an efficient manner.
A node of the first type may be configured, in order to send data to a specified node of the second type, to determine whether it has routing information about a route to the specified node and, if so, to transmit a routing broadcast comprising payload data corresponding to the data and, if not, to transmit the data addressed to the specified node. Thus, the network can be flooded with routing broadcasts on'y when necessary.
A node of the first type may be configured to transmit a routing broadcast periodically.
Thus, the nodes of the second type can acquire current routing information about a route to the node of the first type even if the node of the first type is not currently transmitting any routing broadcasts in order to send data to a specified node of the second type. Moreover, the nodes of the second type can acquire current routing Jo information without having to transmit initia' routing broadcasts.
A node of the first type may be configured to determine that the next node in a route to a specified node of the second type is the node from which data addressed to the node of the first type and originating from the specified node was received. Thus, the node of the first type can acquire both routing information and data from the same transmission.
The wireless network may be a wireless mesh network. The wireless mesh network may be a low-power wireless mesh network. The wireless network may be a radio network.
According to a fourth aspect of the invention there is provided a method for use by a wireless node in a wireless network in which nodes receive and transmit routing broadcasts to acquire routing information, the method comprising transmitting a routing broadcast only by retransmitting a routing broadcast received from another node.
The routing broadcast may comprise payload data for the node and the method may comprise processing the data.
The method may comprise using routing information acqtured from routing broadcasts received from one or more other nodes to transmit data addressed to a partic&ar node.
The method may comprise transmitting the data addressed to the particular node as a response to receiving a routing broadcast comprising payload data from the particular node.
The method may comprise determining a next node in a most preferred route to the particular node by comparing route metrics associated with a plurality of routing broadcasts received from other nodes, the plurality of routing broadcasts corresponding to one or more routing broadcasts initiafly transmitted by the particular node.
The method may comprise only retransmitting a routing broadcast if no routing broadcast corresponding to the same routing broadcast initially transmitted by the particular node has already been received. I0
The method may comprise dethying retransmitting the routing broadcast by an amount of time which depends upon a link metric of the link to the next node in the most preferred route to the particular node known to the node before the delay and then retransmitting the routing broadcast including information about the most preferred route to the particular node known to the node after the delay.
The method may comprise determining that a next node in a route to a further particular node is the node from which data addressed to a further node and originating from the further particular node was received.
The routing broadcast may comprises information identifying the nodes in a most preferred route between a particular node and the other node. The method may comprise discarding any acquired routing information about a route to the particular node via the other node in response to determining that the most preferred route between the particular node and the other node includes the node.
According to a fifth aspect of the present invention, there is provided a method for use in a wireless network in which nodes receive and transmit routing broadcasts to acquire routing information. The method comprises a method for use by a node of a first type, o the method comprising transmitting a routing broadcast. The method further comprises a method for use by a node of a second type comprising transmitting a routing bmadcast only by retransmitting a routing broadcast received from another node.
The node of the first type may be a gateway node.
The method of operating the node of the first type node may comprise, in order to send data to a specified node of the second type, determining whether it has routing information about a route to the specified node and, if so, transmitdng a routing broadcast comprising the data and, if not, transmitting the data addressed to the specified node.
The method of operating the node of the first type node may comprise transmitting a routing broadcast periodically.
io The method of operating the node of the first type node may comprise determining that the next node in a route to a specified node of the second type is the node from which data addressed to the node of the first type and originating from the specified node was received.
According to a sixth aspect of the present invention, there is provided a wireless node comprising means for performing the method.
According to a seventh aspect of the present invention, there is provided a computer program comprising instructions for performing the method. There may be provided a computer-readable medium storing the computer program.
According to an eighth aspect of the present invention, there is provided a computer-readable storage medium having stored thereon computer-readable code, which, when executed by a wireless node, causes the wireless node to transmit a routing broadcast only by retransmitting a broadcast received from another node, wherein the wireless node is for use in a network in which nodes receive and transmit routing broadcasts to acquire routing information. The computer-readable storage medium may be non-transitory.
Brief Description of the Drawings
Certain embodiments of the invention will now be described, by way of example, with reference to the accompanying drawings, in which: Figure 1 schematically illustrates a network of nodes of first and second types; Figure a is a schematic block diagram of the node of the first type shown in Figure 1; Figure 2b is a schematic block diagram of a node of the second type shown in Figure 1; Figure 3 illustrates certain transmissions in a part of the network shown in Figure 1; Figure 4 illustrates the transmissions of Figure 3 in a different manner; Figure 5 illustrates the structure of a routing broadcast shown in Figures 3 and 4; io Figure 6 illustrates the structure of a unicast message shown in Figures and 4; Figure 7 illustrates the structure of a routing table used by the nodes shown in Figure i; Figure 8 is a flowchart of a process carried out by a node of the second type shown in Figure 1; Figure 9 is a flowchart showing in more detail the step shown in Figure 8 of conditionally updating the routing information; Figure 10 illustrates the routing tables in the nodes shown in Figures 3 and 4 after receiving the transmissions shown in Figures 3 and 4; and Figure 11 is a flowchart of processes carried out in part of the network shown in Figure 1.
Detailed Description of the Certain Embodiments
Referring to Figure 1, a wireless network 1 (hereinafter referred to simply as a "network") is shown. The network 1 includes at least one wireless node 2 of a first type and at least one wireless node 3 of a second type (hereinafter referred to simply as "nodes" of the first and second type respectively). In this example, the network 1 includes one node 2a of the first type and nine nodes, namely first, second, third, fourth, fifth, sixth, seventh, eighth and ninth nodes 31, 32, 3, 3, 1 3, 3, 3, 3, of the second type. However, the network may include more nodes 2 of the first type and fewer or more nodcs 3 of the sccond type. Each node 2,3 is abk to communicate directly with one or more other nodes 2,3 via respective links 4. In this examp'e, there are first, second, third, fourth, fifth, sixth, seventh, eighth, ninth, tenth and eleventh links 4, 4az, 4iz, 4's, 425, 426, 4, 4, 4, 4, 4. However, there maybe fewer or more Bnks 4 and/or there may be different finks 4 between nodes 2, 3. The network 1 may change dynamically, for example, by nodes 2, 3 joining and leaving the network 1 or changing nodes 2, 3 with which they can communicate directly. -10-
Nodes 2 of the first type operate differently from nodes 3 of the second type. Nodes 2 of the first type can transmit initial routing broadcasts 5 which can be used by other nodes 2, 3 in the network ito acquire routing information 6. Nodes 3 of the second type retransmit routing broadcasts 5 received from other nodes 2, 3. However, nodes 3 of the second type do not transmit initial routing broadcasts j. In this example, an initial broadcasts transmitted by the node 2a of the first type and received by the first and second nodes 3, 3 of the second type via the first and second links 4ai, 4a2 is shown.
The initial broadcast 5 can be received and retransmitted by each of the other nodes 3.
The acquired routing information 6 can be used to route unicast messages 7 io transmitted by any of the other nodes 3. In this example, a unicast message 7 transmitted by the fifth node 3 of the second type to the second node 32 of the second type via the fifth link 425 is shown. This unicast message 7 can be received by the second node 32 of the second type and retransmitted to another node 2, 3 selected using previously acquired routing information 6.
The nodes 2 of the first type are preferably the nodes 2, 3 which are more frequently inv&ved in data communication in the network 1. For examp'e, a node 2 of the first type may be a gateway node 2, that is to say a node 2 that can also communicate with devices (not shown) external to the network 1.
Referring to Figure 2a, a node 2 of the first type is shown. The node 2 may take the form of or comprise a system on a chip or microcontroller and may be included in a larger device, for example a utility meter such as a mains electricity meter. The node 2 includes a controller ii comprising one or more processors ha and memory ub, storage 12, and first and second transceivers 13, 14. The components 11, 12, 13 and 14 communicate with one another via a system bus or another form of interconnection is.
The controller ii executes computer-readable instructions, for example one or more computer programs, stored in the storage 12. The storage 12 takes the form of or includes flash memory or another form of non-volatile memory. The controller ii contr&s operations of the other components 12, 13, 14. The first transceiver 13 is used to communicate with other nodes 2,3 in the network i according to a first communications protocoL For example, the first communications protoc& may be based upon the IEEE 802.15.4 standard. The second transceiver 14 is used to communicate with external devices, according to second communications protocol. For example, a mobile data network such as a general packet radio service (GPRS) network may be used to communicate with an Internet-connected remote server. In some -11 -examples, oniy a single transceiver, for example the first transceiver 13, maybe used to communicate. The storage 12 can be used to store data received from and/or to be transmitted by the first transceiver 13 or second transceiver 14.
The node 2 of the first type may include alternative or additional components to the second transceiver 14 to allow it to operate as a source or sink of information in the network 1. For example, the node 2 may store data in the storage 12 and the storage 12 may be removable or accessible via an interface such as a universal serial bus (USB) interface (not shown). The node 2 may include an interface (not shown) for connecting io to an external transceiver. The node 2 may include a user interface (not shown) for providing user outputs and/or receiving user inputs.
Referring to Figure 2b, a node 3 of the second type is shown. The node 3 may take the form of or comprise a system on a chip or microcontroller and may be included in a larger device, for example a utility meter, such as a mains dectricity meter. The node 3 includes a controller 21 comprising one or more processors ia and memory 21b, storage 22, a transceiver 23 and additional circuitry 24. The components 21, 22, 23 and 24 communicate with one another via a system bus or another form of interconnection 25. The controller 21 executes computer-readable instructions, for example one or more computer programs, stored in the storage 22. The storage 22 includes flash memory or another form of non-volatile memory. The controller 21 controls operations of the other components 22, 23, 24. The first transceiver 23 is used to communicate with other nodes 2, 3 in the network 1 according to a first communications protocol.
For example, the first communications protocol may be based upon the IEEE 802.15.4 standard. The additional circuitry 24 may be configured depending upon the field of use. For example, the node 3 may form pait of a system 1 for monitoring and/or controlling energy use. In this case, the additional circuitry 24 may include a sensor for measuring mains electrical power and/or a switch for controlling the electrical power supplied to a device such as a lamp. The additional circuitry 24 may be an interface to an external sensor, for example an electricity or gas meter, and/or to an external switch. In some examp'es, the node 3 may not include the additional circuitry 24.
Certain aspects of the network 1 are herein described in terms of particular layers of the Open Systems Interconnection (OSI) model. However, different layers to those described may be involved. For example, operations may be carried out in different -12 -layers of the nodes 2, 3, and/or information maybe provided in different headers of the messages 5, 7.
Referring to Figures 3 and 4, exchanges of messages 5,7 between certain nodes 2,3 are shown. The exchanges involve a node 2a of the first type (hereinafter referred to as the "gateway node"), first and second nodes 3,, 3 of the second type (hereinafter referred to as the "first and second intermediate nodes") and a third node 3 of the second type (hereinafter referred to as the "remote node"). Figure 3 shows sequencing of messages 5, 7. Figure 4 shows propagation of the messages 5, 7 between the nodes 2, 31, 32, 3. I0
Although exchanges involving only two intermediate nodes 31, 32 are shown, exchanges may involve fewer or more intermediate nodes 3. In some cases, there may be no intermediate nodes 3.
The process may be divided into three stages. In a first stage A, the gateway node 2 transmits a routing broadcast (hereinafter referred to simp'y as a "broadcast") which is used to acquire routing information. The broadcast 5 can be initiated bythe gateway node 2 in various circumstances such as when it needs to send data to a selected node 3 of the second type and does not have routing information 6 about a route thereto.
The broadcast 5 is received and retransmitted by the intermediate nodes 3', 32 and the remote node 3. In this example, the first stage A includes first, second, third and fourth parts A,, A2, A3, A4. In a second stage B, the remote node 3 transmits a unicast message 7, addressed to the gateway node 2, which is routed by the remote node 3 and the intermediate nodes 3,, 3 using routing information 6 acquired during the first stage A. In a third stage C, the gateway node 2a transmits a unicast message 72 addressed to the remote node 3 which is routed by the gateway node 2a and the intermediate nodes 3i, 32 using routing information 6 acquired during the second stage B. In some cases, no or limited unicast messaging may occur after routing information is broadcast. Thus, thc third stage C or the second and third stages B, C may not take pthee after the first stage A before further routing information is broadcast. The first, second and/or third stages A, B, C may be repeated any number of times. After at least one occurrence of the first, second and third stages A, BC, the second and third stages B, C may occur in any order.
In the first part A, of the first stage A, the gateway node 2, transmits an initial broadcast 5,. The initial broadcast 5, may include data for the remote node 3. A broadcast -13 -transmitted by a node 2, 3 t can be received each node 2, 3 to which it has a link 4. In this example, the initial broadcast 5i is received by the first and second intermediate nodes 31, 32 via respective links 4ai, 4az.
A node 3 of the second type retransmits a received broadcast 5 provided that it has not already received a broadcast 5 corresponding to the same initial broadcast 5. In this example, the first and second intermediate nodes 3i, 32 retransmit the initial broadcast 51.
io A node 3 of the second type delays retransmitting a received broadcasts by a period of time which depends upon the Bnk metric of the link 4 to the next node 2,3 in the most preferred route back to the node 2 which initially transmitted the broadcast j. In this example, the next node 2, 3 in the most preferred route from the first and second intermediate nodes 31, 32, to the gateway node 2 is the gateway node 2 itself. In other is words, in this example, the relevant Bnk 4 is the link 4 via which the initial broadcasts' was received. Furthermore, in this example, the link metric of the link 4ai between the gateway node 2, and the first intermediate node 31 is preferred to that of the Bnk 422 between the gateway node 2a and the second intermediate node 32. Thus, a first delay A at the first intermediate node 3i is less than a second delay 2 at the second intermediate node 32.
Accordingly, in the second part A2 of the first stage A, the first intermediate node 3i retransmits the initial broadcast 5 as a first rebroadcast 52.
A node 3 of the second type retransmits a broadcast 5 including information about the most preferred route between the node 2 which initially transmitted the broadcast s and the node 3. Thus, in this example, the first rebroadcast 52 includes information about the route between the gateway node 2 and the first intermediate node 3,.
The first rebroadcast 52 is received by the gateway node 2 and the second intermediate node 32 via respective links 4,, 4,. The second intermediate node 32 does not retransmit the first rebroadcast 5 because it has already received a corresponding broadcasts, that is to say the initial broadcast Si. The gateway node 2 also does not retransmit the first rebroadcast.
In the third part A3 of the first stage A, the second intermediate node 32 retransmits the initial broadcast Si as a second rebroadcast 5. Because of the length of the first delay A2 r&ative to the second delay A1, this retransmitting is carried out after the second intermediate node 32 has received the first rebroadcast 52. Moreover, in this case, the route metric of the route associated with the first rebroadcast 52 (that is to say the route via the first intermediate node 3i) is more preferred than that of the direct mute associated with the initial broadcast 51. Thus, the second rebroadcast 53 is transmitted including information about the route via the first intermediate node 31. Some of this information is obtained from the first rebroadcast 52. I0
The second rebroadcast 5 is received by the gateway node 21!, the first intermediate node 3i and the remote node 3 via respective links 422, 412, 425. The gateway node 2a and the first intermediate node 3' do not retransmit the second rebroadcast 5. If the broadcast 52 includes data for the remote node 3, then the remote node 3 processes is the data.
In the fourth part A4 of the first stage A, the remote node 3 retransmits the second rebroadcast as a third rebroadcast 54. The second intermediate node 32 receives the third rebroadcast 54 but does not retransmit it.
Only certain nodes 2, 3i, 32, 3 in the network 1 have been described as transmitting and receiving broadcasts j. However, generally, every node 2, 3 in the network 1 will transmit and receive a broadcast j corresponding to a broadcast j initially transmitted by a node 2 of the first type.
In the second stage B, the remote node 3 transmits a unicast message 71. The unicast message 7, is addressed to, and includes data for, the gateway node 2. Such a unicast message 71 is routed by a node 3 of the second type using routing information 6 acquired during the first stage A. In this case, after the first stage A, the remote node 3 has determined that a tinicast message 71 addressed to the gateway node 2 shoffid be transmitted via the link 425 to the second intermediate node 32, the second intermediate node 3z has determined that it shodd be transmitted via the link 412 to the first intermediate node 31, and the first intermediate node 31 has determined that it should be transmitted via the link 4ai to the gateway node 2.
-15 -In the third stage C, the gateway node 2a transmits a unicast message 72. The unicast message 72 is addressed to, and includes data for, the remote node 3. Such a unicast message 72 is routed by a node 2, 3 using routing information 6 acquired during the second stage B. In this case, after the second stage B, the gateway node 2a has determined that a unicast message 72 addressed to the remote node 3 should be transmitted via the link 4ai to the first intermediate node 3i, the first intermediate node 3i has determined that it should be transmitted via the link 412 to the second intermediate node 32, and the second intermediate node 32 has determined that it should be transmitted via the link 425 to the remote node 3. The route taken by the unicast message 72 during the third stage C is the reverse of the route taken by the unicast message 7 during the second stage B. Referring to Figure 5, a broadcast 5 is shown. The broadcast 5 includes, amongst other things, a network-layer (layer-3) packet 51 comprising a header ia and a payload sib, is and a data-link-layer (layer-2) frame 52 comprising a header and a payload 52b. In this case, the data-link-layer frame 52 includes a single network-layer packet i.
However, the data-link-layer frame 52 may include a part of a network-layer packet 51 or several network-layer packets 51.
Each of the headers 51a, includes a number of fields. Relevant fields are described in more detail hereinafter.
The network-layer packet header 51a includes a source network address 53 and a destination network address 54. The source network address 53 identifies the node 2 which initially transmitted the broadcast j. For instance, the broadcasts Si, 52,53, 5 (Figures 3 and 4) include the network address of the gateway node 2a in this field 53.
The destination network address 54 includes an indication that the network-layer packet 51 is to be broadcast to each node 2, 3 to which a node 2, 3 has a link 4.
The network-layer packet header ia includes a route metric 55 of a route and information 6 identizing each of the nodes 2, 3 in the route (hereinafter referred to as "route information"). The route is the most preferred route between the node 2 which initially transmitted the broadcast and the node 3 which most recently retransmitted the broadcast j. For instance, in the second rebroadcast (Figures 3 and 4), the route metric and route information 6 relate to the most preferred route between the gateway node 2a and the second intermediate node 32, that is to say the route via the first intermediate node 3. The route information 56 maybe in the form of a bitmap.
The networkiayer packet header ia includes a further destination address 57 such as a transport-layer (layer-4) destination address 57. Thus, a node 3 of the second type can determine whether it should process the data in the network-layer payload sib. For instance, the broadcasts Si, 52,53, 5 (Figures 3 and 4) include, for example, the transport-layer destination address s of the destination node 3.
io The data-linklayer frame header 52 includes a source physical address 58 and a destination physical address 59. The source physical address 8identifles the node 2,3 which most recently (re)transmitted the broadcast j. The destination physical address 59 includes an indication that the data-link-layer packet 52 is to be broadcast to each node 2, 3 to which a node 2, 3 has a link 4.
Referring to Figure 6, a unicast message 7 is shown. Similarly to the broadcast 5, the unicast message 7 includes a networkiayer packet 61 comprising a header 6ia and a payload 6th, and a data-link-layer frame 62 comprising a header 62a and a payload 62b.
The network-layer packet header 61a includes a source network address 63 and a destination network address 64. These addresses 63, 64 respectively identify the node 2, 3 which initially transmitted the unicast message j and the node 2, 3 to which the unicast message j is addressed. For instance, the unicast message 7 (Figures 3 and 4) includes the network addresses of the remote node 3 as the source network address 63 and that of the gateway node 2 as the destination network address 64.
The network-layer packet header 6ia does not need to include a route metric of a route or information identifying cach of the nodes 2,3 in the route.
The networkiayer packet header 6m may include a further destination address 6 such as a transport-layer (thyer-4) destination address 6.
The data-link-layer frame header 62a includes a source physical address 66 and a destination physical address 67. These addresses 66, 67 respectively identify the node -17- 2, 3 which most recently transmitted the unicast message 5 and the node 2, 3 to which it was transmitted.
Referring to Figure 7, a routing table 71 is shown. Such a routing table 71 is used by each of the nodes 2, 3 in the network ito store acquired routing information 6. The routing table 71 includes a number of entnes 72. First, second, third, fourth, fifth and sixth entries 72k, 722, 723, 724, 72, 72o are shown. However, at any particular time, the routing table 71 may include more entries or fewer entries. Each entry 72 includes routing information 6 about a route to a different destination node 2, 3. I0
If the destination node is a node 2 of the first type, then the routing table entry 72 includes first, second, third, fourth and fifth items of information 6a, 6b, 6c, 6d, 6e.
The first item of information 6a is an identity of the destination node 2, 3 for the route.
This may be the network address of the destination node 2,3. The second item of information 6b is an identity of a next node 2, 3 to which to transmit a unicast message 7 addressed to the destination node 2, 3. This may be the physical address of the next node 2,3. The third item of information 6c is a route metric of the route to the destination node 2, 3. The fourth item of information 6d is route information identifring each of the nodes 2, 3 in the route to the destination node 2, 3. The fifth item of information 6e is an expiry time for the route.
If the destination node is a node 3 of the second type, then the routing table entry 72 need only include the first, second and fifth items of information 6a, 6b, 6e.
Referring to Figure 8, a process carried out by a node 3 of the second type is shown.
Unless otherwise stated, the process is performed in the network layer of the node 3.
A broadcast 5 is received (step S8i). This broadcasts is hereinafter referred to as the "current broadcast". The node 3 which received the current broadcast 5 is hereinafter referred to as the "current node". The node 2, 3 from which the current broadcasts was received is hereinafter referred to as the "previous node".
A Unk metric is obtained (step S82). The link metric may be determined in the data link layer and provided to the network layer of the current node 3. The link metric is that of the link 4 between the previous node 2, 3 and the current node 3, that is to say the link 4 via which the current broadcast was received. The link metric may be -18-calculated based upon one or more different properties of the link 4. The calculation will depend upon the desired characteristics of routes. As an example, the link metric may be a value representing the average number of packets lost across the link 4.
Routing information 6 stored at the current node 3 is then conditionally updated (step 883).
In brief, information is obtained about a potential new route between the current node 3 and the node 2 which initially transmitted the broadcast 5. The information is io obtained from the current broadcast 5, as well as from the link metric of the link via which the current broadcast 5 was received (step 882). The information is compared with any stored routing information 6 and new or updated routing information 6 is stored if appropriate.
is Referring to Figure 9, the conditiona' updating of the routing information 6 is shown in more detail.
It is determined whether the current node 3 is one of the nodes 2, 3 identified in the route information 6 in the network-layer header 5ia of the current broadcast 5 (step S9IA). In other words, it is determined whether there is a routing loop in the potential new route associated with the current broadcast 5.
If there is such a routing loop, it is determined whether there is a stored route to the same destination node 2 as the potential new route associated with the current broadcast j and which has the same next node 2, 3 as the potential new route (step S91B). In other words, it is determined whether there is an indication of a routing loop in a stored route. This involves, for example, determining whether the source network address s in the current broadcast s corresponds to the first information item 6a in any of the routing table entries 72 and whether the source physical address 58 in the current broadcast 5 corresponds to the second information item 6b in the same routing tab'e entry 72. The source physical address 8 may be obtained from the data-link-layer header ia in the data-link layer and provided to the network thyer of the current node 3.
s If there is such an indication of a routing loop in a stored route, then the routing table entry 72 corresponding to this stored route is discarded (step S92).
In either case, if there is a routing ioop in the potential new route associated with the current broadcast 5, no further operations relating to the conditional updating of the routing information 6 are carried out. If there is no routing loop in the potenti& new route associated with the current broadcast 5, it is determined whether there is a stored route to the same destination node 2 as the potential new route (step S93). This involves, for examp'e, determining whether the source network address 53 in the current broadcast 5 corresponds to the first information item 6a in any of the routing table entries 72. This may involve checking that a stored route has not expired. In some examp'es, the current node 3 may remove routes from the routing table 71 when they expire and so this checking may not be needed.
If there is no stored route, the routing table 71 is updated (step S97). If there is a stored route, it is determined whether the potential new route associated with the current broadcast 5 has the same next node 2, 3 as the stored route (step S94). This inv&ves, for example, determining whether the source physica address 58 in the current broadcast 5 corresponds to the second information item 6b in the r&evant routing tab'e entry 72.
If the potential new route and the stored route have the same next node 2, 3, the routing table 71 is updated (step S97).
If the potential new route and the stored route do not have the same next node 2, 3, it is determined whether the potentia' new route associated with the current broadcast 5 has a more preferred route metric than the stored route (step S95).
This invcilves determining the route metric of the potential new route. This is done by combining the route metric 55 of the most preferred route between the node 2 which initiafly traimmittcd the broadcast 5 and the previous iode 3 (obtained from the o current broadcast 5) with the Unk metric of the Bnk 4 via which the current broadcast 5 was received (obtained at step S82). The rethtionship between a route metric of a route and the Enk metrics of the links 4 that make up the route may involve addition, mdtipflcation or another function.
The route metric of the potential new route is then compared with the third information item 6c in the relevant routing table entry 72.
If the route metric of the potential new route is more preferred, the muting table 71 is updated (step S97).
If the route metric of the potential new route is not more prefelTed, it is determined whether the route metric of the potential new route is the same as that of the stored route. It is also determined whether the potential new route involves fewer hops than the stored route (step S96). This involves, for example, determining the number of nodes 2, 3 identified in the route information 56 in the current broadcast 5 and io determining whether this number plus one is smaller than the number of nodes 2,3 identified in the fourth information item 6d in the relevant routing table entry 72.
If the potential new route has the same route metric and fewer hops than the stored route, then the routing table 71 is updated (step S97).
Updating the routing table inv&ves adding the route associated with the current broadcast 5 to the routing table 71, or amending the relevant routing table entry 72 50 that it corresponds to the route associated with the current broadcast 5.
The first information item 6a in the new or amended routing table entry 72 is the identity of the node 2 which initially transmitted the current broadcast, for example the source network address 55 in the current broadcast 5. The second information item 6b is the identity of the previous node, for example the source physical address 8 in the current broadcasts. The third information item 6c is the route metric of the route associated with the current broadcast 5 (determined at step S95). The fourth information item 6d is determined by combining the route information 6 in the current broadcast s with information identifying the current node 3. The fifth information item 6e, that is to say the expiry time for the route, may be specified by a fleid (riot shown) in the network-layer header 51a of the current broadcast 5 or, for example, it may be set by the current node 3. The expiry time may be rethtive to the time of arrival of the current broadcasts. As explained above, the routing table 71 is updated if the potentia' new route and the stored route have the same next node 2, 3.
Thus, the expiry time is updated if the route associated with the current broadcasts is the same as the stored route.
Thus, the routing information 6 relating to a route to a node 2 of the first type is updated.
If none of the conditions are satisfied, the routingtable 71 is not updated.
Referring once more to Figure 8, after conditionally updating the routing information 6, it is determined whether the current broadcast 5 is a duplicate (step 884). In particular, it is determined whether a broadcast 5 corresponding to the same initial broadcast 5 has already been received by the current node 3. This involves comparing certain information in the current broadcasts with corresponding information about previous'y-received broadcasts 5. For example, the combination of the source network address and a network-layer sequence number (not shown) may be used to identify corresponding broadcasts s. Thus, a node 3 of the second type stores information about a number of previously received broadcasts. For example, the information may be stored in a cache which emp'oys a least recenfly used cache algorithm.
If the broadcasts is a duplicate, the process ends.
If the broadcast j is not a duplicate, it is determined whether the current broadcast 5 includes data sib for the current node 3 (step S8). In particular, it is determined whether the further destination address, for example layer-4 destination address corresponds to that of the current node 3.
If the current broadcast 5 includes data ib for the current node 3, the data ib included in the broadcasts is processed (step 886). For example, the data sib is processed at any one or more of the transport layer and higher layers of the current node 3, and any appropriate operations are carried out.
The current broadcast 5 is queued for retransmission (step S87).
The process is then d&ayed by a period of time which depends upon the link metric of the link 4 to the next node 2, 3 in the currently-stored route back to the node 2 which initially transmitted the current broadcasts (step S88). If this next node 2, 3 is the node 2, 3 from which the current broadcast was received, then the link metric is that obtained previously in the process (step S82). The delay is calculated such that it is longer if the link metric indicates that the link 4 is less preferred and vice versa. The -22-calculated delays are preferably short enough that the least preferred links 4 do not lead to unsuitably large delays, while all but the shortest delays are longer than the time taken for a broadcast 5 to make several (for example five) hops between nodes 2, 3.
This is so that the delay can enable the current node 3 to receive broadcasts 5 which have taken longer but more preferred routes to the current node 3.
The delay is varied by a random or pseudo-random period so as to desynchronise retransmissions by different nodes 3.
io The current broadcasts is then updated (step S89). For examp'e, the route metric 55 in the network-layer header ia is updated to correspond to the route metric 6c in the routing table entry 72 relating to a route to the node 2 which initially transmitted the current broadcast 5. Also, the route information 6 in the network-layer header ia is updated to correspond to the route information 6d in the same routing table entry 72.
In other words, the current broadcast 5 is updated to including information about the most preferred route between the node 2 which initially transmitted the current broadcasts and the current node 3. This information may have been provided by a broadcast 5 which was received after the current broadcast.
The current broadcast j is then retransmitted (step S9o)and can be received by each of the nodes 2, 3 to which the current node 3 has a link 4.
Referring to Figures 3,4 and 10, the routing tables 71 of the gateway node 2, the first and second intermediate nodes 3i, 32 and the remote node 3 are shown after receiving and processing the initial broadcast 51, the first and second rebroadcasts 52, 5 and the first unicast message 7i. There are no changes to the routing tables 71 after the third rebroadcast 5 or the second unicast message 72. In this example, each of the routing tables 71 are initially empty.
After receiving the initial broadcast 51, the first and second intermediate nodes 3', 3 add appropriate routing tab'e entries 72.
In Figure 10, the "#" symbcil is used to represent node identity information. For example, the identity of the gateway node 2a is represented by "#2a" and the information identifying the nodes 2, 3 in the route involving the gateway node 2, and the first intermediate node is represented by "#2a3i".
-23 -In this example, route metrics are calculated by adding together link metrics. The route and link metrics are integers with a lower integer representing a more preferred route or link 4.
After receiving the first rebroadcast 52, the second intermediate node 32 updates its routing table entry 72 because, in this example, the route metric (2) of the route (#2a3132) associated with the first rebroadcast 52 is preferred to the route metric () of the route (#2232) associated with the previously-received initial broadcast Si. This io updating of the routing table 72 occurs before the second intermediate node 32 updates the initial broadcast 51 and retransmits it as the second rebroadcast. Thus, the second rebroadcast 5 includes information from the updated routing table 71, that is to say information about the route involving the gateway node 2, first intermediate node 3' and second intermediate node 32.
After receiving the second rebroadcast 5, the first intermediate node 31 does not update its routing table 71.
After receiving the second rebroadcast 5, the remote node 3 adds an appropriate routing table entry 72. This includes routing information 6 about the most preferred route (#2133235) between the gateway node 2, and the remote node 3.
Thus, by receiving and transmitting broadcasts 5, 5, 5, the intermediate and remote nodes 3i, 32. 3 acquire routing information 6 about a route to the gateway node 2,.
A node 2, 3 updates its routing table 71 after receiving a unicast message 7' initially transmitted by a node 3 of the second type and addressed to a node 2 of the first type.
Such a unicast message 7, provides information about a route to the node 3 of the second type which initially transmitted it. The node 2,3 updates its routing table 71 whenever such a unicast message 7, is received. After doing so, the first information item 6a in the r&evant routing table entry 72 (that is to say the destination node for the route) corresponds to the identity of the node 3 which initially transmitted the unicast message 7. This may be the source network address 63 in the network-layer header 61a of the unicast message 7. The second information item 6b in the relevant muting table entry 72 (that is to say the next node in the route) corresponds to the identity of the node from which the unicast message 7 was received. This may be the source physical -24 -address 66 in the data-link-layer header 62a of the unicast message 7. The other, fifth information item 6e in the relevant routing table entry 72 (that is to say the expiry time for the route) can be determined in the same way as for routes to nodes 2 of the first type. If the route associated with the unicast message 1is the same as the previously-stored route, then only the expiry time for the route may be updated.
After receiving the unicast message 7,, the gateway node 2a, and the intermediate nodes 31, 32 add a new entry 72 for a route to the remote node 3.
io Thus, once the remote node 3 has transmitted a unicast message 71 to the gateway node 2, the gateway node 2 and the intermediate nodes 31,32 acquire routing information 6 about a route to the remote node 3.
Referring to Figure ii, processes carried out in a part of the network i are shown.
The gateway node 2 determines whether it has data to be sent to a remote node 3, (step Sill). For example, the gateway node 2 may have received a command from a remote server and may need to send a corresponding command to the remote node 3.
If the gateway node 2,, has data to be sent to the remote node 3, the gateway node 2,, determines whether its muting table 71 includes a (non-expired) route to the remote node 35 (step 5112). If so, the gateway node 2a transmits a broadcast 5i including data for the remote node 35 (step 5114).
If the gateway node 2,, does not have any data to be sent to the remote node 3, the gateway node 2,, may determine whether the period of time since it transmitted a broadcast 5 exceeds a predetermined maximum period of time (step 5113). If so, the gateway node a transmits a broadcasts, (step 5114). In this case, the broadcasts' nccd not include any data. If the predetermined maximum period of time has not been exceeded, the gateway node 2 does not transmit a broadcast 5 If the gateway node 2 transmits a broadcast 51, the intermediate nodes 31, 3z and the remote node 3 receive and retransmit the broadcast and/or rebroadcasts thereof 5 (step Sii). In doing so, they may acquire routing information 6 about a route to the gateway node 2,, and may update their muting tables 71 accordingly.
-25 -The remote node 3 processes any data included in the broadcast 5 (step Sn6).
The remote node 3 determines whether it has data to be sent to the gateway node 3 (step Sn7). For example, the remote node 3 may have received instnictions from the gateway node 2a and may respond to the instmctions.
If the remote node 3 does not have any data to be sent to the gateway node 2a, the process restarts (step Sin).
io If the remote node 3 has data to be sent to the gateway node 2, the remote node 3 transmits a unicast message 7 addressed to, and including data for, the gateway node 2 (step Sn8). The remote node 3 uses the routing information 6 acquired previously (for example at step 5115).
The intermediate nodes 31,32 route the unicast message 71 to the gateway node 2 (step S119). This is carried out using the routing information 6 acquired previously (for example at step Sn5).
The intermediate nodes 3i, 32 and the remote node 3 use their routing tables 71 to determine the identity of the next node 2, 3 to which to transmit the unicast message 7i.
This involves, for example, finding the routing table entry 72 wherein the first information item 6a corresponds to the destination network address 64 in the network-layer header 61a of the unicast message 7i, and determining the physical address of the next node 2, 3 from the second information item 6b in the same routing table entry 72.
This may be carried out in the network layer of the node 3 and the physical address of the next node 2, 3 may be provided to the data link layer of the node 3, where it is used as the destination physical address 66 for the unicast message 7' to be transmitted.
When routing the unicast messagc 71 to the gateway node z, the intermediate nodes 31, 32 may update their routing tables 71 to include routing information 6 about the routes back to the remote node 3.
The gateway node 21 receives the unicast message 71 and processes the data included therein (step S 120). The gateway node 2, may update its routing table 71 to include routing information 6 abut the route back to the remote node 3.
-26 -The process then restarts (step Sill).
Alternative'y, the gateway node a may have determined that its routing table 71 includes a (non-expired) route to the remote node 3 (step Sn2), For example, the gateway node 2a may have recently received a unicast message 7i from the remote node 3 (for example at step S12o).
If so, the gateway node 2a transmits a unicast message 72 addressed to, and including data for, the remote node 3 (step S121). The gateway node 2 uses the routing Jo information 6 acquired previously (for examp'e at step S12o).
The intermediate nodes 3i, 32 route the unicast message 72 to the remote node 3 (step 5122). This is carried out using the routing information 6 acquired previously (for example at step S119).
The remote node 3 receives the unicast message 72 and processes the data included therein (step 5123).
The remote node 3 then determines whether it has data to be sent to the gateway node 3s (step 5117) and the process continues as described above.
Thus, the gateway node 2a and the remote node 3 can exchange data with each other.
For example, this may involve sending and receiving transport-layer commands to establish a connection and then using this connection to send and receive higher-layer data such as instructions, meter readings, and so forth. Alternatively, there may be no connection establishment and the higher-layer data may be exchanged in connectionless messages 5, 7. In either case, the process involves the gateway node 2a broadcasting data for the remote node 3, the remote node 3 then unicasting data to the gateway node z, and the gateway node 2 then unicasting data to the remote node 3° 3.
It will be appreciated that many other modifications may be made to the embodiments hereinbefore described.
For example, the communication may involve more than one node 2 of the first type.
In this case, the nodes 2 of the first type may operate in the same way as the nodes 3 of -27-the second type when another node 2 of the first type initially transmits the broadcast 5.
Furthermore, instead of the unicast messages 7, nodes 2,3 may send other types of non-broadcast messages such as a multicast messages.
Claims (1)
- Claims 1. A wireless node for use in a wireless network in which nodes receive and transmit routing broadcasts to acquire routing information, wherein the node is configured to transmit a routing broadcast oniy by retransmitting a routing broadcast received from another node.2. A node according to claim 1, wherein the routing broadcast comprises pay'oad data for the node and the node is configured to process the data. I03. A node according to daim 1 or 2, configured to use routing information acquired from routing broadcasts received from one or more other nodes to transmit data addressed to a particular node.4. A node according to dairn 3, configured to transmit the data addressed to the particular node as a response to receiving a routing broadcast comprising payload data from the particular node.5. A node according to claim 3 or 4, configured to determine a next node in a most preferred route to the particular node by comparing route metrics associated with a plurality of routing broadcasts received from other nodes, the plurality of routing broadcasts corresponding to one or more routing broadcasts initially transmitted by the particnar node.6. A node according to claim 5, configured to on'y retransmit a routing broadcast if no routing broadcast corresponding to the same routing broadcast initially transmitted by the particular node has already been received.A nodc according to claim 6, configured to delay retransmitting the routing broadcast by an amount of time which depends upon a Bnk metric of the link to the next node in the most preferred route to the particular node known to the node before the delay and then to retransmit the routing broadcast including information about the most preferred route to the particular node known to the node after the delay.-29 - 8. A node according to any preceding claim, configured to determine that a next node in a route to a further particular node is the node from which data addressed to a further node and originating from the further particiflar node was received.9. A node according to any preceding claim, wherein the routing broadcast comprises information identifying the nodes in a most preferred route between a particular node and the other node, and the node is configured to discard any acquired routing information about a route to the particular node via the other node in response to determining that the most preferred route between the particular node and the other io node indudes the node.10. A node according to any preceding claim, comprising: at least one processor; memory; and at least one wir&ess network interface.ii. A wir&ess network in which nodes receive and transmit routing broadcasts to acquire routing information, the network comprising: at least one node of a first type configured to transmit a routing broadcast; and at least one node of a second type according to any preceding claim.12. A network according to claim ii, wherein a node of the first type is a gateway node.13. A network according to claim 11 or 12, wherein a node of the first type is configured, in order to send data to a specified node of the second type, to determine whether it has routing information about a route to the specified node and, if so, to transmit a routing broadcast comprising payload data corresponding to the data and, if not, to transmit the data addressed to the specified node.14. A network according to any one of daims ii to 13, wherein a node of the first type is configured to transmit a routing broadcast periodically.15. A network according to any one of claims 11 to 14, wherein a node of the first type is configured to determine that the next node in a route to a specified node of the second type is the node from which data addressed to the node of the first type and originating from the specified node was received.16. A method for use by a wirdess node in a wireless network in which nodes receive and transmit routing broadcasts to acquire routing information, the method comprising transmitting a routing broadcast only by retransmitting a routing broadcast received from another node.17. A method according to claim i6, wherein the routing broadcast comprises io payload data for the node and the method comprises processing the data.iS. A method according to claim i6 or 17, comprising using routing information acquired from routing broadcasts received from one or more other nodes to transmit data addressed to a particular node.19. A method according to claim i8, comprising transmitting the data addressed to the particular node as a response to receiving a routing broadcast comprising payload data from the particular node.20. A method according to claim iS or 19, comprising determining a next node in a most preferred mute to the particular node by comparing route metrics associated with a plurality of routing broadcasts received from other nodes, the plurality of routing broadcasts corresponding to one or more routing broadcasts initially transmitted by the particular node.21. A method according to claim 20, comprising only retransmitting a routing broadcast if no routing broadcast corresponding to the same routing broadcast initially transmitted by the particular node has already been received.22. A method according to claim 21, comprising dethying retransmitting the routing broadcast by an amount of time which depends upon a Bnk metric of the link to the next node in the most preferred route to the particular node known to the node before the delay and then retransmitting the routing broadcast inchiding information about the most preferred route to the particular node known to the node after the delay.23. A method according to my one of claims 16 to 22, comprising determining that a next node in a route to a further particular node is the node from which data addressed to a further node and originating from the further particular node was received.24. A method according to my one of claims 16 to 23, wherein the routing broadcast comprises information identifying the nodes in a most preferred route between a particular node and the other node, and the method comprises discarding any acquired routing information about a route to the particular node via the other io node in response to determining that the most preferred route between the particular node and the other node inchides the node.25. A method for use in a wireless network in which nodes receive and transmit routing broadcasts to acquire routing information, the method comprising: is a method for use by a node of a first type, the method comprising transmitting a routing broadcast; and a method according to any one of daims 16 to 24 for use by a node of a second type.26. A method according to claim 25, wherein the node of the first type is a gateway node.27. A method according to claim 25 or 26, wherein the method of operating the node of the first type node comprises, in order to send data to a specified node of the second type, determining whether it has routing information about a route to the specified node and, if so, transmitting a routing broadcast comprising the data and, if not, transmitting the data addressed to the specified node.28. A method according to any one of claims 25 to 27, wherein the method of operating the node of the first type node comprises transmitting a routing broadcast periodicafly.29. A method according to any one of daims 25 to 27, wherein the method of operating the node of the first type node comprises determining that the next node in a route to a specified node of the second type is the node from which data addressed to the node of the first type and originating from the specified node was received.30. A computer program for performing a method according to any one of claims 16 to 29.31. A computer-readable medium storing a computer program according to claim 30.AMENDMENTS TO THE CLAIMS HAVE BEEN FILED AS FOLLOWSClaims 1. A wireless node for use in a wireless network in which nodes receive and transmit routing broadcasts to acquire routing information, wherein the node is configured to transmit a routing broadcast oniy by retransmitting a routing broadcast received from another node, wherein the node is configured, in response to receiving a routing broadcast comprising payload data for the node, to process the payload data.2. A node according to claim 1, configured to use routing information acquired io from routing broadcasts received from oie or more other nodes to transmit data addressed to a particular node.3. A node according to claim 2, configured to transmit the data addressed to the particular node as a response to receiving a routing broadcast comprising payload data from the particular node. C1)4. A node according to daim 2 or 3, configured to determine a next node in a most F" preferred route to the particular node by comparing route metrics associated with a plurality of routing broadcasts received from other nodes, the plurality of routing C") 20 broadcasts corresponding to one or more routing broadcasts initially transmitted by the C\i particular node.5. A node according to claim 4, configured to only retransmit a routing broadcast if no muting broadcast corresponding to the same routing broadcast initially transmitted by the particular node has already been received.6. A node according to claim 5, configured to delay retransmitting the muting broadcast by an amount of time which depends upon a link metric of the link to the next node in the most preferred route to the particdar node known to the node before the delay and then to retransmit the routing broadcast including information about the most preferred route to the particular node known to the node after the delay.A node according to any preceding claim, configured to determine that a next node in a route to a further particular node is the node from which data addressed to a ftmrther node and originating from the further particular node was received.8. A node according to any preceding claim, wherein the routing broadcast comprises information identifying the nodes in a most preferred route between a particular node and the other node, and the node is configured to discard any acquired routing information about a route to the particular node via the other node in response to determining that the most preferred route between the particular node and the other node includes the node.9. A node according to any preceding claim, comprising: at least one processor; io memory; and at least one wireless network interface.10. A wireless network in which nodes receive and transmit routing broadcasts to acquire routing information, the network comprising: at least one node of a first type configured to transmit a routing broadcast; and at least one node of a second type according to any preceding claim.N ii. A network according to claim 10, wherein a node of the first type is a gateway node. Co 2012. A network according to claim 10 or 11, wherein a node of the first type is configured, in order to send data to a specified node of the second type, to determine whether it has routing information about a route to the specified node aid, if so, to transmit a routing broadcast comprising payload data corresponding to the data and, if not, to transmit the data addressed to the specified node.13. A network according to any one of claims 10 to 12, wherein a node of the first type is configured to transmit a routing broadcast periodically.14. A network according to any one of claims 10 to 13, wherein a node of the first type is configured to determine that the next node in a route to a specified node of the second type is the node from which data addressed to the node of the first type and originating from the specified node was received.15. A method for use by a wireless node in a wireless network in which nodes receive and transmit routing broadcasts to acquire routing information, the method comprising transmitting a routing broadcast only by retransmitting a routing broadcast received from another node and, in response to receiving a routing broadcast comprising pay'oad data for the node, processing the payload data.16. A method according to claim 15, comprising using routing information acquired from routing broadcasts received from one or more other nodes to transmit data addressed to a particular node.17. A method according to claim 16, comprising transmitting the data addressed to io the partictdar node as a response to receiving a routing broadcast comprising pay'oad data from the particular node.iS. A method according to claim i6 or 17, comprising determining a next node in a most preferred route to the particular node by comparing route metrics associated with a phirabty of routing broadcasts received from other nodes, the phirabty of routing C') broadcasts corresponding to one or more routing broadcasts initiay transmitted by the particuflar node.0 19. A method according to claim 18, comprising only retransmitting a routing C') 20 broadcast if no routing broadcast corresponding to the same routing broadcast initially transmitted by the particular node has already been received.20. A method according to claim 19, comprising delaying retransmitting the routing broadcast by an amount of time which depends upon a link metric of the link to the next node in the most preferred route to the particular node known to the node before the delay and then retransmitting the routing broadcast including information about the most preferred route to the particular node known to the node after the delay.21. A method according to any one of claims 15 to 20, comprising determining that a next node in a route to a further particifiar node is the node from which data addressed to a further node and originating from the further particdar node was received.22. A method according to any one of claims i to 21, wherein the routing broadcast comprises information identifying the nodes in a most preferred route between a particular node and the other node, and the method comprises discarding any acquired routing information about a route to the particular node via the other node in response to determining that the most preferred route between the particular node and the other node inchides the node.23. A method for use in a wireless network in which nodes receive and transmit routing broadcasts to acquire routing information, the method comprising: a method for use by a node of a first type, the method comprising transmitting a routing broadcast; and a method according to any one of claims 15 to 22 for use by a node of a second io type.24. A method according to c'aim 23, wherein the node of the first type is a gateway node.25. A method according to daim 23 or 24, wherein the method of operating the C') node of the first type node comprises, in order to send data to a specified node of the second type, detenmning whether]t has routing information about a route to the F" specified node and, if so, transmitting a routing broadcast comprising the data and, if not, transmitting the data addressed to the specified node. CO 2026. A method according to any one of claims 23 to 25, wherein the method of operating the node of the first type node comprises transmitting a routing broadcast periodically.27. A method according to any one of claims 23 to 25, wherein the method of operating the node of the first type node comprises determining that the next node in a route to a specified node of the second type is the node from which data addressed to the node of the first type and originating from the specified node was received.28. A computer program for performing a method according to any one of daims 15 to 27.29. A computer-readable medium storing a computer program according to daim 28.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1222015.8A GB2500450B (en) | 2012-12-07 | 2012-12-07 | Routing between nodes in a wireless network |
EP13799650.0A EP2929723A1 (en) | 2012-12-07 | 2013-11-29 | Wireless node |
PCT/GB2013/053154 WO2014087138A1 (en) | 2012-12-07 | 2013-11-29 | Wireless node |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1222015.8A GB2500450B (en) | 2012-12-07 | 2012-12-07 | Routing between nodes in a wireless network |
Publications (2)
Publication Number | Publication Date |
---|---|
GB2500450A true GB2500450A (en) | 2013-09-25 |
GB2500450B GB2500450B (en) | 2014-03-19 |
Family
ID=49080545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB1222015.8A Active GB2500450B (en) | 2012-12-07 | 2012-12-07 | Routing between nodes in a wireless network |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP2929723A1 (en) |
GB (1) | GB2500450B (en) |
WO (1) | WO2014087138A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3111594A4 (en) * | 2014-02-27 | 2017-03-15 | Trane International Inc. | System, device, and method for communicating data over a mesh network |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3499928B1 (en) | 2017-12-14 | 2021-01-27 | Vestel Elektronik Sanayi ve Ticaret A.S. | Determining signal quality in a low-power wide-area network |
CN112134800B (en) * | 2019-06-25 | 2022-04-22 | 北京新能源汽车股份有限公司 | Data routing method, gateway, network routing system and vehicle |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013002014A1 (en) * | 2011-06-27 | 2013-01-03 | Mitsubishi Electric Corporation | Method for discovering set of routes in network |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006098723A1 (en) * | 2005-03-10 | 2006-09-21 | Thomson Licensing | Hybrid mesh routing protocol |
US20070070959A1 (en) * | 2005-09-23 | 2007-03-29 | Almeroth Kevin C | Infrastructure mesh networks |
TWI462530B (en) * | 2006-05-01 | 2014-11-21 | Koninkl Philips Electronics Nv | Method of discovering an ad-hoc on-demand distance vector route having at least a minimum set of available resources in a distributed wireless communications network |
US8599759B2 (en) * | 2011-04-29 | 2013-12-03 | Cooper Technologies Company | Multi-path radio transmission input/output devices, network, systems and methods with on demand, prioritized routing protocol |
-
2012
- 2012-12-07 GB GB1222015.8A patent/GB2500450B/en active Active
-
2013
- 2013-11-29 WO PCT/GB2013/053154 patent/WO2014087138A1/en active Application Filing
- 2013-11-29 EP EP13799650.0A patent/EP2929723A1/en not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013002014A1 (en) * | 2011-06-27 | 2013-01-03 | Mitsubishi Electric Corporation | Method for discovering set of routes in network |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3111594A4 (en) * | 2014-02-27 | 2017-03-15 | Trane International Inc. | System, device, and method for communicating data over a mesh network |
US10298501B2 (en) | 2014-02-27 | 2019-05-21 | Trane International, Inc. | System, device, and method for communicating data over a mesh network |
US10630594B2 (en) | 2014-02-27 | 2020-04-21 | Trane International Inc. | System, device, and method for communicating data over a mesh network |
Also Published As
Publication number | Publication date |
---|---|
WO2014087138A1 (en) | 2014-06-12 |
EP2929723A1 (en) | 2015-10-14 |
GB2500450B (en) | 2014-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gupta et al. | Performance metric comparison of AODV and DSDV routing protocols in MANETs using NS-2 | |
US9785509B2 (en) | Phased network formation for power restoration | |
US20080112326A1 (en) | Load-Balancing Routes In Multi-Hop Ad-Hoc Wireless Networks | |
Periyasamy et al. | End-to-end link reliable energy efficient multipath routing for mobile ad hoc networks | |
CN104735743B (en) | The routing optimization method of embedded radio self-organizing network | |
US10455012B2 (en) | Routes discovery in wireless networks with directional transmissions | |
Al Mojamed | Integrating mobile ad hoc networks with the internet based on OLSR | |
Cedeño et al. | The performance of QoS in wireless sensor networks | |
Bhangwar et al. | On routing protocols for high performance | |
Dandotiya et al. | Route selection in MANETs by intelligent AODV | |
Chen et al. | Self-selective routing for wireless ad hoc networks | |
GB2500450A (en) | Routing between nodes in a wireless mesh network | |
Zakaria et al. | Performance evaluation of routing protocols in wireless mesh network | |
Ajmal et al. | Coordinated opportunistic routing protocol for wireless mesh networks | |
Jayanti | Routing protocols in MANET: comparative study | |
Taneja et al. | Performance evaluation of DSR and AODV over UDP and TCP connections | |
Che-Aron et al. | The enhanced fault-tolerant AODV routing protocol for wireless sensor network | |
Che-Aron et al. | An enhancement of fault-tolerant routing protocol for wireless sensor network | |
Sethi et al. | An effective and scalable AODV for wireless ad hoc sensor networks | |
JP2014207629A (en) | Communication device, communication control method and program | |
Patil et al. | Performance enhancement of reactive on demand routing protocol in wireless Ad Hoc network | |
Mukti et al. | A Comprehensive Performance Evaluation of Proactive, Reactive and Hybrid Routing in Wireless Sensor Network for Real Time Monitoring System | |
Majumder et al. | A forward pointer based mobility management scheme for multi-hop multi-path wireless mesh network | |
Pramod et al. | Characterization of wireless mesh network performance in an experimental test bed | |
Budhiraja et al. | Performance Comparison of Dynamic Mobile ad-hoc network ondemand multipath routing protocol with AODV |