WO2017029635A1 - Robust node estimation and topology discovery for large-scale networks - Google Patents

Robust node estimation and topology discovery for large-scale networks Download PDF

Info

Publication number
WO2017029635A1
WO2017029635A1 PCT/IB2016/054949 IB2016054949W WO2017029635A1 WO 2017029635 A1 WO2017029635 A1 WO 2017029635A1 IB 2016054949 W IB2016054949 W IB 2016054949W WO 2017029635 A1 WO2017029635 A1 WO 2017029635A1
Authority
WO
WIPO (PCT)
Prior art keywords
probability
nodes
network device
network
transmission packet
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.)
Ceased
Application number
PCT/IB2016/054949
Other languages
French (fr)
Inventor
Mohamed-Slim Alouini
Ahmed DOUIK
Salah A. Aly
Tareq Y. Al-Naffouri
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.)
King Abdullah University of Science and Technology KAUST
Original Assignee
King Abdullah University of Science and Technology KAUST
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 King Abdullah University of Science and Technology KAUST filed Critical King Abdullah University of Science and Technology KAUST
Priority to US15/747,554 priority Critical patent/US10476750B2/en
Publication of WO2017029635A1 publication Critical patent/WO2017029635A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies

Definitions

  • WSNs Wireless Sensor Networks
  • a WSN refers to a set of small electronic devices (sensors) capable of monitoring and measuring certain phenomena, e.g., temperature, pressure, flood, fires, etc., usually in hazardous and non-reachable environments.
  • a WSN is typically composed of hundreds to millions of nodes capable of intersecting and communicating with each other. Due to their small size, these devices have limited resources such as memory, computation power, battery lifetime and bandwidth.
  • Embodiments of the present disclosure are related to robust node estimation and topology discovery for networks, including large scale networks.
  • a method comprises receiving, over a wireless channel, a first transmission packet that includes a first identifier from a first one of a plurality of nodes; adding the first identifier to a second transmission packet based at least in part on a first comparison between the first identifier and a plurality of existing identifiers associated with the second transmission packet; adjusting a transmit probability based on the first comparison; and transmitting, over the wireless channel, the second transmission packet to at least one of the plurality of nodes based at least in part on a second comparison between the transmit probability and a probability distribution.
  • the method can comprise determining a probability distribution associated with the plurality of nodes with respect to the first one of the plurality of nodes.
  • At least one of the plurality of nodes can comprise a sensor device.
  • the sensor device can be configured to measure at least one of: a temperature, a pressure, a voltage, or a current.
  • a system comprises a first network device in a network; and an application executable in the first network device. Execution of the application causes the first network device to at least generate a first transmission packet that includes a first identifier and a list comprising a plurality of existing identifiers; receive a second transmission packet that includes a second identifier from a second network device in the network; add the second identifier to the list in response to a first comparison between the second identifier and the plurality of existing identifiers; adjust a transmit probability based on the first comparison; and transmit the first transmission packet to a third network device in the network based at least in part on a second comparison between the transmit probability and a probability distribution.
  • the first comparison can determine whether the second identifier matches one of the plurality of existing identifiers.
  • the transmit probability can be increased when the second identifier does not match one of the plurality of existing identifiers.
  • the first network device can transmit the first transmission packet to a data collector in response to a query message from the data collector.
  • the transmit probability can indicate a probability that the first network device will transmit the first transmission packet.
  • the first network device can determine the probability distribution by calculating a uniform distribution.
  • the first network device can transmit the first transmission packet to the third network device when the transmit probability exceeds the probability distribution.
  • the first network device can reset the transmit probability to an initial probability in response to transmission of the first transmission packet to the third network device.
  • the first network device can comprise a wireless transceiver, and the first transmission packet is transmitted over a wireless channel using the wireless transceiver.
  • the list can comprise the plurality of existing identifiers represents a plurality of neighboring wireless network devices located within a predefined radius with respect to a location of the first network device.
  • a method comprises transmitting, using a computing device, a query message to a plurality of sensor devices, the query message being transmitted over a wireless channel; receiving a transmission packet from at least one of the plurality of sensor devices, the transmission packet comprising data indicating a plurality of identifiers; and determining, using the computing device, a quantity of the plurality of sensor devices based at least in part on the plurality of identifiers.
  • FIG. 1 is an example drawing illustrating the transmission range of two sensor devices, according to various embodiments of the present disclosure.
  • FIG. 2 is an example algorithm illustrating an initialization phase of a sensor node, according to various embodiments of the present disclosure.
  • FIG. 3 is an example drawing illustrating a network of nodes and a corresponding set of coordinates for each node, according to various embodiments of the present disclosure.
  • FIG. 4 is an example algorithm illustrating a dissemination of knowledge among multiple sensor nodes, according to various embodiments of the present disclosure.
  • FIG. 5 is an example algorithm illustrating a query phase associated with a data collector, according to various embodiments of the present disclosure.
  • FIG. 6 is a graph illustrating an example of a number of queried nodes versus the number of estimated nodes for different combination of query time t and initial transmit probability F, according to various embodiments of the present disclosure.
  • FIG. 7 is a graph illustrating an example of an initial transmit probability F versus the average time to perform 95% estimation of the network for different number of queried nodes K, according to various embodiments of the present disclosure.
  • FIG. 8 is a graph illustrating an example of a number of queried nodes K versus the average erasure probability to perform 95% estimation of the network for different running times t, according to various embodiments of the present disclosure.
  • FIG. 9 is a schematic block diagram that provides on example illustration of a computing environment, according to an embodiment of the present disclosure.
  • node estimation and/or topology discovery for large-scale networks where nodes communicate with each other such as, e.g., a wireless sensor network (WSN).
  • WSN wireless sensor network
  • the present disclosure relates to a novel approach for estimating cardinality, i.e., the number of nodes, in large scale anonymous graphs using statistical inference methods.
  • each node possesses little or non-existing information on the network topology.
  • the present disclosure relates to determining network characteristics such as the number of nodes distributed randomly and uniformly in a given field.
  • benefits for cardinality estimation in graphs such as energy efficiency, mobile communication and coding schemes design, data collections, and distributed storage.
  • various embodiments of the present disclosure can enable each node to discover its neighbors, which help network designers enhance coverage and connectivity.
  • the difficulty of the network size estimation can heavily depend on the assumptions and features of the system.
  • the present disclosure considers the anonymous networks framework approach, where nodes only know their unique identifier (ID).
  • ID unique identifier
  • each node possesses little or non-existing information on the network topology. It has been shown that with a centralized strategy, the node estimation can be obtained in finite time with probability one. For a large network, the complexity of discovering with probability one (1 ) is very high. For non-unique IDs, it has also been demonstrated that the estimation cannot be performed with probability one in limited time or with a bounded computational complexity. The problem is, then, to discover estimators that trade-off small error likelihood and moderate computational complexity.
  • Various embodiments of the present disclosure relate to a hybrid scheme that not only performs node counting that can be run for an arbitrary time period, but further uses the output to carry out the network size estimation. Such an estimate can benefit network designers to design the coding schemes appropriately.
  • Various embodiments of the present disclosure combine the advantages of both the node counting algorithms and the node estimation ones. Given that the time and computation complexity of node counting algorithms is high, their use in large-scale networks is prohibitive. On the other hand, network size estimation algorithms have, in general, high variance. Depending on the initialization parameters, the estimate of the proposed scheme balances these two effects and can be made as arbitrarily close to the network cardinality as wanted. Furthermore, various embodiments can, at the same time, discover the neighbors of each node.
  • an estimate may be provided based on nodes with unique IDs. In other embodiments, an estimate can be provided where the nodes may not have a unique ID by exploiting the inverse birthday paradox.
  • the network J can be considered as an abstract graph with a set of
  • nodes V and a set of edges £, where n
  • the set can represent
  • the transmission range is circular, let be its radius.
  • the various embodiments of the present disclosure are independent of the considered transmission range.
  • the performance analysis provided in the rest of this disclosure assumes a circular transmission range with the same radius for all nodes.
  • n nodes i.e., the network size
  • connections i.e., the network topology
  • a bound on the network size JV, ⁇ > n is known by the data fusion center.
  • This scenario can be seen as a network after a long running time or a disaster. Initially, the network is composed of nodes each having a unique ID. After a long running time or a disaster, some of the nodes may disappear from the graph leaving a graph with n ⁇ N max nodes with unique ID. Let be the ID of sensor
  • each node may know only its unique identifier. Communication between nodes can be performed by broadcasting the information to the other nodes. Note that nodes need not transmit additional bits indicating its ID with the information packet. Moreover, no acknowledgement is expected from sensors that successfully receive a packet. Transmissions are subject to erasure at the sensors with a probability of for sensor In other words,
  • Definition 1 Denote by the set of neighbors of a node
  • the present disclosure can consider static nodes in the network. Therefore, due to the static nature of the nodes, their relative position in the network remains identical which results in an unchanged set of neighbors for all nodes.
  • K the set of nodes in the network that can be queried by the data collector. This set of nodes can be randomly picked from the set of alive and dead nodes with
  • the data collector can be assumed to know the IDs of the nodes in the initial network comprising sensors.
  • selection of the queried nodes can be performed by sampling uniformly without replacement from this set of IDs. Such methods can result in nodes randomly picked from the set of alive and dead ones.
  • the notation i/(0,l) refers to the uniform distribution over
  • the algorithm can estimate the total number of nodes in a network.
  • the algorithm can run in three distinct phases: the initialization, the knowledge distribution, and the query phases.
  • the initialization phase the initial packets of the nodes and their transmit probability can be set.
  • the knowledge distribution phase the information about the networks can be disseminated among the surviving nodes from neighbor to neighbors.
  • the DC can collect the information about the network by asking some nodes and inferring the size of the whole system.
  • each node in the network can generate a packet containing its ID.
  • the packet size limitation can have an effect on the results, the various embodiments of the present disclosure can consider reducing it.
  • the distinct IDs can be encoded using
  • Each node also can initialize its initial transmit probability
  • a small value of the initial probability means that there is a small amount of communication between nodes in the network, a value
  • FIG. 2 summarizes the steps of the initialization phase as one non-limiting example.
  • each node s £ can generate a packet containing both its ID and its (X, Y) coordinates. Assuming that coordinates are encoded using V bits, the maximum size a packet can reach is
  • the size of the topology discovery packet scales in the same manner as the one of the cardinality estimation.
  • the packet brings new information to the node, i.e., The node can
  • each node can first remove its ID from the packet it possesses and then append it to the end of the packet.
  • each node s can sample from a probability distribution
  • FIG. 4 summarizes the steps of the knowledge distribution phase as one non-limiting example.
  • a DC can query some nodes from the set of nodes to retrieve information about the current status of the network N and infer its size P s .. If the queried node s f is alive then it can transmit its packet P Si . Otherwise, there may be no transmission, and the packet of that node can be the empty set.
  • FIG. 5 summarizes the steps of the query phase as one non-limiting example.
  • nodes that are dead where is the set of all nodes in the network. It can be seen that this section assumes that nodes can have the same
  • FIG. 6 is an example illustrating the relation between the number of queried nodes and the number of estimated nodes in the network for different combinations of query time t and initial transmit probability F.
  • Various embodiments of the present disclosure have found that asking 10% or more of nodes can give a good estimation of the network size. Besides, increasing the initial transmit probability F or the query time t can result in an enhancement of the performances.
  • FIG. 7 is an example graph that shows the initial transmit probability F versus the time t, in which the total estimation of network nodes is 95% or more for various queried nodes K.
  • F 0.5
  • FIG. 8 is an example graph that illustrates the number of queried nodes K versus the average erasure probability, in which the total estimation of network nodes is 95% or more for different running times t.
  • the number of queried nodes to perform 95% estimation of the whole network size can decrease with the number of iterations of the algorithm. This can be explained by the fact that as the number of iterations increases, each node can have more knowledge about the network configuration that results in a less queried nodes.
  • the computing environment 903 includes one or more computing devices 906.
  • Each computing device 906 includes at least one processor circuit, for example, having a processor 909 and a memory 912, both of which are coupled to a local interface 915.
  • each computing device 906 may comprise, for example, at least one server computer or like device.
  • the local interface 915 may comprise, for example, a data bus with an accompanying address/control bus or other bus structure as can be appreciated.
  • Stored in the memory 912 are both data and several components that are executable by the processor 909.
  • stored in the memory 912 and executable by the processor 909 is a Node Estimation application 921 , and potentially other applications.
  • Also stored in the memory 912 may be a data store 918 and other data.
  • an operating system may be stored in the memory 912 and executable by the processor 909.
  • executable means a program file that is in a form that can ultimately be run by the processor 909.
  • Examples of executable programs may be, for example, a compiled program that can be translated into machine code in a format that can be loaded into a random access portion of the memory 912 and run by the processor 909, source code that may be expressed in proper format such as object code that is capable of being loaded into a random access portion of the memory 912 and executed by the processor 909, or source code that may be interpreted by another executable program to generate instructions in a random access portion of the memory 912 to be executed by the processor 909, etc.
  • An executable program may be stored in any portion or component of the memory 912 including, for example, random access memory (RAM), read-only memory (ROM), hard drive, solid-state drive, USB flash drive, memory card, optical disc such as compact disc (CD) or digital versatile disc (DVD), floppy disk, magnetic tape, or other memory components.
  • RAM random access memory
  • ROM read-only memory
  • hard drive solid-state drive
  • USB flash drive USB flash drive
  • memory card such as compact disc (CD) or digital versatile disc (DVD), floppy disk, magnetic tape, or other memory components.
  • CD compact disc
  • DVD digital versatile disc
  • the memory 912 is defined herein as including both volatile and nonvolatile memory and data storage components. Volatile components are those that do not retain data values upon loss of power. Nonvolatile components are those that retain data upon a loss of power.
  • the memory 912 may comprise, for example, random access memory (RAM), read-only memory (ROM), hard disk drives, solid-state drives, USB flash drives, memory cards accessed via a memory card reader, floppy disks accessed via an associated floppy disk drive, optical discs accessed via an optical disc drive, magnetic tapes accessed via an appropriate tape drive, and/or other memory components, or a combination of any two or more of these memory components.
  • the RAM may comprise, for example, static random access memory (SRAM), dynamic random access memory (DRAM), or magnetic random access memory (MRAM) and other such devices.
  • the ROM may comprise, for example, a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other like memory device.
  • the processor 909 may represent multiple processors 909 and/or multiple processor cores and the memory 912 may represent multiple memories 912 that operate in parallel processing circuits, respectively.
  • the local interface 915 may be an appropriate network that facilitates communication between any two of the multiple processors 909, between any processor 909 and any of the memories 912, or between any two of the memories 912, etc.
  • the local interface 915 may comprise additional systems designed to coordinate this communication, including, for example, performing load balancing.
  • the processor 909 may be of electrical or of some other available construction.
  • Node Estimation application 921 and/or other various systems described herein may be embodied in software or code executed by general purpose hardware as discussed above, as an alternative the same may also be embodied in dedicated hardware or a combination of software/general purpose hardware and dedicated hardware. If embodied in dedicated hardware, each can be implemented as a circuit or state machine that employs any one of or a combination of a number of technologies. These technologies may include, but are not limited to, discrete logic circuits having logic gates for implementing various logic functions upon an application of one or more data signals, application specific integrated circuits (ASICs) having appropriate logic gates, field-programmable gate arrays (FPGAs), or other components, etc. Such technologies are generally well known by those skilled in the art and, consequently, are not described in detail herein.
  • each block may represent a module, segment, or portion of code that comprises program instructions to implement the specified logical function(s).
  • the program instructions may be embodied in the form of source code that comprises human-readable statements written in a programming language or machine code that comprises numerical instructions recognizable by a suitable execution system such as a processor 909 in a computer system or other system.
  • the machine code may be converted from the source code, etc.
  • each block may represent a circuit or a number of interconnected circuits to implement the specified logical function(s).
  • FIGS. 2, 4 and 5 show a specific order of execution, it is understood that the order of execution may differ from that which is depicted. For example, the order of execution of two or more blocks may be scrambled relative to the order shown. Also, two or more steps shown in succession in FIGS. 2, 4 and 5 may be executed concurrently or with partial concurrence. Further, in some embodiments, one or more of the steps shown in FIGS. 2, 4 and 5 may be skipped or omitted. In addition, any number of counters, state variables, warning semaphores, or messages might be added to the logical flow described herein, for purposes of enhanced utility, accounting, performance measurement, or providing troubleshooting aids, etc. It is understood that all such variations are within the scope of the present disclosure.
  • any logic or application described herein, that comprises software or code can be embodied in any non-transitory computer-readable medium for use by or in connection with an instruction execution system such as, for example, a processor 909 in a computer system or other system.
  • the logic may comprise, for example, statements including instructions and declarations that can be fetched from the computer-readable medium and executed by the instruction execution system.
  • a "computer-readable medium" can be any medium that can contain, store, or maintain the logic or application described herein for use by or in connection with the instruction execution system.
  • the computer-readable medium can comprise any one of many physical media such as, for example, magnetic, optical, or semiconductor media.
  • a suitable computer-readable medium would include, but are not limited to, magnetic tapes, magnetic floppy diskettes, magnetic hard drives, memory cards, solid-state drives, USB flash drives, or optical discs.
  • the computer-readable medium may be a random access memory (RAM) including, for example, static random access memory (SRAM) and dynamic random access memory (DRAM), or magnetic random access memory (MRAM).
  • the computer-readable medium may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other type of memory device.
  • any logic or application described herein may be implemented and structured in a variety of ways.
  • one or more applications described may be implemented as modules or components of a single application.
  • one or more applications described herein may be executed in shared or separate computing devices or a combination thereof.
  • a plurality of the applications described herein may execute in the same computing device 906, or in multiple computing devices in the same computing environment 903.
  • terms such as “application,” “service,” “system,” “engine,” “module,” and so on may be interchangeable and are not intended to be limiting.
  • the present disclosure relates to a novel hybrid size estimation algorithm in an anonymous graph, in which each node knows only its unique identifier.
  • the present disclosure discusses a node counting algorithm whose output can be used to perform network size estimation using statistical inference methods.
  • various embodiments of the present disclosure can show that the proposed algorithm produces an estimate of the total number of nodes proportional to the BLUE and that it converges when all the network nodes are queried. Simulation results show that various embodiments of the present disclosure can produce a good estimate when either the running time or the number of queried nodes are reasonable.
  • Disjunctive language such as the phrase "at least one of X, Y, or Z," unless specifically stated otherwise, is otherwise understood with the context as used in general to present that an item, term, etc., may be either X, Y, or Z, or any combination thereof (e.g., X, Y, and/or Z). Thus, such disjunctive language is not generally intended to, and should not, imply that certain embodiments require at least one of X, at least one of Y, or at least one of Z to each be present.

Landscapes

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

Abstract

Various examples are provided for node estimation and topology discovery for networks. In one example, a method includes receiving a packet having an identifier from a first node; adding the identifier to another transmission packet based on a comparison between the first identifier and existing identifiers associated with the other packet; adjusting a transmit probability based on the comparison; and transmitting the other packet based on a comparison between the transmit probability and a probability distribution. In another example, a system includes a network device that can adds an identifier received in a packet to a list including existing identifiers and adjust a transmit probability based on a comparison between the identifiers; and transmit another packet based on a comparison between the transmit probability and a probability distribution. In another example, a method includes determining a quantity of sensor devices based on a plurality of identifiers received in a packet.

Description

ROBUST NODE ESTIMATION AND TOPOLOGY DISCOVERY
FOR LARGE-SCALE NETWORKS
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to, and the benefit of, co-pending U.S. provisional application entitled "Robust Node Estimation and Topology Discovery for Large-Scale Networks" having serial no. 62/207,128, filed August 19, 2015, which is hereby incorporated by reference in its entirety.
BACKGROUND
[0002] Wireless Sensor Networks (WSNs) have been a great success in the past decades. Generally, a WSN refers to a set of small electronic devices (sensors) capable of monitoring and measuring certain phenomena, e.g., temperature, pressure, flood, fires, etc., usually in hazardous and non-reachable environments. A WSN is typically composed of hundreds to millions of nodes capable of intersecting and communicating with each other. Due to their small size, these devices have limited resources such as memory, computation power, battery lifetime and bandwidth.
SUMMARY
[0003] Embodiments of the present disclosure are related to robust node estimation and topology discovery for networks, including large scale networks.
[0004] In one embodiment, among others, a method comprises receiving, over a wireless channel, a first transmission packet that includes a first identifier from a first one of a plurality of nodes; adding the first identifier to a second transmission packet based at least in part on a first comparison between the first identifier and a plurality of existing identifiers associated with the second transmission packet; adjusting a transmit probability based on the first comparison; and transmitting, over the wireless channel, the second transmission packet to at least one of the plurality of nodes based at least in part on a second comparison between the transmit probability and a probability distribution. In one or more aspects of these embodiments, the method can comprise determining a probability distribution associated with the plurality of nodes with respect to the first one of the plurality of nodes. At least one of the plurality of nodes can comprise a sensor device. The sensor device can be configured to measure at least one of: a temperature, a pressure, a voltage, or a current.
[0005] In another embodiment, a system comprises a first network device in a network; and an application executable in the first network device. Execution of the application causes the first network device to at least generate a first transmission packet that includes a first identifier and a list comprising a plurality of existing identifiers; receive a second transmission packet that includes a second identifier from a second network device in the network; add the second identifier to the list in response to a first comparison between the second identifier and the plurality of existing identifiers; adjust a transmit probability based on the first comparison; and transmit the first transmission packet to a third network device in the network based at least in part on a second comparison between the transmit probability and a probability distribution. In one or more aspects of these embodiments, the first comparison can determine whether the second identifier matches one of the plurality of existing identifiers. The transmit probability can be increased when the second identifier does not match one of the plurality of existing identifiers. [0006] In one or more aspects of these embodiments, the first network device can transmit the first transmission packet to a data collector in response to a query message from the data collector. The transmit probability can indicate a probability that the first network device will transmit the first transmission packet. The first network device can determine the probability distribution by calculating a uniform distribution. The first network device can transmit the first transmission packet to the third network device when the transmit probability exceeds the probability distribution. The first network device can reset the transmit probability to an initial probability in response to transmission of the first transmission packet to the third network device. The first network device can comprise a wireless transceiver, and the first transmission packet is transmitted over a wireless channel using the wireless transceiver. The list can comprise the plurality of existing identifiers represents a plurality of neighboring wireless network devices located within a predefined radius with respect to a location of the first network device.
[0007] In another embodiment, a method comprises transmitting, using a computing device, a query message to a plurality of sensor devices, the query message being transmitted over a wireless channel; receiving a transmission packet from at least one of the plurality of sensor devices, the transmission packet comprising data indicating a plurality of identifiers; and determining, using the computing device, a quantity of the plurality of sensor devices based at least in part on the plurality of identifiers.
[0008] Other systems, methods, features, and advantages of the present disclosure will be or become apparent to one with skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional systems, methods, features, and advantages be included within this description, be within the scope of the present disclosure, and be protected by the accompanying claims. In addition, all optional and preferred features and modifications of the described embodiments are usable in all aspects of the disclosure taught herein. Furthermore, the individual features of the dependent claims, as well as all optional and preferred features and modifications of the described embodiments are combinable and interchangeable with one another.
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] Many aspects of the present disclosure can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views.
[0010] FIG. 1 is an example drawing illustrating the transmission range of two sensor devices, according to various embodiments of the present disclosure.
[0011] FIG. 2 is an example algorithm illustrating an initialization phase of a sensor node, according to various embodiments of the present disclosure.
[0012] FIG. 3 is an example drawing illustrating a network of nodes and a corresponding set of coordinates for each node, according to various embodiments of the present disclosure.
[0013] FIG. 4 is an example algorithm illustrating a dissemination of knowledge among multiple sensor nodes, according to various embodiments of the present disclosure.
[0014] FIG. 5 is an example algorithm illustrating a query phase associated with a data collector, according to various embodiments of the present disclosure. [0015] FIG. 6 is a graph illustrating an example of a number of queried nodes versus the number of estimated nodes for different combination of query time t and initial transmit probability F, according to various embodiments of the present disclosure.
[0016] FIG. 7 is a graph illustrating an example of an initial transmit probability F versus the average time to perform 95% estimation of the network for different number of queried nodes K, according to various embodiments of the present disclosure.
[0017] FIG. 8 is a graph illustrating an example of a number of queried nodes K versus the average erasure probability to perform 95% estimation of the network for different running times t, according to various embodiments of the present disclosure.
[0018] FIG. 9 is a schematic block diagram that provides on example illustration of a computing environment, according to an embodiment of the present disclosure.
DETAIL DESCRIPTION
[0019] Disclosed herein are various embodiments of node estimation and/or topology discovery for large-scale networks where nodes communicate with each other such as, e.g., a wireless sensor network (WSN). In particular, the present disclosure relates to a novel approach for estimating cardinality, i.e., the number of nodes, in large scale anonymous graphs using statistical inference methods. In anonymous graphs, each node possesses little or non-existing information on the network topology. References will now be made in detail to the description of the embodiments as illustrated in the drawings. [0020] The present disclosure relates to determining network characteristics such as the number of nodes distributed randomly and uniformly in a given field. There are several benefits for cardinality estimation in graphs such as energy efficiency, mobile communication and coding schemes design, data collections, and distributed storage. Furthermore, various embodiments of the present disclosure can enable each node to discover its neighbors, which help network designers enhance coverage and connectivity.
[0021] Applications of the network size estimation are not limited to WSN. With the shift in the design from the centralized architectures to decentralized ones, the problem becomes increasingly in demand due to its applications in social networks, online users, active protein cells, and artificial intelligence. Even though decentralized systems are more scalable and robust to failure, their use makes the estimation of the parameters of the whole network challenging.
[0022] With respect to the problem of node counting in an undirected graph, the aim is to visit all nodes of a graph and avoid revisiting nodes. The problem has numerous applications in artificial intelligence and control theory. However, the problem has proven to be NP-complete with a time complexity given by ^(n^) where n is the cardinality of the graph. NP refers to "nondeterministic polynomial time". Therefore, such an approach is unsuited for large-scale networks.
[0023] The use of statistical inference for cardinality estimation of a given network first appeared in the literature with the German tank problem, in which the aim was to estimate the total number of tanks given the serial number of the captured ones. The various embodiments of the present disclosure relate to sampling a subset of the entire population and available information. For example, some embodiments can query a small portion of nodes to infer information about the whole network status.
[0024] The difficulty of the network size estimation can heavily depend on the assumptions and features of the system. The present disclosure considers the anonymous networks framework approach, where nodes only know their unique identifier (ID). In anonymous networks, each node possesses little or non-existing information on the network topology. It has been shown that with a centralized strategy, the node estimation can be obtained in finite time with probability one. For a large network, the complexity of discovering with probability one (1 ) is very high. For non-unique IDs, it has also been demonstrated that the estimation cannot be performed with probability one in limited time or with a bounded computational complexity. The problem is, then, to discover estimators that trade-off small error likelihood and moderate computational complexity.
[0025] Various embodiments of the present disclosure relate to a hybrid scheme that not only performs node counting that can be run for an arbitrary time period, but further uses the output to carry out the network size estimation. Such an estimate can benefit network designers to design the coding schemes appropriately. Various embodiments of the present disclosure combine the advantages of both the node counting algorithms and the node estimation ones. Given that the time and computation complexity of node counting algorithms is high, their use in large-scale networks is prohibitive. On the other hand, network size estimation algorithms have, in general, high variance. Depending on the initialization parameters, the estimate of the proposed scheme balances these two effects and can be made as arbitrarily close to the network cardinality as wanted. Furthermore, various embodiments can, at the same time, discover the neighbors of each node. Such knowledge can be useful for data routing, which can be combined with the code design resulting in efficient resource utilization. In this context, an estimate may be provided based on nodes with unique IDs. In other embodiments, an estimate can be provided where the nodes may not have a unique ID by exploiting the inverse birthday paradox.
Network Model and Problem Formulation
A. Network Model
[0026] Consider a wireless sensor network with n sensor nodes that are
Figure imgf000010_0009
randomly and uniformly distributed in a region for some
Figure imgf000010_0001
Figure imgf000010_0010
The network J can be considered as an abstract graph with a set of
Figure imgf000010_0011
Figure imgf000010_0006
nodes V and a set of edges £, where n = |V|. The set can represent
Figure imgf000010_0002
the sensors that measure information about a specific field, and £ represents the set of links between the sensors.
[0027] As shown in FIG. 1 , two arbitrary sensors s4 and
Figure imgf000010_0003
can be connected if they are in the transmission range each other. Therefore, and
Figure imgf000010_0008
sj are connected if and only if , where is the distance operator.
Figure imgf000010_0004
Figure imgf000010_0005
Assuming that the transmission range is circular, let
Figure imgf000010_0007
be its radius. The various embodiments of the present disclosure are independent of the considered transmission range. However, the performance analysis provided in the rest of this disclosure assumes a circular transmission range with the same radius for all nodes.
[0028] Assume that neither the number of these n nodes, i.e., the network size, nor their connections, i.e., the network topology, are known. However, a bound on the network size JV,^ > n is known by the data fusion center. This scenario can be seen as a network after a long running time or a disaster. Initially, the network is composed of nodes each having a unique ID. After a long running time or a disaster, some of the nodes may disappear from the graph leaving a graph with nNmax nodes with unique ID. Let be the ID of sensor
Figure imgf000011_0010
B. Network Protocol
[0029] In the considered network model, each node may know only its unique identifier. Communication between nodes can be performed by broadcasting the information to the other nodes. Note that nodes need not transmit additional bits indicating its ID with the information packet. Moreover, no acknowledgement is expected from sensors that successfully receive a packet. Transmissions are subject to erasure at the sensors with a probability of for sensor In other words,
Figure imgf000011_0005
Figure imgf000011_0012
for a sensor s£ broadcasting data, sensors successfully receives the data with
Figure imgf000011_0006
probability where is the set of neighbors of the node defined as follows.
Figure imgf000011_0002
Figure imgf000011_0003
Figure imgf000011_0007
[0030] Definition 1. Denote by the set of neighbors of a node
Figure imgf000011_0011
Figure imgf000011_0004
In other words,
Figure imgf000011_0001
[0031] The present disclosure can consider static nodes in the network. Therefore, due to the static nature of the nodes, their relative position in the network remains identical which results in an unchanged set of neighbors for all nodes.
C. Problem Formulation
[0032] Given the aforementioned network model and protocol, the present disclosure's objectives include:
1) Estimating the number of nodes n by randomly asking K nodes in the network. Let K be the set of nodes in the network that can be queried by the data collector. This set of nodes can be randomly picked from the set of alive and dead nodes with
Figure imgf000011_0008
2) Discovering locally, for an arbitrary node its set of neighbors 5
Figure imgf000011_0009
[0033] Without a loss of generality, the data collector (DC) can be assumed to know the IDs of the nodes in the initial network comprising sensors. The
Figure imgf000012_0005
selection of the queried nodes can be performed by sampling uniformly without replacement from this set of IDs. Such methods can result in
Figure imgf000012_0004
nodes randomly picked from the set of alive and dead ones. Throughout the present disclosure, the notation i/(0,l) refers to the uniform distribution over
Figure imgf000012_0006
Node Estimation Algorithm
[0034] This section introduces the hybrid node counting and estimation algorithm. The algorithm can estimate the total number of nodes in a network. The algorithm can run in three distinct phases: the initialization, the knowledge distribution, and the query phases. In the initialization phase, the initial packets of the nodes and their transmit probability can be set. In the knowledge distribution phase, the information about the networks can be disseminated among the surviving nodes from neighbor to neighbors. Finally, in the query stage, the DC can collect the information about the network by asking some nodes and inferring the size of the whole system.
A. Initialization Phase
[0035] In the initial step, each node in the network can generate a packet containing its ID. As the packet size limitation can have an effect on the results, the various embodiments of the present disclosure can consider reducing it. For a network with initial nodes, the distinct IDs can be encoded using
Figure imgf000012_0003
Figure imgf000012_0001
where ] is the ceiling function. Therefore, the maximum size a packet can reach at any node in the network is as only n nodes are alive. Such packet
Figure imgf000012_0002
size is convenient for practical scenarios as it scales logarithmically with and
Figure imgf000013_0004
linearly with n.
[0036] Each node also can initialize its initial transmit probability
Figure imgf000013_0002
Figure imgf000013_0003
where is the probability that the node broadcasts the packet it already holds to
Figure imgf000013_0001
its neighbors. Whereas a small value of the initial probability means that there is a small amount of communication between nodes in the network, a value
Figure imgf000013_0007
means that all nodes broadcast their packets at each iteration. Let T(t) be the set of nodes that transmitted a packet at time instant t with T(0) = ø. FIG. 2 summarizes the steps of the initialization phase as one non-limiting example.
[0037] In alternative embodiments, the present disclosure can be extended to perform topology discovery with the estimation of both V and £, by modifying the initial packets of each node. As shown in FIG. 3, each node s£ can generate a packet containing both its ID and its (X, Y) coordinates. Assuming that coordinates are encoded using V bits, the maximum size a packet can reach is
Figure imgf000013_0006
Therefore, the size of the topology discovery packet scales in the same manner as the one of the cardinality estimation.
B. Knowledge Distribution Phase
[0038] In this phase, knowledge can be distributed among the alive nodes in the network from neighbor to neighbor. At each iteration of the algorithm, if a node s,- receives a packet from a node sj whose ID can be determined by examining the last ID in the received packet, it can add such node to its set of neighbors Depending
Figure imgf000013_0008
on the content of the received packet, two scenarios can be distinguished:
1) The packet does not contain new information for The packet
Figure imgf000013_0005
can be discarded and the buffer may not be updated. 2) The packet brings new information to the node, i.e., The node can
Figure imgf000014_0001
update its buffer and can increase its transmit probability. The more informative packets a node receives, the more its transmit probability can increase. This is motivated by the fact that the more new information a node receives, it can become a better candidate to transmit its information. To be able to estimate locally the neighbors of the nodes, each node can first remove its ID from the packet it possesses and then append it to the end of the packet.
[0039] Afterward, each node s can sample from a probability distribution
Figure imgf000014_0004
i/(0,l) and can decide, according to either to broadcast or not. After
Figure imgf000014_0003
Figure imgf000014_0002
broadcasting data, the node can reset its transmit probability to the initial value. This is motivated by the fact that after transmission, if all neighbors received the packet, then node may not bring new information anymore unless it receives new packets. FIG. 4 summarizes the steps of the knowledge distribution phase as one non-limiting example.
C. Query Phase
[0040] In this phase, a DC can query some nodes from the set of nodes to retrieve information about the current status of the network N and infer its size Ps.. If the queried node sf is alive then it can transmit its packet PSi. Otherwise, there may be no transmission, and the packet of that node can be the empty set.
[0041] After querying the nodes, their packets can be processed using the union operator and by counting the number of IDs. In other words, the quantity Z, the counting estimation, can be obtained by where is the cardinality
Figure imgf000014_0005
Figure imgf000014_0006
operator. The next section relates the counting estimation to the Best Linear Unbiased Estimators (BLUE) of network size n. FIG. 5 summarizes the steps of the query phase as one non-limiting example.
Performance Analysis
[0042] be a Bernoulli random variable denoting if node s; knows that
Figure imgf000015_0001
node is alive. Let be the vector containing the
Figure imgf000015_0002
knowledge of node s From FIG. 4, is the realization of the random variable Xi(t)
Figure imgf000015_0007
Figure imgf000015_0008
at each time slot t.
[0043] Let be a random variable where
Figure imgf000015_0003
Figure imgf000015_0014
is a Bernoulli random variable denoting if the central unit knows that
Figure imgf000015_0006
node is alive when the data collection is performed at time slot t. Let
Figure imgf000015_0013
Figure imgf000015_0005
[0044] From the data collection algorithm, is the realization of Z(t) at query
Figure imgf000015_0009
time t. Given the data collection equation, the random variable can
Figure imgf000015_0019
be written as follows:
Figure imgf000015_0004
[0045] Define Λ as the set of nodes that are alive and the set of
Figure imgf000015_0012
nodes that are dead where
Figure imgf000015_0011
is the set of all nodes in the network. It can be seen that This section assumes that nodes can have the same
Figure imgf000015_0010
initial transmit probability and the same erasure probability q. The following lemma
Figure imgf000015_0016
links the estimator to the BLUE of the network size n for t = 0,1 and
Figure imgf000015_0018
Figure imgf000015_0015
[0046] Lemma 1. The estimator and is proportional
Figure imgf000015_0017
Figure imgf000015_0020
to the BLUE of the network size n. In other words, it can be written as follows:
Figure imgf000016_0001
Note that while the results consider the cases for t = 0,1 and∞, they can be extended for any arbitrary execution time.
[0047] From the expressions proposed in Lemma 1 , it is clear that when the number of queried nodes K = Nmax, then the estimator 2(t) is equal to the BLUE of the network size. Therefore, linking the counting estimator to the BLUE can be conjectured to be valid of all time instant t:
[0048] Conjecture 1. The estimator Z(t) is the proportional to the BLUE n of the network size and can be written as:
With
Figure imgf000016_0002
Simulation Results
[0049] This section presents the simulation results of the proposed counting algorithm. In all the simulations, the bound was set to = 390 for a network containing n = 300 nodes. The field was set to the unit square, the connectivity radius to R = 0.1 and the average packet erasure to Q= 0.1. Due to space limitations, the performance of the network size estimator is not presented.
[0050] FIG. 6 is an example illustrating the relation between the number of queried nodes and the number of estimated nodes in the network for different combinations of query time t and initial transmit probability F. Various embodiments of the present disclosure have found that asking 10% or more of nodes can give a good estimation of the network size. Besides, increasing the initial transmit probability F or the query time t can result in an enhancement of the performances.
[0051] FIG. 7 is an example graph that shows the initial transmit probability F versus the time t, in which the total estimation of network nodes is 95% or more for various queried nodes K. One can notice that for fixed F = 0.5, increasing the queried nodes from K = 10 to K = 20, reduces the average time t to disseminate the node's information in the network.
[0052] FIG. 8 is an example graph that illustrates the number of queried nodes K versus the average erasure probability, in which the total estimation of network nodes is 95% or more for different running times t. As expected, the number of queried nodes to perform 95% estimation of the whole network size can decrease with the number of iterations of the algorithm. This can be explained by the fact that as the number of iterations increases, each node can have more knowledge about the network configuration that results in a less queried nodes.
[0053] Examining the relationship between the queried time t versus the mean number of queried nodes K to achieve 95% or more of the total estimation of network size, it was noted that for t = 8 the counting estimator reached the BLUE. Thus, for the setting, t = 8 was sufficient for the condition t→∞. Increasing the initial transmit probability results in an improvement in the estimation of network size.
[0054] With reference to FIG. 9, shown is a schematic block diagram of the computing environment 903 according to an embodiment of the present disclosure. The computing environment 903 includes one or more computing devices 906. Each computing device 906 includes at least one processor circuit, for example, having a processor 909 and a memory 912, both of which are coupled to a local interface 915. To this end, each computing device 906 may comprise, for example, at least one server computer or like device. The local interface 915 may comprise, for example, a data bus with an accompanying address/control bus or other bus structure as can be appreciated.
[0055] Stored in the memory 912 are both data and several components that are executable by the processor 909. In particular, stored in the memory 912 and executable by the processor 909 is a Node Estimation application 921 , and potentially other applications. Also stored in the memory 912 may be a data store 918 and other data. In addition, an operating system may be stored in the memory 912 and executable by the processor 909.
[0056] It is understood that there may be other applications that are stored in the memory 912 and are executable by the processor 909 as can be appreciated. Where any component discussed herein is implemented in the form of software, any one of a number of programming languages may be employed such as, for example, C, C++, C#, Objective C, Java®, JavaScript* Perl, PHP, Visual Basic®, Python®, Ruby, Flash®, or other programming languages.
[0057] A number of software components are stored in the memory 912 and are executable by the processor 909. In this respect, the term "executable" means a program file that is in a form that can ultimately be run by the processor 909. Examples of executable programs may be, for example, a compiled program that can be translated into machine code in a format that can be loaded into a random access portion of the memory 912 and run by the processor 909, source code that may be expressed in proper format such as object code that is capable of being loaded into a random access portion of the memory 912 and executed by the processor 909, or source code that may be interpreted by another executable program to generate instructions in a random access portion of the memory 912 to be executed by the processor 909, etc. An executable program may be stored in any portion or component of the memory 912 including, for example, random access memory (RAM), read-only memory (ROM), hard drive, solid-state drive, USB flash drive, memory card, optical disc such as compact disc (CD) or digital versatile disc (DVD), floppy disk, magnetic tape, or other memory components.
[0058] The memory 912 is defined herein as including both volatile and nonvolatile memory and data storage components. Volatile components are those that do not retain data values upon loss of power. Nonvolatile components are those that retain data upon a loss of power. Thus, the memory 912 may comprise, for example, random access memory (RAM), read-only memory (ROM), hard disk drives, solid-state drives, USB flash drives, memory cards accessed via a memory card reader, floppy disks accessed via an associated floppy disk drive, optical discs accessed via an optical disc drive, magnetic tapes accessed via an appropriate tape drive, and/or other memory components, or a combination of any two or more of these memory components. In addition, the RAM may comprise, for example, static random access memory (SRAM), dynamic random access memory (DRAM), or magnetic random access memory (MRAM) and other such devices. The ROM may comprise, for example, a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other like memory device.
[0059] Also, the processor 909 may represent multiple processors 909 and/or multiple processor cores and the memory 912 may represent multiple memories 912 that operate in parallel processing circuits, respectively. In such a case, the local interface 915 may be an appropriate network that facilitates communication between any two of the multiple processors 909, between any processor 909 and any of the memories 912, or between any two of the memories 912, etc. The local interface 915 may comprise additional systems designed to coordinate this communication, including, for example, performing load balancing. The processor 909 may be of electrical or of some other available construction.
[0060] Although the Node Estimation application 921 and/or other various systems described herein may be embodied in software or code executed by general purpose hardware as discussed above, as an alternative the same may also be embodied in dedicated hardware or a combination of software/general purpose hardware and dedicated hardware. If embodied in dedicated hardware, each can be implemented as a circuit or state machine that employs any one of or a combination of a number of technologies. These technologies may include, but are not limited to, discrete logic circuits having logic gates for implementing various logic functions upon an application of one or more data signals, application specific integrated circuits (ASICs) having appropriate logic gates, field-programmable gate arrays (FPGAs), or other components, etc. Such technologies are generally well known by those skilled in the art and, consequently, are not described in detail herein.
[0061] The algorithms of FIGS. 2, 4 and 5 show functionality and operation of an implementation of portions of the Node Estimation application 921. If embodied in software, each block may represent a module, segment, or portion of code that comprises program instructions to implement the specified logical function(s). The program instructions may be embodied in the form of source code that comprises human-readable statements written in a programming language or machine code that comprises numerical instructions recognizable by a suitable execution system such as a processor 909 in a computer system or other system. The machine code may be converted from the source code, etc. If embodied in hardware, each block may represent a circuit or a number of interconnected circuits to implement the specified logical function(s).
[0062] Although the algorithms of FIGS. 2, 4 and 5 show a specific order of execution, it is understood that the order of execution may differ from that which is depicted. For example, the order of execution of two or more blocks may be scrambled relative to the order shown. Also, two or more steps shown in succession in FIGS. 2, 4 and 5 may be executed concurrently or with partial concurrence. Further, in some embodiments, one or more of the steps shown in FIGS. 2, 4 and 5 may be skipped or omitted. In addition, any number of counters, state variables, warning semaphores, or messages might be added to the logical flow described herein, for purposes of enhanced utility, accounting, performance measurement, or providing troubleshooting aids, etc. It is understood that all such variations are within the scope of the present disclosure.
[0063] Also, any logic or application described herein, that comprises software or code can be embodied in any non-transitory computer-readable medium for use by or in connection with an instruction execution system such as, for example, a processor 909 in a computer system or other system. In this sense, the logic may comprise, for example, statements including instructions and declarations that can be fetched from the computer-readable medium and executed by the instruction execution system. In the context of the present disclosure, a "computer-readable medium" can be any medium that can contain, store, or maintain the logic or application described herein for use by or in connection with the instruction execution system. [0064] The computer-readable medium can comprise any one of many physical media such as, for example, magnetic, optical, or semiconductor media. More specific examples of a suitable computer-readable medium would include, but are not limited to, magnetic tapes, magnetic floppy diskettes, magnetic hard drives, memory cards, solid-state drives, USB flash drives, or optical discs. Also, the computer-readable medium may be a random access memory (RAM) including, for example, static random access memory (SRAM) and dynamic random access memory (DRAM), or magnetic random access memory (MRAM). In addition, the computer-readable medium may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or other type of memory device.
[0065] Further, any logic or application described herein may be implemented and structured in a variety of ways. For example, one or more applications described may be implemented as modules or components of a single application. Further, one or more applications described herein may be executed in shared or separate computing devices or a combination thereof. For example, a plurality of the applications described herein may execute in the same computing device 906, or in multiple computing devices in the same computing environment 903. Additionally, it is understood that terms such as "application," "service," "system," "engine," "module," and so on may be interchangeable and are not intended to be limiting.
[0066] The present disclosure relates to a novel hybrid size estimation algorithm in an anonymous graph, in which each node knows only its unique identifier. In addition, the present disclosure discusses a node counting algorithm whose output can be used to perform network size estimation using statistical inference methods. For dense graphs and accurate running times, various embodiments of the present disclosure can show that the proposed algorithm produces an estimate of the total number of nodes proportional to the BLUE and that it converges when all the network nodes are queried. Simulation results show that various embodiments of the present disclosure can produce a good estimate when either the running time or the number of queried nodes are reasonable.
[0067] Disjunctive language such as the phrase "at least one of X, Y, or Z," unless specifically stated otherwise, is otherwise understood with the context as used in general to present that an item, term, etc., may be either X, Y, or Z, or any combination thereof (e.g., X, Y, and/or Z). Thus, such disjunctive language is not generally intended to, and should not, imply that certain embodiments require at least one of X, at least one of Y, or at least one of Z to each be present.
[0068] It should be emphasized that the above-described embodiments of the present disclosure are merely possible examples of implementations set forth for a clear understanding of the principles of the disclosure. Many variations and modifications may be made to the above-described embodiment(s) without departing substantially from the spirit and principles of the disclosure. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims.

Claims

CLAIMS Therefore, the following is claimed:
1. A method, comprising
receiving, over a wireless channel, a first transmission packet that includes a first identifier from a first one of a plurality of nodes;
adding the first identifier to a second transmission packet based at least in part on a first comparison between the first identifier and a plurality of existing identifiers associated with the second transmission packet;
adjusting a transmit probability based on the first comparison; and transmitting, over the wireless channel, the second transmission packet to at least one of the plurality of nodes based at least in part on a second comparison between the transmit probability and a probability distribution.
2. The method of claim 1 , further comprising determining a probability distribution associated with the plurality of nodes with respect to the first one of the plurality of nodes.
3. The method of claim 1 , wherein at least one of the plurality of nodes comprises a sensor device.
4. The method of claim 3, wherein the sensor device is configured to measure at least one of: a temperature, a pressure, a voltage, or a current.
5. A system, comprising
a first network device in a network;
an application executable in the first network device, wherein when executed, the application causes the first network device to at least:
generate a first transmission packet that includes a first identifier and a list comprising a plurality of existing identifiers;
receive a second transmission packet that includes a second identifier from a second network device in the network;
add the second identifier to the list in response to a first comparison between the second identifier and the plurality of existing identifiers;
adjust a transmit probability based on the first comparison; and transmit the first transmission packet to a third network device in the network based at least in part on a second comparison between the transmit probability and a probability distribution.
6. The system of claim 5, wherein the first comparison determines whether the second identifier matches one of the plurality of existing identifiers.
7. The system of claim 5, wherein the transmit probability is increased when the second identifier does not match one of the plurality of existing identifiers.
8. The system of claim 5, wherein the first network device transmits the first transmission packet to a data collector in response to a query message from the data collector.
9. The system of claim 5, wherein the transmit probability indicates a probability that the first network device will transmit the first transmission packet.
10. The system of claim 5, wherein the first network device determines the probability distribution by calculating a uniform distribution.
11. The system of claim 5, wherein the first network device transmits the first transmission packet to the third network device when the transmit probability exceeds the probability distribution.
12. The system of claim 5, wherein the first network device resets the transmit probability to an initial probability in response to transmission of the first transmission packet to the third network device.
13. The system of claim 5, wherein the first network device comprises a wireless transceiver, and the first transmission packet is transmitted over a wireless channel using the wireless transceiver.
14. The system of claim 5, wherein the list comprising the plurality of existing identifiers represents a plurality of neighboring wireless network devices located within a predefined radius with respect to a location of the first network device.
15. A method, comprising:
transmitting, using a computing device, a query message to a plurality of sensor devices, the query message being transmitted over a wireless channel;
receiving a transmission packet from at least one of the plurality of sensor devices, the transmission packet comprising data indicating a plurality of identifiers; and
determining, using the computing device, a quantity of the plurality of sensor devices based at least in part on the plurality of identifiers.
PCT/IB2016/054949 2015-08-19 2016-08-18 Robust node estimation and topology discovery for large-scale networks Ceased WO2017029635A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/747,554 US10476750B2 (en) 2015-08-19 2016-08-18 Robust node estimation and topology discovery for large-scale networks

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201562207128P 2015-08-19 2015-08-19
US62/207,128 2015-08-19

Publications (1)

Publication Number Publication Date
WO2017029635A1 true WO2017029635A1 (en) 2017-02-23

Family

ID=56896733

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2016/054949 Ceased WO2017029635A1 (en) 2015-08-19 2016-08-18 Robust node estimation and topology discovery for large-scale networks

Country Status (2)

Country Link
US (1) US10476750B2 (en)
WO (1) WO2017029635A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090265141A1 (en) * 2008-04-21 2009-10-22 Aly Salah A Distributed storage in wireless sensor networks
US20140247821A1 (en) * 2011-12-12 2014-09-04 Fujitsu Limited Transmission control method, node, and non-transitory computer-readable recording medium
US20150063350A1 (en) * 2013-08-27 2015-03-05 Purdue Research Foundation Tracing message transmissions between communicating network devices

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6236365B1 (en) * 1996-09-09 2001-05-22 Tracbeam, Llc Location of a mobile station using a plurality of commercial wireless infrastructures
US7522908B2 (en) * 2003-04-21 2009-04-21 Airdefense, Inc. Systems and methods for wireless network site survey
US8456363B2 (en) * 2008-01-31 2013-06-04 Nec Corporation Position detection device, position detection method and position detection program
US8301156B2 (en) 2008-09-25 2012-10-30 Optimi Corporation Load balancing for capacity improvement in mobile wireless communication networks
IL224878A0 (en) 2013-02-24 2013-07-31 Intucell Ltd Method and apparatus for load management in cellular communication networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090265141A1 (en) * 2008-04-21 2009-10-22 Aly Salah A Distributed storage in wireless sensor networks
US20140247821A1 (en) * 2011-12-12 2014-09-04 Fujitsu Limited Transmission control method, node, and non-transitory computer-readable recording medium
US20150063350A1 (en) * 2013-08-27 2015-03-05 Purdue Research Foundation Tracing message transmissions between communicating network devices

Also Published As

Publication number Publication date
US20180227188A1 (en) 2018-08-09
US10476750B2 (en) 2019-11-12

Similar Documents

Publication Publication Date Title
Shankar et al. Increasing fault tolerance ability and network lifetime with clustered pollination in wireless sensor networks
CN103210669B (en) Systems and methods for routing critical communications
US10742760B2 (en) Neworking internet of things (IoT) devices
Djenouri et al. Energy-aware constrained relay node deployment for sustainable wireless sensor networks
JP2020529171A (en) Traffic measurement methods, devices, and systems
US9455903B2 (en) Recording packet routes using bloom filters
CN109936472A (en) The node computing capability calculated towards mist describes method, exchange method and its equipment
JP6302096B2 (en) Information processing method and apparatus in M2M
Al-Turjman et al. Network experience scheduling and routing approach for big data transmission in the Internet of Things
US20170272326A1 (en) Determining service group based network topologies
Robinson et al. DRP: Dynamic routing protocol in wireless sensor networks
CN117176796A (en) Message pushing method, device, computer equipment and storage medium
WO2025241539A1 (en) Computing power node information advertisement method and apparatus, device and storage medium
CN104252504A (en) Method, equipment and system for inquiring data
CN111092925B (en) Block chain capacity expansion processing method, device and equipment
US10476750B2 (en) Robust node estimation and topology discovery for large-scale networks
CN109194504A (en) Timing link prediction technique and computer readable storage medium towards dynamic network
Ghabri et al. New fault tolerant strategy of wireless sensor network
CN118158151A (en) Load balancing configuration method, device, switch, storage medium and program product
JP2017038148A (en) Tree route determination device and tree route determination method
Douik et al. Robust node estimation and topology discovery algorithm in large-scale wireless sensor networks
Kumar et al. Enhanced AODV routing analysis for mobile Ad Hoc networks
Won et al. A destination-based approach for cut detection in wireless sensor networks
Alouini et al. Robust node estimation and topology discovery for large-scale networks
Niedermayer et al. Continuous Quantile Query Processing in Wireless Sensor Networks.

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16763579

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15747554

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16763579

Country of ref document: EP

Kind code of ref document: A1