WO2014087138A1 - Wireless node - Google Patents
Wireless node Download PDFInfo
- Publication number
- WO2014087138A1 WO2014087138A1 PCT/GB2013/053154 GB2013053154W WO2014087138A1 WO 2014087138 A1 WO2014087138 A1 WO 2014087138A1 GB 2013053154 W GB2013053154 W GB 2013053154W WO 2014087138 A1 WO2014087138 A1 WO 2014087138A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- node
- routing
- broadcast
- route
- type
- Prior art date
Links
- 238000000034 method Methods 0.000 claims description 68
- 230000008569 process Effects 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 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
- 230000005611 electricity Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 102220483407 Septin-4_S91A_mutation Human genes 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
- 230000003111 delayed effect Effects 0.000 description 1
- 230000006870 function Effects 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
-
- 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
- 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
Definitions
- the present invention relates to a wireless node for use as part of a wireless network such as a wireless mesh network.
- a data network (which is often simply referred to as a "network") can be used to route data between nodes.
- a node can not only be the source or 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.
- 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,
- the network may be a low-power wireless mesh network.
- communication can be limited by power, bandwidth and/or data rate.
- the power source, data processing and/or storage capabilities of the nodes can be limited.
- the network can be operated without the need for a radio communications licence.
- 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.
- wireless mesh networks Examples of wireless mesh networks can be found in GB 2407941 A and
- 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.
- routing can also adapt to changes such as the making or breaking of links, the arrival of new nodes, etc. A number of different routing protocols can be used.
- AODV routing protocols are ad-hoc on-demand distance vector (AODV) routing as described, for example, in C. Perkins et al.: “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.
- a node broadcasts a route request ("RREQ") to find a route to the destination.
- a route can be determined when the RREQ reaches the destination or an intermediate node with a valid route 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.
- RREP route reply
- Each node receiving the RREQ caches a route back to the originator of the RREQ so that the RREP can be unicast from the destination along a path to the originator or from any intermediate node.
- Nodes monitor the link status of next hops in active routes.
- 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.
- OSPF open-shortest path first
- 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 individual piece of the database is a particular router's local state, for example the router's usable interfaces and reachable neighbours. The router distributes its local state throughout the network by flooding. From the link-state database, each router constructs a tree of shortest paths with itself as root. This shortest-path tree gives the route to each destination in the network. Summary
- a wireless node for use in a wireless 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.
- 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 process and store, can be reduced. Therefore, the approach is particularly suitable for low-power wireless 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.
- 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.
- 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.
- routing information acquired from routing broadcasts received from one or more other nodes to transmit data addressed to a particular node.
- the amount of routing traffic can be reduced compared to networks in which multiple transmissions are received and transmitted before such data can be transmitted.
- 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 maybe 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.
- a routing broadcast comprising payload data from the particular node.
- 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 routing broadcasts received from other nodes, the plurality of routing broadcasts
- an initially transmitted broadcast means a broadcast that is not transmitted in response to receiving a corresponding broadcast 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.
- 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.
- the node can prevent routing loops 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.
- 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 to transmit a routing broadcast only by retransmitting a routing broadcast received from another node.
- 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.
- a node of the first type may be a gateway node.
- data most often travels between the gateway node and one or another of the other nodes.
- communication corresponds to one or more tree patterns, depending upon the number of first nodes.
- 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 maybe 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.
- the network can be flooded with routing broadcasts only when necessary.
- a node of the first type may be configured to transmit a routing broadcast periodically.
- 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.
- the nodes of the second type can acquire current routing information without having to transmit initial 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.
- the node of the first type can acquire both routing information and data from the same
- 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.
- a method for use by a wireless node in a wireless network in which nodes receive and transmit routing broadcasts to acquire routing information 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 acquired from routing broadcasts received from one or more other nodes to transmit data addressed to a particular 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
- 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.
- the method may comprise 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.
- 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.
- 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, 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 broadcast 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, transmitting 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.
- 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.
- a wireless node comprising means for performing the method.
- a computer program comprising instructions for performing the method.
- a computer-readable medium storing the computer program.
- 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.
- Figure 1 schematically illustrates a network of nodes of first and second types
- Figure 2a is a schematic block diagram of the node of the first type shown in Figure l
- Figure 2b is a schematic block diagram of a node of the second type shown in Figure l
- 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;
- Figure 6 illustrates the structure of a unicast message shown in Figure 3 and 4;
- Figure 7 illustrates the structure of a routing table used by the nodes shown in Figure 1;
- Figure 8 is a flowchart of a process carried out by a node of the second type
- FIG. 9 is a flowchart showing in more detail the step shown in Figure 8 of
- 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;
- FIG. 11 is a flowchart of processes carried out in part of the network shown
- a wireless network 1 (hereinafter referred to simply as a
- 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).
- the network 1 includes one node 2 a of the first type and nine nodes, namely first, second, third, fourth, fifth, sixth, seventh, eighth and ninth nodes 31, 3 2 , 3 3 , 3 4 , 3 5 , 36, 3 7 , 3s, 3 3 ⁇ 4 of the second type.
- the network 3 may include more nodes 2 of the first type and fewer or more nodes 3 of the second type. Each node 2, 3 is able to communicate directly with one or more other nodes 2, 3 via respective links 4.
- 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 .
- 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 1 to 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 5.
- an initial broadcast 5 transmitted by the node 2a of the first type and received by the first and second nodes 31, 3 2 of the second type via the first and second links 4 a i, 4 a2 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
- a unicast message 7 transmitted by the fifth node 3 5 of the second type to the second node 3 2 of the second type via the fifth link 4 25 is shown.
- This unicast message 7 can be received by the second node 3 2 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 involved in data communication in the network 1.
- 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.
- 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 11 comprising one or more processors 11a and memory lib, 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 15.
- the controller 11 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 11 controls operations of the other components 12, 13, 14.
- the first transceiver 13 is used to communicate with other nodes 2, 3 in the network 1 according to a first
- the first communications protocol 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.
- a mobile data network such as a general packet radio service (GPRS) network may be used to communicate with an Internet-connected remote server.
- GPRS general packet radio service
- only a single transceiver, for example the first transceiver 13, may be 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.
- 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 to an external transceiver.
- the node 2 may include a user interface (not shown) for providing user outputs and/or receiving user inputs.
- 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 electricity meter.
- the node 3 includes a controller 21 comprising one or more processors 21a 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.
- 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.
- the node 3 may form part of a system 1 for monitoring and/ or controlling energy use.
- 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.
- 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 layers of the nodes 2, 3, and/or information maybe provided in different headers of the messages 5, 7.
- OSI Open Systems Interconnection
- FIG. 3 shows exchanges of messages 5, 7 between certain nodes 2, 3.
- the exchanges involve a node 2 a of the first type (hereinafter referred to as the "gateway node"), first and second nodes 31, 3 2 of the second type (hereinafter referred to as the "first and second intermediate nodes") and a third node 3 5 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 a , 31, 3 2 , 3 5 .
- exchanges involving only two intermediate nodes 31, 3 2 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.
- a first stage A the gateway node 2 a transmits a routing broadcast 5 (hereinafter referred to simply as a "broadcast") which is used to acquire routing information.
- the broadcast 5 can be initiated by the gateway node 2a 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 31, 32 and the remote node 3 5 .
- the first stage A includes first, second, third and fourth parts A 1; A 2 , A 3 , A4.
- the remote node 3 5 transmits a unicast message 71 addressed to the gateway node 2 a which is routed by the remote node 3 5 and the intermediate nodes 31, 3 2 using routing information 6 acquired during the first stage A.
- the gateway node 2 a transmits a unicast message 72
- the gateway node 2 a transmits an initial broadcast 5i.
- the initial broadcast 51 may include data for the remote node 3 5 .
- a broadcast 5 transmitted by a node 2, 3 1 can be received each node 2, 3 to which it has a link 4.
- the initial broadcast 51 is received by the first and second intermediate nodes 31, 3 2 via respective links 4 a i, 4a2.
- 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.
- the first and second intermediate nodes 31, 3 2 retransmit the initial broadcast
- a node 3 of the second type delays retransmitting a received broadcast 5 by a period of time which depends upon the link 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 5.
- the next node 2, 3 in the most preferred route from the first and second intermediate nodes 31, 3 2 , to the gateway node 2 a is the gateway node 2 a itself.
- the relevant link 4 is the link 4 via which the initial broadcast 51 was received.
- the link metric of the link 4 al between the gateway node 2 a and the first intermediate node 31 is preferred to that of the link 4 a2 between the gateway node 2a and the second intermediate node 3 2 .
- a first delay ⁇ at the first intermediate node 31 is less than a second delay ⁇ 2 at the second intermediate node 3 2 .
- the first intermediate node 31 retransmits the initial broadcast 51 as a first rebroadcast 5 2 .
- 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 5 and the node 3.
- the first rebroadcast 5 2 includes information about the route between the gateway node 2 a and the first intermediate node 31.
- the first rebroadcast 5 2 is received by the gateway node 2 a and the second intermediate node 3 2 via respective links 4 a i, 4i 2 .
- the second intermediate node 3 2 does not retransmit the first rebroadcast 51 because it has already received a corresponding broadcast 5, that is to say the initial broadcast 51.
- the gateway node 2 a also does not retransmit the first rebroadcast 51.
- the second intermediate node 3 2 retransmits the initial broadcast 51 as a second rebroadcast 5 3 . Because of the length of the first delay ⁇ 2 relative to the second delay ⁇ 1; this retransmitting is carried out after the second intermediate node 3 2 has received the first rebroadcast 52.
- the route metric of the route associated with the first rebroadcast 52 (that is to say the route via the first intermediate node 3 is more preferred than that of the direct route associated with the initial broadcast 51.
- the second rebroadcast 5 3 is transmitted including information about the route via the first intermediate node 31. Some of this information is obtained from the first rebroadcast 52.
- the second rebroadcast 5 3 is received by the gateway node 2 a , the first intermediate node 3i and the remote node 3 5 via respective links 4 a2 , 412, 42 5 .
- the gateway node 2 a and the first intermediate node 31 do not retransmit the second rebroadcast 5 3 . If the broadcast 52 includes data for the remote node 3 5 , then the remote node 3 5 processes the data.
- the remote node 3 5 retransmits the second rebroadcast 5 3 as a third rebroadcast 5 4 .
- the second intermediate node 3 2 receives the third rebroadcast 5 4 but does not retransmit it.
- nodes 2 a , 3i, 3 2 , 3 5 in the network 1 have been described as transmitting and receiving broadcasts 5. However, generally, every node 2, 3 in the network 1 will transmit and receive a broadcast 5 corresponding to a broadcast 5 initially transmitted by a node 2 of the first type.
- the remote node 3 5 transmits a unicast message 71.
- the unicast message 71 is addressed to, and includes data for, the gateway node 2 a .
- 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.
- the remote node 3 5 has determined that a unicast message 71 addressed to the gateway node 2 a should be transmitted via the link 4 25 to the second intermediate node 3 2
- the second intermediate node 3 2 has determined that it should be transmitted via the link 4 12 to the first intermediate node 31, and the first intermediate node 31 has determined that it should be transmitted via the link 4 al to the gateway node 2 a .
- the gateway node 2 a transmits a unicast message 2 .
- the unicast message 7 2 is addressed to, and includes data for, the remote node 3 5 .
- Such a unicast message 7 2 is routed by a node 2, 3 using routing information 6 acquired during the second stage B.
- the gateway node 2 a has determined that a unicast message 72 addressed to the remote node 3 5 should be transmitted via the link 4 al to the first intermediate node 31, the first intermediate node 3i has determined that it should be transmitted via the link 4 12 to the second intermediate node 3 2 , and the second intermediate node 3 2 has determined that it should be transmitted via the link 4 25 to the remote node 3 5 .
- the route taken by the unicast message 7 2 during the third stage C is the reverse of the route taken by the unicast message 71 during the second stage B.
- the broadcast 5 includes, amongst other things, a network-layer (layer-3) packet 51 comprising a header 51a and a payload 51b, and a data-link-layer (layer-2) frame 52 comprising a header 52a and a payload 52b.
- the data-link-layer frame 52 includes a single network-layer packet 51.
- 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, 52a 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 5.
- the broadcasts 51, 5 2 , 5 3 , 5 4 ( Figures 3 and 4) include the network address of the gateway node 2 a 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 51a includes a route metric 55 of a route and information 56 identifying 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 5 and the node 3 which most recently retransmitted the broadcast 5.
- the route metric 55 and route information 56 relate to the most preferred route between the gateway node 2 a and the second intermediate node 32, that is to say the route via the first intermediate node 3.
- the route information 56 may be in the form of a bitmap.
- the network-layer packet header 51a includes a further destination address 57 such as a transport-layer (layer-4) destination address 57.
- a node 3 of the second type can determine whether it should process the data in the network-layer payload 51b.
- the broadcasts 51, 52, 5 3 , 5 4 ( Figures 3 and 4) include, for example, the transport-layer destination address 57 of the destination node 3 5 .
- the data-link-layer frame header 52a includes a source physical address 58 and a destination physical address 59.
- the source physical address 58 identifies the node 2, 3 which most recently (re)transmitted the broadcast 5.
- 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.
- the unicast message 7 includes a network-layer packet 61 comprising a header 61a and a payload 61b, 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 5 and the node 2, 3 to which the unicast message 5 is addressed.
- the unicast message 71 ( Figures 3 and 4) includes the network addresses of the remote node 3 5 as the source network address 63 and that of the gateway node 2 a as the destination network address 64.
- the network-layer packet header 61a does not need to include a route metric of a route or information identifying each of the nodes 2, 3 in the route.
- the network-layer packet header 61a may include a further destination address 65 such as a transport-layer (layer-4) destination address 65.
- 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 2, 3 which most recently transmitted the unicast message 5 and the node 2, 3 to which it was transmitted.
- a routing table 71 is shown. Such a routing table 71 is used by each of the nodes 2, 3 in the network 1 to store acquired routing information 6.
- the routing table 71 includes a number of entries 72. First, second, third, fourth, fifth and sixth entries 72 1 , 72.2, 72 3 , 72 4 , 72 5 , 720 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.
- 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 identifying 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.
- 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 S81).
- This broadcast 5 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 broadcast 5 was received is hereinafter referred to as the "previous node”.
- a link metric is obtained (step S82).
- the link metric maybe 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 5 was received.
- the link metric may be 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 S83).
- 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 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 S82).
- the information is compared with any stored routing information 6 and new or updated routing information 6 is stored if appropriate. Referring to Figure 9, the conditional updating of the routing information 6 is shown in more detail.
- step S91A It is determined whether the current node 3 is one of the nodes 2, 3 identified in the route information 56 in the network-layer header 51a of the current broadcast 5 (step S91A). In other words, it is determined whether there is a routing loop in the potential new route associated with the current broadcast 5.
- step S93 it is determined whether there is a stored route to the same destination node 2 as the potential new route. This involves, for example, 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 examples, the current node 3 may remove routes from the routing table 71 when they expire and so this checking may not be needed.
- 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 involves, for example, determining whether the source physical address 58 in the current broadcast 5 corresponds to the second information item 6b in the relevant routing table 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).
- step S95 it is determined whether the potential new route associated with the current broadcast 5 has a more preferred route metric than the stored route.
- the relationship between a route metric of a route and the link metrics of the links 4 that make up the route may involve addition, multiplication or another function.
- the route metric of the potential new route is then compared with the third
- the routing table 71 is updated (step S97). If the route metric of the potential new route is not more preferred, 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 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.
- the routing table 71 is updated (step S97).
- Updating the routing table involves adding the route associated with the current broadcast 5 to the routing table 71, or amending the relevant routing table entry 72 so 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 5, 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 58 in the current broadcast 5.
- 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 56 in the current broadcast 5 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 field (not 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 relative to the time of arrival of the current broadcast 5.
- the routing table 71 is updated if the potential new route and the stored route have the same next node 2, 3.
- the expiry time is updated if the route associated with the current broadcast 5 is the same as the stored route.
- the routing information 6 relating to a route to a node 2 of the first type is updated.
- the routing table 71 is not updated.
- step S84 it is determined whether the current broadcast 5 is a duplicate (step S84). 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 broadcast 5 with corresponding information about previously- received broadcasts 5. For example, the combination of the source network address 53 and a network-layer sequence number (not shown) may be used to identify corresponding broadcasts 5. Thus, a node 3 of the second type stores information about a number of previously received broadcasts 5. For example, the information may be stored in a cache which employs a least recently used cache algorithm.
- step S85 it is determined whether the current broadcast 5 includes data 51b for the current node 3 (step S85). In particular, it is determined whether the further destination address 57, for example layer-4 destination address 57, corresponds to that of the current node 3.
- the data 51b included in the broadcast 5 is processed (step S86).
- the data 51b 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 delayed 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 broadcast 5 (step S88). If this next node 2, 3 is the node 2, 3 from which the current broadcast 5 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 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.
- the current broadcast 5 is then updated (step S89).
- the route metric 55 in the network-layer header 51a 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.
- the route information 56 in the network-layer header 51a is updated to correspond to the route information 6d in the same routing table entry 72.
- the current broadcast 5 is updated to including information about the most preferred route between the node 2 which initially transmitted the current broadcast 5 and the current node 3. This information may have been provided by a broadcast 5 which was received after the current broadcast 5.
- the current broadcast 5 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.
- the routing tables 71 of the gateway node 2 a , the first and second intermediate nodes 31, 3 2 and the remote node 3 5 are shown after receiving and processing the initial broadcast 51, the first and second rebroadcasts 52, 5 3 and the first unicast message 71. There are no changes to the routing tables 71 after the third rebroadcast 5 4 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 31, 3 2 add appropriate routing table entries 72.
- the "#" symbol is used to represent node identity information.
- the identity of the gateway node 2 a is represented by "#2 a " and the information identifying the nodes 2, 3 in the route involving the gateway node 2 a and the first intermediate node is represented by "#2 a 3!.
- 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.
- the second intermediate node 3 2 After receiving the first rebroadcast 5 3 ⁇ 4 the second intermediate node 3 2 updates its routing table entry 72 because, in this example, the route metric (2) of the route (#2 a 3i3 2 ) associated with the first rebroadcast 52 is preferred to the route metric (3) of the route (#2 a 3 2 ) associated with the previously-received initial broadcast 51.
- This updating of the routing table 72 occurs before the second intermediate node 3 2 updates the initial broadcast 51 and retransmits it as the second rebroadcast 5 3 .
- the second rebroadcast 5 3 includes information from the updated routing table 71, that is to say information about the route involving the gateway node 2 a , first intermediate node 3i and second intermediate node 3 2 .
- the first intermediate node 31 After receiving the second rebroadcast 5 3 , the first intermediate node 31 does not update its routing table 71.
- the remote node 3 5 After receiving the second rebroadcast 5 3 , the remote node 3 5 adds an appropriate routing table entry 72. This includes routing information 6 about the most preferred route (#2 a 33 2 3 5 ) between the gateway node 2 a and the remote node 3 5 .
- the intermediate and remote nodes 31, 3 2 , 3 5 acquire routing information 6 about a route to the gateway node 2 a .
- a node 2, 3 updates its routing table 71 after receiving a unicast message 71 initially transmitted by a node 3 of the second type and addressed to a node 2 of the first type.
- a unicast message 71 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 71 is received.
- the first information item 6a in the relevant routing table entry 72 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 routing table entry 72 corresponds to the identity of the node from which the unicast message 7 was received. This may be the source physical 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 71 is the same as the previously- stored route, then only the expiry time for the route may be updated.
- the gateway node 2 a After receiving the unicast message 71, the gateway node 2 a , and the intermediate nodes 3i, 32 add a new entry 72 for a route to the remote node 3 5 .
- the gateway node 2 a and the intermediate nodes 31, 3 2 acquire routing information 6 about a route to the remote node 3 5 .
- the gateway node 2 a determines whether it has data to be sent to a remote node 3 5 (step S111). For example, the gateway node 2 a may have received a command from a remote server and may need to send a corresponding command to the remote node 3 5 . If the gateway node 2 a has data to be sent to the remote node 3 5 , the gateway node 2 a determines whether its routing table 71 includes a (non-expired) route to the remote node 3 5 (step S112). If so, the gateway node 2a transmits a broadcast 51 including data for the remote node 3 5 (step S114).
- the gateway node 2 a may determine whether the period of time since it transmitted a broadcast 5 exceeds a predetermined maximum period of time (step S113). If so, the gateway node 2a transmits a broadcast 51 (step S114). In this case, the broadcast 51 need not include any data. If the predetermined maximum period of time has not been exceeded, the gateway node 2 a does not transmit a broadcast 51
- the intermediate nodes 31, 3 2 and the remote node 3 5 receive and retransmit the broadcast and/ or rebroadcasts thereof 5 (step S115). In doing so, they may acquire routing information 6 about a route to the gateway node 2 a and may update their routing tables 71 accordingly.
- the remote node 3 5 processes any data included in the broadcast 5 (step S116).
- the remote node 3 5 determines whether it has data to be sent to the gateway node 3 5 (step S117). For example, the remote node 3 5 may have received instructions from the gateway node 2 a and may respond to the instructions.
- step S111 If the remote node 3 5 does not have any data to be sent to the gateway node 2 a , the process restarts (step S111). If the remote node 3 5 has data to be sent to the gateway node 2 a , the remote node 3 5 transmits a unicast message 71 addressed to, and including data for, the gateway node 2a (step S118). The remote node 3 5 uses the routing information 6 acquired previously (for example at step S115). The intermediate nodes 31, 3 2 route the unicast message 71 to the gateway node 2 a (step S119). This is carried out using the routing information 6 acquired previously (for example at step S115).
- the intermediate nodes 31, 3 2 and the remote node 3 5 use their routing tables 71 to determine the identity of the next node 2, 3 to which to transmit the unicast message 7 .
- 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 71 to be transmitted.
- the intermediate nodes 31, 3 2 may update their routing tables 71 to include routing information 6 about the routes back to the remote node 3 5 .
- the gateway node 2 a receives the unicast message 71 and processes the data included therein (step S120).
- the gateway node 2 a may update its routing table 71 to include routing information 6 abut the route back to the remote node 3 5 .
- the process then restarts (step S111).
- the gateway node 2a may have determined that its routing table 71 includes a (non-expired) route to the remote node 3 5 (step S112). For example, the gateway node 2 a may have recently received a unicast message 71 from the remote node 3 5 (for example at step S120).
- the gateway node 2 a transmits a unicast message 72 addressed to, and including data for, the remote node 3 5 (step S121).
- the gateway node 2 a uses the routing information 6 acquired previously (for example at step S120).
- the intermediate nodes 31, 3 2 route the unicast message 72 to the remote node 3 5 (step S122). This is carried out using the routing information 6 acquired previously (for example at step S119).
- the remote node 3 5 receives the unicast message 72 and processes the data included therein (step S123).
- the remote node 3 5 determines whether it has data to be sent to the gateway node 3 5 (step S117) and the process continues as described above.
- the gateway node 2 a and the remote node 3 5 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
- the process involves the gateway node 2 a broadcasting data for the remote node 3 5 , the remote node 3 5 then unicasting data to the gateway node 2 a , and the gateway node 2 a then unicasting data to the remote node 3s-
- the communication may involve more than one node 2 of the first type.
- the nodes 2 of the first type may operate in the same way as the nodes 3 of the second type when another node 2 of the first type initially transmits the broadcast 5 ⁇
- nodes 2, 3 may send other types of non-broadcast messages such as a multicast messages.
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 network (1) 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.
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 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. 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 limited by power, bandwidth and/or data rate. In some cases, the power source, data processing and/or storage capabilities of the nodes can be limited. 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 Ai.
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 links, the arrival of new nodes, etc.
A number of different routing protocols can be used.
One of these routing protocols is ad-hoc on-demand distance vector (AODV) routing as described, for example, in C. Perkins et al.: "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 route to the destination. A route can be determined when the RREQ reaches the destination or an intermediate node with a valid route 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 the RREQ so that the RREP can be unicast from the destination along 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 routing 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 Al.
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 individual piece of the database is a particular router's local state, for example the router's usable interfaces and reachable neighbours. The router distributes its local state throughout the network by flooding. From the link-state database, each router constructs a tree of shortest paths with itself as root. This shortest-path tree gives the route to each destination in the network.
Summary
According to a first 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 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 process and store, can be reduced. Therefore, the approach is particularly suitable for low-power wireless 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 are 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 maybe 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 routing 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 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 loops 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 to transmit a routing broadcast only 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 nodes. In other words, communication corresponds to one or more tree patterns, depending upon the number of first nodes. For example, 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 maybe 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 only 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 information without having to transmit initial 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 acquired from routing broadcasts received from one or more other nodes to transmit data addressed to a particular 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 initially 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.
The method may comprise 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.
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, 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 broadcast 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, transmitting 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.
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 2a is a schematic block diagram of the node of the first type shown in Figure l; Figure 2b is a schematic block diagram of a node of the second type shown in Figure l; 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;
Figure 6 illustrates the structure of a unicast message shown in Figure 3 and 4;
Figure 7 illustrates the structure of a routing table used by the nodes shown in Figure 1; 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, 33, 34, 35, 36, 37, 3s, 3¾ of the second type. However, the network 3 may include more nodes 2 of the first type and fewer or more nodes 3 of the second type. Each node 2, 3 is able to communicate directly with one or more other nodes 2, 3 via respective links 4. In this example, there are first, second, third, fourth, fifth, sixth, seventh, eighth, ninth, tenth and eleventh links 4ai, 4a2, 4i2, 4i3, 425, 426, 434, 447, 448, 449, 4δ9· However, there may be fewer or more links 4 and/ or there may be different links 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 .
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 1 to 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 5. In this example, an initial broadcast 5 transmitted by the node 2a of the first type and received by the first and second nodes 31, 32 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
transmitted by any of the other nodes 3. In this example, a unicast message 7 transmitted by the fifth node 35 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 involved in data communication in the network 1. For example, 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 11 comprising one or more processors 11a and memory lib, 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 15. The controller 11 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 11 controls operations of the other components 12, 13, 14. The first transceiver 13 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 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
examples, only a single transceiver, for example the first transceiver 13, may be 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 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 electricity meter. The node 3 includes a controller 21 comprising one or more processors 21a 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 part 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 examples, 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
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 31, 32 of the second type (hereinafter referred to as the "first and second intermediate nodes") and a third node 35 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 2a, 31, 32, 35.
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 2a transmits a routing broadcast 5 (hereinafter referred to simply as a "broadcast") which is used to acquire routing information. The broadcast 5 can be initiated by the gateway node 2a 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 31, 32 and the remote node 35. In this example, the first stage A includes first, second, third and fourth parts A1; A2, A3, A4. In a second stage B, the remote node 35 transmits a unicast message 71 addressed to the gateway node 2a which is routed by the remote node 35 and the intermediate nodes 31, 32 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 35 which is routed by the gateway node 2a and the intermediate nodes 31, 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, the third stage C or the second and third stages B, C may not take place after the first stage A before further routing information is broadcast. The first, second and/or third stages A, B, C maybe repeated any number of times. After at least one occurrence of the first, second and third stages A, B C, the second and third stages B, C may occur in any order. In the first part Ai of the first stage A, the gateway node 2a transmits an initial broadcast 5i. The initial broadcast 51 may include data for the remote node 35. A broadcast 5
transmitted by a node 2, 3 1 can be received each node 2, 3 to which it has a link 4. In this example, the initial broadcast 51 is received by the first and second intermediate nodes 31, 32 via respective links 4ai, 4a2. 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 31, 32 retransmit the initial broadcast
A node 3 of the second type delays retransmitting a received broadcast 5 by a period of time which depends upon the link 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 5. 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 2a is the gateway node 2a itself. In other words, in this example, the relevant link 4 is the link 4 via which the initial broadcast 51 was received. Furthermore, in this example, the link metric of the link 4al between the gateway node 2a and the first intermediate node 31 is preferred to that of the link 4a2 between the gateway node 2a and the second intermediate node 32. Thus, a first delay Δι at the first intermediate node 31 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 31 retransmits the initial broadcast 51 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 5 and the node 3. Thus, in this example, the first rebroadcast 52 includes information about the route between the gateway node 2a and the first intermediate node 31. The first rebroadcast 52 is received by the gateway node 2a and the second intermediate node 32 via respective links 4ai, 4i2. The second intermediate node 32 does not retransmit the first rebroadcast 51 because it has already received a corresponding broadcast 5, that is to say the initial broadcast 51. The gateway node 2a also does not retransmit the first rebroadcast 51.
In the third part A3 of the first stage A, the second intermediate node 32 retransmits the initial broadcast 51 as a second rebroadcast 53. Because of the length of the first delay Δ2 relative to the second delay Δ1; 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 3 is more preferred than that of the direct route 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.
The second rebroadcast 53 is received by the gateway node 2a, the first intermediate node 3i and the remote node 35 via respective links 4a2, 412, 425. The gateway node 2a and the first intermediate node 31 do not retransmit the second rebroadcast 53. If the broadcast 52 includes data for the remote node 35, then the remote node 35 processes the data.
In the fourth part A4 of the first stage A, the remote node 35 retransmits the second rebroadcast 53 as a third rebroadcast 54. The second intermediate node 32 receives the third rebroadcast 54 but does not retransmit it.
Only certain nodes 2a, 3i, 32, 35 in the network 1 have been described as transmitting and receiving broadcasts 5. However, generally, every node 2, 3 in the network 1 will transmit and receive a broadcast 5 corresponding to a broadcast 5 initially transmitted by a node 2 of the first type.
In the second stage B, the remote node 35 transmits a unicast message 71. The unicast message 71 is addressed to, and includes data for, the gateway node 2a. 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 35 has determined that a unicast message 71 addressed to the gateway node 2a should be transmitted via the link 425 to the second intermediate node 32, the second intermediate node 32 has determined that it should 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 4al to the gateway node 2a.
In the third stage C, the gateway node 2a transmits a unicast message 2. The unicast message 72 is addressed to, and includes data for, the remote node 35. 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 35 should be transmitted via the link 4al to the first intermediate node 31, 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 35. The route taken by the unicast message 72 during the third stage C is the reverse of the route taken by the unicast message 71 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 51a and a payload 51b, and a data-link-layer (layer-2) frame 52 comprising a header 52a and a payload 52b. In this case, the data-link-layer frame 52 includes a single network-layer packet 51.
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, 52a 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 5. For instance, the broadcasts 51, 52, 53, 54 (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 51a includes a route metric 55 of a route and information 56 identifying 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 5 and the node 3 which most recently retransmitted the broadcast 5. For instance, in the second rebroadcast 53 (Figures 3 and 4), the route metric 55 and route information 56 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 may be in the form of a bitmap.
The network-layer packet header 51a 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 51b. For instance, the broadcasts 51, 52, 53, 54 (Figures 3 and 4) include, for example, the transport-layer destination address 57 of the destination node 35. The data-link-layer frame header 52a includes a source physical address 58 and a destination physical address 59. The source physical address 58identifies the node 2, 3 which most recently (re)transmitted the broadcast 5. 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 network-layer packet 61 comprising a header 61a and a payload 61b, 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 5 and the node 2, 3 to which the unicast message 5 is addressed. For instance, the unicast message 71 (Figures 3 and 4) includes the network addresses of the remote node 35 as the source network address 63 and that of the gateway node 2a as the destination network address 64.
The network-layer packet header 61a does not need to include a route metric of a route or information identifying each of the nodes 2, 3 in the route.
The network-layer packet header 61a may include a further destination address 65 such as a transport-layer (layer-4) destination address 65.
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
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 1 to store acquired routing information 6. The routing table 71 includes a number of entries 72. First, second, third, fourth, fifth and sixth entries 721, 72.2, 723, 724, 725, 720 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.
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 identifying 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 S81). This broadcast 5 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 broadcast 5 was received is hereinafter referred to as the "previous node".
A link metric is obtained (step S82). The link metric maybe 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 5 was received. The link metric may be
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 S83).
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 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 S82). The information is compared with any stored routing information 6 and new or updated routing information 6 is stored if appropriate. Referring to Figure 9, the conditional 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 56 in the network-layer header 51a of the current broadcast 5 (step S91A). 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 5 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 53 in the current broadcast 5 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 table entry 72. The source physical address 58 may be obtained from the data-link- layer header 51a in the data-link layer and provided to the network layer of the current node 3. 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 loop 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 potential 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 example, 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 examples, 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 involves, for example, determining whether the source physical address 58 in the current broadcast 5 corresponds to the second information item 6b in the relevant routing table 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 potential new route associated with the current broadcast 5 has a more preferred route metric than the stored route (step S95).
This involves 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 initially transmitted the broadcast 5 and the previous node 3 (obtained from the current broadcast 5) with the link metric of the link 4 via which the current broadcast 5 was received (obtained at step S82). The relationship between a route metric of a route and the link metrics of the links 4 that make up the route may involve addition, multiplication 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 routing table 71 is updated (step S97). If the route metric of the potential new route is not more preferred, 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 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 involves adding the route associated with the current broadcast 5 to the routing table 71, or amending the relevant routing table entry 72 so 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 5, 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 58 in the current broadcast 5. 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 56 in the current broadcast 5 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 field (not 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 relative to the time of arrival of the current broadcast 5. As explained above, the routing table 71 is updated if the potential 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 broadcast 5 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 routing table 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 S84). 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 broadcast 5 with corresponding information about previously- received broadcasts 5. For example, the combination of the source network address 53 and a network-layer sequence number (not shown) may be used to identify corresponding broadcasts 5. Thus, a node 3 of the second type stores information about a number of previously received broadcasts 5. For example, the information may be stored in a cache which employs a least recently used cache algorithm.
If the broadcast 5 is a duplicate, the process ends.
If the broadcast 5 is not a duplicate, it is determined whether the current broadcast 5 includes data 51b for the current node 3 (step S85). In particular, it is determined whether the further destination address 57, for example layer-4 destination address 57, corresponds to that of the current node 3.
If the current broadcast 5 includes data 51b for the current node 3, the data 51b included in the broadcast 5 is processed (step S86). For example, the data 51b 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 delayed 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 broadcast 5 (step S88). If this next node 2, 3 is the node 2, 3 from which the current broadcast 5 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
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. The current broadcast 5 is then updated (step S89). For example, the route metric 55 in the network-layer header 51a 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 56 in the network-layer header 51a 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 broadcast 5 and the current node 3. This information may have been provided by a broadcast 5 which was received after the current broadcast 5. The current broadcast 5 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 2a, the first and second intermediate nodes 31, 32 and the remote node 35 are shown after receiving and processing the initial broadcast 51, the first and second rebroadcasts 52, 53 and the first unicast message 71. There are no changes to the routing tables 71 after the third rebroadcast 54 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 31, 32 add appropriate routing table entries 72.
In Figure 10, the "#" symbol 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 2a and the first intermediate node is represented by "#2a3!".
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 5¾ the second intermediate node 32 updates its routing table entry 72 because, in this example, the route metric (2) of the route (#2a3i32) associated with the first rebroadcast 52 is preferred to the route metric (3) of the route (#2a32) associated with the previously-received initial broadcast 51. This 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 53. Thus, the second rebroadcast 53 includes information from the updated routing table 71, that is to say information about the route involving the gateway node 2a, first intermediate node 3i and second intermediate node 32.
After receiving the second rebroadcast 53, the first intermediate node 31 does not update its routing table 71.
After receiving the second rebroadcast 53, the remote node 35 adds an appropriate routing table entry 72. This includes routing information 6 about the most preferred route (#2a33235) between the gateway node 2a and the remote node 35.
Thus, by receiving and transmitting broadcasts 51, 5¾ 53, the intermediate and remote nodes 31, 32, 35 acquire routing information 6 about a route to the gateway node 2a.
A node 2, 3 updates its routing table 71 after receiving a unicast message 71 initially transmitted by a node 3 of the second type and addressed to a node 2 of the first type. Such a unicast message 71 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 71 is received. After doing so, the first information item 6a in the relevant 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 routing 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
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 71 is the same as the previously- stored route, then only the expiry time for the route may be updated.
After receiving the unicast message 71, the gateway node 2a, and the intermediate nodes 3i, 32 add a new entry 72 for a route to the remote node 35. Thus, once the remote node 35 has transmitted a unicast message 71 to the gateway node 2a, the gateway node 2a and the intermediate nodes 31, 32 acquire routing information 6 about a route to the remote node 35.
Referring to Figure 11, processes carried out in a part of the network 1 are shown.
The gateway node 2a determines whether it has data to be sent to a remote node 35 (step S111). For example, the gateway node 2a may have received a command from a remote server and may need to send a corresponding command to the remote node 35. If the gateway node 2a has data to be sent to the remote node 35, the gateway node 2a determines whether its routing table 71 includes a (non-expired) route to the remote node 35 (step S112). If so, the gateway node 2a transmits a broadcast 51 including data for the remote node 35 (step S114). If the gateway node 2a does not have any data to be sent to the remote node 35, the gateway node 2a may determine whether the period of time since it transmitted a broadcast 5 exceeds a predetermined maximum period of time (step S113). If so, the gateway node 2a transmits a broadcast 51 (step S114). In this case, the broadcast 51 need not include any data. If the predetermined maximum period of time has not been exceeded, the gateway node 2a does not transmit a broadcast 51
If the gateway node 2a transmits a broadcast 51, the intermediate nodes 31, 32 and the remote node 35 receive and retransmit the broadcast and/ or rebroadcasts thereof 5 (step S115). In doing so, they may acquire routing information 6 about a route to the gateway node 2a and may update their routing tables 71 accordingly.
The remote node 35 processes any data included in the broadcast 5 (step S116).
The remote node 35 determines whether it has data to be sent to the gateway node 35 (step S117). For example, the remote node 35 may have received instructions from the gateway node 2a and may respond to the instructions.
If the remote node 35 does not have any data to be sent to the gateway node 2a, the process restarts (step S111). If the remote node 35 has data to be sent to the gateway node 2a, the remote node 35 transmits a unicast message 71 addressed to, and including data for, the gateway node 2a (step S118). The remote node 35 uses the routing information 6 acquired previously (for example at step S115). The intermediate nodes 31, 32 route the unicast message 71 to the gateway node 2a (step S119). This is carried out using the routing information 6 acquired previously (for example at step S115).
The intermediate nodes 31, 32 and the remote node 35 use their routing tables 71 to determine the identity of the next node 2, 3 to which to transmit the unicast message 7 . 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 71, 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 71 to be transmitted.
When routing the unicast message 71 to the gateway node 2a, the intermediate nodes 31, 32 may update their routing tables 71 to include routing information 6 about the routes back to the remote node 35.
The gateway node 2a receives the unicast message 71 and processes the data included therein (step S120). The gateway node 2a may update its routing table 71 to include routing information 6 abut the route back to the remote node 35.
The process then restarts (step S111).
Alternatively, the gateway node 2a may have determined that its routing table 71 includes a (non-expired) route to the remote node 35 (step S112). For example, the gateway node 2a may have recently received a unicast message 71 from the remote node 35 (for example at step S120).
If so, the gateway node 2a transmits a unicast message 72 addressed to, and including data for, the remote node 35 (step S121). The gateway node 2a uses the routing information 6 acquired previously (for example at step S120).
The intermediate nodes 31, 32 route the unicast message 72 to the remote node 35 (step S122). This is carried out using the routing information 6 acquired previously (for example at step S119).
The remote node 35 receives the unicast message 72 and processes the data included therein (step S123).
The remote node 35 then determines whether it has data to be sent to the gateway node 35 (step S117) and the process continues as described above.
Thus, the gateway node 2a and the remote node 35 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 35, the remote node 35 then unicasting data to the gateway node 2a, and the gateway node 2a then unicasting data to the remote node 3s-
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
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. 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 only by retransmitting a routing broadcast received from another node.
2. A node according to claim 1, wherein the routing broadcast comprises payload data for the node and the node is configured to process the data.
3. A node according to claim 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 claim 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 particular node.
6. A node according to claim 5, 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.
7. A node according to claim 6, 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.
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 particular 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 node includes the node.
10. A node according to any preceding claim, comprising:
at least one processor;
memory; and
at least one wireless network interface.
11. 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.
12. A network according to claim 11, 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 claims 11 to 13, wherein a node of the first type is configured to transmit a routing broadcast periodically.
A network according to any one of claims 11 to 14, wherein a node of the first 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 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.
17. A method according to claim 16, wherein the routing broadcast comprises payload data for the node and the method comprises processing the data.
18. A method according to claim 16 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 18, 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 18 or 19, comprising 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 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 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.
23. A method according to any 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 any 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 node in response to determining that the most preferred route between the particular node and the other node includes 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:
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 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 periodically.
29. A method according to any one of claims 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.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP13799650.0A EP2929723A1 (en) | 2012-12-07 | 2013-11-29 | Wireless node |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1222015.8 | 2012-12-07 | ||
GB1222015.8A GB2500450B (en) | 2012-12-07 | 2012-12-07 | Routing between nodes in a wireless network |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014087138A1 true WO2014087138A1 (en) | 2014-06-12 |
Family
ID=49080545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/GB2013/053154 WO2014087138A1 (en) | 2012-12-07 | 2013-11-29 | Wireless node |
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 |
---|---|---|---|---|
EP3499928A1 (en) | 2017-12-14 | 2019-06-19 | Vestel Elektronik Sanayi ve Ticaret A.S. | Determining signal quality in a low-power wide-area network |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3111594B1 (en) * | 2014-02-27 | 2020-12-30 | Trane International Inc. | System, device, and method for communicating data over a mesh network |
CN112134800B (en) * | 2019-06-25 | 2022-04-22 | 北京新能源汽车股份有限公司 | Data routing method, gateway, network routing system and vehicle |
Citations (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 |
WO2007125514A2 (en) * | 2006-05-01 | 2007-11-08 | Koninklijke Philips Electronics, N.V. | 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 |
US20120275490A1 (en) * | 2011-04-29 | 2012-11-01 | Harry John Courtice | Multi-path radio transmission input/output devices, network, systems and methods with on demand, prioritized routing protocol |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8509109B2 (en) * | 2011-06-27 | 2013-08-13 | Mitsubishi Electric Research Laboratories, Inc. | Method for discovering and maintaining routes in smart meter networks |
-
2012
- 2012-12-07 GB GB1222015.8A patent/GB2500450B/en active Active
-
2013
- 2013-11-29 EP EP13799650.0A patent/EP2929723A1/en not_active Withdrawn
- 2013-11-29 WO PCT/GB2013/053154 patent/WO2014087138A1/en active Application Filing
Patent Citations (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 |
WO2007125514A2 (en) * | 2006-05-01 | 2007-11-08 | Koninklijke Philips Electronics, N.V. | 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 |
US20120275490A1 (en) * | 2011-04-29 | 2012-11-01 | Harry John Courtice | Multi-path radio transmission input/output devices, network, systems and methods with on demand, prioritized routing protocol |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3499928A1 (en) | 2017-12-14 | 2019-06-19 | Vestel Elektronik Sanayi ve Ticaret A.S. | Determining signal quality in a low-power wide-area network |
Also Published As
Publication number | Publication date |
---|---|
GB2500450B (en) | 2014-03-19 |
GB2500450A (en) | 2013-09-25 |
EP2929723A1 (en) | 2015-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8005054B2 (en) | Communication system, communication method, communication terminal device, control method thereof, and program | |
US9172636B2 (en) | Efficient link repair mechanism triggered by data traffic | |
US20120155463A1 (en) | Increased Communication Opportunities with Low-Contact Nodes in a Computer Network | |
US20080112326A1 (en) | Load-Balancing Routes In Multi-Hop Ad-Hoc Wireless Networks | |
US8885501B2 (en) | Reachability rate computation without link layer acknowledgments | |
Periyasamy et al. | End-to-end link reliable energy efficient multipath routing for mobile ad hoc networks | |
JP2006081163A (en) | Wireless device and wireless network system equipped with it | |
JP4696314B2 (en) | Wireless device and wireless network system including the same | |
WO2014087138A1 (en) | Wireless node | |
Ajmal et al. | Coordinated opportunistic routing protocol for wireless mesh networks | |
Fradj et al. | Comparative study of opportunistic routing in wireless sensor networks | |
JP2006287538A (en) | Wireless device | |
Mukti et al. | A Comprehensive Performance Evaluation of Proactive, Reactive and Hybrid Routing in Wireless Sensor Network for Real Time Monitoring System | |
Taneja et al. | Performance evaluation of DSR and AODV over UDP and TCP connections | |
JP7326230B2 (en) | Communication system, node, communication method and program | |
Sethi et al. | An effective and scalable AODV for wireless ad hoc sensor networks | |
Patil et al. | Performance enhancement of reactive on demand routing protocol in wireless Ad Hoc network | |
Budhiraja et al. | Performance Comparison of Dynamic Mobile ad-hoc network ondemand multipath routing protocol with AODV | |
Agarwal et al. | Enhanced AODV routing protocol for ad hoc networks | |
Farooq | Binary State Distance Vector Routing: A Protocol for Near-unicast Forwarding in Partitioned Networks | |
Kashid et al. | Multipath Congestion Control and Predication and Detection of Attacks in MANET | |
Adarbah et al. | Impact of the noise level on the route discovery mechanism in noisy MANETs | |
Jassim | Performance Study of AODV, GRP and OSPFv3 MANET Routing Protocols Using OPNET Modeler | |
Sameswari et al. | Shortest route discovery using hybrid (AODV and OLSR) routing protocols in manet | |
Tech | Enhancement in AODV Protocol to Provide Best Path According to Signal Strength |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13799650 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2013799650 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |