[go: up one dir, main page]

US20190373608A1 - Wireless mesh data network with increased transmission capacity - Google Patents

Wireless mesh data network with increased transmission capacity Download PDF

Info

Publication number
US20190373608A1
US20190373608A1 US16/429,839 US201916429839A US2019373608A1 US 20190373608 A1 US20190373608 A1 US 20190373608A1 US 201916429839 A US201916429839 A US 201916429839A US 2019373608 A1 US2019373608 A1 US 2019373608A1
Authority
US
United States
Prior art keywords
node
wireless
data
nodes
pool
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US16/429,839
Other versions
US10517092B1 (en
Inventor
Jeffrey A. Weiss
Maximilian R.F. King
Declan Oller
Philip Thomas Zucker
Benjamin Naidich Wiener
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sparkmeter Inc
Original Assignee
Sparkmeter Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sparkmeter Inc filed Critical Sparkmeter Inc
Priority to US16/429,839 priority Critical patent/US10517092B1/en
Assigned to SparkMeter, Inc. reassignment SparkMeter, Inc. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: OLLER, DECLAN, WEISS, JEFFREY A., WIENER, BENJAMIN NAIDICH, ZUCKER, PHILIP THOMAS, KING, MAXIMILIAN R.F.
Publication of US20190373608A1 publication Critical patent/US20190373608A1/en
Application granted granted Critical
Publication of US10517092B1 publication Critical patent/US10517092B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0076Distributed coding, e.g. network coding, involving channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/04Wireless resource allocation
    • H04W72/044Wireless resource allocation based on the type of the allocated resource
    • H04W72/0446Resources in time domain, e.g. slots or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/04Wireless resource allocation
    • H04W72/044Wireless resource allocation based on the type of the allocated resource
    • H04W72/0466Wireless resource allocation based on the type of the allocated resource the resource being a scrambling code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W74/00Wireless channel access
    • H04W74/04Scheduled access
    • H04W74/06Scheduled access using polling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/155Ground-based stations
    • H04B7/15521Ground-based stations combining by calculations packets received from different stations before transmitting the combined packets as part of network coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Definitions

  • This disclosure relates to wireless mesh data networks and more specifically to such wireless mesh data networks having increased transmission capacity.
  • wireless mesh data networks it is frequently necessary for one or more controllers to obtain and consolidate data from active nodes in the network on a regular basis for accounting, control or alarm purposes.
  • network wide data acquisition is typically completed every fifteen (15) minutes.
  • the polling interval is more infrequent, for example once per day.
  • Other applications such as monitoring sensors in a building or along a pipeline might require data transfers to occur within a few seconds or a few minutes of an event depending upon the criticality of the event and time sensitivity of the parameters which are being monitored.
  • Data collection in meshed wireless networks is generally done using Hop by Hop transport through the network using pre-discovered routes as found by the networking protocol being employed. For example, Zigbee is a common protocol used for energy monitoring applications.
  • a central hub typically polls individual nodes on a periodic basis for their data. Routing is done using per node routing tables where data is forwarded on an individual packet basis from a node to the requesting hub.
  • Linear Network Coding in metering applications enables data from multiple devices being polled in a given time interval to aggregate at each node along their path, and to then move in aggregate from the distant edges of a wireless network to one or more controllers.
  • Traffic is highly tolerant to link errors in that if a previously used path is no longer available, as long as one or more alternative nodes can properly receive and aggregate the data they receive with their own data, then all of the data will ultimately reach the designated controller(s).
  • Linear Network Coding does add new complexities into polled networks.
  • the purpose of this invention is to resolve these complexities for large networks, and also to increase the number of nodes which can be supported in a given time interval.
  • One complication is that the header of each packet must explicitly contain the coefficients for all of the linearly combined source packets it contains. This is necessary so that the original data from any given node can be decoded into its original source form, when done in combination with an appropriate number of linearly independent packets.
  • the controller must not only receive the individual coefficients, but also must be able to uniquely identify the node whose data is multiplied by any given coefficient.
  • Most radio networks have constraints on their maximum allowed packet sizes. For example, 802.15.4 wireless networks only allow up to 127 payload bytes per packet. This limits the number of nodes which can be aggregated together into a single packet.
  • the invention features a method for transmitting node data in a wireless meshed network from a plurality of wireless nodes to at least one consolidating node, such that the at least one consolidating node periodically receives node data from each of the plurality of wireless nodes.
  • the method includes assigning each of the plurality of wireless nodes to one of a plurality of node pools and causing each of the plurality of wireless nodes to transmit node data to one or more other wireless nodes and/or the at least one consolidating node during assigned time slots.
  • Each wireless node transmits its node data during timeslots which are adjacent to timeslots during which a wireless node from another node pool transmits its node data and the node data for each wireless node includes data originating at the wireless node and node data received from another wireless node of the same node pool.
  • the data originating at the wireless node and the node data received from another wireless node of the same node pool are linearly aggregated using network coding.
  • the consolidating node may be one of a wireless controller or a wireless node assigned to forward node data from a wireless node in another node pool to ultimately be received by a wireless controller.
  • the time slots may be assigned so that the node data transmitted by each wireless node will not interfere with the node data transmitted by any other wireless node in the wireless meshed network.
  • the wireless nodes may be grouped into N hop groups based on their physical distance to the at least one consolidating node. Each of the plurality of node pools may include at least one wireless node in each of the N hop groups.
  • the at least one wireless node in each node pool in a hop group may transmit node data in the same timeslot as a non-interfering wireless node within another node pool.
  • the at least one wireless node in a node pool in a hop group may transmit node data in the same timeslot as a non-interfering wireless node within the same node pool in a different hop group.
  • the node data for each wireless node may further include node data received from a wireless node of a different node pool and the node data received from the wireless node of a different node pool may not be linearly aggregated using network coding with the node data from the same node pool as the receiving wireless node.
  • the node data for each wireless node may further include node data received from a wireless node of said different node pool linearly aggregated with node data received from another wireless node of said different node pool.
  • Each of the plurality of wireless nodes and the wireless controller may include a wireless transceiver.
  • Each of the plurality of wireless nodes may include an electric meter for measuring usage of electricity and the node data transmitted may include an amount of electricity used as measured by the electric meter.
  • the wireless controller may be configured to construct a network map of the plurality wireless nodes and the network map may include for each of the plurality of wireless nodes a network identifier, a hop group identifier indicating the hop group in which the wireless node resides, and the network addresses of the surrounding wireless nodes from which each such wireless node has received node data.
  • the network map may be used to assign each of the plurality of wireless nodes to one of the plurality of node pools. The total number of node pools may be evenly divisible by three.
  • the invention features a system for transmitting node data in a wireless meshed network.
  • the system includes a plurality of wireless nodes configured to transmit and receive node data and each of the plurality of wireless nodes is assigned to one of a plurality of node pools.
  • There is at least one consolidating node configured to periodically receive node data from each of the plurality of wireless nodes and each of the plurality of wireless nodes is configured to transmit node data to one or more other wireless nodes and/or the at least one consolidating node during assigned time slots.
  • Each wireless node is configured to transmit its node data during timeslots which are adjacent to timeslots during which a wireless node from another node pool transmits its node data.
  • the node data for each wireless node includes data originating at the wireless node and node data received from another wireless node of the same node pool and wherein the data originating at the wireless node and the node data received from another wireless node of the same node pool are linearly aggregated using network coding.
  • the at least one consolidating node may be one of a wireless controller or a wireless node assigned to forward node data from a wireless node in another node pool to ultimately be received by a wireless controller.
  • the time slots may be assigned so that the node data transmitted by each wireless node will not interfere with the node data transmitted by any other wireless node in the wireless meshed network.
  • the plurality of wireless nodes may be grouped into N hop groups based on their physical distance to the at least one consolidating node. Each of the plurality of node pools may include at least one wireless node in each of the N hop groups.
  • the at least one wireless node in each node pool in a hop group may be configured to transmit node data in the same timeslot as a non-interfering wireless node within another node pool in the same hop group.
  • the at least one wireless node in a node pool in a hop group may be configured to transmit node data in the same timeslot as a non-interfering wireless node within the same node pool in a different hop group.
  • the node data for each wireless node may further include node data received from a wireless node of a different node pool and wherein the node data received from the wireless node of a different node pool may not be linearly aggregated using network coding with the node data from the same node pool.
  • the node data for each wireless node may further include node data received from a wireless node of said different node pool the linearly aggregated with node data received from another wireless node of said different node pool.
  • Each of the plurality of wireless nodes and the wireless controller may include a wireless transceiver.
  • Each of the plurality of wireless nodes may include an electric meter for measuring usage of electricity and wherein the node data transmitted may include an amount of electricity used as measured by the electric meter.
  • the wireless controller may be configured to construct a network map of the plurality wireless nodes.
  • the network map may include for each of the plurality of wireless nodes a network identifier, a hop group identifier indicating the hop group in which the wireless node resides, and the network addresses of the surrounding wireless nodes from which each such wireless node has received node data.
  • the network controller may be configured to use the network map to assign each of the plurality of wireless nodes to one of the plurality of node pools.
  • the total number of node pools may be evenly divisible by three.
  • the invention features a system for transmitting node data in a wireless meshed network, including a plurality of wireless nodes configured to transmit and receive node data.
  • Each of the plurality of wireless nodes is assigned to one of a plurality of node pools and at least one consolidating node is configured to periodically receive node data from the plurality of wireless nodes.
  • Each of the plurality of wireless nodes is configured to transmit node data to one or more other wireless nodes and/or the at least one consolidating node during assigned time slot.
  • the node data for each wireless node includes data originating at the wireless node and node data received from another wireless node of the same node pool and the data originating at the wireless node and the node data received from another wireless node of the same node pool are linearly aggregated using network coding.
  • Each wireless node is configured to transmit node data during its assigned time slots so that the node data transmitted by each wireless node will not interfere with the node data transmitted by any other wireless node in the wireless meshed network.
  • the invention features a system for transmitting node data in a wireless meshed network.
  • the system includes a plurality of wireless nodes configured to transmit and receive node data and each of the plurality of wireless nodes is assigned to one of a plurality of node pools.
  • the wireless nodes in each node pool are configured to transmit node data at a different frequency than the wireless nodes in an adjacent node pool.
  • There is at least one consolidating node configured to periodically receive node data from each of the plurality of wireless nodes and each of the plurality of wireless nodes is configured to transmit node data to one or more other wireless nodes and/or the at least one consolidating node during assigned time slots.
  • Each wireless node is configured to transmit its node data during timeslots which are adjacent to timeslots during which a wireless node from another node pool transmits its node data.
  • the node data for each wireless node includes data originating at the wireless node and node data received from another wireless node of the same node pool and the data originating at the wireless node and the node data received from another wireless node of the same node pool are linearly aggregated using network coding.
  • FIG. 1 is a block diagram depicting an existing Network Coding approach for packet aggregation and recovery.
  • FIG. 2 is a block diagram of a wireless mesh sensor network, which may be configured to operate according to this disclosure.
  • FIG. 3 is a block diagram of an exemplary power meter, which may be configured to operate according to this disclosure.
  • FIG. 4 is a block diagram of an exemplary controller, which may be configured to operate according to this disclosure.
  • FIG. 5 depicts a flow chart for determining the assignment of wireless nodes to wireless node pools according to an aspect of this disclosure.
  • FIG. 6A depicts a network graph showing direct wireless node connections according to an aspect of this disclosure.
  • FIG. 6B depicts the network graph of FIG. 6A augmented to show both direct and expanded wireless node connections according to an aspect of this disclosure.
  • FIG. 6C depicts the original network graph of FIG. 6A labeled using a graph coloring algorithm which references the augmented graph 6 B according to an aspect of this disclosure.
  • FIG. 7 depicts a representation of a network of wireless nodes divided into hop groups and grouped into node pools according to an aspect of the disclosure.
  • FIG. 8 is a diagram of one possible topology for a directed flow of packets from the edge of a network to a controller with wireless nodes grouped into a single node pool, according to an aspect of this disclosure.
  • FIG. 9 is a table depicting the flow of data packets from the wireless nodes of the network topology of FIG. 8 .
  • FIG. 10 is a diagram of another possible topology for a directed flow of packets from the edge of a network to a controller with wireless controllers grouped into two node pools, according to an aspect of this disclosure.
  • FIG. 11 is a table depicting the flow of data packets from the wireless nodes of the network topology of FIG. 10 .
  • FIG. 12 is a flow chart depicting the process of a node receiving an incoming data packet.
  • FIG. 13 is a flow chart depicting the process of a node transmitting a data packet.
  • FIG. 14 is a flow chart depicting the process for a controller node transmitting node pool polls.
  • FIG. 15 is a flow chart depicting a controller receiving and decoding an encoded incoming data packet from the network.
  • This disclosure improves the transport capacity of typical meshed data collection networks over conventional hop by hop routing technologies through the use of Network Coding combined with novel time and spatial packet scheduling.
  • the use of Network Coding along with the novel features of this invention improves the reliability of data collection, increases the number of nodes which can be polled in a given time interval, and approaches the theoretical limits of the network's capacity.
  • This disclosure relates more specifically to distributed sensor networks using meshed wireless networks for frequent periodic information gathering from each of the nodes.
  • the wireless mesh provides both redundancy and the ability to capture data at distances too great from one or more controllers to poll directly. Instead, data is routed across multiple hops to its destination.
  • Linear Network Coding allows traffic (i.e. data packets) from multiple nodes to be aggregated together using either completely random (As in RLNC) or carefully chosen independent coefficients (LNC). Packets are multiplied by these coefficients and the packets are then summed together into multiple linearly independent combinations.
  • each linearly independent packet received is referred to as adding an “additional degree of freedom” for purposes of decoding the data.
  • any arbitrary set of received packets which contain at least as many independent linear combinations (or degrees of freedom) as there are reporting nodes is sufficient to recover the original unencoded data. All of the mathematical operations are performed in in a closed finite field (Galois 2 N ).
  • any two of the seven packets may be lost on their routes to the network controller. That is, the receipt of any of the five remaining packets is adequate to recover the original data.
  • nodes which may be aggregated together are referred to as a “node pool”.
  • Node pools may be defined by a central wireless controller, and should contain collections of nodes in which each node is proximal to at least one other member of the node pool, but for redundancy preferably more than one other member.
  • Another complication addressed by this invention is how to optimize traffic from multiple node pools such that one or more wireless controllers may receive polling data every cycle where they are not transmitting polling messages.
  • FIG. 1 A key property of data aggregation as provided by Network Coding is demonstrated in FIG. 1 wherein there is shown a prior art wireless network coding scheme 100 having a total of five wireless nodes and a controller.
  • Wireless nodes 102 , 104 , 106 , and 108 each located in hop group 2 , transmit data to wireless node 110 , located in hop group 1 , which acts as an aggregator.
  • the aggregated data of nodes 1 through 5 are transmitted to wireless controller 112 , which is located in hop group 0 .
  • Nodes 102 , 104 , 106 and 108 deliver equal length data packets to aggregator node 110 , which proceeds to form multiple independent linear combinations of the four received packets along with its own data packet.
  • Independent coefficients (C 11 . . . C 75 ) are used to multiply the data within each packet before summing the modified packets together to form a new packet.
  • the arithmetic operations are over a finite Galois field, typically 2 8 in size.
  • the coefficients used to form the linear combination are bundled into the packet header.
  • the coefficients (C 11 . . . C 75 ) are randomly selected values, each between 0 and 255.
  • Matrix A is constructed by retrieving the coefficient lists from each of the received packets. Then using linear algebra, the inverse of matrix A is formed, A ⁇ 1 . In some implementations the matrix inverse is found using Gauss-Jordan elimination, which is a well-known mathematical procedure.
  • recovering the original data requires the received coefficient matrix to be inverted followed by multiplication with the received packet matrix Z to obtain the original pre-aggregated packets.
  • N linearly independent packets are required to recover the data from N nodes, any additional received packets may be discarded, and represent available redundancy for packet losses while the data traverses a communications network.
  • every packet processed by the receiver may contain a complete linear combination of data from every node.
  • an arbitrary subset of coefficients in a given packet may be zero (representing data from nodes not yet seen when the packet was constructed for final delivery to the controller). It is also possible to cascade packets along multiple hops and combine new data from these hops into newly constructed packets along the way.
  • the controller's receiver From a fixed set of nodes, the controller's receiver must receive enough packets where each node's data has been included at least once if not multiple times, and with independent degrees of freedom to match the number of nodes which are reporting data.
  • each packet is fixed in size to allow linear aggregation.
  • the header may also be fixed in size, allowing each packet to occupy a fixed time interval while being transmitted onto the network.
  • Each of these time intervals may be referred to as a “Time Slot”.
  • For a given polling rate for example, once every 15 minutes, there are a fixed number of available timeslots in which nodes may be scheduled to deliver their data. This is based upon the data rate of the channel, the size of the packets, the overhead for each packet, and the inter-packet gaps required by the receivers to properly synchronize.
  • Each transmission system may have unique values for these parameters.
  • FIG. 2 shows an exemplary network 200 for collecting data from a plurality of distributed wireless nodes/sensors 202 - 216 and providing such data to a wireless controller 201 , according to an aspect of this disclosure.
  • the wireless nodes/sensors 202 - 216 are power meters, which are required to report their data periodically to controller 201 .
  • data may typically be reported at fifteen (15) minute intervals. It should be noted, however, that this disclosure is applicable for any reporting period as well any other wireless network application where nodes are periodically reporting their data to one or more controllers.
  • wireless network 200 is logically organized into hop groups 1 - 4 , where each hop group represents an additional retransmission required to move data (in the form of data packets) from the left side (i.e. hop group 4 ) of network 200 to the right side (i.e. hop group 1 ) of network 200 and, ultimately, to controller 201 .
  • packets from meter 216 must hop through at least one “Hop Group 3” meter, one “Hop Group 2” meter and one “Hop group 1 ” meter to reach controller 201 and report its data for a given time interval.
  • Retransmission from hop group to hop group may be required due to the physical distances separating the wireless nodes/sensors across the wireless network.
  • the wireless meters/sensors are capable of transmitting data no further than one hop group away, i.e. to an adjacent hop group.
  • Wireless meters 202 - 216 contain wireless transceivers, which may operate according to IEEE 802.15.4 or 802.11 protocol, for example, or nearly any other standards based or proprietary radio protocol.
  • a block diagram of an exemplary wireless meter 300 is shown in FIG. 3 to include a microprocessor 302 , which is interconnected to current and voltage sensors 304 and volatile and non-volatile memory 306 , to collect data indicative of power usage for the particular site being monitored.
  • Microprocessor 302 is also connected to transceiver 308 , which may be configured as a half-duplex radio, to transmit its data and receive data from other wireless meters via antenna 310 , which may be an omnidirectional antenna.
  • Wireless controller 201 also contains a wireless transceiver configured to operate according to the same protocol as the wireless meters, and it may be configured according to the block diagram of wireless controller 400 depicted in FIG. 4 .
  • Wireless controller 400 may include a microprocessor 402 , which is interconnected to internet interface 404 and volatile and non-volatile memory 406 a as well as hard disk drive 406 b .
  • Microprocessor 402 is also connected to transceiver 408 , which may be configured as a half-duplex radio, to transmit data to and receive data from wireless meters via antenna 410 , which may be an omnidirectional antenna.
  • the internet interface 404 may be a wireless or wired connection, allowing the wireless controller to be connected to the internet in order to enable communications of meter data collected by the wireless meters to a central data collection center.
  • the central data collection center may be operated, for example, by the utility company providing power to the individual users being monitored by the wireless meters. It may alternatively be operated by the vendor providing the power meters as a means for aggregating data into Internet based storage where it can be analyzed by one or more servers.
  • the meter data may also be stored on a hard disk drive 406 b in the event of transmission trouble to the central data collection center.
  • wireless meter 206 when wireless meter 206 transmits, since its transmission will be omnidirectional, it is likely to be seen/received by all of the wireless meters which surround it, which in this example include wireless meters 205 and 207 in the same hop group as well as wireless meters in adjacent hop groups; namely, wireless meters, 209 , 210 and 211 in hop group 3 and wireless meters 202 , 203 , and 204 in hop group 1 .
  • wireless meters 209 , 210 and 211 in hop group 3
  • wireless meters 202 , 203 , and 204 in hop group 1 .
  • additional wireless meters within hop groups 1 , 2 or 3 may also receive the data transmitted from wireless meter 206 .
  • Wireless network 200 may utilize standard Network Coding, as described above, but by utilizing the improved protocol according to an aspect of this disclosure, increased transport capacity will be achieved.
  • network coding the payload of each packet is fixed in size to allow linear aggregation.
  • the header may also be fixed in size, allowing each packet to occupy a fixed time interval while being transmitted onto the network.
  • Each of these time intervals may be referred to as a “Time Slot”.
  • wireless controller such as wireless controller 201
  • Node discovery is well known and therefore only a general description is provided herein.
  • the MAC layer address of the wireless nodes in the network e.g. wireless nodes 202 - 216
  • the wireless controller may broadcast a poll to discover when any new wireless node(s) join(s) the network.
  • the wireless controller may broadcast a request for all new wireless nodes, and recently powered up wireless nodes, to respond to a poll and to send data packets containing wireless node information to the controller on a hop by hop basis by whatever the native routing protocol is in use for that radio system.
  • the information from each wireless node transmitted to the wireless controller during network node discovery will include a wireless node identifier, as well as the following information:
  • the wireless controller may use the collected information to construct a graph of the connectivity between nodes. This is a graph of every wireless node along with all of the neighbors which it has directly observed. Once the controller has discovered and polled all of the active nodes in the network, it runs a topology mapping optimization which seeks to achieve the following objectives:
  • the maximum node pool size is dictated by the overhead in the data packets. This is further described with regard to a specific embodiment of this disclosure, wherein Zigbee radios are used to transmit packet data between and among wireless nodes and the wireless controller. With Zigbee radios, the packet payload is limited to 127 bytes. If the meter data from a wireless node that needs to be provided to the wireless controller is, for example, 50 bytes, and the packet header is 8 bytes, then at most 69 additional bytes may be used for linear aggregation using network coding, which may include supplemental information such as coefficients and node addresses (if required for decoding).
  • the position represents a relative node assignment within a pool as delivered by the controller during each node's configuration phase.
  • the controller can correlate the presence of a coefficient in a given position in the header using a lookup table.
  • the pool ID is appended to the location of the coefficient in the packet and then used as an index to look up the full MAC address in a table.
  • FIG. 5 there is shown a flow chart 500 describing one embodiment for determining the assignment of wireless nodes to wireless node pools to linearly aggregate data, assigning some wireless nodes to just forward data, and assigning yet other nodes to both linearly aggregate data from wireless nodes within their own node pool and to linearly aggregate and forward data for wireless nodes in other wireless node pools.
  • step 501 the controller individually polls all of the nodes in the network to determine which nodes they are connected to. These are the neighboring nodes they are able to receive packets from. This information is then used to develop a connectivity map.
  • step 502 using the connectivity map developed in step 501 , node pool assignments are made. There are multiple options for how to assign nodes into node pools. In one embodiment, and as previously described, there is a 69 coefficient limitation per packet, and therefore a limit of 69 node members in any node pool.
  • node pools which are as close to this limit as possible and as geographically compact as possible to optimize the density of connectivity.
  • the following are some of the methods which can be used to assign nodes to an associated node pool while adhering to system constraints.
  • node pool assignment is to divide the network into radial “pie” slices. This can be accomplished by sorting the nodes by their angle from the hub and binning the list into groups of equal size. Here, a minimum number of node pools is achieved, and have incorporated a spatial constraint where nodes within a common node pool are within a given “pie” region. An example of this approach is described below with regard to FIG. 7 .
  • simulated annealing An additional known state of the art optimization technique is called simulated annealing where an energy function is defined and then optimized. S. Kirkpatrick, C. D. Gelatt, and M. P. Vecchi. Optimization by simulated annealing, 220(4598):671-680, 1983.
  • the network map is evaluated for the minimum path redundancy available to any node in passing its packets to a controller. For example, a threshold of two might be assigned, in which case a review is done to see if every node has at least two paths within its own node pool to reach the controller. If not, nodes which have adjacent connectivity, but which are assigned to different node pools are considered. If these nodes can provide the necessary redundancy, then they are assigned to provide neighbor forwarding for the designated node.
  • step 504 if the necessary redundancy cannot be achieved, then in step 505 the operator is warned, perhaps on a graphical display, showing which nodes do not have adequate redundancy.
  • the operator may in the future choose to physically augment the redundancy of the network by inserting an additional meter or repeater where the network is most in need of additional connectivity.
  • step 506 the map of connectivity is examined to see the degree of connectedness for each node in a pool, and if there are nodes which have only a single neighbor with connectivity towards the controller with which they communicate. Also evaluated are the number of nodes which are behind this node which are dependent upon it to deliver their data. In this occurrence, additional cycles will be added to the allocated timeslots for polling this pool to account for possible transmission errors between these neighbors and to provide multiple opportunities for packets to traverse this link.
  • step 507 the assignment maps developed in the previous steps are sent out individually to each node in the network.
  • FIGS. 6A-6C show how a graph of node to node connectivity may be used to determine which nodes may safely transmit simultaneously without causing loss of packets due to interference.
  • Interference is where the transmitted packets from two or more wireless nodes sharing the same RF channel are received at one or more receiving wireless nodes and the relative signal strength of the received signals degrades the signal to noise ratio such that a given receiver is unable to discriminate between source transmissions and decode a valid packet.
  • the end result is a received packet with an invalid cyclic redundancy code (CRC), indicating the received packet is invalid and must be discarded.
  • Non-interfering wireless nodes are nodes which may transmit simultaneously and their transmitted packets are received by each of their receiving wireless nodes/controllers without interference (i.e. packets are received with a valid CRC).
  • a discovered or original network graph for example network graph 600 a , FIG. 6A , is initially augmented by connecting each wireless node to its neighbors' neighbors to create an augmented network graph 600 b , FIG. 6B .
  • the augmented network graph 600 b shows each wireless node's neighbor connections via solid lines, while each wireless node is connected to its neighbors' neighbors via dotted lines.
  • another network graph 600 c is created using a graph coloring algorithm, which assigns each node in the augmented network graph 600 b a color such that no connected nodes share the same color.
  • the wireless nodes are labelled with a number (1, 2, 3, and 4), each of which indicates a different color.
  • the nodes are sorted by their degree (number of neighbors) and then the sorted list is traversed, assigning each wireless node one of the colors that none of its neighbors have yet been assigned.
  • assigning a wireless node a color that does not conflict with any neighbor's, a new color is introduced and assigned to that wireless node.
  • This approach produces a valid graph coloring solution.
  • Graph coloring algorithms are well known in the art and are therefore not described herein in further detail.
  • each node labeled “1” can transmit simultaneously without resulting in interference at any wireless node that receives data transmitted from the wireless nodes labelled “1”.
  • each wireless node may then be assigned a transmission period equal to the total number of colors and an initial delay period based on the index of that wireless node's assigned color.
  • the wireless controller notifies the wireless nodes in each node pool of their designated transmission time slots. And, if not already provided to the wireless nodes, the following parameters may also be provided:
  • a representation 700 of a network of wireless nodes is depicted as a series of concentric rings, each ring designates a hop from the center which is where the wireless controller 702 is located, wherein the wireless nodes are further grouped into node pools.
  • the network may be divided into radial “pie” slices. This can be accomplished by sorting the nodes by their angle from the hub and binning the list into groups of equal size.
  • a minimum number of node pools is achieved, and have incorporated a spatial constraint where nodes within a common node pool are within a given “pie” region
  • hop group 1 which includes wireless nodes closest to wireless controller 702
  • hop group 2 including wireless nodes position further from the wireless nodes in hop group 1
  • hop group 3 with wireless nodes position furthest from wireless controller 702 .
  • Data packets from wireless nodes in Hop group 3 must be forwarded through Hop group 2 and then through Hop group 1 to reach their ultimate destination, which is the controller 702 .
  • the wireless nodes are grouped into six node pools 704 , 706 , 708 , 710 , 712 , and 714 . Each node pool contains one or more wireless nodes within each hop group.
  • the maximum number of hop groups may be fifteen (15), corresponding the largest mesh which that embodiment supports.
  • packets sent by members of group 15 must traverse at least fourteen (14) intermediate nodes on its transit to the controller.
  • the maximum hop count corresponds to the Time To Live Value (TTL), which is encoded into broadcast packets to limit packet retransmissions.
  • TTL Time To Live Value
  • Other embodiments may support larger or smaller TTL values depending upon the geographic region which must be supported by a single meshed network. These are retransmitted until their TTL values reach 1.
  • the number of node pools is divisible by three, e.g. 3, 6, 9, 12 etc. This is to enable interleaved delivery of packets to a central wireless controller (or a forwarding wireless node) every timeslot where possible.
  • wireless nodes on the left edge of one node pool are two or more hops away from wireless nodes on the left edge of adjacent node pools. This implies that when a wireless node on the left edge of one node pool transmits, it is not seen by wireless nodes on the left edge of adjacent node pools.
  • non-adjacent node pools may also provide additional spatial isolation during simultaneous transmissions.
  • wireless node transmission is half duplex.
  • a wireless node may transmit or receive, but not both simultaneously except for collision detection purposes (such as in CSMA/CD).
  • the wireless controller is similar to other nodes, however when receiving packets on a single channel, when it is not sending outbound polls, it may be capable of receiving one packet per available timeslot.
  • all of the wireless nodes and the wireless controller may share a single radio channel and interleave between node pools such that a controller receives one packet every available time interval.
  • adjacent node pools may use different RF channels to minimize interference between node pools.
  • Adjacent node pools are one which have one or more wireless nodes which are able to properly receive (without CRC errors) packets from one or more nodes participating in a neighboring node pool.
  • the central controller may alternate between the channels used by the various pools to receive a message every available time interval.
  • Additional independent receivers may be added at one or more controllers to further increase the capacity of the network beyond that which may be absorbed by a single controller radio or as an alternative to hopping between frequencies.
  • FIG. 8 shows an exemplary network for delivering data to a controller, according to an aspect of this disclosure.
  • a directed graph topology 800 including wireless nodes/meters 801 - 808 , labelled nodes 1 - 8 , and referred to herein interchangeably, and a wireless controller 810 .
  • the wireless nodes are divided into four hop groups; namely, hop group 4 (nodes 1 and 2 ), hop group 3 (nodes 3 and 4 ), hop group 2 (nodes 5 and 6 ) and hop group 1 (nodes 7 and 8 ).
  • hop group 4 nodes 1 and 2
  • hop group 3 hop group 3 and 4
  • hop group 2 nodes 5 and 6
  • hop group 1 nodes 7 and 8
  • the transmission of packets in this topology and according to the protocol herein is described.
  • the nodes between which packets are transmitted are indicated by solid lines connecting the nodes.
  • data packets transmitted by Node 1 are received by Nodes 3 and 4 , because they are in the adjacent hop group (hop group 3 ), but they are not received by Nodes 5 , 6 , 7 , 8 or wireless controller 810 , as they are more than one hop group away.
  • packets transmitted from Node 5 are received by nodes 3 , 4 , 7 and 8 .
  • the packets from node 5 which are received by Nodes 3 and 4 are discarded as the packets are from a node in a lower hop group indicating that the data is being transmitted away from the wireless controller which is the intended destination.
  • the packets transmitted by Node 5 and received by Nodes 7 and 8 are combined with the data in nodes 7 and 8 and for forwarded to controller 810 in a subsequent timeslot.
  • transmissions from Node 1 may be seen by Node 2 and similarly transmissions from Node 3 may be seen by Node 4 , etc.
  • These intra-hop group transmissions may be used to provide additional redundancy which may also improve the robustness of the network.
  • data is allowed to flow sideways (i.e. intra-hop group transmission) and forward through the network, but not backwards towards higher hop counts.
  • data may be aggregated in all directions.
  • nodes are half duplex and omnidirectional, it is necessary that only one node from every third hop in the network and within a single node pool, transmit simultaneously. Otherwise, there would be interfering transmissions and data would not be received. For example, in FIG. 8 , if both nodes 1 and 5 transmit at the same time, nodes 3 and 4 will receive data from both nodes 1 and 5 preventing nodes 3 and 4 from receiving the data packets from either nodes 1 or 5 .
  • the radios While the aggregation and propagation of packets is generally directed to controller 810 , which is at the right edge of the network 800 , the radios typically have omnidirectional antennas and receive transmissions which are in range from every direction. In contrast, even when using omnidirectional antennas, when Node 1 is transmitting, Node 7 may also transmit without causing interference, because the nodes are separated by more than two hop groups.
  • table 900 shows the construction of packets for forwarding from the nodes 801 - 808 to the controller 810 , as shown in FIG. 8 .
  • the cycle count vertical axis represents the transmission timeslots available in the network.
  • the numbers in the table represent the nodes whose packets are merged together in linear combinations with independent coefficients using Network Coding, as described above.
  • the cell represented by Cycle 3 and Node 5 contains the value 1 , 3 , 5 .
  • This means that Node 5 will transmit a packet which contains a linear combination of data from Node 1 , Node 3 and Node 5 during the cycle 3 timeslot.
  • the packet data received from any of the multiple nodes may be merged using Network Coding.
  • nodes 1 and 7 in time slots (cycle) 1 , 7 , 13 , and 19 may be assigned to transmit simultaneously.
  • nodes which are at least three hop groups apart may be assigned to transmit simultaneously.
  • Other methods to assign nodes to transmit simultaneously may be used, including using a generic coloring algorithm to determine which nodes may transmit simultaneously without interfering.
  • a group of nodes in a single node pool is able to deliver one linearly independent packet to the controller every third cycle, as shown in the column labelled “Aggregation” where the node 7 packets are delivered to the wireless controller 810 , FIG. 8 , in time slots 1 , 7 , 13 , and 19 , and node 8 in time slots 4 , 10 , 16 , and 22 .
  • the same approach may be used with a wireless node which is used to forward packets,
  • the wireless controller 810 may be a forwarding node which may either forward packets towards a wireless controller, or linearly merge packets with other packets received from the same node pool as the packet just received using network coding.
  • the merged packets are forwarded as consolidated data on through the network to ultimately be received by a wireless controller.
  • the forwarding node will typically be part of a different node pool than the node pool(s) of the nodes for which it is forwarding. Either a wireless controller or a forwarding node may also referred to herein as a consolidating node.
  • FIG. 10 shows another example network 1000 (or portion thereof), including nodes/meters 1001 - 1008 grouped in node pool A 1020 along with wireless nodes/meters 1009 - 1016 grouped into a separate node pool B 1030 .
  • Wireless nodes/meters 1001 - 1016 labelled nodes 1 - 16 , and may be referred to herein interchangeably.
  • the nodes from both node pools A 1020 and B 1030 are polled by and deliver their data to wireless controller 1040 (which may also be replaced with a forwarding node).
  • wireless controller 1040 which may also be replaced with a forwarding node.
  • wireless controller 1040 which may also be replaced with a forwarding node.
  • different channels may be used for each group, and the controller will alternate between them based upon which group is scheduled to deliver a data packet.
  • node pools are grouped into sets of three or multiples of three pools, with each pool delivering data to the controller on a staggered cycle.
  • the staggered transmissions make it is possible to fill in every transmission cycle seen by the controller, when it is not transmitting.
  • the staggering of transmissions to the wireless controller or a forwarding node means that any wireless node transmitting to a consolidating node will do so in a time slot which is adjacent to a time slot during which a wireless node of another node pool transmits. This approach of staggering transmissions between node pools occurs across the wireless mesh network and is further described below with regard to FIG. 11 .
  • pool groupings will be other than a multiple of three, the only requirement being that the organization of nodes in adjacent pools be such that they do not cause collisions at any other node which is required to forward transmissions. This may be accomplished through spatial or frequency separation.
  • Adjacent node pools are one which have one or more wireless nodes which are able to properly receive (without CRC errors) packets from one or more nodes participating in a neighboring node pool. Referring to node pools A and B of FIG. 10 . When node 1008 in Pool A transmits, node 1012 in Pool B may be able to properly receive node 1008 transmissions. Similarly, node 1006 in Pool A may be able to properly receive packets from node 1011 in Pool B if they are within radio reception range of each other.
  • table 1100 shows the construction of packets for forwarding from the node pools A 1020 and B 1030 to the controller 1040 , as shown in FIG. 10 .
  • the cycle count vertical axis of table 1100 represents the transmission timeslots available in network 1000 , FIG. 10 .
  • In the first column are nodes 1 and 9 and in the second column nodes 2 and 13 , which are furthest in distance from controller 1040 , as they are in hop group 4 .
  • In the third column are nodes 3 and 10 and in the fourth column are nodes 4 and 14 . These four nodes are in hop group 3 , which is the second furthest hop group from controller 1040 . This pattern continues until the eighth column, where there are the final two nodes 8 and 16 from hop group 1 .
  • the nodes furthest from the controller 1040 and on the left edge of network 1000 transmit first and the transmission times progress from the left edge (furthest from controller 1040 ) to the right edge (closest to controller 1040 ) of network 1000 .
  • the numbers in the table represent the nodes that are transmitted each cycle and the nodes whose packets are merged together in linear combinations with independent coefficients using Network Coding, as described above.
  • nodes 1 node pool A
  • 10 node pool B
  • 7 node pool A
  • Nodes 9 node pool B
  • 3 node pool A
  • Node 12 node pool B
  • the adjacent slot includes a transmission from another node pool.
  • Node 3 contains its data as well as linearly merged data received from node 1 .
  • Nodes 7 and 12 which are in hop group 1 , respectively transmit their data to the controller 1040 , as shown in the column labeled “Aggregation”. Therefore, node 7 (node pool A) and node 12 (node pool B) from different node pools transmit their data to the controller 1040 in adjacent time slots. This staggering approach is carried out across all wireless nodes in network 1000 , as described below.
  • Nodes 5 and 11 transmit their data, which are received by nodes 8 and 16 , respectively.
  • Node 5 data is the linear aggregation of data from Nodes 1 , 3
  • 5 and Node 11 data is the linear aggregation of data from Nodes 10 and 11 . Note, that in cycle 3 no data is transmitted from the hop group 1 nodes to the controller 1040 .
  • Nodes 8 and 16 transmit their aggregated data to controller 1040 .
  • Nodes 2 and 14 transmit in cycle 4 and 13 and 4 transmit in cycle 5 .
  • cycle 6 merged data from nodes 6 and 15 are transmitted but in cycle 6 no data is transmitted from the hop group 1 nodes to the controller 1040 , as is the case for cycle 3 .
  • every 6 cycles all nodes in hop group 1 (Nodes 7 , 8 , 12 , and 16 ) transmit their data to controller 1040 .
  • the data from Nodes 7 , 8 , 12 , and 16 is aggregated data from each node's upstream neighbors, residing in the same node pool.
  • a third group may also be added to fill the third aggregation timeslot; namely, cycles 3 , 6 , 9 , . . . etc.
  • Group B 1030 may operate on a different frequency from Group A 1020 .
  • the controller 1040 may alternate between channels.
  • the transmission processes described above with regard to FIGS. 8 / 9 and 10 / 11 are periodically initiated (e.g. every 15 minutes) by the wireless controller(s), such as controllers 810 , FIG. 8, and 1040 , FIG. 10 .
  • the wireless controller(s) may poll multiple nodes in one or more node pools simultaneously with a single broadcast or multicast message. In this way a single poll can initiate a timed cascade of messages from the nodes, thereby maximizing the number of timeslots which are available for delivery of data to the controller.
  • each node be synchronized in time with other nodes in each group. This is necessary for the node to determine when to begin transmitting into its scheduled timeslots. In this way nodes are able to transfer data without interference from adjacent nodes and the additional delays which contention access can cause.
  • a time to live constraint e.g. the maximum number of times a poll is retransmitted by subsequent nodes
  • timeslot timing is ascertained by having nodes at the furthest edge of the network begin the data delivery sequence upon receipt of a group poll from the controller, and then interior nodes align their estimates of timeslot timing from the time of arrival of these inbound packets.
  • FIGS. 12 through 15 the processes for transmitting and receiving data by the wireless nodes and the wireless controller, according to aspects of this disclosure, are depicted.
  • incoming data from an adjacent node is received by a wireless node at step 1202 .
  • the data packet as received is stored in the designated remote pool buffer at step 1208 . If the buffer is already occupied with a packet from the same node, or any other node of the same remote node pool, then the received packet is network coded into the remote pool designated buffer at step 1208 . When network coding into a remote pool buffer, the local node's data is not utilized.
  • the process for transmitting data packets for a wireless node is shown in flow chart 1300 of FIG. 13 .
  • step 1302 it is determined that the designated time slot (i.e. cycle per tables 900 / 1100 shown in FIGS. 9 and 11 ) for the node to transmit data has arrived.
  • step 1304 a rotating selection process is initiated in the time slot to alternate transmitting from the node's own pool transmit buffer and from the remote buffers storing other node pool data.
  • step 1306 based on inputs from step 1304 , the process alternates between transmitting data from the node pool of the current node and the data received from nodes in other node pools.
  • a timed snapshot of data from the current node i.e. current node sensor data, such as electric meter data
  • the network coded data is transmitted.
  • the transmission of data from nodes in other node pools stored in the remote buffers are transmitted in step 1312 .
  • FIG. 14 there is shown flow chart 1400 which depicts the wireless controller process for polling the wireless nodes in the network to initiate transmission of the data from the wireless nodes.
  • the controller initiates the pooling process, as indicated at step 1402 .
  • the controller rotates among pools and looks up the number of time slots for desired redundancy for next pool. In general, the number of time slots is greater than the minimum number which would be required to receive a single independent packet for every member of the node pool in the absence of any errors. Additional timeslots are necessary to ensure that sufficient independent packets are received by the controller to enable decoding the packet data from every transmitting node.
  • the controller transmits the node pool poll and at step 1408 the controller waits until the end of the allocated time slots for the pool being polled.
  • the controller waits until the end of the allocated time slots for the pool being polled.
  • a continuation poll is sent and the redundancy for the node pool for future polling events is adjusted upward.
  • the redundancy is adjusted downward but not below a minimum value.
  • step 1414 it is determined if all groups have been polled. If all groups have not yet been polled, the system returns to step 1404 and the polling process continues. If at step 1414 it is determined that all node pools have been polled the system proceeds to step 1416 where it is determined if the overall polling interval has ended. If it has, the system returns to step 1404 to await the next polling interval. If the polling interval has not ended, the system loops back to step 1416 and continues to wait until the overall polling period has ended.
  • the controller process for receiving incoming data from wireless nodes is depicted in flow chart 1500 of FIG. 15 .
  • the controller receives incoming data from a wireless node.
  • the received data is added to the current receive matrix for appropriate node pool and in step 1506 the data packets from the receive matrix are attempted to be decoded using well known matrix inversion techniques such as Gauss Jordan elimination.
  • any decoded data packets are released to the data capture application for processing and/or transmission to a central data collection center operated, for example, by the utility company providing power to the individual users being monitored by the wireless nodes/meters.

Landscapes

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

Abstract

A method for transmitting node data in a wireless meshed network from a plurality of wireless nodes to at least one consolidating node includes assigning each of the plurality of wireless nodes to one of a plurality of node pools and causing each of the plurality of wireless nodes to transmit node data to one or more other wireless nodes and/or the at least one consolidating node during the assigned time slots. Each wireless node transmits its node data during timeslots which are adjacent to timeslots during which a wireless node from another node pool transmits its node data. The node data for each wireless node includes data originating at the wireless node and node data received from another wireless node of the same node pool which are linearly aggregated using network coding

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application claims the benefit of priority to U.S. Provisional Application Ser. No. 62/680,506, filed Jun. 4, 2018, and the benefit of priority to U.S. Provisional Application Ser. No. 62/712,523, filed Jul. 31, 2018, the contents of these applications are hereby incorporated by reference in their entirety.
  • FIELD OF THE INVENTION
  • This disclosure relates to wireless mesh data networks and more specifically to such wireless mesh data networks having increased transmission capacity.
  • BACKGROUND OF THE INVENTION
  • In wireless mesh data networks, it is frequently necessary for one or more controllers to obtain and consolidate data from active nodes in the network on a regular basis for accounting, control or alarm purposes. In electric meter networks, network wide data acquisition is typically completed every fifteen (15) minutes. For battery powered applications such as the monitoring of residential water meters, the polling interval is more infrequent, for example once per day. Other applications such as monitoring sensors in a building or along a pipeline might require data transfers to occur within a few seconds or a few minutes of an event depending upon the criticality of the event and time sensitivity of the parameters which are being monitored.
  • Many wireless sensor networks make use of meshed network topologies. This reduces dependence on third party networks such as cellular infrastructure. When cellular, wire or fiber backhaul is required either due to physical typology or overall network size, it is desirable to minimize the number of interfaces which are required to one or more external networks.
  • Existing meshed networking protocols, such as supported by 802.15.4, rely on route discovery followed by individual node polling by one or more controllers. In large multi-hop networks, even after route discovery has been completed, it can still require a second or more to poll and retrieve data from individual nodes if they are enough hops away from the network controller. Node to node forwarding of individual messages makes inefficient use of the available capacity of the network and therefore restricts the number of nodes which can be polled in a timely fashion sharing a single shared radio channel.
  • Data collection in meshed wireless networks is generally done using Hop by Hop transport through the network using pre-discovered routes as found by the networking protocol being employed. For example, Zigbee is a common protocol used for energy monitoring applications. In metering implementations, a central hub typically polls individual nodes on a periodic basis for their data. Routing is done using per node routing tables where data is forwarded on an individual packet basis from a node to the requesting hub.
  • The use of Linear Network Coding in metering applications enables data from multiple devices being polled in a given time interval to aggregate at each node along their path, and to then move in aggregate from the distant edges of a wireless network to one or more controllers. Traffic is highly tolerant to link errors in that if a previously used path is no longer available, as long as one or more alternative nodes can properly receive and aggregate the data they receive with their own data, then all of the data will ultimately reach the designated controller(s).
  • Linear Network Coding does add new complexities into polled networks. The purpose of this invention is to resolve these complexities for large networks, and also to increase the number of nodes which can be supported in a given time interval. One complication is that the header of each packet must explicitly contain the coefficients for all of the linearly combined source packets it contains. This is necessary so that the original data from any given node can be decoded into its original source form, when done in combination with an appropriate number of linearly independent packets. The controller must not only receive the individual coefficients, but also must be able to uniquely identify the node whose data is multiplied by any given coefficient. Most radio networks have constraints on their maximum allowed packet sizes. For example, 802.15.4 wireless networks only allow up to 127 payload bytes per packet. This limits the number of nodes which can be aggregated together into a single packet.
  • Therefore, there is a need to overcome the above described limitations of existing network protocols such as Zigbee and Network Coding and enable a wireless mesh network system and protocol which is capable of more rapid polling and retrieval of data even in networks with larger numbers of wireless nodes.
  • SUMMARY OF INVENTION
  • In one aspect the invention features a method for transmitting node data in a wireless meshed network from a plurality of wireless nodes to at least one consolidating node, such that the at least one consolidating node periodically receives node data from each of the plurality of wireless nodes. The method includes assigning each of the plurality of wireless nodes to one of a plurality of node pools and causing each of the plurality of wireless nodes to transmit node data to one or more other wireless nodes and/or the at least one consolidating node during assigned time slots. Each wireless node transmits its node data during timeslots which are adjacent to timeslots during which a wireless node from another node pool transmits its node data and the node data for each wireless node includes data originating at the wireless node and node data received from another wireless node of the same node pool. The data originating at the wireless node and the node data received from another wireless node of the same node pool are linearly aggregated using network coding.
  • In other aspects of the invention one or more of the following features may be included. The consolidating node may be one of a wireless controller or a wireless node assigned to forward node data from a wireless node in another node pool to ultimately be received by a wireless controller. The time slots may be assigned so that the node data transmitted by each wireless node will not interfere with the node data transmitted by any other wireless node in the wireless meshed network. The wireless nodes may be grouped into N hop groups based on their physical distance to the at least one consolidating node. Each of the plurality of node pools may include at least one wireless node in each of the N hop groups. The at least one wireless node in each node pool in a hop group may transmit node data in the same timeslot as a non-interfering wireless node within another node pool. The at least one wireless node in a node pool in a hop group may transmit node data in the same timeslot as a non-interfering wireless node within the same node pool in a different hop group. The node data for each wireless node may further include node data received from a wireless node of a different node pool and the node data received from the wireless node of a different node pool may not be linearly aggregated using network coding with the node data from the same node pool as the receiving wireless node. The node data for each wireless node may further include node data received from a wireless node of said different node pool linearly aggregated with node data received from another wireless node of said different node pool. Each of the plurality of wireless nodes and the wireless controller may include a wireless transceiver. Each of the plurality of wireless nodes may include an electric meter for measuring usage of electricity and the node data transmitted may include an amount of electricity used as measured by the electric meter. The wireless controller may be configured to construct a network map of the plurality wireless nodes and the network map may include for each of the plurality of wireless nodes a network identifier, a hop group identifier indicating the hop group in which the wireless node resides, and the network addresses of the surrounding wireless nodes from which each such wireless node has received node data. The network map may be used to assign each of the plurality of wireless nodes to one of the plurality of node pools. The total number of node pools may be evenly divisible by three.
  • In another aspect, the invention features a system for transmitting node data in a wireless meshed network. The system includes a plurality of wireless nodes configured to transmit and receive node data and each of the plurality of wireless nodes is assigned to one of a plurality of node pools. There is at least one consolidating node configured to periodically receive node data from each of the plurality of wireless nodes and each of the plurality of wireless nodes is configured to transmit node data to one or more other wireless nodes and/or the at least one consolidating node during assigned time slots. Each wireless node is configured to transmit its node data during timeslots which are adjacent to timeslots during which a wireless node from another node pool transmits its node data. The node data for each wireless node includes data originating at the wireless node and node data received from another wireless node of the same node pool and wherein the data originating at the wireless node and the node data received from another wireless node of the same node pool are linearly aggregated using network coding.
  • In further aspects of the invention one or more of the following features may be included. The at least one consolidating node may be one of a wireless controller or a wireless node assigned to forward node data from a wireless node in another node pool to ultimately be received by a wireless controller. The time slots may be assigned so that the node data transmitted by each wireless node will not interfere with the node data transmitted by any other wireless node in the wireless meshed network. The plurality of wireless nodes may be grouped into N hop groups based on their physical distance to the at least one consolidating node. Each of the plurality of node pools may include at least one wireless node in each of the N hop groups. The at least one wireless node in each node pool in a hop group may be configured to transmit node data in the same timeslot as a non-interfering wireless node within another node pool in the same hop group. The at least one wireless node in a node pool in a hop group may be configured to transmit node data in the same timeslot as a non-interfering wireless node within the same node pool in a different hop group. The node data for each wireless node may further include node data received from a wireless node of a different node pool and wherein the node data received from the wireless node of a different node pool may not be linearly aggregated using network coding with the node data from the same node pool. The node data for each wireless node may further include node data received from a wireless node of said different node pool the linearly aggregated with node data received from another wireless node of said different node pool. Each of the plurality of wireless nodes and the wireless controller may include a wireless transceiver. Each of the plurality of wireless nodes may include an electric meter for measuring usage of electricity and wherein the node data transmitted may include an amount of electricity used as measured by the electric meter. The wireless controller may be configured to construct a network map of the plurality wireless nodes. The network map may include for each of the plurality of wireless nodes a network identifier, a hop group identifier indicating the hop group in which the wireless node resides, and the network addresses of the surrounding wireless nodes from which each such wireless node has received node data. The network controller may be configured to use the network map to assign each of the plurality of wireless nodes to one of the plurality of node pools. The total number of node pools may be evenly divisible by three.
  • In yet a further aspect, the invention features a system for transmitting node data in a wireless meshed network, including a plurality of wireless nodes configured to transmit and receive node data. Each of the plurality of wireless nodes is assigned to one of a plurality of node pools and at least one consolidating node is configured to periodically receive node data from the plurality of wireless nodes. Each of the plurality of wireless nodes is configured to transmit node data to one or more other wireless nodes and/or the at least one consolidating node during assigned time slot. The node data for each wireless node includes data originating at the wireless node and node data received from another wireless node of the same node pool and the data originating at the wireless node and the node data received from another wireless node of the same node pool are linearly aggregated using network coding. Each wireless node is configured to transmit node data during its assigned time slots so that the node data transmitted by each wireless node will not interfere with the node data transmitted by any other wireless node in the wireless meshed network.
  • In an additional aspect, the invention features a system for transmitting node data in a wireless meshed network. The system includes a plurality of wireless nodes configured to transmit and receive node data and each of the plurality of wireless nodes is assigned to one of a plurality of node pools. The wireless nodes in each node pool are configured to transmit node data at a different frequency than the wireless nodes in an adjacent node pool. There is at least one consolidating node configured to periodically receive node data from each of the plurality of wireless nodes and each of the plurality of wireless nodes is configured to transmit node data to one or more other wireless nodes and/or the at least one consolidating node during assigned time slots. Each wireless node is configured to transmit its node data during timeslots which are adjacent to timeslots during which a wireless node from another node pool transmits its node data. The node data for each wireless node includes data originating at the wireless node and node data received from another wireless node of the same node pool and the data originating at the wireless node and the node data received from another wireless node of the same node pool are linearly aggregated using network coding.
  • BRIEF DESCRIPTION OF THE FIGURES
  • Embodiments of the present disclosure will now be described, by way of example only, with reference to the attached Figures, wherein:
  • FIG. 1 is a block diagram depicting an existing Network Coding approach for packet aggregation and recovery.
  • FIG. 2 is a block diagram of a wireless mesh sensor network, which may be configured to operate according to this disclosure.
  • FIG. 3 is a block diagram of an exemplary power meter, which may be configured to operate according to this disclosure.
  • FIG. 4 is a block diagram of an exemplary controller, which may be configured to operate according to this disclosure.
  • FIG. 5 depicts a flow chart for determining the assignment of wireless nodes to wireless node pools according to an aspect of this disclosure.
  • FIG. 6A depicts a network graph showing direct wireless node connections according to an aspect of this disclosure.
  • FIG. 6B depicts the network graph of FIG. 6A augmented to show both direct and expanded wireless node connections according to an aspect of this disclosure.
  • FIG. 6C depicts the original network graph of FIG. 6A labeled using a graph coloring algorithm which references the augmented graph 6B according to an aspect of this disclosure.
  • FIG. 7 depicts a representation of a network of wireless nodes divided into hop groups and grouped into node pools according to an aspect of the disclosure.
  • FIG. 8 is a diagram of one possible topology for a directed flow of packets from the edge of a network to a controller with wireless nodes grouped into a single node pool, according to an aspect of this disclosure.
  • FIG. 9 is a table depicting the flow of data packets from the wireless nodes of the network topology of FIG. 8.
  • FIG. 10 is a diagram of another possible topology for a directed flow of packets from the edge of a network to a controller with wireless controllers grouped into two node pools, according to an aspect of this disclosure.
  • FIG. 11 is a table depicting the flow of data packets from the wireless nodes of the network topology of FIG. 10.
  • FIG. 12 is a flow chart depicting the process of a node receiving an incoming data packet.
  • FIG. 13 is a flow chart depicting the process of a node transmitting a data packet.
  • FIG. 14 is a flow chart depicting the process for a controller node transmitting node pool polls.
  • FIG. 15 is a flow chart depicting a controller receiving and decoding an encoded incoming data packet from the network.
  • DETAILED DESCRIPTION OF THE INVENTION
  • The disclosure and the various features and advantageous details thereof are explained more fully with reference to the non-limiting embodiments and examples that are described and/or illustrated in the accompanying drawings and detailed in the following description. It should be noted that the features illustrated in the drawings are not necessarily drawn to scale, and features of one embodiment may be employed with other embodiments as the skilled artisan would recognize, even if not explicitly stated herein. Descriptions of well-known components and processing techniques may be omitted so as to not unnecessarily obscure the embodiments of the disclosure. The examples used herein are intended merely to facilitate an understanding of ways in which the disclosure may be practiced and to further enable those of skill in the art to practice the embodiments of the disclosure. Accordingly, the examples and embodiments herein should not be construed as limiting the scope of the disclosure. Moreover, it is noted that like reference numerals represent similar parts throughout the several views of the drawings.
  • This disclosure improves the transport capacity of typical meshed data collection networks over conventional hop by hop routing technologies through the use of Network Coding combined with novel time and spatial packet scheduling. The use of Network Coding along with the novel features of this invention improves the reliability of data collection, increases the number of nodes which can be polled in a given time interval, and approaches the theoretical limits of the network's capacity. This disclosure relates more specifically to distributed sensor networks using meshed wireless networks for frequent periodic information gathering from each of the nodes. The wireless mesh provides both redundancy and the ability to capture data at distances too great from one or more controllers to poll directly. Instead, data is routed across multiple hops to its destination.
  • Linear Network Coding allows traffic (i.e. data packets) from multiple nodes to be aggregated together using either completely random (As in RLNC) or carefully chosen independent coefficients (LNC). Packets are multiplied by these coefficients and the packets are then summed together into multiple linearly independent combinations. At the decoder, each linearly independent packet received is referred to as adding an “additional degree of freedom” for purposes of decoding the data. Using linear algebra, any arbitrary set of received packets which contain at least as many independent linear combinations (or degrees of freedom) as there are reporting nodes is sufficient to recover the original unencoded data. All of the mathematical operations are performed in in a closed finite field (Galois 2N).
  • For example, if data received from five independent nodes is aggregated into seven linearly independent combinations, then any two of the seven packets may be lost on their routes to the network controller. That is, the receipt of any of the five remaining packets is adequate to recover the original data.
  • For the purpose of this invention, nodes which may be aggregated together are referred to as a “node pool”. The maximum node pool size is the (maximum allowed packet length)−(packet header length)−(required poll data field size). For example, if a protocol is constructed on top of 802.15.4, which requires 50 data bytes to be returned per node within each polling interval, and the packet header contains 8 bytes, then 127−50−8=69 bytes are available for network coding coefficients.
  • For polled networks larger than the number of nodes which may participate in a single coding group, it is advantageous to explicitly subdivide the network into a plurality of pools of nodes, where each pool roughly contains the maximum number of nodes allowed by packet size limitations.
  • Node pools may be defined by a central wireless controller, and should contain collections of nodes in which each node is proximal to at least one other member of the node pool, but for redundancy preferably more than one other member.
  • Another complication addressed by this invention is how to optimize traffic from multiple node pools such that one or more wireless controllers may receive polling data every cycle where they are not transmitting polling messages.
  • A key property of data aggregation as provided by Network Coding is demonstrated in FIG. 1 wherein there is shown a prior art wireless network coding scheme 100 having a total of five wireless nodes and a controller. Wireless nodes 102, 104, 106, and 108, each located in hop group 2, transmit data to wireless node 110, located in hop group 1, which acts as an aggregator. The aggregated data of nodes 1 through 5 are transmitted to wireless controller 112, which is located in hop group 0.
  • Nodes 102, 104, 106 and 108 deliver equal length data packets to aggregator node 110, which proceeds to form multiple independent linear combinations of the four received packets along with its own data packet. Independent coefficients (C11 . . . C75) are used to multiply the data within each packet before summing the modified packets together to form a new packet. The arithmetic operations are over a finite Galois field, typically 28 in size. To enable future decoding, the coefficients used to form the linear combination are bundled into the packet header. In typical applications, the coefficients (C11 . . . C75) are randomly selected values, each between 0 and 255.
  • To solve for the original packets, matrix algebra is used in a closed Galois field. First, Matrix A is constructed by retrieving the coefficient lists from each of the received packets. Then using linear algebra, the inverse of matrix A is formed, A−1. In some implementations the matrix inverse is found using Gauss-Jordan elimination, which is a well-known mathematical procedure.
  • If Z=(A*M) is the matrix of packets received, where Z is a matrix with at least as many independent rows as there are nodes in the network (with data to deliver), and A is the coefficient matrix recovered from the headers of each packet, then M (the set of original data packets P1 through Pn) is found using the matrix equation: A−1*Z=M, e.g. A−1*(A*M)=M.
  • Therefore, recovering the original data requires the received coefficient matrix to be inverted followed by multiplication with the received packet matrix Z to obtain the original pre-aggregated packets. As only N linearly independent packets are required to recover the data from N nodes, any additional received packets may be discarded, and represent available redundancy for packet losses while the data traverses a communications network.
  • Although not exhibited in this example, it is not necessary that every packet processed by the receiver contain a complete linear combination of data from every node. In particular, an arbitrary subset of coefficients in a given packet may be zero (representing data from nodes not yet seen when the packet was constructed for final delivery to the controller). It is also possible to cascade packets along multiple hops and combine new data from these hops into newly constructed packets along the way.
  • From a fixed set of nodes, the controller's receiver must receive enough packets where each node's data has been included at least once if not multiple times, and with independent degrees of freedom to match the number of nodes which are reporting data.
  • With network coding, the payload of each packet is fixed in size to allow linear aggregation. For convenience the header may also be fixed in size, allowing each packet to occupy a fixed time interval while being transmitted onto the network. Each of these time intervals may be referred to as a “Time Slot”. For a given polling rate, for example, once every 15 minutes, there are a fixed number of available timeslots in which nodes may be scheduled to deliver their data. This is based upon the data rate of the channel, the size of the packets, the overhead for each packet, and the inter-packet gaps required by the receivers to properly synchronize. Each transmission system may have unique values for these parameters.
  • FIG. 2 shows an exemplary network 200 for collecting data from a plurality of distributed wireless nodes/sensors 202-216 and providing such data to a wireless controller 201, according to an aspect of this disclosure. In this example, the wireless nodes/sensors 202-216 are power meters, which are required to report their data periodically to controller 201. For this application, data may typically be reported at fifteen (15) minute intervals. It should be noted, however, that this disclosure is applicable for any reporting period as well any other wireless network application where nodes are periodically reporting their data to one or more controllers.
  • Continuing to refer to FIG. 2, wireless network 200 is logically organized into hop groups 1-4, where each hop group represents an additional retransmission required to move data (in the form of data packets) from the left side (i.e. hop group 4) of network 200 to the right side (i.e. hop group 1) of network 200 and, ultimately, to controller 201. For example, packets from meter 216 must hop through at least one “Hop Group 3” meter, one “Hop Group 2” meter and one “Hop group 1” meter to reach controller 201 and report its data for a given time interval. Retransmission from hop group to hop group may be required due to the physical distances separating the wireless nodes/sensors across the wireless network. The wireless meters/sensors are capable of transmitting data no further than one hop group away, i.e. to an adjacent hop group.
  • Wireless meters 202-216 contain wireless transceivers, which may operate according to IEEE 802.15.4 or 802.11 protocol, for example, or nearly any other standards based or proprietary radio protocol. A block diagram of an exemplary wireless meter 300 is shown in FIG. 3 to include a microprocessor 302, which is interconnected to current and voltage sensors 304 and volatile and non-volatile memory 306, to collect data indicative of power usage for the particular site being monitored. Microprocessor 302 is also connected to transceiver 308, which may be configured as a half-duplex radio, to transmit its data and receive data from other wireless meters via antenna 310, which may be an omnidirectional antenna.
  • Wireless controller 201, also contains a wireless transceiver configured to operate according to the same protocol as the wireless meters, and it may be configured according to the block diagram of wireless controller 400 depicted in FIG. 4. Wireless controller 400 may include a microprocessor 402, which is interconnected to internet interface 404 and volatile and non-volatile memory 406 a as well as hard disk drive 406 b. Microprocessor 402 is also connected to transceiver 408, which may be configured as a half-duplex radio, to transmit data to and receive data from wireless meters via antenna 410, which may be an omnidirectional antenna.
  • The internet interface 404, may be a wireless or wired connection, allowing the wireless controller to be connected to the internet in order to enable communications of meter data collected by the wireless meters to a central data collection center. The central data collection center may be operated, for example, by the utility company providing power to the individual users being monitored by the wireless meters. It may alternatively be operated by the vendor providing the power meters as a means for aggregating data into Internet based storage where it can be analyzed by one or more servers. The meter data may also be stored on a hard disk drive 406 b in the event of transmission trouble to the central data collection center.
  • Referring again to FIG. 2, for example, when wireless meter 206 transmits, since its transmission will be omnidirectional, it is likely to be seen/received by all of the wireless meters which surround it, which in this example include wireless meters 205 and 207 in the same hop group as well as wireless meters in adjacent hop groups; namely, wireless meters, 209, 210 and 211 in hop group 3 and wireless meters 202, 203, and 204 in hop group 1. Depending on the proximity to other wireless meters and the transmission strength/reception sensitivity of the transceivers, it is possible additional wireless meters within hop groups 1, 2 or 3, may also receive the data transmitted from wireless meter 206. By definition, data transmitted from wireless meter 206 will not be seen/received by controller 201 or by any of the wireless meters in hop 4, as they are more than one hop group away. Nodes which transmit packets which must traverse the same number of intermediate nodes on their way to a controller are designated to reside in the same hop group.
  • Wireless network 200, FIG. 2, may utilize standard Network Coding, as described above, but by utilizing the improved protocol according to an aspect of this disclosure, increased transport capacity will be achieved. With network coding, the payload of each packet is fixed in size to allow linear aggregation. For convenience the header may also be fixed in size, allowing each packet to occupy a fixed time interval while being transmitted onto the network. Each of these time intervals may be referred to as a “Time Slot”. For a given polling rate, for example, once every 15 minutes, there are a fixed number of available timeslots in which nodes may be scheduled to deliver their data. This is based upon the data rate of the channel, the size of the packets, the overhead for each packet, and the inter-packet gaps required by the receivers to properly synchronize. Each transmission system may have unique values for these parameters. The improved protocol according to an aspect of this disclosure is described in greater detail below.
  • In the first phase of the improved protocol, wireless controller, such as wireless controller 201, goes through network or node discovery. Node discovery is well known and therefore only a general description is provided herein. For example, the MAC layer address of the wireless nodes in the network, e.g. wireless nodes 202-216, may be registered manually with the wireless controller, and/or periodically the wireless controller may broadcast a poll to discover when any new wireless node(s) join(s) the network. Alternatively, the wireless controller may broadcast a request for all new wireless nodes, and recently powered up wireless nodes, to respond to a poll and to send data packets containing wireless node information to the controller on a hop by hop basis by whatever the native routing protocol is in use for that radio system.
  • For the purposes of this disclosure, the information from each wireless node transmitted to the wireless controller during network node discovery will include a wireless node identifier, as well as the following information:
      • Hop count from the wireless controller—e.g. the minimum number of hops/hop groups recent broadcast messages from the wireless controller traversed before reaching the wireless node.
      • A list of the addresses of all of the surrounding wireless nodes from which data has been received from the wireless node being polled. The address returned will typically be the MAC layer address assigned at the factory but may be shorter system or group level addresses assigned by the controller, or a hash function of the MAC address for uniquely identifying nodes but not carrying back the full collection of MAC addresses. In the case of a hash collision the controller could re-poll a given node for the full MAC address of designated hash entry.
  • The wireless controller may use the collected information to construct a graph of the connectivity between nodes. This is a graph of every wireless node along with all of the neighbors which it has directly observed. Once the controller has discovered and polled all of the active nodes in the network, it runs a topology mapping optimization which seeks to achieve the following objectives:
      • Assign wireless nodes a hop designation indicative of the minimum number of hops from the wireless controller.
      • Subdivide the overall network into node pools, where the maximum node pool size is dictated by the acceptable overhead of including a number of coefficients in the header of the data packet, or memory constraints of the wireless node's processor. Each of the wireless nodes in the network is assigned to a node pool. Wireless nodes in a given node pool will linearly aggregate their own packet data into packets from the wireless nodes in their node pool.
      • Where possible, ensure that each wireless node has at least two if not more redundant paths through the meshed network for delivering data to the wireless controller.
      • Identify network pinch points where the minimum redundancy requirement cannot be met given the above assignments, and where physically available, assign wireless nodes to also act as forwarders for one or more additional node pools. Wireless nodes which are assigned to act as forwarders will forward traffic received from wireless nodes of other node pools. If an assigned node has already received packets from the same non-local node pool (i.e. a node pool other than the node pool of the forwarding node) and has not yet forwarded it, it may either replace the pending packet or network code the new packet into the designated buffer, so that the linear combination will be transmitted when the opportunity arises. Nodes which are designated to forward packets for other node pools will only linearly aggregate their own packet data into packets received from wireless nodes in their same node pool. Certain aspects of the disclosure described in detail below with respect to wireless controllers may be applied to such forwarding nodes as well and when describing such aspects of the disclosure forwarding nodes and/or wireless controllers may also be referred to herein as “consolidating nodes.”
  • As described above, the maximum node pool size is dictated by the overhead in the data packets. This is further described with regard to a specific embodiment of this disclosure, wherein Zigbee radios are used to transmit packet data between and among wireless nodes and the wireless controller. With Zigbee radios, the packet payload is limited to 127 bytes. If the meter data from a wireless node that needs to be provided to the wireless controller is, for example, 50 bytes, and the packet header is 8 bytes, then at most 69 additional bytes may be used for linear aggregation using network coding, which may include supplemental information such as coefficients and node addresses (if required for decoding).
  • In one embodiment it is desirable to use fixed byte positions in the header for the implicit designation of the sub-address of the node (within a pool) which delivered a particular packet or linear combination of packets. The position represents a relative node assignment within a pool as delivered by the controller during each node's configuration phase. The controller can correlate the presence of a coefficient in a given position in the header using a lookup table. The pool ID is appended to the location of the coefficient in the packet and then used as an index to look up the full MAC address in a table.
  • Referring to FIG. 5 there is shown a flow chart 500 describing one embodiment for determining the assignment of wireless nodes to wireless node pools to linearly aggregate data, assigning some wireless nodes to just forward data, and assigning yet other nodes to both linearly aggregate data from wireless nodes within their own node pool and to linearly aggregate and forward data for wireless nodes in other wireless node pools.
  • In step 501, the controller individually polls all of the nodes in the network to determine which nodes they are connected to. These are the neighboring nodes they are able to receive packets from. This information is then used to develop a connectivity map.
  • In step 502, using the connectivity map developed in step 501, node pool assignments are made. There are multiple options for how to assign nodes into node pools. In one embodiment, and as previously described, there is a 69 coefficient limitation per packet, and therefore a limit of 69 node members in any node pool.
  • It is preferable to create node pools which are as close to this limit as possible and as geographically compact as possible to optimize the density of connectivity. The following are some of the methods which can be used to assign nodes to an associated node pool while adhering to system constraints.
  • The simplest embodiment for assigning node pools would be to randomly assign each node to a pool with the constraint that no pool exceeds the maximum number of nodes per pool. Using this approach, the total Nnodes is divided into nnode pools=┌Nnodes/Nnode pool┐ pools, where each node pool will then have the maximum node density. However, this method does not optimize for spatial considerations, as each node pool distribution is randomized.
  • Another embodiment for node pool assignment is to divide the network into radial “pie” slices. This can be accomplished by sorting the nodes by their angle from the hub and binning the list into groups of equal size. Here, a minimum number of node pools is achieved, and have incorporated a spatial constraint where nodes within a common node pool are within a given “pie” region. An example of this approach is described below with regard to FIG. 7.
  • Optimizations over the radial pie slice approach to improve the density of interconnected nodes within a node pool, may be achieved by using known state of the art techniques including “Fluid Density Models”. This is described in Ferran Pars, Dario Garcia-Gasulla, Armand Vilalta, Jonatan Moreno, Eduard Ayguad, Jess Labarta, Ulises Corts, and Toyotaro Suzumura. Fluid communities: A competitive, scalable and diverse community detection algorithm. 10 2017.
  • An additional known state of the art optimization technique is called simulated annealing where an energy function is defined and then optimized. S. Kirkpatrick, C. D. Gelatt, and M. P. Vecchi. Optimization by simulated annealing, 220(4598):671-680, 1983.
  • In step 503, the network map, as developed in steps 501 and 502, is evaluated for the minimum path redundancy available to any node in passing its packets to a controller. For example, a threshold of two might be assigned, in which case a review is done to see if every node has at least two paths within its own node pool to reach the controller. If not, nodes which have adjacent connectivity, but which are assigned to different node pools are considered. If these nodes can provide the necessary redundancy, then they are assigned to provide neighbor forwarding for the designated node.
  • In step 504, if the necessary redundancy cannot be achieved, then in step 505 the operator is warned, perhaps on a graphical display, showing which nodes do not have adequate redundancy. The operator may in the future choose to physically augment the redundancy of the network by inserting an additional meter or repeater where the network is most in need of additional connectivity.
  • In step 506, the map of connectivity is examined to see the degree of connectedness for each node in a pool, and if there are nodes which have only a single neighbor with connectivity towards the controller with which they communicate. Also evaluated are the number of nodes which are behind this node which are dependent upon it to deliver their data. In this occurrence, additional cycles will be added to the allocated timeslots for polling this pool to account for possible transmission errors between these neighbors and to provide multiple opportunities for packets to traverse this link.
  • In step 507, the assignment maps developed in the previous steps are sent out individually to each node in the network.
  • With the wireless nodes placed into wireless node pools, FIGS. 6A-6C, show how a graph of node to node connectivity may be used to determine which nodes may safely transmit simultaneously without causing loss of packets due to interference. Interference is where the transmitted packets from two or more wireless nodes sharing the same RF channel are received at one or more receiving wireless nodes and the relative signal strength of the received signals degrades the signal to noise ratio such that a given receiver is unable to discriminate between source transmissions and decode a valid packet. The end result is a received packet with an invalid cyclic redundancy code (CRC), indicating the received packet is invalid and must be discarded. Non-interfering wireless nodes (or nodes which do not interfere) are nodes which may transmit simultaneously and their transmitted packets are received by each of their receiving wireless nodes/controllers without interference (i.e. packets are received with a valid CRC).
  • A discovered or original network graph, for example network graph 600 a, FIG. 6A, is initially augmented by connecting each wireless node to its neighbors' neighbors to create an augmented network graph 600 b, FIG. 6B. The augmented network graph 600 b shows each wireless node's neighbor connections via solid lines, while each wireless node is connected to its neighbors' neighbors via dotted lines. Subsequent to this, another network graph 600 c, FIG. 6C, is created using a graph coloring algorithm, which assigns each node in the augmented network graph 600 b a color such that no connected nodes share the same color. In this figure, the wireless nodes are labelled with a number (1, 2, 3, and 4), each of which indicates a different color.
  • To do this, the nodes are sorted by their degree (number of neighbors) and then the sorted list is traversed, assigning each wireless node one of the colors that none of its neighbors have yet been assigned. When it is not possible to assign a wireless node a color that does not conflict with any neighbor's, a new color is introduced and assigned to that wireless node. This approach produces a valid graph coloring solution. Graph coloring algorithms are well known in the art and are therefore not described herein in further detail.
  • After coloring the augmented network to produce colored network graph 600 c, it is guaranteed that all nodes with a given color can transmit at the same time safely because these nodes do not share a neighbor in the original non-augmented network. For example, each node labeled “1” can transmit simultaneously without resulting in interference at any wireless node that receives data transmitted from the wireless nodes labelled “1”.
  • As described above, the simultaneous transmission by wireless nodes labelled “1” will not result in received packets at other wireless nodes receiving the transmitted data with an invalid CRC due to interference from the simultaneously transmitting nodes. An invalid CRC indicates that the received packet is invalid and must be discarded. Using the colored network graph, each wireless node may then be assigned a transmission period equal to the total number of colors and an initial delay period based on the index of that wireless node's assigned color.
  • The wireless controller notifies the wireless nodes in each node pool of their designated transmission time slots. And, if not already provided to the wireless nodes, the following parameters may also be provided:
      • Its primary node pool ID (This is the node pool in which the wireless node reports its own data).
      • The node's relative address within the primary node pool, and therefore the position of its coefficient within packet headers.
      • A list of any other node pools this node should forward for.
      • The node's distance from the controller (In Hops)—Optionally, as affirmation as this is already known by the node.
  • In FIG. 7 a representation 700 of a network of wireless nodes (not shown) is depicted as a series of concentric rings, each ring designates a hop from the center which is where the wireless controller 702 is located, wherein the wireless nodes are further grouped into node pools. For node pool assignment, the network may be divided into radial “pie” slices. This can be accomplished by sorting the nodes by their angle from the hub and binning the list into groups of equal size. Here, a minimum number of node pools is achieved, and have incorporated a spatial constraint where nodes within a common node pool are within a given “pie” region
  • In this example, there are three hop groups; namely hop group 1, which includes wireless nodes closest to wireless controller 702, hop group 2 including wireless nodes position further from the wireless nodes in hop group 1, and finally hop group 3 with wireless nodes position furthest from wireless controller 702. Data packets from wireless nodes in Hop group 3 must be forwarded through Hop group 2 and then through Hop group 1 to reach their ultimate destination, which is the controller 702. In this example, the wireless nodes are grouped into six node pools 704, 706, 708, 710, 712, and 714. Each node pool contains one or more wireless nodes within each hop group.
  • In one embodiment, the maximum number of hop groups may be fifteen (15), corresponding the largest mesh which that embodiment supports. In particular, packets sent by members of group 15 must traverse at least fourteen (14) intermediate nodes on its transit to the controller. In general, the maximum hop count corresponds to the Time To Live Value (TTL), which is encoded into broadcast packets to limit packet retransmissions. Each time a packet is forwarded, its TTL is decremented. Packets received with a TTL less than or equal to 1 are not forwarded. Other embodiments may support larger or smaller TTL values depending upon the geographic region which must be supported by a single meshed network. These are retransmitted until their TTL values reach 1.
  • In some embodiments, the number of node pools is divisible by three, e.g. 3, 6, 9, 12 etc. This is to enable interleaved delivery of packets to a central wireless controller (or a forwarding wireless node) every timeslot where possible.
  • Continuing to refer to FIG. 7, in general, for hop groups 2 and above, wireless nodes on the left edge of one node pool (i.e. nodes are geographically separated such that typically they do not interfere with each other) are two or more hops away from wireless nodes on the left edge of adjacent node pools. This implies that when a wireless node on the left edge of one node pool transmits, it is not seen by wireless nodes on the left edge of adjacent node pools. For additional insurance against inter-nodal interference, non-adjacent node pools may also provide additional spatial isolation during simultaneous transmissions.
  • In one embodiment, wireless node transmission is half duplex. A wireless node may transmit or receive, but not both simultaneously except for collision detection purposes (such as in CSMA/CD). The wireless controller is similar to other nodes, however when receiving packets on a single channel, when it is not sending outbound polls, it may be capable of receiving one packet per available timeslot.
  • In this embodiment, all of the wireless nodes and the wireless controller may share a single radio channel and interleave between node pools such that a controller receives one packet every available time interval. In another embodiment, adjacent node pools may use different RF channels to minimize interference between node pools. Adjacent node pools are one which have one or more wireless nodes which are able to properly receive (without CRC errors) packets from one or more nodes participating in a neighboring node pool. In this embodiment, the central controller may alternate between the channels used by the various pools to receive a message every available time interval.
  • It is an objective of this invention to organize the transmission of packets in space, time and frequency such that one independent linear combination packet may be delivered to a controller in every available timeslot where new data is available, and the controller is not sending packets or polls.
  • In the limiting case, and in the absence of transmission losses, even with a multiplicity of hops, 1,000 nodes may deliver their data in 1,000 timeslots. This also corresponds to the theoretical limits of a network which is limited by a one packet per timeslot reception capability of the controller itself. This so-called “min-cut” limit is explained in Network Coding Fundamental and Applications, Medard and Sprintson, Section 3.1.
  • Additional independent receivers may be added at one or more controllers to further increase the capacity of the network beyond that which may be absorbed by a single controller radio or as an alternative to hopping between frequencies.
  • FIG. 8 shows an exemplary network for delivering data to a controller, according to an aspect of this disclosure. A directed graph topology 800 including wireless nodes/meters 801-808, labelled nodes 1-8, and referred to herein interchangeably, and a wireless controller 810. The wireless nodes are divided into four hop groups; namely, hop group 4 (nodes 1 and 2), hop group 3 (nodes 3 and 4), hop group 2 (nodes 5 and 6) and hop group 1 (nodes 7 and 8). In this simple example, there is only a single node pool containing all eight nodes.
  • The transmission of packets in this topology and according to the protocol herein is described. The nodes between which packets are transmitted are indicated by solid lines connecting the nodes. For example, data packets transmitted by Node 1 are received by Nodes 3 and 4, because they are in the adjacent hop group (hop group 3), but they are not received by Nodes 5, 6, 7, 8 or wireless controller 810, as they are more than one hop group away. Similarly, packets transmitted from Node 5 are received by nodes 3, 4, 7 and 8. However, the packets from node 5 which are received by Nodes 3 and 4 are discarded as the packets are from a node in a lower hop group indicating that the data is being transmitted away from the wireless controller which is the intended destination. The packets transmitted by Node 5 and received by Nodes 7 and 8 and are combined with the data in nodes 7 and 8 and for forwarded to controller 810 in a subsequent timeslot.
  • Although not represented in FIG. 8, transmissions from Node 1 may be seen by Node 2 and similarly transmissions from Node 3 may be seen by Node 4, etc. These intra-hop group transmissions may be used to provide additional redundancy which may also improve the robustness of the network. In one embodiment with a single active controller, data is allowed to flow sideways (i.e. intra-hop group transmission) and forward through the network, but not backwards towards higher hop counts. In other embodiments, with multiple controllers, either for redundancy or for additional capacity and sharing of the same RF channel, data may be aggregated in all directions.
  • It is an objective to move data through the network at the highest possible rate based upon the limitations of the transmission system. In one embodiment, since the nodes are half duplex and omnidirectional, it is necessary that only one node from every third hop in the network and within a single node pool, transmit simultaneously. Otherwise, there would be interfering transmissions and data would not be received. For example, in FIG. 8, if both nodes 1 and 5 transmit at the same time, nodes 3 and 4 will receive data from both nodes 1 and 5 preventing nodes 3 and 4 from receiving the data packets from either nodes 1 or 5. While the aggregation and propagation of packets is generally directed to controller 810, which is at the right edge of the network 800, the radios typically have omnidirectional antennas and receive transmissions which are in range from every direction. In contrast, even when using omnidirectional antennas, when Node 1 is transmitting, Node 7 may also transmit without causing interference, because the nodes are separated by more than two hop groups.
  • Referring now to FIG. 9, table 900 shows the construction of packets for forwarding from the nodes 801-808 to the controller 810, as shown in FIG. 8. The cycle count vertical axis represents the transmission timeslots available in the network. The numbers in the table represent the nodes whose packets are merged together in linear combinations with independent coefficients using Network Coding, as described above. For example, the cell represented by Cycle 3 and Node 5 contains the value 1,3,5. This means that Node 5 will transmit a packet which contains a linear combination of data from Node 1, Node 3 and Node 5 during the cycle 3 timeslot. In this example, with all nodes being part of the same node pool, the packet data received from any of the multiple nodes may be merged using Network Coding.
  • Continuing to refer to table 900 it can be seen that when possible, two nodes transmit simultaneously, such as nodes 1 and 7 in time slots (cycle) 1, 7, 13, and 19, and nodes 2 and 8 in time slots 4, 10, 16, and 22. In this example, nodes which are at least three hop groups apart may be assigned to transmit simultaneously. Other methods to assign nodes to transmit simultaneously may be used, including using a generic coloring algorithm to determine which nodes may transmit simultaneously without interfering.
  • For the omnidirectional, half duplex nodes, in this example, a group of nodes in a single node pool is able to deliver one linearly independent packet to the controller every third cycle, as shown in the column labelled “Aggregation” where the node 7 packets are delivered to the wireless controller 810, FIG. 8, in time slots 1, 7, 13, and 19, and node 8 in time slots 4, 10, 16, and 22. The same approach may be used with a wireless node which is used to forward packets, In place of the wireless controller 810 may be a forwarding node which may either forward packets towards a wireless controller, or linearly merge packets with other packets received from the same node pool as the packet just received using network coding. The merged packets are forwarded as consolidated data on through the network to ultimately be received by a wireless controller. The forwarding node will typically be part of a different node pool than the node pool(s) of the nodes for which it is forwarding. Either a wireless controller or a forwarding node may also referred to herein as a consolidating node.
  • FIG. 10 shows another example network 1000 (or portion thereof), including nodes/meters 1001-1008 grouped in node pool A 1020 along with wireless nodes/meters 1009-1016 grouped into a separate node pool B 1030. Wireless nodes/meters 1001-1016, labelled nodes 1-16, and may be referred to herein interchangeably. The nodes from both node pools A 1020 and B 1030 are polled by and deliver their data to wireless controller 1040 (which may also be replaced with a forwarding node). In general, because these nodes may be geographically proximal, it is necessary to recognize which nodes in adjacent pools may interfere and therefore schedule their transmission timeslots so that this will not occur. Alternatively, different channels may be used for each group, and the controller will alternate between them based upon which group is scheduled to deliver a data packet.
  • In one embodiment node pools are grouped into sets of three or multiples of three pools, with each pool delivering data to the controller on a staggered cycle. The staggered transmissions make it is possible to fill in every transmission cycle seen by the controller, when it is not transmitting. The staggering of transmissions to the wireless controller or a forwarding node (i.e. a consolidating node) means that any wireless node transmitting to a consolidating node will do so in a time slot which is adjacent to a time slot during which a wireless node of another node pool transmits. This approach of staggering transmissions between node pools occurs across the wireless mesh network and is further described below with regard to FIG. 11.
  • It is understood that for other embodiments, pool groupings will be other than a multiple of three, the only requirement being that the organization of nodes in adjacent pools be such that they do not cause collisions at any other node which is required to forward transmissions. This may be accomplished through spatial or frequency separation.
  • Adjacent node pools are one which have one or more wireless nodes which are able to properly receive (without CRC errors) packets from one or more nodes participating in a neighboring node pool. Referring to node pools A and B of FIG. 10. When node 1008 in Pool A transmits, node 1012 in Pool B may be able to properly receive node 1008 transmissions. Similarly, node 1006 in Pool A may be able to properly receive packets from node 1011 in Pool B if they are within radio reception range of each other.
  • Referring now to FIG. 11, table 1100 shows the construction of packets for forwarding from the node pools A 1020 and B 1030 to the controller 1040, as shown in FIG. 10. As with table 900, FIG. 9, the cycle count vertical axis of table 1100 represents the transmission timeslots available in network 1000, FIG. 10. Across the horizontal axis, in each column, there are corresponding pairs of nodes, one from each node pool, which alternate transmission time slots. In the first column are nodes 1 and 9 and in the second column nodes 2 and 13, which are furthest in distance from controller 1040, as they are in hop group 4. In the third column are nodes 3 and 10 and in the fourth column are nodes 4 and 14. These four nodes are in hop group 3, which is the second furthest hop group from controller 1040. This pattern continues until the eighth column, where there are the final two nodes 8 and 16 from hop group 1.
  • As shown in the table 11, the nodes furthest from the controller 1040 and on the left edge of network 1000 transmit first and the transmission times progress from the left edge (furthest from controller 1040) to the right edge (closest to controller 1040) of network 1000. The numbers in the table represent the nodes that are transmitted each cycle and the nodes whose packets are merged together in linear combinations with independent coefficients using Network Coding, as described above.
  • As shown, in cycle 1, nodes 1 (node pool A), 10 (node pool B), and 7 (node pool A) initially transmit their data. They have been determined to be non-interfering with each of the others' receiving nodes so they can transmit simultaneously. Similarly, in cycle 2, Nodes 9 (node pool B), 3 (node pool A), and Node 12 (node pool B) transmit simultaneously. Thus, for each of these wireless node transmissions in a given time slot (cycle 1), the adjacent slot (cycle 2) includes a transmission from another node pool. It should be noted that Node 3 contains its data as well as linearly merged data received from node 1. In these first two adjacent cycles (or adjacent time slots) Nodes 7 and 12, which are in hop group 1, respectively transmit their data to the controller 1040, as shown in the column labeled “Aggregation”. Therefore, node 7 (node pool A) and node 12 (node pool B) from different node pools transmit their data to the controller 1040 in adjacent time slots. This staggering approach is carried out across all wireless nodes in network 1000, as described below.
  • In cycle 3, only Nodes 5 and 11 transmit their data, which are received by nodes 8 and 16, respectively. Node 5 data is the linear aggregation of data from Nodes 1, 3, and 5 and Node 11 data is the linear aggregation of data from Nodes 10 and 11. Note, that in cycle 3 no data is transmitted from the hop group 1 nodes to the controller 1040.
  • In adjacent cycles/time slots) 4 and 5, Nodes 8 and 16, respectively, transmit their aggregated data to controller 1040. In addition, Nodes 2 and 14 transmit in cycle 4 and 13 and 4 transmit in cycle 5. In cycle 6, merged data from nodes 6 and 15 are transmitted but in cycle 6 no data is transmitted from the hop group 1 nodes to the controller 1040, as is the case for cycle 3. This ends one full transmission round through network 1100 and the same transmission pattern begins again at cycle 7. Thus, every 6 cycles all nodes in hop group 1 ( Nodes 7, 8, 12, and 16) transmit their data to controller 1040. In all cases except for the two initial cycles the data from Nodes 7, 8, 12, and 16 is aggregated data from each node's upstream neighbors, residing in the same node pool.
  • It should be further noted that a third group (not shown) may also be added to fill the third aggregation timeslot; namely, cycles 3, 6, 9, . . . etc. Alternatively, Group B 1030 may operate on a different frequency from Group A 1020. In this case the controller 1040 may alternate between channels.
  • The transmission processes described above with regard to FIGS. 8/9 and 10/11 are periodically initiated (e.g. every 15 minutes) by the wireless controller(s), such as controllers 810, FIG. 8, and 1040, FIG. 10. In one embodiment the wireless controller(s) may poll multiple nodes in one or more node pools simultaneously with a single broadcast or multicast message. In this way a single poll can initiate a timed cascade of messages from the nodes, thereby maximizing the number of timeslots which are available for delivery of data to the controller.
  • In order for the controller(s) to be able to poll either a subset of, or all of the nodes in a node pool using a single poll, it is necessary that the nodes adhere to a schedule like the ones in table 900, FIG. 9, and 1100, FIG. 11. To do this, each node be synchronized in time with other nodes in each group. This is necessary for the node to determine when to begin transmitting into its scheduled timeslots. In this way nodes are able to transfer data without interference from adjacent nodes and the additional delays which contention access can cause.
  • This may be done by broadcast flooding with a time to live constraint (e.g. the maximum number of times a poll is retransmitted by subsequent nodes), or ensuring that the path traversed by a multicast poll takes within a node pool is preconfigured by the controller and therefore deterministic in hops, time to live and desired level of broadcast redundancy in a given pool. Using the time of the receipt of a poll, and knowing the number of hops preceding its receipt from the controller (from the decremented Time To Live variable in the header), along with the transmission time and the typical delay time for packet receipt and processing at each hop, each node can ascertain how far back in time the poll was first launched. It then updates its own time reference for packet timeslots.
  • In an alternative embodiment timeslot timing is ascertained by having nodes at the furthest edge of the network begin the data delivery sequence upon receipt of a group poll from the controller, and then interior nodes align their estimates of timeslot timing from the time of arrival of these inbound packets.
  • In FIGS. 12 through 15 the processes for transmitting and receiving data by the wireless nodes and the wireless controller, according to aspects of this disclosure, are depicted. Referring to flow chart 1200 in FIG. 12, incoming data from an adjacent node is received by a wireless node at step 1202. At step 1204, it is determined if data received was transmitted by a node in the node pool of the node receiving the data or from another node pool (i.e. a remote node pool). If the data received is from a node within the node pool of the node receiving the data, it is Network Coded into the current coding pool and stored in the local node pool buffer at step 1206. If the data received is from a node within another node pool, as determined at step 1204, and the remote pool buffer reserved for this pool is currently empty, then the data packet as received (i.e. not Network Coded) is stored in the designated remote pool buffer at step 1208. If the buffer is already occupied with a packet from the same node, or any other node of the same remote node pool, then the received packet is network coded into the remote pool designated buffer at step 1208. When network coding into a remote pool buffer, the local node's data is not utilized.
  • The process for transmitting data packets for a wireless node is shown in flow chart 1300 of FIG. 13. At step 1302, it is determined that the designated time slot (i.e. cycle per tables 900/1100 shown in FIGS. 9 and 11) for the node to transmit data has arrived. In step 1304 a rotating selection process is initiated in the time slot to alternate transmitting from the node's own pool transmit buffer and from the remote buffers storing other node pool data. In step 1306, based on inputs from step 1304, the process alternates between transmitting data from the node pool of the current node and the data received from nodes in other node pools. When it is time to transmit from the current node pool, a timed snapshot of data from the current node, i.e. current node sensor data, such as electric meter data, is retrieved and is Network Coded with the data received from other nodes in the current node's node pool and stored in the current pool buffer at step 1308. In step 1310, the network coded data is transmitted. Based on subsequent signal provided as part of the round robin process of step 1304, in step 1306, the transmission of data from nodes in other node pools stored in the remote buffers are transmitted in step 1312.
  • Referring now to FIG. 14, there is shown flow chart 1400 which depicts the wireless controller process for polling the wireless nodes in the network to initiate transmission of the data from the wireless nodes. As described above at the beginning of each data collection cycle, the controller initiates the pooling process, as indicated at step 1402. At step 1404, the controller rotates among pools and looks up the number of time slots for desired redundancy for next pool. In general, the number of time slots is greater than the minimum number which would be required to receive a single independent packet for every member of the node pool in the absence of any errors. Additional timeslots are necessary to ensure that sufficient independent packets are received by the controller to enable decoding the packet data from every transmitting node.
  • At step 1406, the controller transmits the node pool poll and at step 1408 the controller waits until the end of the allocated time slots for the pool being polled. At step 1410, if one or more nodes in the pool are not heard from, and the number of timeslots assignment has not exceeded a designated maximum number of redundant cycles, then a continuation poll is sent and the redundancy for the node pool for future polling events is adjusted upward. At step 1412, if all nodes have been heard from in less than the allocated cycles, then the redundancy is adjusted downward but not below a minimum value.
  • The process then proceeds to step 1414, where it is determined if all groups have been polled. If all groups have not yet been polled, the system returns to step 1404 and the polling process continues. If at step 1414 it is determined that all node pools have been polled the system proceeds to step 1416 where it is determined if the overall polling interval has ended. If it has, the system returns to step 1404 to await the next polling interval. If the polling interval has not ended, the system loops back to step 1416 and continues to wait until the overall polling period has ended.
  • The controller process for receiving incoming data from wireless nodes is depicted in flow chart 1500 of FIG. 15. At step 1502 the controller receives incoming data from a wireless node. In step 1504, the received data is added to the current receive matrix for appropriate node pool and in step 1506 the data packets from the receive matrix are attempted to be decoded using well known matrix inversion techniques such as Gauss Jordan elimination. In step 1508, any decoded data packets are released to the data capture application for processing and/or transmission to a central data collection center operated, for example, by the utility company providing power to the individual users being monitored by the wireless nodes/meters.
  • While the foregoing description enables one of ordinary skill to make and use what is considered presently to be the best mode of Network Coded remote metering networks, those of ordinary skill will understand and appreciate the existence of variations, combinations, and equivalents of the specific embodiments and examples herein. The above-described embodiments of the present invention are intended to be examples only. Alterations, modifications and variations may be effected to the particular embodiments by those of skill in the art without departing from the scope of the invention, which is defined solely by the claims appended hereto.
  • The invention is therefore not limited by the above described embodiments and examples, embodiments, and applications within the scope and spirit of the invention claimed as follows.

Claims (32)

1. A method for transmitting node data in a wireless meshed network from a plurality of wireless nodes to at least one consolidating node, such that the at least one consolidating node periodically receives node data from each of the plurality of wireless nodes, the method comprising:
assigning each of the plurality of wireless nodes to one of a plurality of node pools;
causing each of the plurality of wireless nodes to transmit node data to one or both of other wireless nodes and the at least one consolidating node during assigned time slots, wherein each wireless node transmits its node data during timeslots which are adjacent to timeslots during which a wireless node from another node pool transmits its node data; and
wherein the node data for each wireless node includes data originating at the wireless node and one or both of node data received from another wireless node of the same node pool and node data received from another wireless node of a different node pool; and wherein the data originating at the wireless node are linearly aggregated using network coding only with the node data received from another wireless node of the same node pool.
2. The method of claim 1 wherein the consolidating node is one of a wireless controller or a wireless node assigned to forward node data from a wireless node in another node pool to ultimately be received by a wireless controller.
3. The method of claim 1 wherein the time slots are assigned so that the node data transmitted by each wireless node will not interfere with the node data transmitted by any other wireless node in the wireless meshed network.
4. The method of claim 2 wherein the wireless nodes are grouped into N hop groups based on their physical distance to the at least one consolidating node.
5. The method of claim 4 wherein each of the plurality of node pools includes at least one wireless node in each of the N hop groups.
6. The method of claim 4 wherein the at least one wireless node in each node pool in a hop group can transmit node data in the same timeslot as a non-interfering wireless node within another node pool.
7. The method of claim 4 wherein the at least one wireless node in a node pool in a hop group can transmit node data in the same timeslot as a non-interfering wireless node within the same node pool in a different hop group, wherein the different hop group is at least three hop groups away of from the hop group of the at least one wireless node.
8. (canceled)
9. The method of claim 1 wherein the node data received from the wireless node of said different node pool are linearly aggregated only with node data received from another wireless node of said different node pool.
10. The method of claim 4 wherein the node data received by each wireless node from another wireless node of the same node pool includes node data transmitted from a wireless node in a hop group physically closer to the consolidating node than the hop group of the wireless node receiving the node data.
11. The method of claim 10 wherein each of the plurality of wireless nodes includes an electric meter for measuring usage of electricity and wherein the node data transmitted includes an amount of electricity used as measured by the electric meter.
12. The method of claim 4 wherein the wireless controller is configured to construct a network map of the plurality wireless nodes, wherein the network map includes for each of the plurality of wireless nodes a network identifier, a hop group identifier indicating the hop group in which the wireless node resides, and the network addresses of the surrounding wireless nodes from which each such wireless node has received node data.
13. The method of claim 12 wherein the network map is used to assign each of the plurality of wireless nodes to one of the plurality of node pools.
14. The method of claim 13 wherein the total number of node pools is evenly divisible by three.
15. A system for transmitting node data in a wireless meshed network, comprising:
a plurality of wireless nodes configured to transmit and receive node data; each of the plurality of wireless nodes assigned to one of a plurality of node pools;
at least one consolidating node configured to periodically receive node data from each of the plurality of wireless nodes,
wherein each of the plurality of wireless nodes is configured to transmit node data to one or both of other wireless nodes and the at least one consolidating node during assigned time slots, wherein each wireless node is configured to transmit its node data during timeslots which are adjacent to timeslots during which a wireless node from another node pool transmits its node data; and
wherein the node data for each wireless node includes data originating at the wireless node and one or both of node data received from another wireless node of the same node pool and node data received from another wireless node of a different node pool; and wherein the data originating at the wireless node are linearly aggregated using network coding only with the node data received from another wireless node of the same node pool.
16. The system of claim 15 wherein the at least one consolidating node is one of a wireless controller or a wireless node assigned to forward node data from a wireless node in another node pool to ultimately be received by a wireless controller.
17. The system of claim 15 wherein the time slots are assigned so that the node data transmitted by each wireless node will not interfere with the node data transmitted by any other wireless node in the wireless meshed network.
18. The system of claim 16 wherein the plurality of wireless nodes are grouped into N hop groups based on their physical distance to the at least one consolidating node.
19. The system of claim 18 wherein each of the plurality of node pools includes at least one wireless node in each of the N hop groups.
20. The system of claim 18 wherein the at least one wireless node in each node pool in a hop group is configured to transmit node data in the same timeslot as a non-interfering wireless node within another node pool in the same hop group.
21. The system of claim 18 wherein the at least one wireless node in a node pool in a hop group is configured to transmit node data in the same timeslot as a non-interfering wireless node within the same node pool in a different hop group, wherein the different hop group is at least three hop groups away of from the hop group of the at least one wireless node.
22. (canceled)
23. The system of claim 15 wherein the node data received from the wireless node of said different node pool are linearly aggregated only with node data received from another wireless node of said different node pool.
24. The system of claim 18 wherein the node data received by each wireless node from another wireless node of the same node pool includes data transmitted from a wireless node in a hop group physically closer to the consolidating node than the hop group of the wireless node receiving the node data.
25. The system of claim 24 wherein each of the plurality of wireless nodes includes an electric meter for measuring usage of electricity and wherein the node data transmitted includes an amount of electricity used as measured by the electric meter.
26. The system of claim 18 wherein the wireless controller is configured to construct a network map of the plurality wireless nodes, wherein the network map includes for each of the plurality of wireless nodes a network identifier, a hop group identifier indicating the hop group in which the wireless node resides, and the network addresses of the surrounding wireless nodes from which each such wireless node has received node data.
27. The system of claim 26 wherein the network controller is configured to use the network map to assign each of the plurality of wireless nodes to one of the plurality of node pools.
28. The system of claim 27 wherein the total number of node pools is evenly divisible by three.
29. A system for transmitting node data in a wireless meshed network, comprising:
a plurality of wireless nodes configured to transmit and receive node data; each of the plurality of wireless nodes assigned to one of a plurality of node pools;
at least one consolidating node configured to periodically receive node data from the plurality of wireless nodes,
wherein each of the plurality of wireless nodes is configured to transmit node data to one or both of other wireless nodes and the at least one consolidating node during assigned time slots;
wherein the node data for each wireless node includes data originating at the wireless node and one or both of node data received from another wireless node of the same node pool and node data received from another wireless node of a different node pool; and wherein the data originating at the wireless node are linearly aggregated using network coding only with the node data received from another wireless node of the same node pool; and
wherein each wireless node is configured to transmit node data during its assigned time slots so that the node data transmitted by each wireless node will not interfere with the node data transmitted by any other wireless node in the wireless meshed network.
30. A system for transmitting node data in a wireless meshed network, comprising:
a plurality of wireless nodes configured to transmit and receive node data; wherein each of the plurality of wireless nodes is assigned to one of a plurality of node pools and wherein the wireless nodes in each node pool is configured to transmit node data at a different frequency than the wireless nodes in an adjacent node pool;
at least one consolidating node configured to periodically receive node data from each of the plurality of wireless nodes,
wherein each of the plurality of wireless nodes is configured to transmit node data to one or both of other wireless nodes and the at least one consolidating node during assigned time slots, wherein each wireless node is configured to transmit its node data during timeslots which are adjacent to timeslots during which a wireless node from another node pool transmits its node data; and
wherein the node data for each wireless node includes data originating at the wireless node and one or both of node data received from another wireless node of the same node pool and node data received from another wireless node of a different node pool; and wherein the data originating at the wireless node are linearly aggregated using network coding only with the node data received from another wireless node of the same node pool.
31. The method of claim 1 wherein the node data to be transmitted from the plurality of wireless nodes is transmitted in data packets having a predefined data packet size with an available number of bytes to store coding coefficients for network coding, and wherein the maximum node pool size is limited to a number of wireless nodes for which the corresponding coding coefficients can be stored in the available number of bytes.
32. The system of claim 15 wherein the node data to be transmitted from the plurality of wireless nodes is transmitted in data packets having a predefined data packet size with an available number of bytes to store coding coefficients for network coding, and wherein the maximum node pool size is limited to a number of wireless nodes for which the corresponding coding coefficients can be stored in the available number of bytes.
US16/429,839 2018-06-04 2019-06-03 Wireless mesh data network with increased transmission capacity Expired - Fee Related US10517092B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/429,839 US10517092B1 (en) 2018-06-04 2019-06-03 Wireless mesh data network with increased transmission capacity

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862680506P 2018-06-04 2018-06-04
US201862712523P 2018-07-31 2018-07-31
US16/429,839 US10517092B1 (en) 2018-06-04 2019-06-03 Wireless mesh data network with increased transmission capacity

Publications (2)

Publication Number Publication Date
US20190373608A1 true US20190373608A1 (en) 2019-12-05
US10517092B1 US10517092B1 (en) 2019-12-24

Family

ID=67002394

Family Applications (1)

Application Number Title Priority Date Filing Date
US16/429,839 Expired - Fee Related US10517092B1 (en) 2018-06-04 2019-06-03 Wireless mesh data network with increased transmission capacity

Country Status (2)

Country Link
US (1) US10517092B1 (en)
WO (1) WO2019236476A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11218981B2 (en) * 2018-09-20 2022-01-04 Kabushiki Kaisha Toshiba Wireless mesh network and data transmission method
US20220263748A1 (en) * 2019-11-27 2022-08-18 Midea Group Co., Ltd. Method and device for determining time-to-live value of node in multi-hop network
US11464044B2 (en) 2020-12-10 2022-10-04 Charter Communications Operating, Llc Wireless channel monitoring, acquisition, and alignment
US20230051075A1 (en) * 2021-08-16 2023-02-16 SILVAIR Sp. z o.o. Processing of Mesh Network Data Packets Having Invalid Cyclic Redundancy Check (CRC) Values
US11678369B2 (en) 2020-12-10 2023-06-13 Charter Communications Operating, Llc Wireless channel monitoring, acquisition, and usage
US11758583B2 (en) * 2020-12-10 2023-09-12 Charter Communications Operating, Llc Wireless channel monitor system and channel use
CN119706540A (en) * 2025-02-28 2025-03-28 常熟理工学院 A method for implementing an intelligent elevator signal transmission system

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017173156A1 (en) * 2016-03-31 2017-10-05 Idac Holdings, Inc. System and method for high reliability transmission with superposition modulation aided network coding
CN112994991B (en) * 2021-05-20 2021-07-16 中南大学 Method, device, device and readable storage medium for discriminating redundant nodes

Family Cites Families (134)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8050212B2 (en) 2003-05-02 2011-11-01 Microsoft Corporation Opportunistic use of wireless network stations as repeaters
US7706365B2 (en) 2003-11-25 2010-04-27 California Institute Of Technology Randomized distributed network coding
US7460976B2 (en) * 2004-06-09 2008-12-02 The Board Of Trustees Of The Leland Stanford Jr. University Semi-definite programming method for ad hoc network node localization
KR20050117445A (en) * 2004-06-10 2005-12-14 삼성전자주식회사 Handover method in a ofdma wireless communication system
US7414978B2 (en) 2004-12-30 2008-08-19 Massachusetts Institute Of Technology Minimum-cost routing with network coding
KR20070074256A (en) 2006-01-09 2007-07-12 삼성전자주식회사 Data relay method through relay in cellular network and cellular mobile communication system supporting same
US8040836B2 (en) 2006-05-26 2011-10-18 Microsoft Corporation Local network coding for wireless networks
US8081641B2 (en) 2006-09-27 2011-12-20 Massachusetts Institute Of Technology Methods and apparatus for network coding
US20080117904A1 (en) 2006-10-04 2008-05-22 Board Of Trustees Of Michigan State University Framework for network coding and cross-layer information exchange in presence of errors in the packets
US7983302B2 (en) * 2006-11-07 2011-07-19 Nokia Corporation Control signaling techniques for wireless networks
US8169885B2 (en) 2006-12-04 2012-05-01 Nec Laboratories America, Inc. Method and apparatus for optimization of wireless mesh networks
US8223728B2 (en) 2007-04-04 2012-07-17 Nokia Corporation Combined scheduling and network coding for wireless mesh networks
US8205140B2 (en) 2007-05-10 2012-06-19 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for the use of network coding in a wireless communication network
US7912003B2 (en) 2007-06-27 2011-03-22 Microsoft Corporation Multipath forwarding algorithms using network coding
DE102007035186A1 (en) 2007-07-27 2009-01-29 Siemens Ag Method for transmitting data in a wireless radio network
US8228835B2 (en) 2007-08-27 2012-07-24 Apple Inc. MIMO based network coding network
US8050213B2 (en) 2007-09-17 2011-11-01 Lg Electronics, Inc. Message coding in a relayed communications network
KR101490249B1 (en) 2007-12-11 2015-02-05 엘지전자 주식회사 Method and Apparatus of communication using soft decision
KR101400724B1 (en) 2008-01-15 2014-05-29 연세대학교 산학협력단 Method and device for communicating using network coding scheme
WO2009090877A1 (en) 2008-01-17 2009-07-23 Panasonic Corporation Radio communication device, radio communication method, and radio communication system
CN101505206B (en) 2008-02-04 2013-03-13 上海贝尔股份有限公司 Relay method, base station and user equipment for combined analog network coding
US8111619B2 (en) * 2008-02-08 2012-02-07 Honeywell International Inc. Apparatus and method for routing data in wireless networks
JP5358807B2 (en) 2008-02-26 2013-12-04 横河電機株式会社 Multi-hop wireless communication system
US20090252146A1 (en) 2008-04-03 2009-10-08 Microsoft Corporation Continuous network coding in wireless relay networks
US9425885B2 (en) 2008-04-11 2016-08-23 Telefonaktiebolaget Lm Ericsson (Publ) Network coded data communication
US8306095B2 (en) 2008-04-29 2012-11-06 Samsung Electronics Co., Ltd. Methods and apparatus for network coding in a communication system
US8204086B2 (en) * 2008-05-19 2012-06-19 Microsoft Corporation Natural network coding for multi-hop wireless network
WO2009141974A1 (en) 2008-05-19 2009-11-26 パナソニック株式会社 Wireless relay device
US20110085585A1 (en) 2008-06-13 2011-04-14 Panasonic Corporation Wireless communication system, wireless communication apparatus, and buffer clearing method
US8527848B2 (en) 2008-06-16 2013-09-03 Lg Electronics Inc. Cooperative symbol level network coding in multi-channel wireless networks
US20090323580A1 (en) 2008-06-27 2009-12-31 Feng Xue Frame structure and sequencing for enabling network coding for wireless relaying
US8842599B2 (en) * 2008-08-15 2014-09-23 Unwired Planet, Llc Relay node selection for network coding
EP2313992A4 (en) 2008-08-15 2014-09-17 Unwired Planet Internat Ltd Relative time division for network coding
US8750251B2 (en) 2008-08-15 2014-06-10 Sung-Hyuk Shin Method and apparatus for implementing network coding in a long term evolution advanced system
US8503346B2 (en) 2008-09-25 2013-08-06 Samsung Electronics Co., Ltd. Wireless network using network coding scheme based on overhearing channel
US8516344B2 (en) 2008-10-01 2013-08-20 Lg Electronics Inc. Symbol-level random network coded cooperation with hierarchical modulation in relay communication
US8325754B2 (en) 2008-10-16 2012-12-04 Soongsil University Research Consortium Techno-Park Method for transmitting network data
KR101589562B1 (en) 2008-11-05 2016-02-12 엘지전자 주식회사 Relay Frame structure for supporting transparent and bidirectional relays
US8358608B2 (en) 2008-11-14 2013-01-22 Samsung Electronics Co., Ltd. Method and apparatus for HARQ operation with network coding
US8514790B2 (en) 2009-01-22 2013-08-20 Intel Mobile Communications GmbH System and method for optimizing network wireless communication resources
WO2010096648A2 (en) 2009-02-20 2010-08-26 Interdigital Patent Holdings, Inc. Network coding relay operations
US8537736B2 (en) 2009-02-25 2013-09-17 Industrial Technology Research Institute Methods and systems for wireless multicast and broadcast services
KR101543029B1 (en) 2009-03-13 2015-08-07 현대자동차주식회사 A communication method using code packet in wireless network
US8098611B2 (en) 2009-03-30 2012-01-17 Mitsubishi Electric Research Laboratories, Inc. Relay coded multi-user cooperative communications for uplink 4G wireless networks
US8351871B2 (en) 2009-04-23 2013-01-08 Honeywell International Inc. Apparatus and method for interferometric frequency modulation to exploit cooperative interference in wireless communications
WO2010124408A1 (en) 2009-04-27 2010-11-04 上海贝尔股份有限公司 Method and device for data packet relaying and data packet decoding
CN102484882B (en) 2009-06-26 2015-04-29 皇家飞利浦电子股份有限公司 Protocol for synchronising data packets collisions in a wireless network
US8472357B2 (en) 2009-07-16 2013-06-25 Futurewei Technologies, Inc. System, methods, and apparatus for bidirectional relaying in wireless communications systems
KR101055574B1 (en) 2009-08-05 2011-08-08 성균관대학교산학협력단 Wireless communication system and method for performing communication therefor
JP5566065B2 (en) 2009-08-31 2014-08-06 シャープ株式会社 Wireless communication system, base station apparatus, and communication method
US9215082B2 (en) 2009-10-06 2015-12-15 Thomson Licensing Method and apparatus for hop-by-hop reliable multicast in wireless networks
US9325513B2 (en) 2009-10-06 2016-04-26 Thomson Licensing Method and apparatus for hop-by-hop reliable multicast in wireless networks
EP2487808B1 (en) 2009-10-07 2018-11-14 Nippon Telegraph And Telephone Corporation Wireless communication system, radio relay station apparatus, radio terminal station apparatus, and wireless communication method
JP5519798B2 (en) 2009-10-22 2014-06-11 インターデイジタル パテント ホールディングス インコーポレイテッド Method and apparatus for bidirectional relay scheme using physical layer network coding
US8553598B2 (en) 2009-11-09 2013-10-08 Telefonaktiebolageta LM Ericsson (publ) Network coding mode selector
CN102104443B (en) 2009-12-18 2013-04-24 华为技术有限公司 Method and device for network coding in cooperative communication
US8542636B2 (en) 2010-01-04 2013-09-24 Lili Qiu Vehicular content distribution
KR20110096684A (en) 2010-02-23 2011-08-31 삼성전자주식회사 A wireless network communicating using feedback of additional information and a communication method using network coding in the wireless network
US8428201B1 (en) * 2010-03-02 2013-04-23 Landis+Gyr Technologies, Llc Receiver gain adjustment
US20120320821A1 (en) 2010-03-02 2012-12-20 Sumei Sun Method and device for relaying data
ES2742286T3 (en) 2010-03-25 2020-02-13 Massachusetts Inst Technology Secure network coding for streaming video streaming, multi-resolution wireless
US10530574B2 (en) 2010-03-25 2020-01-07 Massachusetts Institute Of Technology Secure network coding for multi-description wireless transmission
US20120281832A1 (en) 2010-04-01 2012-11-08 University Of Mississippi Secure wireless communication transceiver
US9525578B2 (en) 2010-04-21 2016-12-20 Lg Electronics Inc. Method of reducing peak-to-average power ratio, cubic metric and block error rate in OFDM systems using network coding
US8392344B2 (en) 2010-07-14 2013-03-05 Domanicom Corp. Systems, devices, and methods for providing multiple services to premises over communication networks
US8891593B1 (en) 2010-09-03 2014-11-18 Massachusetts Institute Of Technology Peaky binning relaying scheme for wideband/low signal-to-noise ratio (SNR) wireless communications
US8804617B2 (en) 2010-12-21 2014-08-12 Industrial Technology Research Institute Wireless transmission method, base station, relay station and mobile station using the same
US8553792B2 (en) 2011-01-14 2013-10-08 Mitsubishi Electric Research Laboratories, Inc. Non-coherent space-time trellis-coded modulations for network-coded wireless relay communications
US8995501B2 (en) 2011-02-16 2015-03-31 Samsung Electronics Co., Ltd. Method and apparatus of physical layer network coding
WO2012125943A1 (en) 2011-03-17 2012-09-20 Interdigital Patent Holdings, Inc. Physical layer network coding using forward error correction codes
FR2973981B1 (en) 2011-04-08 2013-09-27 Thales Sa METHOD FOR OPTIMIZING THE CAPABILITIES OF AN AD-HOC TELECOMMUNICATION NETWORK
US20120314655A1 (en) 2011-06-13 2012-12-13 Qualcomm Incorporated Data transmission and reception with harq and network coding
US9237434B2 (en) 2011-07-13 2016-01-12 Qualcomm Incorporated Network-assisted peer discovery with network coding
KR101801151B1 (en) 2011-08-24 2017-12-28 삼성전자주식회사 Wireless network of using network coding and method of adaptively adjusting buffering time in the wireless network
US9179362B2 (en) 2011-08-25 2015-11-03 Texas Instruments Incorporated Systems and methods for networking coding using Reed-Solomon codes
US9113470B2 (en) 2011-08-26 2015-08-18 Texas Instruments Incorporated Systems and methods for network coding using maximum distance separable (MDS) linear network codes
US8867510B2 (en) 2011-08-26 2014-10-21 At&T Intellectual Property I, L.P. Methods and apparatus to utilize network coding in a wireless network
US8924831B2 (en) 2011-08-26 2014-12-30 Texas Instruments Incorporated Systems and methods for network coding using convolutional codes
CN102970689B (en) 2011-08-31 2017-10-24 索尼公司 wireless network coding management method and system
WO2013030811A1 (en) 2011-09-02 2013-03-07 Universidade Do Porto Method and apparatus for feedback-based real-time network coding
US20130058276A1 (en) 2011-09-07 2013-03-07 Qualcomm Incorporated Method and apparatus for signaling side information for network coding in a wireless communication network
US9280468B2 (en) 2011-10-26 2016-03-08 Qualcomm Technologies, Inc. Three channel cache-coherency socket protocol
US9143274B2 (en) * 2011-10-31 2015-09-22 Massachusetts Institute Of Technology Traffic backfilling via network coding in a multi-packet reception network
ES2884092T3 (en) 2011-11-05 2021-12-10 Massachusetts Inst Technology Method and apparatus for efficient transmission of information to multiple nodes
WO2013085122A1 (en) 2011-12-08 2013-06-13 아주대학교산학협력단 Method for analog network coding-based satellite communication and apparatus for same
US20130148563A1 (en) 2011-12-10 2013-06-13 Qualcomm Incorporated Apparatus and methods for management, configuration and control signaling of network coded harq in mobile communication systems
US9160687B2 (en) 2012-02-15 2015-10-13 Massachusetts Institute Of Technology Method and apparatus for performing finite memory network coding in an arbitrary network
US20130229968A1 (en) 2012-03-01 2013-09-05 Telefonaktiebolaget L M Ericsson (Publ) Network coding in a cellular communications system
US9191163B2 (en) 2012-03-02 2015-11-17 CMMB Vision USA Inc. Systems and methods for hybrid content delivery
US9246842B2 (en) 2012-04-27 2016-01-26 Intel Corporation QoE-aware radio access network architecture for http-based video streaming
US9182473B2 (en) 2012-05-10 2015-11-10 Lear Corporation System, method and product for locating vehicle key using neural networks
US9209943B1 (en) 2012-06-06 2015-12-08 Bae Systems Information And Electronic Systems Integration Inc. Control over network coding for enhanced radio transport optimization
MY189207A (en) 2012-07-12 2022-01-31 Assa Abloy Ab Method of manufacturing a functional inlay
US9350440B2 (en) 2012-07-15 2016-05-24 Lg Electronics Inc. Method and apparatus for subset network coding with multiple antennas by relay node in wireless communication system
KR101399794B1 (en) 2012-10-23 2014-05-27 고려대학교 산학협력단 Limited Feedback Method and Apparatus for Two-Way Wireless Relaying Channels with Physical Networking Coding
US9432201B2 (en) 2012-12-24 2016-08-30 Intel Corporation Providing multiple content items for display on multiple devices
US9036497B2 (en) 2013-01-07 2015-05-19 Snu R&Db Foundation Mobile video streaming enhancement in a network coding-capable wireless network
KR102053333B1 (en) 2013-01-31 2019-12-06 삼성전자주식회사 A method and apparatus for improved performing network coding
US20140226547A1 (en) 2013-02-11 2014-08-14 Telefonaktiebolaget L M Ericsson (Publ) Selection of a transmission mode for wireless communications with a mobile device
EP2962428B1 (en) 2013-02-28 2022-06-15 Aalborg Universitet Method and apparatus for improving performance in a wireless network
KR102120945B1 (en) 2013-03-11 2020-06-09 삼성전자주식회사 Base station, member node of transmitting data based on cooperation of member node under multicast group and methodes thereof
DE102013204493A1 (en) 2013-03-14 2014-09-18 Richard Wolf Gmbh therapy system
US9185529B2 (en) 2013-03-15 2015-11-10 Massachusetts Institute Of Technology Wireless reliability architecture and methods using network coding
US9661515B2 (en) 2013-04-25 2017-05-23 Plume Design, Inc. Cloud-based management platform for heterogeneous wireless devices
US9184871B2 (en) 2013-06-25 2015-11-10 Lg Electronics Inc. Method for network coding for cooperative relay network in wireless communication system
US9667382B2 (en) 2013-08-13 2017-05-30 The Chinese University Of Hong Kong Network-coded multiple access
US9166734B2 (en) 2013-08-14 2015-10-20 National Cheng Kung University Method and device for frame aggregation transmission of wireless network system
BR112016011039A8 (en) 2013-11-19 2020-04-22 Ericsson Telefon Ab L M method for supporting device-to-device communication, base station of a radio network, and memory storage medium
WO2015079386A1 (en) 2013-11-26 2015-06-04 Telefonaktiebolaget L M Ericsson (Publ) Improving data rates of short message noisy network coding and decode-and forward relaying
US9232433B2 (en) 2013-12-20 2016-01-05 Cisco Technology, Inc. Dynamic coding for network traffic by fog computing node
EP3087796B1 (en) 2013-12-27 2021-04-14 Telefonaktiebolaget LM Ericsson (publ) Method and radio access point for handling communication between wireless devices
EP3090494B1 (en) 2013-12-30 2018-07-25 Telefonaktiebolaget LM Ericsson (publ) Method for enabling a base station to decode data received from a first wireless device using a network coded form of the data received from a second wireless device
US20150195033A1 (en) 2014-01-03 2015-07-09 Telefonaktiebolaget L M Ericsson (Publ) Selection of cooperative strategies for relay nodes in a wireless network to enhance data throughput
WO2015160294A1 (en) 2014-04-16 2015-10-22 Telefonaktiebolaget L M Ericsson (Publ) Methods and nodes for supporting d2d communication
KR20150130628A (en) 2014-05-13 2015-11-24 한국전자통신연구원 Method for transmitting packet in low power wireless network
US10355768B2 (en) 2014-05-28 2019-07-16 Telefonaktiebolaget Lm Ericsson (Publ) Radio access node, relay node and methods performed therein
GB201410497D0 (en) 2014-06-12 2014-07-30 Univ York Communication network and method
US11115897B2 (en) 2015-04-15 2021-09-07 Telefonaktiebolaget Lm Ericsson (Publ) Energy-efficient multi-hop communication schemes for wireless networks
EP3170300B1 (en) 2015-05-11 2018-06-20 Istanbul Teknik Universitesi Cooperative, network coded, distributed wireless communication and data storage method
US10142353B2 (en) * 2015-06-05 2018-11-27 Cisco Technology, Inc. System for monitoring and managing datacenters
US10230650B2 (en) 2015-06-26 2019-03-12 Huawei Technologies Co., Ltd. Joint radio link control (RLC) signaling with network coding
AU2015101157A4 (en) 2015-07-26 2015-10-08 Macau University Of Science And Technology A Novel Energy-Efficient Scheme for Coding-Aware Routing
US9936052B2 (en) 2015-11-04 2018-04-03 Motorola Mobility Llc Wireless ad hoc network assembly using network coding
US9967909B2 (en) 2015-11-04 2018-05-08 Motorola Mobility Llc Wireless ad hoc network assembly using network coding
US9942934B2 (en) 2015-11-04 2018-04-10 Motorola Mobility Llc Wireless ad hoc network assembly using network coding
EP3378177A4 (en) 2015-11-20 2019-05-15 Veniam, Inc. Systems and methods for network coded mesh networking in a network of moving things
US20180359050A1 (en) 2015-11-25 2018-12-13 Nokia Solutions And Networks Oy Adaptive network coding in wireless communications
US9991949B2 (en) 2016-04-21 2018-06-05 University Of Louisiana At Lafayette Experimental smartphone ground station grid system and method
US11646808B2 (en) * 2016-05-09 2023-05-09 Strong Force Iot Portfolio 2016, Llc Methods and systems for adaption of data storage and communication in an internet of things downstream oil and gas environment
US20170353698A1 (en) 2016-06-07 2017-12-07 GM Global Technology Operations LLC Method and apparatus of add-on wireless camera solution for vehicular trailer applications
US10448326B2 (en) * 2016-11-18 2019-10-15 Kabushiki Kaisha Toshiba Method and device for routing and scheduling in a multi-hop network
US10623082B2 (en) 2017-01-16 2020-04-14 University Of Florida Research Foundation, Incorporated Joint fountain code and network coding for multiple-source-multiple-destination wireless communication
US10686691B2 (en) 2017-07-12 2020-06-16 The Board Of Trustees Of The University Of Alabama Intelligent high-speed unmanned vehicle communications via bio-inspired multi-beam pipe transmission
US10367708B2 (en) 2017-08-04 2019-07-30 Dell Products Lp Network coding aware nodes in a distributed network

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11218981B2 (en) * 2018-09-20 2022-01-04 Kabushiki Kaisha Toshiba Wireless mesh network and data transmission method
US20220263748A1 (en) * 2019-11-27 2022-08-18 Midea Group Co., Ltd. Method and device for determining time-to-live value of node in multi-hop network
US11929916B2 (en) * 2019-11-27 2024-03-12 Midea Group Co., Ltd. Method and device for determining time-to-live value of node in multi-hop network
US11464044B2 (en) 2020-12-10 2022-10-04 Charter Communications Operating, Llc Wireless channel monitoring, acquisition, and alignment
US11678369B2 (en) 2020-12-10 2023-06-13 Charter Communications Operating, Llc Wireless channel monitoring, acquisition, and usage
US11758583B2 (en) * 2020-12-10 2023-09-12 Charter Communications Operating, Llc Wireless channel monitor system and channel use
US20230051075A1 (en) * 2021-08-16 2023-02-16 SILVAIR Sp. z o.o. Processing of Mesh Network Data Packets Having Invalid Cyclic Redundancy Check (CRC) Values
US12250322B2 (en) * 2021-08-16 2025-03-11 SILVAIR Sp. z o.o. Processing of mesh network data packets having invalid cyclic redundancy check (CRC) values
CN119706540A (en) * 2025-02-28 2025-03-28 常熟理工学院 A method for implementing an intelligent elevator signal transmission system

Also Published As

Publication number Publication date
WO2019236476A1 (en) 2019-12-12
US10517092B1 (en) 2019-12-24

Similar Documents

Publication Publication Date Title
US10517092B1 (en) Wireless mesh data network with increased transmission capacity
JP4959842B2 (en) Method for communicating in a wireless network including a plurality of nodes
CN103703844B (en) Dynamic common broadcast scheduling parameters for overriding independent unicast scheduling
CN106062517B (en) mesh router system and method
US8248989B2 (en) Wireless network system using cyclic frame
US8050196B2 (en) Method and apparatus for controlling packet transmissions within wireless networks to enhance network formation
Wang et al. Distributed MAC protocol supporting physical-layer network coding
US20080170544A1 (en) Method of transmitting between two nodes
WO2013115802A1 (en) Zig zag routing
CN103262434A (en) Media access control layer for power line communications
Lee et al. A proactive routing protocol for multi-channel wireless ad-hoc networks (DSDV-MC)
US20160050040A1 (en) Radio communication system and radio communication method
US20140010138A1 (en) Confirmed link level broadcast using parallel receivers
CN105072586A (en) Management method for forwarding of broadcast message in embedded wireless ad hoc network
Zhu et al. Delay efficient data gathering in sensor networks
Rout et al. A network coding based probabilistic routing scheme for wireless sensor network
Diab et al. Hybrid multi-channel mac protocol for wireless sensor networks: Interference rate evaluation
JP4861249B2 (en) Communication frame delivery system
KR101659717B1 (en) Method for granting medium access in a wireless network and network therefor
Wang et al. Reducing data aggregation latency by using partially overlapped channels in sensor networks
Abdelali et al. Neighbor discovery with activity monitoring in multichannel wireless mesh networks
Liao et al. Multi-channel medium access control protocol with channel distribution for mobile ad hoc networks
Liao et al. An efficient multi-channel MAC protocol for mobile ad hoc networks
Garcia-Luna-Aceves et al. Nomad: Deterministic collision-free channel access with channel reuse in wireless networks
Kim et al. Collision reduction for heterogeneous wireless sensor networks

Legal Events

Date Code Title Description
FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

AS Assignment

Owner name: SPARKMETER, INC., DISTRICT OF COLUMBIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:WEISS, JEFFREY A.;KING, MAXIMILIAN R.F.;OLLER, DECLAN;AND OTHERS;SIGNING DATES FROM 20190601 TO 20190602;REEL/FRAME:049359/0845

FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO SMALL (ORIGINAL EVENT CODE: SMAL); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

STCF Information on status: patent grant

Free format text: PATENTED CASE

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20231224