WO2005096722A2 - Digraph based mesh communication network - Google Patents

Digraph based mesh communication network Download PDF

Info

Publication number
WO2005096722A2
WO2005096722A2 PCT/US2005/010095 US2005010095W WO2005096722A2 WO 2005096722 A2 WO2005096722 A2 WO 2005096722A2 US 2005010095 W US2005010095 W US 2005010095W WO 2005096722 A2 WO2005096722 A2 WO 2005096722A2
Authority
WO
WIPO (PCT)
Prior art keywords
node
packet
packets
nodes
digraph
Prior art date
Application number
PCT/US2005/010095
Other languages
French (fr)
Other versions
WO2005096722A3 (en
Inventor
Kristofer S. J. Pister
Original Assignee
Dust Networks
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/914,056 external-priority patent/US8194655B2/en
Application filed by Dust Networks filed Critical Dust Networks
Publication of WO2005096722A2 publication Critical patent/WO2005096722A2/en
Publication of WO2005096722A3 publication Critical patent/WO2005096722A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing

Definitions

  • This invention relates to wireless data networks and more particularly to a multiple- hop wireless radio frequency mesh network routing scheme employing a packet switched communications protocol.
  • This invention has particular application to data collection from an array of sensors disposed in a topology wherein at least two intelligent communication nodes are within reliable radio communication range within a matrix of " peer communication nodes.
  • Wireless mesh networks employ intelligent nodes comprising a transmitter and receiver, a power source, input devices, sometimes output devices, and an intelligent controller, such as a programmable microprocessor controller with memory.
  • an intelligent controller such as a programmable microprocessor controller with memory.
  • wireless mesh networks have been developed having configurations or networks for communication that are static, dynamic or a hybrid of static and dynamic.
  • a self-contained unit of communication information is called a packet.
  • a packet has a header, a payload and an optional trailer.
  • a link is a path which originates at exactly one node and terminates at exactly one other node.
  • a node is thus any vertex or intersection in a communication network.
  • a node may be passive or intelligent.
  • a node is assumed to be intelligent in that it is capable of receiving and analyzing information, taking certain actions as a result of received information, including the storing of received or processed information, modifying at least part of received information, and in some instances originating and retransmitting information.
  • a circuit switched network is a communication network in which a fixed route is established and reserved for communication traffic between an origin and an ultimate destination.
  • a packet-switched network is a communication network in which there is no reserved path between an origin and a destination such that self-contained units of communication traffic called packets may traverse a variety of different sets of links between the origin and the destination during the course of a message.
  • Circuit-switched networks are susceptible to node or link failure along a circuit path.
  • susceptibility to occasional failure was acceptable, as reliability on nodes and links was very high due to central ownership of the hardware.
  • the ARPA net a packet-switched network, was created to provide a mechanism for large area multi-hop communication when link and node reliability was reduced as for example due to the interconnection of many networks controlled or owned by different organizations.
  • ATM Asynchronous Transfer Mode
  • ATM adapts circuit switched systems to support packet communications.
  • ATM stands for Asynchronous Transfer Mode and refers to a specific standard for a cell switching network with a bandwidth from 25 Mbps to 622 Mbps.
  • a cell is a fixed- length data packet that flows along a pre-defined virtual circuit in a multi-hop network.
  • Each node in the network through which the cell flows has a table which maps the virtual circuit to a next-hop on the cell's route. The speed of switching is enhanced by rapid examination of routing information in packet headers.
  • the wireless sensor network environment requires a new kind of packet routing.
  • the challenge is to provide a mechanism to support the regular flow of data over a collection of presumably unreliable links.
  • the virtual circuit in an ATM system is like a fluid pipeline: it starts in one place and ends in another and may zigzag as it goes through various pumping stations, but topologically it is a continuous straight line.
  • the paradigm of the Internet is packet switched network.
  • a packet switched network is analogous to an airline: in principle one could fly from coast to coast via various routes through any number of different cities, but booking with a particular airline results in a flight route through a particular node or hub city, such as Chicago. If you get to Chicago and the plane originally scheduled to fly to the ultimate destination, such as New York, is out of service, it is normally necessary to re-book the remainder of the flight route via a different plane or intersecting airline service.
  • a. graph is defined as a collection of vertices or nodes with connections, or links, between the nodes.
  • a digraph is defined as a graph where all of the links have an associated direction, so that a digraph connects a plurality of nodes in a network with links defining direction of flow.
  • a multi-digraph is defined as a digraph in which there exists at least one pair of links which both originate at the same originating node and terminate on the same terminating node.
  • Digraph based packet transport is analogous to water flowing in a river delta with its meandering branches. If a number of intelligent entities each in an independent unpropelled watercraft were dropped all over the delta with no means of guidance except to choose a path at each fork, they would take a wide variety of paths, depending on flow and congestion. Eventually, all would arrive at the basin. Two that started far apart might end up close together, and two that started near each other might take completely different paths and arrive at different times.
  • a method of packet switched transport is provided using digraphs defining paths among nodes in which a graph identifier, instead of a literal destination address, is used to determine paths through the network.
  • the nodes themselves implement a real-time mesh of connectivity. Packets flow along paths that are available to them, flowing around obstructions such as dead nodes and lost links without need for additional computation, route request messages, or dynamic routing tree construction.
  • Figures 1A, IB and IC are diagrams illustrating a graph, a digraph and a multi- digraph..
  • Figure 2 is a diagram representing a network of nodes comiected by a single digraph according to the invention.
  • Figure 3 is a diagram illustrating a network of nodes connected with two digraphs according to the invention.
  • Figure 4 is a flow chart for a receive mode of a node according to one embodiment of the invention.
  • Figure 5 is a flow chart for a transmit mode of a node according to one embodiment of the invention.
  • the vertices of a graph representing the topology of the network, are the sites of intelligent nodes, either physical or symbolic, which are capable of analyzing incoming traffic and sensory data and which can act upon the traffic, reroute traffic and originate information from the site.
  • Directed links between nodes represent communication slots, and multiple slots provide a mechanism for exhibiting relative available " bandwidth between nodes.
  • FIG. 2 is a diagram illustrating a network of nodes connected by a single diagraph.
  • Nodes of a first type 101 are connected to nodes of a second type 102 by links 105. Additionally, links 105 also connect nodes of the second type 102 to nodes of a third type 103. Any node in this network can create a packet and send it out on the digraph shown, and it will end up at a node of the third type 103.
  • Nodes of the third type can recognize that they need to take some action on the packet, since they have no outward bound links on which to send it.
  • Nodes of the second type 102 may choose to process a packet, forward it, or delete it, depending on the type of packet it is or on its contents. There is no explicit need for a destination address in digraph-based routing according to the invention.
  • FIG. 3 is a diagram illustrating a network with two digraphs.
  • links 105 on a first digraph connect the first nodes 101.
  • some links 106 on a second digraph connect the first nodes 101 with the second nodes 103.
  • a node 101 with an incoming packet on the first digraph may decide to route the packet to the second digraph or continue to route it along the first digraph.
  • the contents of the packet itself could explicitly indicate that this packet should flow along the first graph until it comes to a node with access to the second graph, and then it should be sent along the second graph.
  • MIDGET developed by Dust Networks of Berkeley, California.
  • the MIDGET protocol provides frequency selection. It assumes multiple communication channels are available. With an FSK radio, this corresponds to two or more frequencies. With CDMA radios, this might correspond to different spreading codes. Other protocols could be used without departing from the spirit and scope of the invention.
  • the network according to the invention is scalable, subject to certain limitations and several variables:
  • the invention can be employed in a number of different applications. Applications may be divided into categories based on the type of data flow and the type of connectivity vs. time in the network.
  • the two primary types of data flow are regular (periodic) data flow and event-based or intermittent (event detection or demand/response) data flow.
  • Three classes of connectivity vs. time are quasi-static, fully dynamic, and fixed/mobile.
  • a regular or semi-regular flow of packets is used to carry data from many sources to one or more sinks.
  • data from many sources flows at regular intervals to a single accumulation or exfiltration point.
  • This application is the most common commercial demand on wireless sensor networks today, and it favors use of quasi-static tree-like multi-hop networks.
  • This type of network there are many levels of compression and filtering that can occur on the data.
  • Three simple representations are given below:
  • Data Forwarding The simplest approach to sending data toward a sink is to forward all incoming packets without modification.
  • Data Concatenation In many applications, the size of the data payload for a given sample is substantially smaller than the size of a packet payload. h this case a source node can create packets that have multiple samples in them, reducing the number of packets in the network. In networks where the required reporting rate and sample rate are comparable or equal, data from multiple packets can be concatenated on its way from the leaves of the network to the root of the tree.
  • the required sampling rate and the required reporting rate are both 30 seconds, and the size of the sampled data is 4 bytes.
  • Node X has 10 children, all direct descendents.
  • the size of a packet payload is 64 bytes.
  • Node X checks its transmit queue to see if it already has a data packet of the same type and headed for the same destination. If so, it checks to see if there is still room in the payload of the packet already in the queue. If so, Node X takes the payload from the new packet, tacks on the node ID of the source of the new data, and adds this to the payload of the existing packet in the transmit queue. The rest of the new data packet is now discarded.
  • a single packet can hold the data payloads/TD pairs from all of Node X's children.
  • Node X will need to receive packets -from all ten of his children, but only send one or two packets to his parent(s).
  • nodes in a two or three dimensional array may share data to track or locate a target moving through the array. In this case there may be substantial time-variation in the connectivity and flow rate. There maybe multiple types of data flowing at different rates. Every node may be both a source of data and a sink of data. There may be one, many, or zero control and/or exfiltration points in the network.
  • Quasi-static Networks where all nodes are in fixed locations are considered to be quasi-static. While the physical location of the nodes is completely static, the network connectivity will always be subject to variation due to changes in the environment. Hence even a physically static network will need to respond to a continuously changing connectivity graph. Average connectivity changes in a quasi-static network have time scales that are very large (e.g. lOOx) compared to the length of a frame.
  • Dynamic networks are those in which the rate of change of connectivity is comparable to the frame length. The physical location of nodes in these networks is likely to be changing as well.
  • Fixed/mobile Networks with a combination of nodes with quasi-static connectivity and nodes with dynamic connectivity are called fixed/mobile. Algorithms appropriate for dynamic networks will work here, but more efficient algorithms are possible.
  • Table 1 A taxonomy of applications.
  • the packet is on a graph or in a network in which the node does not participate;
  • the node has inadequate resources (e.g. power, memory) to deal with the packet; [0049] Whether or not the node accepts the packet, choose to send and send as appropriate an ACK or NACK to the node that sent the packet.
  • resources e.g. power, memory
  • Test packet for current node to determine if current node is ultimate destination
  • Current node satisfies some condition represented in the packet (e.g. current node can send the packet to the internet, the current node can change the temperature in room 512, the current node can re-transmit the packet on a different graph, etc.)
  • the packet is specifically addressed to the current node
  • Signal one or more other levels of the communication stack that the packet has arrived and return to IDLE (200)Processing may include queuing the packet, with or without modification
  • the current node has knowledge that this packet does not need to be sent, for example
  • the source node is not reliable
  • the current nodes has packets queued for transmission on the same graph as this packet
  • the current node has data of its own that can be sent on the same graph as this packet
  • the current node has the computational resources, or additional information necessary to compress the packet
  • COMBINE/COMPRESS (208) perform combination or compression and go to STORE (209)
  • a Transmit opportunity may occur as a function of time, radio availability, processor resources, or the like
  • a packet may be chosen at this step as a function of its age, size, priority, the availability of a destination on the appropriate graph, or other criteria.
  • Zero, one, or more destination nodes may be available on the appropriate graph for a given packet. If more than one destination is available, the destination may be chosen at this stage as a function of time, link reliability, ID number, sequential use, destination resources, random choice, or other method.
  • TRANSMIT PACKET (224) use the radio to send the packet to the chosen destination and go to TRANSMIT OK? (225).
  • the node may or may not expect an acknowledgement of a successfully received packet, or there may or may not be information from the radio or other source that indicates if the transmission of the packet was successful or unsuccessful.
  • the node may expect an acknowledgement from a source other than the destination node, or expect an acknowledgement that arrives substantially later in time than the transmission of the packet.
  • a packet may be considered to have been successfully transmitted if it has been transmitted some fixed or variable number of times.
  • DELETE PACKET (226) delete the packet from the packet store and go to IDLE (200).
  • Packets may be generated at a node for a variety of reasons, including
  • all of these packets may flow along the same digraph, or they may flow on two or more different digraphs. Packets will typically be associated with a particular digraph at the time that they are created.
  • the gateway assigns one or more directed links from the requesting node to the gateway in a digraph named UP.
  • the gateway assigns at least one directed link in digraph
  • each node connected to the gateway by at least one directed link on the UP graph and at least one directed link on the DOWN graph will advertise that it is connected to the gateway. Any nodes that can "hear" this advertisement but are not yet connected to the gateway will respond to at least one advertising node with a request to join.
  • This request may be passed to the gateway, and links assigned to the new node and the advertising node by the gateway along the lines of step 3.
  • the advertising node receiving the request may have the autonomy to create it's own digraph connections to the new node.
  • step 4 allows for the creation and maintenance of a reliable digraph network.

Abstract

In a packet communication network, a method of packet switched transport is provided using digraphs defining paths among nodes in which a graph identifier, instead of a literal destination address, is used to determine paths through the network. The nodes themselves implement a real-time mesh of connectivity. Packets flow along paths that are available to them, flowing around obstructions such as dead nodes and lost links without need for additional computation, route request messages, or dynamic routing tree construction.

Description

DIGRAPH BASED MESH COMMUNICATION -NETWORK
CROSS-REFERENCES TO RELATED APPLICATIONS [0001] NOT APPLICABLE
STATEMENT AS TO RIGHTS TO INVENTIONS MAL E UNDER FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT [0002] NOT APPLICABLE
REFERENCE TO A "SEQUENCE LISTING," A TABLE, OR A COMPUTER PROGRAM LISTING APPENDLX SUBMITTED ON A COMPACT DISK. [0003] NOT APPLICABLE
BACKGROUND OF THE INVENTION [0004] This invention relates to wireless data networks and more particularly to a multiple- hop wireless radio frequency mesh network routing scheme employing a packet switched communications protocol. This invention has particular application to data collection from an array of sensors disposed in a topology wherein at least two intelligent communication nodes are within reliable radio communication range within a matrix of" peer communication nodes.
[0005] Wireless mesh networks employ intelligent nodes comprising a transmitter and receiver, a power source, input devices, sometimes output devices, and an intelligent controller, such as a programmable microprocessor controller with memory. In the past, wireless mesh networks have been developed having configurations or networks for communication that are static, dynamic or a hybrid of static and dynamic.
[0006] A self-contained unit of communication information is called a packet. A packet has a header, a payload and an optional trailer. A link is a path which originates at exactly one node and terminates at exactly one other node. A node is thus any vertex or intersection in a communication network. A node may be passive or intelligent. In the present invention, a node is assumed to be intelligent in that it is capable of receiving and analyzing information, taking certain actions as a result of received information, including the storing of received or processed information, modifying at least part of received information, and in some instances originating and retransmitting information.
[0007] A circuit switched network is a communication network in which a fixed route is established and reserved for communication traffic between an origin and an ultimate destination. A packet-switched network is a communication network in which there is no reserved path between an origin and a destination such that self-contained units of communication traffic called packets may traverse a variety of different sets of links between the origin and the destination during the course of a message.
[0008] Circuit-switched networks are susceptible to node or link failure along a circuit path. For a telephone system with central ownership of the hardware, susceptibility to occasional failure was acceptable, as reliability on nodes and links was very high due to central ownership of the hardware. The ARPA net, a packet-switched network, was created to provide a mechanism for large area multi-hop communication when link and node reliability was reduced as for example due to the interconnection of many networks controlled or owned by different organizations. Asynchronous Transfer Mode (ATM) networks provide virtual circuits through central offices in conjunction with a packet- switched network and thus have both packet switched and circuit switched network characteristics.
[0009] ATM adapts circuit switched systems to support packet communications. ATM stands for Asynchronous Transfer Mode and refers to a specific standard for a cell switching network with a bandwidth from 25 Mbps to 622 Mbps. In ATM systems, a cell is a fixed- length data packet that flows along a pre-defined virtual circuit in a multi-hop network. Each node in the network through which the cell flows has a table which maps the virtual circuit to a next-hop on the cell's route. The speed of switching is enhanced by rapid examination of routing information in packet headers.
[0010] In all of these systems, link reliability is dramatically higher than in a typical wireless sensor network. Even in a packet switched network with unreliable links, it is still expected that the mean time between failure for a link is very large compared to the mean time between packets. Thousands, millions, or even billions of packets are expected to be delivered over a link, on average, before it would be expected to fail. (Packet error rates are typically measured in terms of the number of nines of reliability- for example 99.999% successfully delivered is five nines.) In this environment, it is perfectly reasonable to build large routing tables at nodes in the network and to change them infrequently.
[0011] In wireless sensor networks, such assumptions about link failure and packet error rate cannot be made. Due to the low power constraints, harsh RF communication environment, and dynamic nature of many sensor network deployments, link failures are common, and packet error rates are high. Link failures every ten packets, and packet error rates of 50% are not uncommon in the academic literature.
[0012] Conventional multi-hop routing is designed for the demands of the Internet and of telephone networks. Any node may at any time need to send information to any other node in the network. This is not the case with wireless sensor networks, since there are generally regular patterns of data flow in the network, and the desired flows are changed infrequently.
[0013] The wireless sensor network environment requires a new kind of packet routing. The challenge is to provide a mechanism to support the regular flow of data over a collection of presumably unreliable links.
[0014] The virtual circuit in an ATM system is like a fluid pipeline: it starts in one place and ends in another and may zigzag as it goes through various pumping stations, but topologically it is a continuous straight line. The paradigm of the Internet is packet switched network. A packet switched network is analogous to an airline: in principle one could fly from coast to coast via various routes through any number of different cities, but booking with a particular airline results in a flight route through a particular node or hub city, such as Chicago. If you get to Chicago and the plane originally scheduled to fly to the ultimate destination, such as New York, is out of service, it is normally necessary to re-book the remainder of the flight route via a different plane or intersecting airline service.
[0015] Also well known in the art are various packet based protocols, such as AX.25, both of which typically employ in part source routing, namely explicit routing between source and destination in a packet switched model. These have been described in various readily available standards.
[0016] In order to further understand the background of the invention, it is helpful to understand a number of related concepts. Referring to Figure 1A, a. graph is defined as a collection of vertices or nodes with connections, or links, between the nodes. Referring to Figure IB, a digraph is defined as a graph where all of the links have an associated direction, so that a digraph connects a plurality of nodes in a network with links defining direction of flow. Referring to Figure IC, a multi-digraph is defined as a digraph in which there exists at least one pair of links which both originate at the same originating node and terminate on the same terminating node. It is possible to have multiple multi-digraphs, if there is a first multi- digraph in which each link is labeled "1", and a second multi-digraph in which each link is labeled "2", and one or more of the nodes in the first graph is also in the second graph, then this is an example of multiple multi-digraphs.
[0017] Herein the concept of digraph-based packet transport is introduced. Digraph based packet transport is analogous to water flowing in a river delta with its meandering branches. If a number of intelligent entities each in an independent unpropelled watercraft were dropped all over the delta with no means of guidance except to choose a path at each fork, they would take a wide variety of paths, depending on flow and congestion. Eventually, all would arrive at the basin. Two that started far apart might end up close together, and two that started near each other might take completely different paths and arrive at different times.
[0018] A number of patents and publications provide background on other approaches to packet communication. Examples of instructive patents include: U.S. Pat. Nos. 4,550,397; 4,947,388; 4,939,726; 5,007,752; 5,079,768; 5,115,433; 5,130,987; 5,471,469; 5,488,608; 5,515,369; 5,570,084; 5,903,566; 6735178.
SUMMARY OF THE INVENTION [0019] According to the invention, in a packet communication network, a method of packet switched transport is provided using digraphs defining paths among nodes in which a graph identifier, instead of a literal destination address, is used to determine paths through the network. The nodes themselves implement a real-time mesh of connectivity. Packets flow along paths that are available to them, flowing around obstructions such as dead nodes and lost links without need for additional computation, route request messages, or dynamic routing tree construction.
[0020] The invention will be better understood by reference to the following detailed description in connection with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS [0021] Figures 1A, IB and IC are diagrams illustrating a graph, a digraph and a multi- digraph..
[0022] Figure 2 is a diagram representing a network of nodes comiected by a single digraph according to the invention.
[0023] Figure 3 is a diagram illustrating a network of nodes connected with two digraphs according to the invention.
[0024] Figure 4 is a flow chart for a receive mode of a node according to one embodiment of the invention.
[0025] Figure 5 is a flow chart for a transmit mode of a node according to one embodiment of the invention.
DESCRIPTION OF SPECIFIC EMBODIMENTS OF THE INVENTION [0026] In a sensor network, which is one application of the invention, the vertices of a graph, representing the topology of the network, are the sites of intelligent nodes, either physical or symbolic, which are capable of analyzing incoming traffic and sensory data and which can act upon the traffic, reroute traffic and originate information from the site. Directed links between nodes represent communication slots, and multiple slots provide a mechanism for exhibiting relative available "bandwidth between nodes.
[0027] Figure 2 is a diagram illustrating a network of nodes connected by a single diagraph. Nodes of a first type 101 are connected to nodes of a second type 102 by links 105. Additionally, links 105 also connect nodes of the second type 102 to nodes of a third type 103. Any node in this network can create a packet and send it out on the digraph shown, and it will end up at a node of the third type 103. Nodes of the third type can recognize that they need to take some action on the packet, since they have no outward bound links on which to send it. Nodes of the second type 102 may choose to process a packet, forward it, or delete it, depending on the type of packet it is or on its contents. There is no explicit need for a destination address in digraph-based routing according to the invention.
[0028] Figure 3 is a diagram illustrating a network with two digraphs. In this network, links 105 on a first digraph connect the first nodes 101. In addition, some links 106 on a second digraph connect the first nodes 101 with the second nodes 103. Depending on the application, a node 101 with an incoming packet on the first digraph may decide to route the packet to the second digraph or continue to route it along the first digraph. Alternatively, the contents of the packet itself could explicitly indicate that this packet should flow along the first graph until it comes to a node with access to the second graph, and then it should be sent along the second graph.
[0029] A protocol called MIDGET developed by Dust Networks of Berkeley, California, is employed. Among other things, the MIDGET protocol provides frequency selection. It assumes multiple communication channels are available. With an FSK radio, this corresponds to two or more frequencies. With CDMA radios, this might correspond to different spreading codes. Other protocols could be used without departing from the spirit and scope of the invention.
[0030] The network according to the invention is scalable, subject to certain limitations and several variables:
1. the application category being run in the network
2. the hardware capabilities, most notably RAM
3. Required lifetime and available energy
[0031] The invention can be employed in a number of different applications. Applications may be divided into categories based on the type of data flow and the type of connectivity vs. time in the network. The two primary types of data flow are regular (periodic) data flow and event-based or intermittent (event detection or demand/response) data flow. Three classes of connectivity vs. time are quasi-static, fully dynamic, and fixed/mobile.
[0032] In a data flow application, a regular or semi-regular flow of packets is used to carry data from many sources to one or more sinks. In a simple example, data from many sources flows at regular intervals to a single accumulation or exfiltration point. This application is the most common commercial demand on wireless sensor networks today, and it favors use of quasi-static tree-like multi-hop networks. For this type of network, there are many levels of compression and filtering that can occur on the data. Three simple representations are given below:
[0033] Data Forwarding: The simplest approach to sending data toward a sink is to forward all incoming packets without modification. [0034] Data Concatenation: In many applications, the size of the data payload for a given sample is substantially smaller than the size of a packet payload. h this case a source node can create packets that have multiple samples in them, reducing the number of packets in the network. In networks where the required reporting rate and sample rate are comparable or equal, data from multiple packets can be concatenated on its way from the leaves of the network to the root of the tree.
[0035] For example, in a given network the required sampling rate and the required reporting rate are both 30 seconds, and the size of the sampled data is 4 bytes. Node X has 10 children, all direct descendents. The size of a packet payload is 64 bytes. As each new data packet arrives, Node X checks its transmit queue to see if it already has a data packet of the same type and headed for the same destination. If so, it checks to see if there is still room in the payload of the packet already in the queue. If so, Node X takes the payload from the new packet, tacks on the node ID of the source of the new data, and adds this to the payload of the existing packet in the transmit queue. The rest of the new data packet is now discarded. With a 64 byte packet payload, a 4 byte data payload, and a 2 byte node ID, a single packet can hold the data payloads/TD pairs from all of Node X's children. Node X will need to receive packets -from all ten of his children, but only send one or two packets to his parent(s).
[0036] Data Compression: In a more complicated example, nodes in a two or three dimensional array may share data to track or locate a target moving through the array. In this case there may be substantial time-variation in the connectivity and flow rate. There maybe multiple types of data flowing at different rates. Every node may be both a source of data and a sink of data. There may be one, many, or zero control and/or exfiltration points in the network.
[0037] Intermittent: In many applications, data can be filtered locally to determine the presence or absence of a significant event. In the absence of an event, the network need only send infrequent messages indicating "all OK". In some cases, event detection and reporting is all that is required, whereas in others the detection of the event will put all or part of the network into a
[0038] Quasi-static: Networks where all nodes are in fixed locations are considered to be quasi-static. While the physical location of the nodes is completely static, the network connectivity will always be subject to variation due to changes in the environment. Hence even a physically static network will need to respond to a continuously changing connectivity graph. Average connectivity changes in a quasi-static network have time scales that are very large (e.g. lOOx) compared to the length of a frame.
[0039] Dynamic: Dynamic networks are those in which the rate of change of connectivity is comparable to the frame length. The physical location of nodes in these networks is likely to be changing as well.
[0040] Fixed/mobile: Networks with a combination of nodes with quasi-static connectivity and nodes with dynamic connectivity are called fixed/mobile. Algorithms appropriate for dynamic networks will work here, but more efficient algorithms are possible.
Figure imgf000009_0001
Table 1 A taxonomy of applications.
[0041] Pseudo code for processing packets at a node:
[0042] Receive Mode
[0043] Read packet at node (Figure 4);
[0044] From IDLE (2O0) on arrival of a new packet go to ACCEPT? (201 )
[0045] In ACCEPT? (201) Test for Acceptance of packet at node:
[0046] Reject a packet if, for example:
[0047] the packet is on a graph or in a network in which the node does not participate;
[0048] there are errors in the packet; the node has inadequate resources (e.g. power, memory) to deal with the packet; [0049] Whether or not the node accepts the packet, choose to send and send as appropriate an ACK or NACK to the node that sent the packet.
[0050] If the packet is rejected, go to DISCARD (202) else go to FOR ME?
[0051] In DISCARD (202)
[0052] optionally record some information about the packet and/or its source
[0053] release resources associated with packet
[0054] go to LDLE (200)
[0055] In FOR ME?
[0056] Test packet for current node to determine if current node is ultimate destination
[0057] criteria used to determine that a packet is for current node:
[0058] Current node satisfies some condition represented in the packet (e.g. current node can send the packet to the internet, the current node can change the temperature in room 512, the current node can re-transmit the packet on a different graph, etc.)
[0059] The current node has no outgoing links on this graph
[0060] The packet is specifically addressed to the current node
[0061] If the packet satisfies the FOR ME? Criteria, go to PROCESS (204) else go to FORWARD? (205)
[0062] In PROCESS (204)
[0063] Signal one or more other levels of the communication stack that the packet has arrived and return to IDLE (200)Processing may include queuing the packet, with or without modification
[0064] In FORWARD? (205) test for a need to forward the packet.
[0065] Reasons not to forward the packet include
[0066] "Time to live" field has expired [0067] The current node doesn't have the resources to forward the packet (e.g. power)
[0068] The current node has knowledge that this packet does not need to be sent, for example
[0069] The data is out of date or redundant
[0070] The source node is not reliable
[0071] If the packet is not to be forwarded, go to DISCARD (202) else go to COMBINE/COMPRESS?
[0072] In COMBINE/COMPRESS? (207) test for the need to combine this packet with other packets or other data stored on the node, or compress this packet.
[0073] Reasons to combine or compress this packet include:
[0074] The current nodes has packets queued for transmission on the same graph as this packet
[0075] The current node has data of its own that can be sent on the same graph as this packet
[0076] The current node has the computational resources, or additional information necessary to compress the packet
[0077] In COMBINE/COMPRESS (208) perform combination or compression and go to STORE (209)
[0078] In STORE (209), store the packet and go to IDLE (200).
[0079] In IDLE (200) Figure 5 when a Transmit opportunity occurs, go to STORED PACKET? (220)
[0080] A Transmit opportunity may occur as a function of time, radio availability, processor resources, or the like [0081] In Stored Packet? (220) test if there is a packet that needs to be sent and can be. This may include packets that are currently stored, or packets that are created as a result of the opportunity to transmit. One or more packets stored might not be sendable at this time. If the test fails, go to IDLE (200), else go to RESOURCES AVAILABLE? (221).
[0082] In RESOURCES AVAILABLE? (221 ), test if the node has sufficient resources to perform the transmission. If the node test fails, go to IDLE (200), else go to SELECT (222). Examples of resources may include power, access to the radio, processor peripherals, etc.
[0083] In SELECT (222) Select the packet and destination and got to DESTINATION OK? (223).
[0084] ' A packet may be chosen at this step as a function of its age, size, priority, the availability of a destination on the appropriate graph, or other criteria.
[0085] Zero, one, or more destination nodes may be available on the appropriate graph for a given packet. If more than one destination is available, the destination may be chosen at this stage as a function of time, link reliability, ID number, sequential use, destination resources, random choice, or other method.
[0086] In DESTINATION OK? (223) test to see if the Destination chosen in step SELECT (222) is acceptable. If the test fails, go to IDLE (200) else go to TRANSMIT (224).In some cases there may be no appropriate destination for any of the packets in the packet store.
[0087] In TRANSMIT PACKET (224) use the radio to send the packet to the chosen destination and go to TRANSMIT OK? (225).
[0088] In TRANSMIT OK? (225) test to see if the packet transmission was successful. If the test fails, go to IDLE (200) else go to DELETE PACKET (226) [0089] Depending on the specific implementation, the node may or may not expect an acknowledgement of a successfully received packet, or there may or may not be information from the radio or other source that indicates if the transmission of the packet was successful or unsuccessful. The node may expect an acknowledgement from a source other than the destination node, or expect an acknowledgement that arrives substantially later in time than the transmission of the packet. In some cases, a packet may be considered to have been successfully transmitted if it has been transmitted some fixed or variable number of times.
[0090] In DELETE PACKET (226) delete the packet from the packet store and go to IDLE (200).
[0091] Packet Generation
[0092] Packets may be generated at a node for a variety of reasons, including
[0093] Regular or event-based sampling of sensor data
[0094] Health and status reporting
[0095] Alarm condition reporting
[0096] Network management
[0097] Depending on the application, all of these packets may flow along the same digraph, or they may flow on two or more different digraphs. Packets will typically be associated with a particular digraph at the time that they are created.
[0098] Digraph Formulation and Creation
[0099] While this patent does not address specific mechanisms about how the digraphs are created, it may be useful to an understanding the digraph concept to consider a simple algorithm for digraph creation, as in the following pseudo-code:
[0100J the gateway announces a request for data
[0101] any nodes that can hear the gateway then respond with a request to join
[0102] for each requesting node [0103] 1. the gateway assigns one or more directed links from the requesting node to the gateway in a digraph named UP.
[0104] 2. one or more directed links from the gateway to the requesting node is assigned in a digraph named DOWN.
[0105] 3. if possible, the gateway assigns at least one directed link in digraph
UP from each requesting note to at least one other node already in the network.
[0106] 4. Thereafter, each node connected to the gateway by at least one directed link on the UP graph and at least one directed link on the DOWN graph will advertise that it is connected to the gateway. Any nodes that can "hear" this advertisement but are not yet connected to the gateway will respond to at least one advertising node with a request to join. This request may be passed to the gateway, and links assigned to the new node and the advertising node by the gateway along the lines of step 3. Alternatively the advertising node receiving the request may have the autonomy to create it's own digraph connections to the new node.
[0107] Repeating step 4 allows for the creation and maintenance of a reliable digraph network.
[0108] The invention has been explained with reference to specific embodiments. Other embodiments will be evident to those of ordinary skill in the art. It is therefore not intended that the invention be limited, except as indicated by the appended claims.

Claims

WHAT IS CLAIMED IS :
1. In a multi-hop packet-switched communication network, a method for routing packets comprising: providing at least one digraph defining routing information for packets via a plurality of directional links among a plurality of nodes, at least one of said nodes having a plurality of directional output links; generating a plurality of packets, each of said packets having a header associating each packet with one or more digraphs; and using said header on each said packet at each said node to direct each said packet to flow between said nodes via at least one of said directional links at said nodes according merely to said digraph.
2. In a multi-hop packet-switched communication network, a method for routing packets comprising: providing at least a first node and a second node, said first node and said second node serving as nodes in said packet communication network and each said first node and said second node having independent intelligence for storing and redirecting units of communication traffic; providing at least one digraph, each said digraph being expressed as routing information for directional links at each node in the network, including at least a first node having a plurality of outgoing directional links from said first node to at least a second node; generating a plurality of packets, each of said packets having a header; and directing, via said routing information at each said node, said packets to flow between selected ones of said nodes according to one of said digraphs.
3. The method according to claim 2 wherein, at each said individual node that is operative to receive a packet, determining: a) whether the packet is intended for said individual node; and b) whether the packet is of interest to said individual node.
4. The method according to claim 3 wherein selected ones of said individual nodes determine that the packet is intended for itself if said individual node has no outgoing links in the digraph.
5. The method according to claim 3 wherein selected ones of said individual nodes determine that the packet is intended for itself from comparison of infoπnation at said individual node with the packet.
6. The method according to claim 3 wherein each said node is operative to determine that a received packet is of interest to itself if a specific destination pattern described in the received packet matches with said node.
7. The method according to claim 6 wherein a specific destination pattern includes a WAN connection at said node
8. The method according to claim 6 wherein a specific destination pattern includes a measured sensor value at said node is within a preselected range
9. The method according to claim 5 wherein said determining step compnses: detecting whether a "time to live" field has expired.
10. The method according to claim 5 wherein said determining step comprises: detecting whether the received packet has requested an action of which said node is capable; and, if said node is capable of the requested action, taking the requested action.
11. The method according to claim 10 wherein said requested action composes: extracting a payload of the packet out of the network; and sending the payload to a destination via the internet.
12. The method according to claim 10 wherein said requested action compnses: extracting a payload of the packet out of the mesh network; and causing a specific task that is local to said node to be performed.
13. In a multi-hop packet-switched communication netwmethod for routing packets via a plurality of digraphs, a digraph being a pattern of directional links between nodes, the method comprising: providing to each node sufficient information to establish said plurality of digraphs defining packet routing information at said nodes and directional links between said nodes; generating a plurality of packets, each of said packets having a header carrying a plurality of graph IDs for at least a selection of said plurality of digraphs; and directing each said packet to flow between said nodes according to said plurality of said predefined digraphs.
14. The method according to claim 13 wherein said directing step comprises: a) using a first graph ID for the packet to direct the packet along at least a first link of a first graph; then at a selecting first receiving node b) deleting the first graph LD and using a second graph ID to forward the packet onward via at least a first link of the second graph to a selected second receiving node; and c) repeating steps a) and b) for subsequent receiving nodes.
15. The method according to claim 14 wherein flow rate of packets depends upon the graph in which said packets flow.
16. The method according to claim 14 wherein priority among packets depends upon the graph in which said packets flow.
17. The method according to claim 14 comprising: d) repeating steps a), b) and c) for subsequent graphs.
18. The method according to claim 2 wherein, at a node that is operative to receive packets and wherein payloads of at least two packets are stored on a single node, further comprising the steps of: combining said payloads of said at least two packets; and replacing said at least two packets if said at least two said packets are on the same digraph.
19. The method according to claim 2 wherein, at a node that is operative to receive packets, further comprising the step of: compressing a payloads of said packets prior to transmission.
PCT/US2005/010095 2004-03-27 2005-03-25 Digraph based mesh communication network WO2005096722A2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US55714804P 2004-03-27 2004-03-27
US60/557,148 2004-03-27
US10/914,056 2004-08-05
US10/914,056 US8194655B2 (en) 2004-08-05 2004-08-05 Digraph based mesh communication network

Publications (2)

Publication Number Publication Date
WO2005096722A2 true WO2005096722A2 (en) 2005-10-20
WO2005096722A3 WO2005096722A3 (en) 2009-04-09

Family

ID=35125508

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2005/010095 WO2005096722A2 (en) 2004-03-27 2005-03-25 Digraph based mesh communication network

Country Status (1)

Country Link
WO (1) WO2005096722A2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2140617A2 (en) * 2007-04-13 2010-01-06 Hart Communication Foundation Routing packets on a network using directed graphs
US8169974B2 (en) 2007-04-13 2012-05-01 Hart Communication Foundation Suspending transmissions in a wireless network
US8325627B2 (en) 2007-04-13 2012-12-04 Hart Communication Foundation Adaptive scheduling in a wireless network
US8356431B2 (en) 2007-04-13 2013-01-22 Hart Communication Foundation Scheduling communication frames in a wireless network
US8441947B2 (en) 2008-06-23 2013-05-14 Hart Communication Foundation Simultaneous data packet processing
US8570922B2 (en) 2007-04-13 2013-10-29 Hart Communication Foundation Efficient addressing in wireless hart protocol
US9099410B2 (en) 2003-10-13 2015-08-04 Joseph H. McCain Microelectronic device with integrated energy source

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6347340B1 (en) * 2000-02-18 2002-02-12 Mobilesys, Inc. Apparatus and method for converting a network message to a wireless transport message using a modular architecture
US6667957B1 (en) * 1998-03-14 2003-12-23 University Of Maryland Adaptive routing method for a dynamic network
US20040042405A1 (en) * 2002-08-29 2004-03-04 Nesbitt David W. Automated route determination
US6714552B1 (en) * 1996-08-28 2004-03-30 British Telecommunications Public Limited Company Communications network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6714552B1 (en) * 1996-08-28 2004-03-30 British Telecommunications Public Limited Company Communications network
US6667957B1 (en) * 1998-03-14 2003-12-23 University Of Maryland Adaptive routing method for a dynamic network
US6347340B1 (en) * 2000-02-18 2002-02-12 Mobilesys, Inc. Apparatus and method for converting a network message to a wireless transport message using a modular architecture
US20040042405A1 (en) * 2002-08-29 2004-03-04 Nesbitt David W. Automated route determination

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9099410B2 (en) 2003-10-13 2015-08-04 Joseph H. McCain Microelectronic device with integrated energy source
US8451809B2 (en) 2007-04-13 2013-05-28 Hart Communication Foundation Wireless gateway in a process control environment supporting a wireless communication protocol
US8230108B2 (en) 2007-04-13 2012-07-24 Hart Communication Foundation Routing packets on a network using directed graphs
US8570922B2 (en) 2007-04-13 2013-10-29 Hart Communication Foundation Efficient addressing in wireless hart protocol
US8660108B2 (en) 2007-04-13 2014-02-25 Hart Communication Foundation Synchronizing timeslots in a wireless communication protocol
US8356431B2 (en) 2007-04-13 2013-01-22 Hart Communication Foundation Scheduling communication frames in a wireless network
US8406248B2 (en) 2007-04-13 2013-03-26 Hart Communication Foundation Priority-based scheduling and routing in a wireless network
CN101682541B (en) * 2007-04-13 2013-09-04 Hart通信基金会 Method and device for routing packets on a network using directed graphs
EP2140617A2 (en) * 2007-04-13 2010-01-06 Hart Communication Foundation Routing packets on a network using directed graphs
EP2140617A4 (en) * 2007-04-13 2012-02-15 Hart Comm Foundation Routing packets on a network using directed graphs
US8169974B2 (en) 2007-04-13 2012-05-01 Hart Communication Foundation Suspending transmissions in a wireless network
US8325627B2 (en) 2007-04-13 2012-12-04 Hart Communication Foundation Adaptive scheduling in a wireless network
US8670749B2 (en) 2007-04-13 2014-03-11 Hart Communication Foundation Enhancing security in a wireless network
US8670746B2 (en) 2007-04-13 2014-03-11 Hart Communication Foundation Enhancing security in a wireless network
US8676219B2 (en) 2007-04-13 2014-03-18 Hart Communication Foundation Combined wired and wireless communications with field devices in a process control environment
US8798084B2 (en) 2007-04-13 2014-08-05 Hart Communication Foundation Increasing reliability and reducing latency in a wireless network
US8892769B2 (en) 2007-04-13 2014-11-18 Hart Communication Foundation Routing packets on a network using directed graphs
US8942219B2 (en) 2007-04-13 2015-01-27 Hart Communication Foundation Support for network management and device communications in a wireless network
US8441947B2 (en) 2008-06-23 2013-05-14 Hart Communication Foundation Simultaneous data packet processing

Also Published As

Publication number Publication date
WO2005096722A3 (en) 2009-04-09

Similar Documents

Publication Publication Date Title
US8194655B2 (en) Digraph based mesh communication network
JP4060316B2 (en) Multipath reactive routing in mobile ad hoc networks
JP4857262B2 (en) Method and apparatus for end-to-end reliable group communication
CN101065677B (en) Router configured for outputting update messages specifying a detected attribute change of a connected active path according to a prescribed routing protocol
EP1530859B1 (en) Heuristics-based routing of a query message in peer to peer networks
KR101208230B1 (en) Node device, executing method for node device and computer-readable storage medium having program
WO2005096722A2 (en) Digraph based mesh communication network
EP1944925A1 (en) Group communication in a mobile ad-hoc network
EP3203689B1 (en) Peer-to-peer communications in ami with source-tree routing
CN101663590A (en) Parsing out of order data packets at a content gateway of a network
Le et al. Unified routing for data dissemination in smart city networks
Chuah et al. Integrated buffer and route management in a DTN with message ferry
CN113438182A (en) Flow control system and flow control method based on credit
Benamar et al. Are VDTN routing protocols suitable for data collection in smart cities: a performance assessment
US7415025B1 (en) Method and apparatus for clearing a large number of connections in an ATM network
Dimitriou et al. Effective buffer and storage management in DTN nodes
Chen Cafnet: A carry-and-forward delay-tolerant network
KR101175086B1 (en) Multi-topology and multi-service routing system
Onuora et al. An Adaptive Hybrid Routing Protocol for Efficient Data Transfer and Delay Control in Mobile Ad Hoc Network
Sagayama et al. On the effect of communication link heterogeneity on content delivery delay in information-centric delay tolerant networks
Miserez Routing protocols for real-time applications in
Dabhi et al. Analysis of Different Buffer Management Strategies in Delay Tolerance Network Routing
Söderholm Efficient Routing in Bluetooth Mesh Network with in-Packet Bloom Filters
Dubey et al. Postbox DTN: It's modelling and routing analysis
JP2001527731A (en) How to distribute messages across a network

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

NENP Non-entry into the national phase in:

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 69(1) EPC (EPO FORM 1205A DATED 28.02.07)

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase