Method and system for data transfer over a mesh network

By selecting seed nodes in mesh networks to transmit data efficiently, the method optimizes data delivery in large networks with diverse configurations, reducing redundant transmissions and enhancing throughput for time-sensitive data.

JP2026500567APending Publication Date: 2026-01-07LANDIS GYR TECH INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025538443
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-12-30
Filing Date
2023-12-19
Publication Date
2026-01-07

AI Technical Summary

Technical Problem

Existing data distribution schemes in mesh networks for metering devices are inefficient, leading to redundant data transmission, high overhead in head-end systems, and challenges with time-sensitive data transmission, particularly in large networks with varying hardware and software configurations.

Method used

A method and system that selects seed nodes within the mesh network to transmit data to a subset of nodes, utilizing unicast operations and additional networks like the Internet to reduce redundant transmissions and optimize data delivery.

Benefits of technology

This approach enhances data transmission efficiency by minimizing unnecessary data transfers within the mesh network, improving throughput and reliability for time-sensitive data, especially in large networks with diverse node configurations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026500567000001_ABST
    Figure 2026500567000001_ABST
Patent Text Reader

Abstract

A method of forwarding data through a mesh network (400) is disclosed. The method includes selecting at least one node (405, 415, 425) in the mesh network to be configured as a seed node for transmitting data to a subset of nodes in the mesh network. The method also includes providing, from a head-end system (410), to the at least one seed node the data to be transmitted to the subset of nodes. The method includes transmitting the data from the at least one seed node to the subset of nodes. A corresponding system is also disclosed, comprising a network of nodes configured to form a mesh network and the head-end system.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] TECHNICAL FIELD The present disclosure is in the field of methods and systems for transferring data over mesh networks, and in particular, mesh networks of nodes equipped with devices for metering and / or controlling resources. [Background technology]

[0002] Metering devices may be deployed in businesses, homes, and other facilities to measure consumption of resources such as electricity, water, and gas.

[0003] Some metering devices may provide only basic metering functionality, while other metering devices, known in the art as "smart meters," may provide more advanced functionality, such as control and communication capabilities.

[0004] In one example, some metering devices may be configured to communicate information regarding resource consumption. In another example, some metering devices may be configured to receive information, such as billing information, and control signals, such as service disconnection control signals. In examples, transmission of information regarding metered resource consumption may simplify automated billing, reduce operational costs, and enable advanced analysis of resource consumption.

[0005] In some examples, the metering device may communicate directly with a router or gateway device, while in other examples, a wireless mesh network may be formed from multiple metering devices, each operating as an interconnected node in the wireless mesh network.

[0006] When implemented in a wireless mesh network, a metering device acting as a network node can relay messages to and from a gateway device or router, or a head-end system. In one example, a message can be routed along a path by hopping from node to node, e.g., from metering device to metering device, until the message reaches a target destination, e.g., a gateway / router or a target metering device.

[0007] Various routing protocols may be implemented in wireless mesh networks to ensure the availability of sufficient data routing paths within the mesh network at any given time. In some examples of wireless mesh networks, paths within the network may be self-forming and / or self-healing, e.g., reconfiguring around severed paths. Such self-healing may enable routing-based networks to operate when nodes fail or when connections between nodes become unreliable.

[0008] In use, smart metering devices within a wireless mesh network may constantly communicate with each other, for example, to exchange messages or transmit data. In examples, different nodes within the network may have different hardware and software configurations and therefore may support different communication modes. Furthermore, each node may support multiple communication modes.

[0009] Throughput and reliability are important issues for communication in such wireless mesh networks. For example, if a node has a pending communication but cannot access the communication channel, throughput may be affected. Other nodes may already be using the channel for communication, or the channel may be otherwise unavailable. Furthermore, varying environmental conditions and in-band interference may result in communication failures in wireless mesh networks.

[0010] An exemplary mesh network of metering devices can include hundreds of thousands, or even millions, of devices. In use, a head-end system may need to push data to devices on the mesh network. However, the throughput of the mesh network may hinder such operation and may incur significant overhead in the head-end system.

[0011] Furthermore, existing data distribution schemes for transmitting data over mesh networks may implement inefficient schemes, which may result in an undue load of redundant or outdated data.

[0012] In some instances, outbound processing batches can overload the resources of the head-end system. Additionally, as the types of data supported by the system increase, multiple messages may be required to propagate across the network for each device.

[0013] As an example, unicast transfer of data over a mesh network may be practically impractical when covering the entire network, especially when the data being transmitted has time constraints.

[0014] Similarly, multicast forwarding of data is inherently inefficient on large mesh networks, especially if receiving nodes drop the data or if the multicast grouping is not sufficient to filter out devices that do not need the data. Blind unicast is also an insufficient solution, primarily because it is not scalable. Multicast can unnecessarily burden the mesh network.

[0015] It is therefore desirable to provide a relatively low-complexity, efficient, and effective method and system for transferring data over a mesh network, particularly a mesh network of nodes that include devices for metering and / or controlling resources. Such a method and system would desirably be suitable for transmitting time-sensitive data over a mesh network that supports relatively low-bandwidth data transmission between nodes.

[0016] It is therefore an object of at least one embodiment of at least one aspect of the present disclosure to obviate or at least mitigate at least one of the above-identified disadvantages of the prior art. Summary of the Invention

[0017] The present disclosure is in the field of methods and systems for forwarding, e.g., transmitting, data over a mesh network, particularly a mesh network of nodes comprising devices for metering and / or controlling resources. According to a first aspect of the present disclosure, a method for forwarding data over a mesh network is provided. The method includes selecting at least one node in the mesh network to be configured as a seed node for transmitting data to a subset of nodes in the mesh network. The method also includes providing, from a head-end system, data to be transmitted to the subset of nodes to the at least one seed node. The method also includes transmitting the data from the at least one seed node to the subset of nodes.

[0018] Advantageously, by seeding nodes to transmit data, efficient use of the mesh network may be implemented, i.e., data may be transmitted to nodes without the overhead of directly connecting and transmitting data to each node, which may cause significant overhead in the head-end system.

[0019] A mesh network may have a full mesh topology or a partial mesh topology. The network may include one or more intermediate nodes, such as routers or gateway devices. The network may also include one or more root nodes between nodes, such as end nodes and a head-end system.

[0020] The head-end system may act as a central processing system that transmits and / or receives data, data streams, data packets, and / or messages from the nodes. The head-end system may be or include a server. The head-end system may be external to the mesh network and, for example, may transmit / receive from one or more nodes within the network. The head-end system may generate and / or process data. The head-end system may be communicatively coupled to additional systems, such as cloud-based systems, to generate and / or process data.

[0021] In an example, the network may be a time slotted channel hopping (TSCH) network, such as defined by IEEE 802.15.4.

[0022] In an example, a node may be configured to support a communication mode including orthogonal frequency division multiplexing (OFDM). One or more nodes may be configured to support a communication mode based on frequency shift keying (FSK).

[0023] Providing the data to the at least one seed node may include transmitting the data from the head-end system by performing a unicast operation over the mesh network.

[0024] That is, the head-end system may communicate data to the nodes selected to be seed nodes, e.g., directly or through one or more nodes by addressing the data to the seed nodes. Advantageously, this may limit the amount of data transmission over the mesh network. The head-end system may communicate data through the root node of the mesh network.

[0025] Providing the data to at least one seed node may include transmitting, by the seed node, a request for the data and / or obtaining the data from a head-end system via the mesh network.

[0026] Advantageously, a node selected as a seed node can issue a request for data to a head-end system, which in turn can unicast the data to the seed node, thereby limiting the amount of unnecessary or duplicative data transmissions on the mesh network.

[0027] Providing the data to the at least one seed node may include sending a request for the data and / or obtaining the data from a head-end system by the at least one seed node via a further network.

[0028] For example, a node, e.g., an end node, may be configured to communicate over another network, such as the Internet, via a wireless connection, etc. In one example, a node may be a smart meter installed in a home building, the smart meter having Internet capability via a home router, such as via a Wi-Fi connection, etc.

[0029] The nodes may obtain data from the head-end system via a further network, for example via the Internet. The nodes may request data from the head-end system and / or the head-end system may push data to the nodes.

[0030] Advantageously, providing data to the nodes via a further network, such as the Internet, may reduce unnecessary or duplicative data transmissions over the mesh network.

[0031] Each node in the subset of nodes may include a device or module for metering and / or controlling resources.

[0032] For example, a device may include circuitry and / or components for metering consumption of resources and / or for controlling access to resources, such as by a service disconnect switch.

[0033] Each node in the subset of nodes may comprise a device, e.g., an edge device, having processing capabilities configured to communicate with devices of one or more other nodes in the subset over the mesh network.

[0034] That is, each node may comprise or be connected to devices known in the art as "edge" devices. In an exemplary embodiment, each node may comprise a network radio that may be directly attached to a metering device for metering consumption of resources such as gas, electricity, or water.

[0035] Such edge devices may be configured to communicate directly with other nodes on the network without necessarily communicating with or through a head-end system or any intermediate root nodes.

[0036] That is, the edge devices may have sufficient processing and communication capabilities to allow a degree of autonomous operation without direct and / or continuous oversight of control by a head-end system.

[0037] The selection of the at least one seed node may be based on a geographic location of the at least one seed node relative to other nodes in the network.

[0038] For example, a seed node may be a node located within a relatively dense population of the nodes that form the subset. A seed node may be a node that is substantially surrounded by the nodes that form the subset.

[0039] The selection of the at least one seed node may be based on address and / or identification data corresponding to the at least one seed node.

[0040] Seed nodes may be selected based on zip / postal code. Seed nodes may also be selected based on coordinates, such as latitude and longitude.

[0041] The selection of the at least one seed node may be based on a level of interference between the seed node and other nodes in the network. For example, the selection of the at least one seed node may be based on a received signal strength indicator (RSSI), which may indicate the level / quality / reliability of connectivity.

[0042] Advantageously, seed nodes may be selected as nodes that have suitable / sufficient connectivity with one or more other nodes, thereby enabling efficient transfer of data within the subset.

[0043] The selection of the at least one seed node may be based on the type and / or level of connectivity of the at least one seed node to the headend system.

[0044] For example, a seed node may be a node that has internet access via an additional network. In one example, the seed node may have a Wi-Fi connection to the network, allowing internet access.

[0045] Type may additionally / alternatively refer to a category such as router, metering device, etc.

[0046] The selection of the at least one seed node may be based on a depth, e.g., a number of hops. That is, the selection of the at least one seed node may be based on, for example, a minimum distance in the mesh network from the node to a root node of the mesh network or to a head-end system. The depth may, in practice, be represented as a map.

[0047] The selection of the at least one seed node may be based on a time to live (TTL) and / or a hop limit, for example, the selection of the at least one seed node may be based on a predefined hop limit.

[0048] The TTL, which may be an integer quantity, may refer to the number of hops a message takes from a node (e.g., a seed node) to reach the root. For example, if depth may be represented as a map, the TTL may actually represent the map while taking into account any traffic in the network traffic. In effect, the TTL may represent the time it takes for one or more messages to reach a head-end system from a node, e.g., a selected seed node. Advantageously, the TTL may be similar in some respects to the depth, but may be more easily tracked and more easily averaged. The TTL value may actually be based on geography and / or connectivity.

[0049] The selection of the at least one seed node may be based on throughput, e.g., throughput in number of messages forwarded, i.e., in some examples, the selection of the at least one seed node may be based on tracking how frequently the network chooses a particular node for message forwarding.

[0050] The selection of at least one seed node may be based on neighbor list density. For example, given a lookup table of neighbors (e.g., neighboring nodes), the number of node occurrences and the number of best / optimal node occurrences may be searched. By scoring such combinations, a node may be selected as a seed node. Note that a node identified as a "best / optimal node" may be based on any one or more of the criteria described above, such as type, category, depth, TTL, throughput, level of interference / RSSI, address and / or identification data, geographic location, etc.

[0051] As mentioned above, the selection of at least one seed node may be based on at least one of several parameters, variables, and / or factors. It will be appreciated that a combination of one or more of the above may be implemented to select a particular seed node.

[0052] 10. The method of any preceding claim, wherein the nodes to be configured as seed nodes are dynamically selected.

[0053] For example, a node originally selected as a seed node may be disabled during use, and another node may be selected as the seed node to temporarily or permanently replace the originally selected seed node.

[0054] The selection of a node as a seed node may be made by the head-end system based on the node's assessed suitability to be a seed node, and / or based on one or more node characteristics, and / or based on programmable parameters such as user settings, installation parameters, etc.

[0055] A number of nodes within the mesh network may be selected to be configured as seed nodes for transmitting data to a subset of the nodes within the mesh network.

[0056] The quantity of nodes selected as seed nodes may be based on, for example, the density of seed nodes, which may refer to, for example, the geographic density of seed nodes.

[0057] In some examples, the amount of seed nodes in the mesh network may be increased or decreased, for example, dynamically increased or decreased.

[0058] For example, the amount of seed nodes in a mesh network may be increased or decreased based on a (predetermined) time limit for initial selection or distribution, i.e., the initial selection or distribution of seed nodes may expire and then be updated, increased, decreased, or otherwise modified.

[0059] In another example, the amount of seed nodes in a mesh network may be increased or decreased based on the size of the network. Size may refer to the amount of nodes and / or the geographic size. For example, as devices (nodes) are registered, e.g., added to the network, additional nodes may be selected as seed nodes. In some examples, as devices (nodes) are registered, e.g., added to the network, existing seed nodes may be reconfigured to no longer operate as seed nodes. In a non-limiting example, such deselection of seed nodes may depend on where any such new devices registered on the network are located.

[0060] In another example, the quantity of seed nodes in a mesh network may be increased or decreased based on scores associated with one or more regions of the network. For example, such scores may indicate the likelihood of success, e.g., successful operation as a seed node, in a particular region of the network.

[0061] In another example, the quantity of seed nodes in the mesh network may be increased or decreased based on the score associated with one or more of the seed nodes. For example, if it is determined during the network calibration process that there are an excessive amount of seed nodes, e.g., they are operating "too well," the quantity of seed nodes in the mesh network may be reduced. Conversely, if it is determined during the network calibration process that there are an insufficient amount of seed nodes, e.g., they are not operating well enough, the quantity of seed nodes in the mesh network may be increased.

[0062] As discussed above, the selection of the quantity of seed nodes in a mesh network may be based on at least one of several parameters, variables, and / or factors. It will be appreciated that a combination of one or more of the above may be implemented to select a particular quantity of seed nodes in a mesh network.

[0063] In some examples, the amount of nodes configured as seed nodes may be dynamically selected.

[0064] The subset of nodes may be defined by the geographic location and / or characteristics of each node in the subset of nodes.

[0065] For example, a subset of nodes may correspond to a zip code / postal code area, or a defined range of latitude and longitude.

[0066] Transmitting data from the at least one seed node to the subset of nodes may include the at least one seed node performing a unicast operation to push the data to one or more neighboring nodes.

[0067] Transmitting data from at least one seed node to the subset of nodes may include the seed device hosting the data and providing the data to one or more neighboring nodes in response to a request for the data from the one or more neighboring nodes.

[0068] Transmitting data from the at least one seed node to the subset of nodes may comprise the at least one seed node performing a multicast operation to push the data to one or more nodes of the subset via one or more other nodes of the subset.

[0069] Transmitting data from the at least one seed node to the subset of nodes may include the at least one seed node prioritizing transmitting data to nodes that do not have an active internet connection over transmitting data to nodes that have an active internet connection.

[0070] The data may include weather forecast data.

[0071] In another example, the data may include a firmware update.

[0072] According to a second aspect of the present disclosure, a system, such as a mesh network system, is provided. The system includes a network of nodes configured to form a mesh network. The system also includes a head-end system. At least one node is configured as a seed node for transmitting data to a subset of nodes in the mesh network. The head-end system is configured to provide the at least one seed node with data to be transmitted to the subset of nodes. The seed node is configured to transmit the data to the subset of nodes.

[0073] The headsend system may be configured to transmit data to at least one seed node by performing a unicast operation on the mesh network.

[0074] At least one seed node may be configured to send requests for data and / or obtain data from a head-end system via the mesh network.

[0075] At least one seed node may be configured to send a request for data and / or obtain data from a head-end system via a further network.

[0076] Each node in the subset of nodes may comprise a device for metering and / or controlling resources.

[0077] Each node in the subset of nodes may comprise a device having processing capabilities configured to communicate with devices of one or more other nodes in the subset over the mesh network.

[0078] The selection of the at least one seed node may be based on at least one of the following: a geographic location of the at least one seed node relative to other nodes in the network; an address and / or identification data corresponding to the at least one seed node; a level of interference between the at least one seed node and other nodes in the network; and / or a type and / or level of connectivity of the at least one seed node to the head-end system.

[0079] The nodes configured as seed nodes may be dynamically selected, for example, the head-end system may be configured to select the nodes configured as seed nodes.

[0080] The subset of nodes may be defined by the geographic location and / or characteristics of each node in the subset of nodes.

[0081] At least one seed node may be configured to perform a unicast operation to push data to one or more neighboring nodes.

[0082] At least one seed node may be configured to host data and provide the data to one or more neighboring nodes in response to requests for the data from the one or more neighboring nodes.

[0083] At least one seed node may be configured to perform a multicast operation to push data to one or more nodes in the subset via one or more other nodes in the subset.

[0084] At least one seed node may be configured to prioritize sending data to nodes that do not have an active Internet connection over sending data to nodes that have an active Internet connection.

[0085] The data may include weather forecast data.

[0086] The above summary is intended to be illustrative and non-limiting. The present disclosure includes one or more corresponding aspects, embodiments, or features, either alone or in various combinations, whether or not that combination or feature is specifically described (including claimed). It should be understood that the features defined above according to any aspect of the present disclosure, or the features defined below in relation to any particular embodiment of the present disclosure, may be utilized alone or in combination with any other defined feature in any other aspect or embodiment, or to form further aspects or embodiments of the present disclosure. [Brief explanation of the drawings]

[0087] These and other aspects of the present disclosure will now be described, by way of example only, with reference to the accompanying drawings.

[0088] [Figure 1] 1 shows a block diagram of an example mesh network. [Figure 2] 1 illustrates an example of unicast operation in a mesh network. [Figure 3] 1 illustrates an example of multicast operation in a mesh network. [Figure 4] 1 illustrates several examples of transferring data over a mesh network, according to embodiments of the present disclosure. [Figure 5] 5 illustrates a block diagram of an example node of the mesh network of FIG. 4, according to one embodiment of the present disclosure. [Figure 6] 1 illustrates a method for transferring data over a mesh network according to one embodiment of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION

[0089] 1 illustrates an example of a mesh network 100. The exemplary network 100 may be a time-synchronized channel hopping (TSCH) network. The mesh network 100 is an example of a mesh network in which the present invention may be implemented. In an example, the mesh network 100 may include, for example, a full mesh topology in which any node can communicate with any node within range, or a partial mesh topology having more limited or selected connectivity between nodes.

[0090] The exemplary mesh network comprises a head-end system 110. The head-end system 110 may function as a central processing system that transmits and / or receives data, data streams, data packets, and / or messages from the nodes 105a-105h of the mesh network 100, as described in more detail below. The head-end system 110 may generate and / or process data. In examples, the head-end system 110 may be communicatively coupled to additional systems, such as a cloud-based system (not shown), for generating and / or processing data.

[0091] The exemplary mesh network 100 comprises a root node 115. The root node 115 of the mesh network 100 may be configured to communicate with the nodes 105a-105h to perform operations such as obtaining data from the nodes 105a-105h and / or transmitting data to the head-end system 110. In some examples, the root node 115 may also operate as a node similar to the other nodes 105a-105h. The root node 115 may comprise a router or gateway device. The root node 115 may be configured to send and receive data to and from the head-end system 110 via another network 120, such as the Internet, an intranet, or any other data communication network.

[0092] Although only a single root node 115 is shown for purposes of illustration, it will be appreciated that the mesh network 100 may include more than one root node 115 .

[0093] Similarly, the illustrated mesh network 100 includes multiple nodes 105a-105h. Each node 105a-105h may be an end node. For illustrative purposes, only nodes 105a-105h are shown, but it will be understood that substantially more than seven nodes may be implemented. For example, in a mesh network of metering devices, thousands, hundreds of thousands, or even millions of devices may be implemented in the mesh network.

[0094] Each node 105a-105h may comprise a device for metering and / or controlling resources. For example, the device may comprise circuitry and / or components for measuring resource consumption and / or for controlling access to the resources, such as via a service disconnect switch. In one example, the mesh network 100 may be associated with a utility network. In such an example, the nodes 105a-105h may comprise circuitry and / or components for metering resources, determining various operating characteristics of the utility network, and / or transmitting collected data through the mesh network 100 to the head-end system 110 via the root node 115.

[0095] Additionally, the nodes 105a-105h may be further configured to communicate with one another such that data may be exchanged between the nodes 105a-105h, i.e., the nodes 105a-105h may be equipped with local processing capabilities, allowing for a degree of autonomy over communications with other nodes in the network 100.

[0096] The nodes 105a-105h forming the mesh network 100 may be effectively arranged in multiple layers, as shown in FIG. 1. In this example, the root node 115 forms Layer 0. The nodes 105a, 105b communicatively coupled directly to the root node 115 form the first layer, "Layer 1," of the mesh network 100. Similarly, the nodes 105c-105e communicatively coupled to the mesh network 100 via "Layer 1" nodes form the second layer, "Layer 2," of the mesh network 100. Similarly, the nodes 105f-105h communicatively coupled to the mesh network 100 via "Layer 2" nodes form the third layer, "Layer 3," of the mesh network 100. Three "hops" of data are required for data to propagate from the root node 115 to Layer 3 of the mesh network 100.

[0097] In an exemplary use case, a head-end system may need to communicate data to some or all nodes of network 100. In a first example, unicast forwarding of data through mesh network 100 may be implemented. However, when targeting an entire network with a significant amount of nodes, and where transmission bandwidth to any particular node may be extremely limited, such unicast operation may not be practically feasible. This is explained in more detail with reference to FIG. 2.

[0098] In another example, multicast forwarding of data may be implemented by the head-end system 110 to transmit data over the mesh network 100. However, such multicasting may be inherently inefficient on large mesh networks, as will be described in more detail with reference to FIG.

[0099] An example of such unicast operation is shown in the exemplary mesh network 200 of Figure 2. In this example, a head-end system communicates with multiple nodes via a root node 210.

[0100] It can be seen that to transmit data from the root node to a level 1 node, eg, nodes 205a, 205b, 205c, a single "hop" is performed by the data.

[0101] However, four hops are required for root node 210 to transmit data to level 4 endpoint nodes 205g, 205h. Furthermore, in this example, the data may be consumed by 12 nodes in the process of providing data to level 4 endpoint nodes 205g, 205h. That is, level 1 node 205a may consume data and provide it to a further 11 nodes via level 2 node 205d and two level 3 nodes 205e, 205f.

[0102] It can therefore be seen that unicasting is an inherently inefficient means of transferring data to each endpoint node, consuming significant bandwidth throughout the mesh network 200 and may employ most or all nodes to transfer data, making such unicasting unsuitable for disseminating time-critical data.

[0103] For completeness, an example of broadcast operation is shown in the exemplary mesh network 300 of Figure 3. In this example, a head-end system communicates with multiple nodes via a root node 310.

[0104] In this example, root node 310 transmits data to all nodes within transmission range 320 of root node 310, 305a-305e. A receiving node, a Level 1 node such as node 305e, can then transmit the data to all nodes 305d, 305f within transmission range 335 of Level 1 node 305e, and so on. It can be appreciated that such a multicast approach can result in unnecessary or duplicative amounts of data transmission over the mesh network and, therefore, can be an inefficient means of providing data to endpoint nodes.

[0105] FIG. 4 illustrates several examples of transferring data over a mesh network 400, according to embodiments of the present disclosure.

[0106] In examples, the data may include weather forecast data and / or firmware updates.

[0107] In a first example, a node within the mesh network 400 is selected as a first seed node 405. The first seed node 405 may be configured as a seed node for transmitting data to a subset of nodes within the mesh network 400. The selection of the first seed node 405 may be based on the geographic location of the first seed node 405 relative to other nodes within the mesh network 400. For example, the first seed node 405 may be a node located within a relatively dense collection of nodes forming the subset. The first seed node 405 may be a node that is substantially surrounded by the nodes forming the subset.

[0108] In an example embodiment, the selection of the first seed node 405 may be based on an address and / or identification data corresponding to the first seed node 405. The first seed node 405 may be selected based on a zip code. The first seed node may be selected based on coordinates, such as latitude and longitude. The selection of the first seed node 405 may be based on a level of interference between the first seed node and other nodes in the network. For example, the selection of the first seed node 405 may be based on a received signal strength indicator (RSSI), which may indicate the level / quality / reliability of connectivity.

[0109] In an exemplary embodiment, the selection of the first seed node 405 may be based on depth, e.g., number of hops, i.e., the selection of the first seed node 405 may be based on, for example, the smallest distance in the mesh network 400 from the node to the root node 210, 310 of the mesh network 400 or to the head-end system. The depth may, in practice, be represented as a map.

[0110] The selection of the first seed node 405 may be based on a time to live (TTL) and / or a hop limit, for example, the selection of the first seed node 405 may be based on a predefined hop limit.

[0111] The selection of the first seed node 405 may be based on throughput, e.g., throughput in number of messages forwarded, i.e., in some examples, the selection of the first seed node 405 may be based on tracking how often the network selects a particular node for message forwarding.

[0112] The selection of the first seed node 405 may be based on neighbor list density. For example, given a lookup table of neighbors (e.g., neighboring nodes), the number of node occurrences and the number of best / optimal node occurrences may be searched. By scoring such combinations, a node may be selected as the first seed node 405. Note that the node identified as the "best / optimal node" may be based on any one or more of the criteria described above, such as type, category, depth, TTL, throughput, level of interference / RSSI, address and / or identification data, geographic location, etc.

[0113] The head-end system 410 provides the first seed node 405 with data to be transmitted to a subset of nodes. The head-end system 410 may act as a central processing system that sends and / or receives data, data streams, data packets, and / or messages from the nodes. The head-end system 410 may generate and / or process data. The head-end system 410 may be communicatively coupled to additional systems, such as cloud-based systems, to generate and / or process data.

[0114] The first seed node 405 may transmit the data or may process the data and transmit further data based on the processed data and / or based on commands or instructions in the data.

[0115] In a first example, the head-end system 410 may directly address the first seed node 405 to provide data to the first seed node 405. Advantageously, this may limit the amount of data transmission over the mesh network 400.

[0116] As seen in FIG. 4, a first seed node may transmit data (or processed data) from the first seed node to a subset of nodes.

[0117] That is, the first seed node may receive data from the head-end system 410 and push the data (or processed data, etc.) to other nodes within the mesh network 400. In some examples, providing data to the first seed node 405 may include, by the first seed node 405, sending a request for the data and / or obtaining the data from the head-end system 410 via the mesh network 400.

[0118] In yet another example, the first seed node 405 may receive data from the head end 410 system over an additional network. For example, the first seed node 405 may be configured to communicate over another network, such as the Internet, over a wireless connection, or the like. In one example, the first seed node 405 may comprise a device, such as a smart meter, installed in a home building, where the device has Internet capability through a home router, such as over a Wi-Fi connection, or the like. The first seed node 405 can obtain data from the head end system 410 over the additional network, for example, over the Internet. The first seed node 405 can request data from the head end system 410 and / or the head end system 410 can push data to the first seed node 405.

[0119] In some examples, transmitting data from the first seed node 405 to the subset of nodes may include the first seed node 405 prioritizing transmitting data to nodes that do not have an active Internet connection over transmitting data to nodes that have an active Internet connection.

[0120] As compared to the unicast operation of Figure 2 or the multicast operation of Figure 3, it can be seen that seeding data to a first seed node, which is configured to broadcast the data to further nodes within range, can be an efficient means of transmitting data between edge nodes as compared to the unicast or multicast operation from a root node as shown in Figures 2 and 3. An edge node may be an endpoint of the mesh network 400.

[0121] That is, data can be transmitted to nodes without the overhead of directly connecting and transmitting data to each node in the network, which can cause significant overhead in the headend 410 system.

[0122] In some examples, the node configured as the first seed node 405 may be dynamically selected. For example, the node originally selected as the first seed node 405 may be disabled, such as powered off, and another node in the mesh network 400 may be selected as the seed node to temporarily or permanently replace the originally selected first seed node 405.

[0123] In a second example, a node within the mesh network 400 may be selected as a second seed node 415. The second seed node 415 may be configured as a seed node for transmitting data to a subset of the nodes within the mesh network 400. The selection of the second seed node 415 may be based on the geographic location of the second seed node 415 relative to other nodes within the mesh network 400. For example, the second seed node 415 may be a node located within a relatively dense population of nodes forming the subset. The second seed node 415 may be a node that is substantially surrounded by the nodes forming the subset.

[0124] The head-end system 410 provides a second seed node 415 with data to be transmitted to a subset of nodes.

[0125] In this second example, the second seed node 415 may host the data and / or a processed version of the data or data generated in response to commands on instructions in the data. The second seed node 415 may be configured to provide the data to another node in the network 400 when the other node requests the data, e.g., sends a request to the second seed node 415.

[0126] Again, in the second example, the head-end system 410 can directly address the second seed node 405 to provide data to the second seed node 415, advantageously limiting the amount of data transmission over the mesh network 400.

[0127] In yet another example, the second seed node 405 may receive data from the headend 410 system over an additional network. For example, the second seed node 405 may be configured to communicate over another network, such as the Internet, over a wireless connection, or the like.

[0128] In some examples, the second seed node 425 may transmit the data over only a limited number of hops, e.g., the data may include further data or instructions to the receiving node, e.g., a node, to limit the number of hops over which the data is transmitted.

[0129] In comparison with the unicast operation of FIG. 2 or the multicast operation of FIG. 3, it can be seen that seeding data to a second seed node configured to host the data and provide the data to further nodes upon request by the further nodes may be an efficient means of transmitting data between edge nodes in comparison with the unicast or multicast operation from the root node as shown in FIGS. 2 and 3.

[0130] In some examples, the node configured as the second seed node 405 may be dynamically selected.

[0131] In a third example, a node within the mesh network 400 may be selected as a third seed node 425. The third seed node 425 may be configured as a seed node to transmit data to a subset of the nodes within the mesh network 400. The selection of the third seed node 425 may be based on the geographic location of the third seed node 425 relative to other nodes within the mesh network 400.

[0132] The head-end system 410 provides the data to a third seed node 425 to be transmitted to a subset of the nodes.

[0133] In this third example, the third seed node 425 may receive the data and then broadcast, e.g., multicast or unicast, the data and / or a processed version of the data or data generated in response to commands related to instructions in the received data.

[0134] In some examples, the third seed node 425 may transmit the data over only a limited number of hops, e.g., the data may include further data or instructions to the receiving node, e.g., a node, to limit the number of hops over which the data is transmitted.

[0135] It can be seen that seeding data to the third seed node 425, where the third seed node 425 is configured to receive and broadcast the data, can be an efficient means of transmitting data between edge nodes, e.g., endpoints of the mesh network 400, compared to the unicast or multicast operations from the root node as shown in Figures 2 and 3. In some examples, the node configured as the second seed node 405 can be dynamically selected.

[0136] Although an example network including three seed nodes 405, 415, 425 has been described, in other examples there may be fewer or more than three seed nodes. Additionally, any combination of the three data transmission techniques, e.g., seed, then push, host, or broadcast, may be implemented.

[0137] That is, multiple nodes 405 , 415 , 425 within the mesh network 400 may be selected to be configured as seed nodes for transmitting data to a subset of the nodes within the mesh network 400 .

[0138] The quantity (quantity) of the plurality of nodes 405, 415, 425 selected as seed nodes may be based on, for example, the density of the seed nodes, which may refer to, for example, the geographic density of the seed nodes.

[0139] In some examples, the amount of seed nodes 405, 415, 425 in the mesh network 400 may be increased or decreased, for example, dynamically increased or decreased.

[0140] For example, the quantity of seed nodes 405, 415, 425 in the mesh network 400 may be increased or decreased based on a (predetermined) time limit for initial selection or distribution, i.e., the initial selection or distribution of seed nodes 405, 415, 425 may expire and then be updated, increased, decreased, or otherwise altered.

[0141] In another example, the quantity of seed nodes 405, 415, 425 in the mesh network 400 may be increased or decreased based on the size of the network 400. Size may refer to the quantity of nodes and / or geographic size. For example, as devices (nodes) are registered, e.g., added to the network, additional nodes may be selected as seed nodes. In some examples, as devices (nodes) are registered, e.g., added to the network, existing seed nodes may be reconfigured to no longer operate as seed nodes. In a non-limiting example, such deselection of seed nodes may depend on where any such new devices registered on the network are located.

[0142] In another example, the quantity of seed nodes 405, 415, 425 in the mesh network 400 may be increased or decreased based on a score associated with one or more regions of the mesh network 400. For example, such a score may indicate the likelihood of success, e.g., successful operation as a seed node 405, 415, 425 in a particular region of the mesh network 400.

[0143] In another example, the quantity of seed nodes 405, 415, 425 in the mesh network 400 may be increased or decreased based on a score associated with one or more of the seed nodes 405, 415, 425. For example, if it is determined during a mesh network calibration process that there are an excessive amount of seed nodes 405, 415, 425, e.g., if they are operating "too well," the number of seed nodes 405, 415, 425 in the mesh network 400 may be reduced. Conversely, if it is determined during a network calibration process that there are an insufficient amount of seed nodes 405, 415, 425, e.g., if they are not operating well enough, the quantity of seed nodes 405, 415, 425 in the mesh network 400 may be increased. In some examples, the quantity of nodes configured as seed nodes 405, 415, 425 may be dynamically selected.

[0144] FIG. 5 illustrates a block diagram of an example node 500 of the mesh network 400 of FIG. 4, according to one embodiment of the disclosure.

[0145] In this example, the node 500 comprises a metering module 505. The metering module 505 may be for metering and / or controlling resources such as electricity, gas, water, etc.

[0146] The node 500 also includes a device 510, e.g., an edge device, having processing capabilities configured to communicate over the mesh network with devices of one or more other nodes in the mesh network 400. That is, each node 500 may be connected to a device known in the art as an edge device. In an exemplary embodiment, the edge device 510 includes a processor 515, a memory 520, and a transceiver 525, e.g., one or more transceivers. The processor 515, the memory 520, and the transceiver 525 are coupled by a bus 530, which may be any suitable switch fabric.

[0147] The edge device 510 may be configured to communicate directly with other nodes on the network without necessarily communicating with or through a head-end system or any intermediate root nodes, i.e., the edge device 510 may have sufficient processing and transmission / reception capabilities to allow a degree of autonomous operation without direct and / or continuous oversight of control by a head-end system.

[0148] In this example, the transceiver 525 is coupled to an antenna 545 for wireless communication with other nodes in the network 400 .

[0149] 5, the transceiver 525 may be coupled to a further network 540, such as the Internet through a router, such as via Wi-Fi, which may allow the node 500 to pull data directly without the need for a head-end system to provide the data via the mesh network 400.

[0150] FIG. 6 depicts a method of transferring data over a mesh network according to an embodiment of the present disclosure.

[0151] In a first step 605, at least one node in the mesh network is selected to be configured as a seed node for transmitting data to a subset of nodes in the mesh network. For example, the at least one node may include the first seed node 405, the second seed node 415, and / or the third seed node 425 of the mesh network 400 of FIG. 4.

[0152] In a second step 610, a head-end system, such as head-end system 410 of FIG. 4, provides data to at least one seed node to be transmitted to a subset of nodes.

[0153] In a third step 615, the data is transmitted from the at least one seed node to the subset of nodes. The transmission of the data may follow the first, second, and / or third examples described above with reference to the example mesh network 400 of FIG. 4, e.g., seed then push, host, or broadcast.

[0154] While the present disclosure has been described with respect to specific embodiments, as described above, it should be understood that these embodiments are merely examples and that the claims are not limited to these embodiments. Those skilled in the art will be able to make modifications and substitutions in light of this disclosure that would fall within the scope of the appended claims. Each feature disclosed or illustrated herein may be incorporated into any embodiment, either alone or in any suitable combination with any other feature disclosed or illustrated herein. [Explanation of symbols]

[0155] 100 Mesh Network 105a~h nodes 110 Headend System 115 Root Node 120 Further Networking 200 Mesh Network 205a~c Level 1 nodes 205d Level 2 Node 205e~f Level 3 nodes 210 Root Node 300 Mesh Network 305a~f nodes 310 Root Node 320 transmission range 335 Transmission Range 400 Mesh Network 405 First seed node 410 Headend System 415 Second seed node 425 Third Seed Node 500 exemplary nodes 505 Measurement Module 510 Edge Device 515 processor 520 memory 525 transceiver 530 Bus 540 More Networks

Claims

1. A method for transferring data over a mesh network (400), comprising: selecting at least one node (405, 415, 425) within the mesh network to be configured as a seed node for transmitting data to a subset of nodes within the mesh network; providing, from a head-end system (410), to said at least one seed node, said data to be transmitted to said subset of nodes; transmitting the data from the at least one seed node to the subset of nodes.

2. The selection of the at least one seed node (405, 415, 425) comprises: a geographic location of the at least one seed node relative to other nodes in the network; address and / or identification data corresponding to said at least one seed node; a level of interference between the at least one seed node and other nodes in the network; the type and / or level of connectivity of the at least one seed node to the headend system; the minimum distance in the mesh network from the node to a root node or the head-end system; Time to Live (TTL) and / or a predetermined hop limit; Tracking the throughput of the node and / or how frequently the mesh network selects the particular node for message forwarding; and / or Neighbor list density, and optionally the neighbor list density is based on a search of the number of occurrences of a node and / or the number of occurrences of the identified best / optimal nodes. The method of claim 1.

3. The nodes configured as the seed nodes (405, 415, 425) are dynamically selected.

3. The method according to claim 1 or 2.

4. The quantity of nodes selected as the at least one seed node (405, 415, 425) is: seed node density; a (predetermined) time limit for the initial selection or distribution of at least one seed node; the size of the mesh network; a score associated with one or more regions of the network; and / or a score associated with the at least one seed node; based on at least one of 4. The method according to any one of claims 1 to 3.

5. The quantity of nodes configured as seed nodes (405, 415, 425) is dynamically selected.

5. The method according to any one of claims 1 to 4.

6. providing the data to the at least one seed node (405, 415, 425) includes transmitting the data from the head-end system (410) by performing a unicast operation on the mesh network (400); 6. The method according to any one of claims 1 to 5.

7. providing the data to the at least one seed node (405, 415, 425) includes transmitting, by the at least one seed node, a request for the data and / or obtaining the data from the head-end system (410) via the mesh network (400); 7. The method according to any one of claims 1 to 6.

8. providing the data to the at least one seed node (405, 415, 425) includes sending a request for the data by the at least one seed node and / or obtaining the data from the head-end system (410) via a further network (540); 7. The method according to any one of claims 1 to 6.

9. each node (500) in said subset of nodes comprises a module (505) for metering and / or controlling resources; 9. The method according to any one of claims 1 to 8.

10. each node (500) in the subset of nodes comprises a device (510) having processing capabilities configured to communicate with devices of one or more other nodes in the subset via the mesh network (400); 10. The method according to any one of claims 1 to 9.

11. the subset of nodes is defined by the geographic location and / or characteristics of each node in the subset of nodes; 11. The method according to any one of claims 1 to 10.

12. transmitting said data from said at least one seed node (405, 415, 425) to said subset of nodes, the at least one seed node performing a unicast operation to push the data to one or more neighboring nodes.

12. The method according to any one of claims 1 to 11.

13. transmitting said data from said at least one seed node (405, 415, 425) to said subset of nodes, the at least one seed node hosting the data and providing the data to one or more neighboring nodes in response to requests for the data from the one or more neighboring nodes; 13. The method according to any one of claims 1 to 12.

14. transmitting said data from said at least one seed node (405, 415, 425) to said subset of nodes, performing a multicast operation by the at least one seed node to push the data to one or more nodes of the subset via one or more other nodes of the subset; 14. The method of any one of claims 1 to 13.

15. transmitting said data from said at least one seed node (405, 415, 425) to said subset of nodes, the at least one seed node prioritizing transmission of the data to nodes that do not have an active Internet connection over transmission of the data to nodes that have an active Internet connection.

15. The method of any one of claims 1 to 14.

16. The method of claim 1 , wherein the data includes weather forecast data.

17. 1. A system comprising: a network (400) of nodes configured to form a mesh network; a head-end system (410); at least one node is configured as a seed node (405, 415, 425) for transmitting data to a subset of nodes in the mesh network; the head-end system is configured to provide the at least one seed node with the data to be transmitted to the subset of nodes; and The at least one seed node is configured to transmit the data to a subset of the nodes.