1. Field of the Invention
This invention relates generally to sensor systems, and, more particularly, to wireless sensor systems.
2. Description of the Related Art
Wireless sensor networks consist of small sensor devices (which may also be referred to as nodes) with limited resources. For example, a sensor device may include a sensing element, a small amount of CPU power, a relatively small power source such as a battery, a relatively small memory for storing data collected by the sensor, and a relatively small amount of network bandwidth for communicating the data to the network. The sensor devices can be deployed to monitor objects, measure temperature, detect fires and other disaster-related phenomena, and perform other measurements. The sensor devices are often deployed in isolated, hard to reach areas where human involvement is limited. Consequently, the data acquired by sensor nodes typically has a short lifetime and any processing of such data within the network should have low complexity and power consumption.
Although the sensor nodes in the network are typically capable of sensing data, storing data, and/or transmitting data to other sensor nodes, in some cases only a small number of the sensor nodes have collected or sensed information. For example, large-scale wireless sensor network may include a large number (n) of sensor nodes that includes a relatively small number (k<<n) of sensor nodes that have collected or sensed some information. The sensed data may be disseminated throughout the network of sensor nodes to reduce the likelihood that the data collected by one of the small number (k) of sensor nodes may be lost, e.g., due to failure of the sensor node. Dissemination of the sensed data may be particularly important when a limited energy budget and/or a hostile environment are likely to reduce the lifetime of each sensor node. For example, the collected information may be disseminated throughout the network so that each of the (n) sensor nodes stores one (possibly coded) packet. The packets may be disseminated so that the original (k) source packets can be recovered (i.e., decoded) using the packets that are stored in a small number of nearby nodes. For example, the distribution of source packets should allow the original source packets to be recovered using information stored in any set of (1+ε)k nodes, where ε is a small positive number.
Proposed techniques for disseminating sensor data throughout a network of sensor nodes combine a random walk distribution with traps at each of the source nodes. For example, one technique disseminates data by symmetric random walks with traps, where steps from one sensor node to another sensor node are made according to probabilities specified by the well known Metropolis algorithm. Each sensor node has to calculate how many copies of the information packet to send out, and each sensor node has to calculate its probability of trapping using the Metropolis algorithm. The total number of sensors (n) and the number of sources (k) must be specified in order to calculate the number of random walks initiated by each source sensor node. These parameters must also be specified in order to calculate the trapping probability at each sensor node. Additional global information, such as the maximum node degree and/or the maximum number of neighbors in the network, is also required to perform the Metropolis algorithm.
Examples of previously proposed techniques include the algorithm presented by Lin, et al, (Differentiated data persistence with priority random linear code, Proceedings of the 27th International Conference on Distribute Computing Systems, June, 2007) which studied the question “how to retrieve historical data that the sensors have gathered even if some sensors are destroyed or disappeared from the network?” Lin analyzed techniques to increase persistence of sensed data in a random wireless sensor network and proposed decentralized algorithms using Fountain codes to guarantee the persistence and reliability of cached data on unreliable sensors. Lin used random walks to disseminate data from multiple sensors (sources) to the whole network. Based on the knowledge of the total number of sensors n and sources k, each source calculates the number of random walks it needs to initiate and each sensor calculates the number of source packets it needs to trap. In order to achieve some desired packet distribution, the transition probabilities of random walks are specified by the well known Metropolis algorithm.
Dimakis, et al. (Ubiquitous access to distributed data in large-scale sensor networks through decentralized erasure codes, Proceedings of 4th IEEE symposium on Information Processing in Sensor Networks, Los Angeles, Calif., April 2005) proposed a decentralized implementation of Fountain codes that uses geographic routing, where every node has to know its location. The motivation for using Fountain codes is their low decoding complexity. Also, one does not know in advance the degrees of the output nodes in this type of codes. The authors proposed a randomized algorithm that constructs Fountain codes over a grid network using only geographical knowledge of nodes and local randomized decisions. Fast random walks are used to disseminate source data to the storage nodes in the network.
Kamra, et al. (Data persistence in sensor networks: Towards optimal encoding for data recovery in partial network failures, Workshop on Mathematical Performance Modeling and Analysis, June 2005) proposed a technique called growth codes to increase data persistence in wireless sensor networks, namely, increase the amount of information that can be recovered at the sink. Growth coding is a linear technique in which information is encoded in an online distributed way with increasing degree of a storage node. Kamra showed that growth codes can increase the amount of information that can be recovered at any storage node at any time period whenever there is a failure in some other nodes. Kamra did not use robust or soliton distributions, but proposed a new distribution depending on the network condition to determine degrees of the storage nodes.
Lin, et al. (Differentiated data persistence with priority random linear code, Proceedings of 27th International Conference on Distributed Computing Systems, Toronto Canada, June 2007) proposed decentralized algorithms to compute the minimum cost subgraphs for establishing multicast connections using network coding. Also, Lin addressed the problem of minimum-energy multicast in wireless networks as well as studying directed point-to-point multicast and evaluated the case of elastic rate demand.
The previously proposed dissemination techniques have a number of drawbacks. First, the Metropolis algorithm may not result in a distribution of information that results in each node storing a coded packet that corresponds to the contents of a coded packet that was formed by applying centralized Luby Transform (LT) coding to the collected data in the source data packets. Consequently, it may not be possible to decode the stored information and, if it is possible to decode the stored information, the encoding and/or decoding complexities may not be linear and may therefore consume a larger amount of energy than a linear encoding and/or decoding process such as centralized Luby Transform (LT) coding/decoding. Moreover, global information, such as the numbers of sensors and sources, the maximum node degree, the maximum number of neighbors, and the like may be difficult or impossible to determine for a large-scale sensor network, particularly if the topology of the network can change, e.g., due to sensor failure or the addition of sensors to the network. The conventional algorithms also assume that each sensor node only encodes data after receiving a sufficient number of source packets. Consequently, each sensor node must maintain a temporary memory buffer that is large enough to store the received information.
The disclosed subject matter is directed to addressing the effects of one or more of the problems set forth above. The following presents a simplified summary of the disclosed subject matter in order to provide a basic understanding of some aspects of the disclosed subject matter. This summary is not an exhaustive overview of the disclosed subject matter. It is not intended to identify key or critical elements of the disclosed subject matter or to delineate the scope of the disclosed subject matter. Its sole purpose is to present some concepts in a simplified form as a prelude to the more detailed description that is discussed later.
In one embodiment, a method is provided for implementation in a first sensor node that is a member of a sensor node network including a plurality of sensor nodes. One embodiment of the method includes accessing, at the first sensor node, information indicative of a sensing operation performed by at least one of the plurality of sensor nodes. This embodiment of the method also includes randomly selecting, at the first sensor node, a second sensor node that is adjacent the first sensor node in the sensor node network. The random selection is made independent of a location of the second sensor node. This embodiment of the method further includes transmitting the information indicative of the sensing operation from the first sensor node to the second sensor node.
The disclosed subject matter may be understood by reference to the following description taken in conjunction with the accompanying drawings, in which like reference numerals identify like elements, and in which:
While the disclosed subject matter is susceptible to various modifications and alternative forms, specific embodiments thereof have been shown by way of example in the drawings and are herein described in detail. It should be understood, however, that the description herein of specific embodiments is not intended to limit the disclosed subject matter to the particular forms disclosed, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the scope of the appended claims.
Illustrative embodiments are described below. In the interest of clarity, not all features of an actual implementation are described in this specification. It will of course be appreciated that in the development of any such actual embodiment, numerous implementation-specific decisions should be made to achieve the developers' specific goals, such as compliance with system-related and business-related constraints, which will vary from one implementation to another. Moreover, it will be appreciated that such a development effort might be complex and time-consuming, but would nevertheless be a routine undertaking for those of ordinary skill in the art having the benefit of this disclosure.
The disclosed subject matter will now be described with reference to the attached figures. Various structures, systems and devices are schematically depicted in the drawings for purposes of explanation only and so as to not obscure the present invention with details that are well known to those skilled in the art. Nevertheless, the attached drawings are included to describe and explain illustrative examples of the disclosed subject matter. The words and phrases used herein should be understood and interpreted to have a meaning consistent with the understanding of those words and phrases by those skilled in the relevant art. No special definition of a term or phrase, i.e., a definition that is different from the ordinary and customary meaning as understood by those skilled in the art, is intended to be implied by consistent usage of the term or phrase herein. To the extent that a term or phrase is intended to have a special meaning, i.e., a meaning other than that understood by skilled artisans, such a special definition will be expressly set forth in the specification in a definitional manner that directly and unequivocally provides the special definition for the term or phrase.
The techniques described herein include methods to disseminate data acquired by a small number K of sensor nodes (sources) so that the data is redundantly distributed throughout the network to nodes in the network. At the end of the dissemination process process, the K originally acquired pieces of information can be recovered from a collection of nodes of a size that is slightly larger than K, with low computational complexity. The main advantages of such data dissemination are prolonged lifetime, increased spatial availability, as well as computationally and spatially easy access to the acquired data.
In the illustrated embodiment, the sensors 115, 120 perform the measurements of the temperature indicated by the thermometer symbol 110 and store the information indicating the results of these measurements. The information indicative of the temperature (or other measured quantity) collected by the sensors 115, 120 is then distributed throughout the wireless sensor network 100 so that users that have access to the wireless sensor network 100, such as users that can access the wireless sensor network 100 through the workstation 125, can access the collected information from sensors 105 that are proximate the workstation 125. Distributing the information has the additional advantage that the information may be preserved even if one or more of the sensors 115, 120 is disabled or otherwise becomes unavailable. For example, the sensor 115 may be removed from or disconnected from the wireless sensor network 100, as indicated by the dotted lines. The information collected by the sensor 115 may nevertheless be available in other sensors 105 because this information has been distributed.
The wireless sensor network 100 includes n sensor nodes 105 out of which k nodes 105 are in possession of k information packets. The information packets may have been sensed or collected in some other way by the k sensor nodes 105. The packets are then distributed so that each of the n sensor nodes 105 stores one (possibly coded) packet and the original k source packets can be recovered later in a computationally simple way from any k(1+ε)nodes 105, where ε>0 is a relatively small value. The distribution algorithms are based on a simple random walk and Fountain codes. In contrast to other proposed distribution schemes, the algorithms described herein distribute information to the sensor nodes 105 but the sensor nodes 105 may not know global information such as the total number of nodes, the number of nodes that sensed were collected the original packets, or how the sensor nodes 105 are interconnected. For example, the sensor nodes 105 do not maintain any routing tables that indicate the interconnections of the various sensor nodes 105. One embodiment of the distribution algorithm may be referred to as LT-Codes based Distributed Storage-I (LTCDS-I) and another embodiment may be referred to as LT-Codes based Distributed Storage-II (LTCDS-II).
The various embodiments of the distribution algorithm use simple random walks without trapping to disseminate source packets. In contrast to other proposed methods, the embodiments of the distribution algorithm described herein demand little global information and memory at each sensor 105. For example, in LTCDS-I, only the values of n and k are needed, whereas the maximum node degree, which is more difficult to obtain, is not required. In LTCDS-TI, no sensor 105 needs to know any global information (e.g., the sensors 105 due not need to know n and k). Instead, sensors 105 can obtain estimates for those parameters by using properties of random walks. Moreover, in embodiments of the distribution algorithm described herein, each sensor makes decisions and performs encoding online upon each reception of the source packets instead of waiting until all the necessary source packets are collected to do encoding. This mechanism reduces the memory demand significantly.
In the illustrated embodiment, the wireless sensor network 100 consists of n nodes 105 that are uniformly distributed at random in a region TA=[L, L]2 for L>1. The density of the network is given by
where |A| is the two-dimensional Lebesgue measure (or area) of A. Each sensor node 105 has an identical communication radius of 1; thus any two nodes 105 can communicate with each other if and only if their distance is less than or equal to 1. This model is known in the art and conventionally referred to as a random geometric graph. Among the n nodes 105, there are k source nodes that have information to be disseminated throughout the network for storage. The k nodes 105 are uniformly and independently distributed at random among the n nodes 105. Usually, the fraction of source nodes 105, i.e., k/n, is not very large (e.g., 10%, or 20%). Note that, although the nodes 105 are uniformly distributed at random in a region, embodiments of the algorithms described herein and the results of applying these algorithms do not rely on this assumption and can be applied for any network topology, for example, regular grids.
The sensor nodes 105 may have no knowledge about the locations of other nodes 105 and no routing table may be maintained. Consequently, distribution algorithms that utilize routing tables or other mapping information that indicates the locations of the nodes 105 cannot be applied to distributing information amongst these sensor nodes 105. Moreover, each node 105 has limited (or no) knowledge of global information, but each node 105 is aware of which nodes 105 are its neighbors. The limited global information refers to the total numbers of nodes n and sources k. Any further global information, for example the maximal number of neighbors in the network, may not be available. Hence, algorithms that require this information cannot be used to distribute information among the sensor nodes 105.
Based on this model of the network 100, the term “node degree” may be defined as:
(Node Degree) Consider a graph G=(V,E), where V and E denote the set of nodes and links, respectively. Given u, υ, ε V, we say u and υ are adjacent (or u is adjacent to υ, and vice versa) if there exists a link between u and υ, i.e., (u,υ) ε E. In this case, we also say that u and υ are neighbors. Denote by N(u) the set of neighbors of a node u. The number of neighbors of a node u is called the node degree of u, and denoted by dn(u), i.e., |N(u)|=dn(u). The mean degree of a graph G is then given by
where |V| is the total number of nodes in G.
Based on this definition of the Fountain codes, the term “code degree” may be defined as:
(Code Degree) For Fountain codes, the number of source blocks used to generate an encoded output y is called the code degree of y, and denoted by dc(y). By constraction, the code degree distribution Ω(d) is the probability distribution of dc(y).
LT (Luby Transform) codes are a special class of Fountain codes which uses known Ideal Soliton or Robust Soliton distributions. The Ideal Soliton distribution Ωis(d) for k source blocks is given by
Let R=c0√{square root over (k)}ln(k/δ), where c0 is a suitable constant and 0<δ<1. The Robust Soliton distribution for k source blocks is defined as follows. Define
The Robust Soliton distribution is given by
The following result provides the performance of the LT codes with Robust Soliton distribution.
[Luby [?]] For LT codes with Robust Soliton distribution, k original source blocks can be recovered from any k+O(√{square root over (k)}ln2(k/δ)) encoded output blocks with probability 1−δ. Both encoding and decoding complexity is O(k ln(k/δ)).
A first exemplary embodiment of a distribution algorithm (referred to herein as LTCDS-T) disseminates source packets throughout the wireless sensor network 100 by a simple random walk. Each node 105 in the network 100 is aware of the total number of sources in the network and the total number of nodes 105. The nodes 105 do not need to know the maximum degree of the graph. The dissemination process proceeds iteratively. At each round, each node u that has packets to transmit chooses one node υ among its neighbors uniformly independently at random, and sends the packet to the node υ. In order to avoid the local-cluster effect—in which each source packet is trapped most likely by its neighbor nodes—each node accepts a source packet equiprobably. To achieve this, each source packet visits each node in the network at least once.
For a random walk on a graph, the “cover time” is defined as follows:
(Cover Time) Given a graph G, let Tcover(u) be the expected length of a random walk that starts at node u and visits every node in G at least once. The cover time of G is defined by
For a simple random walk on a random geometric graph, the following result bounds the cover time.
[Avin and Ercal [?]] If a random geometric graph with n nodes is a connected graph with high probability, then
T
cover(G)=⊖(n log n). (1)
As a result of the cover time, a counter for each source packet can be set and increased by one after each forward transmission until the counter reaches some threshold C1n log n to guarantee that the source packet visits each node in the network at least once.
[(i)]
Initialization Phase: [(1)]
Each node u in the network draws a random number dc(u) according to the distribution Ωis(d) given by (??) (or Ωrs(d) given by (??)). Each source node si, i=1, . . . , k generates a header for its source packet χs
packets
Each source node si sends out its own source packet χs
The chosen node u accepts this source packets
and updates its storage as
y
u
+
=y
u
−⊕χs
where yu− and yu+ denote the packet that the node u stores before and after the updating, respectively, and ⊕ represents XOR operation. No matter whether the source packet is accepted or not, the node u puts it into its forward queue and set the counter of χs
c(χs
The encoding phase may be performed as follows:
[(1)]
In each round, when a node u receives at least one source packet before the current round, u forwards the head-of-line (HOL) packet χ in its forward queue to one of its neighbor υ, chosen uniformly at random among all its neighbors N(u).
Depending on how many times χ visits υ, the node υ makes its decisions: [•]
If it is the first time that χ visits υ, then the node υ accepts this source packet with probability d/k and updates its storage as
yυ+=yυ−⊕χ. (1)
If χ has visited υ before and c(χ)<C1n log n where C1 is a system parameter, then the node υ accepts this source packet with probability 0.
No matter χ is accepted or not, the node υ puts it into its forward queue and increases the counter of χ by one:
c(χ)=c(χ)+1. (2)
If χ has visited υ before c(χ)≦Cln log n then the node υ discards the packet χ0 forever.
When a node u makes its decisions for all the source packets χs
The pseudo-code for the LTCDS-I algorithm may be written as follows:
The following theorem (Theorem 1) establishes the code degree distribution of each storage node induced by the LTCDS-I algorithm:
When a sensor network with n nodes and k sources finishes the storage phase of the LTCDS-I algorithm, the code degree distribution of each storage node u is given by
where dc(u) is given in the initialization phase of the LTCDS-I algorithm from distribution Ω′(d) (i.e., Ωis(d) or Ωrs(d)), and {tilde over (d)}c(u) is the code degree of the node u resulting from the algorithm.
For each u, dc(u) is drawn from a distribution Ω′(d) (i.e., Ωis(d) or Ωrs(d)). Given dc(u), the node u accepts each source packet with probability
independently of each other and dc(u). Thus, the number of source packets that the node u accepts follows a Binomial distribution with parameter
and thereafter (?48 ) holds.
Theorem 1 indicates that the code degree {tilde over (d)}c(u) is not the same as dc(u). In fact, one may achieve the exact desired code degree distribution by letting all the sensors hold the received source packets in their temporary buffer until they collect all k source packets. Then the sensors can randomly choose dc(u) packets. In this way, the resulting degree distribution is exactly the same as Ωis or Ωrs. However, this requires that each sensor has enough buffer or memory, which is usually not practical, especially when k is large. Therefore, in LTCDS-I, each sensor may be assumed to have very limited memory and they may make their decision upon each reception.
The following theorem (Theorem 2) demonstrates the relationship between the decoding performance of the LTCDS-I algorithm and conventional LT coding:
Suppose sensor networks have n nodes and k sources and the LTCDS-I algorithm uses the Robust Soliton distribution Ωrs. Then, when n and k are sufficient large, the k original source packets can be recovered from any k+O(√{square root over (k)}ln2(k/δ)) storage nodes with probability 1−δ. The decoding complexity is O(k ln(k/δ)).
Another performance metric is the transmission cost of the algorithm, which is characterized by the total number of transmissions (the total number of steps of k random walks). The total number of transmissions for this algorithm is given by the theorem (Theorem 3):
Denote by TLTCDS(I) the total number of transmissions of the LTCDS-I algorithm, then we have
T
LTCDS
(I)=⊖(k n log n). (1)
where k is the total number of sources, and n is the total number of nodes in the network.
Theorem 3 can be proved by noting that each of the k source packets is stopped and discarded if and only if it has been forwarded for C1n·log(n) times for some value of the constant C1. Then the total number of transmissions of the LTCDS-I algorithm for all k source packet is a direct consequence and is given by the above theorem.
A second exemplary embodiment of a distribution algorithm (referred to herein as LTCDS-II) also disseminates source packets throughout the wireless sensor network 100 by a simple random walk. However, in contrast to the first exemplary embodiment (LTCDS-I), each node 105 in the network 100 is not aware of the total number of sources in the network and the total number of nodes 105. Instead, properties of random walks are used to infer estimates of the total number of sources in the network and the total number of nodes 105.
An “inter-visit time” for a collection of nodes 105 can be defined as:
(Inter-Visit Time) For a random walk on a graph, the inter-visit time of node u. Tvisit(u), is the amount of time between any two consecutive visits of the random walk to node u. This inter-visit time is also called return time.
For a simple random walk on random geometric graphs, the following lemma (Lemma 1) provides results on the expected inter-visit time of any node:
For a node u with node degree dn(u) in a random geometric graph, the mean inter-visit time is given by
where μ is the mean degree of the graph given by Equation(??).
The proof is straightforward by following the standard result of stationary distribution of a simple random walk on graphs and the mean return time for a Markov chain. Lemma 1 demonstrates that if each node (a can measure the expected inter-visit time E[Tvisit(u)], then the total number of nodes n can be estimated by
However, the mean degree if is global information and may be hard to obtain. Thus, a further approximation can be made in which the estimate of n by the node u is given by:
{circumflex over (n)}(u)=E[Tvisit(u)].
Hence, every node u computes its own estimate of n. In embodiments of the distributed storage algorithms, each source packet follows a simple random walk. Since there are k sources, we have k individual simple random walks in the network. For a particular random walk, the behavior of the return time is characterized by Lemma 1 that provides the inter-visit time.
An inter-packet time can also be defined as the inter-visit time among all k random walks:
(Inter-Packet Time) For k random walks on a graph, the inter-packet time of node u, Tpacket(u), is the amount of time between any two consecutive visits of those k random walks to node u.
The mean value of the inter-packets time is given by the following lemma (Lemma 2):
For a node u with node degree dn(u) in a random geometric graph with k simple random walks, the mean inter-packet time is given by
where μ is the mean degree of the graph given by (??).
The lemmas (Lemma 1 and Lemma 2) that provide the inter-visit time and the inter-packet time can be used to demonstrate that for any node u, an estimation of k can be obtained by
After obtaining estimates for both n and k, similar techniques can be used in LTCDS-I to do LT coding and storage.
The initialization phase of the second exemplary algorithm is given by:
[(1)]
Each source node si, i=1, . . . k generates a header for its source packet χs
Each source node si sends out its own source packet χs
The node u puts χs
c(χs
The inference phase of the second exemplary embodiment of the algorithm is given by:
[(1)]
For each node u, suppose χs(u)
For each node u, let J(s(u)i) be the number of visits of source packet χs(u)
Then, the average inter-visit time for node u is given by
Let Jmin=mins(u)
Then the node u can estimate the total number of nodes in the network and the total number of sources as
In this phase, the counter c(χs
The encoding phase of the second exemplary embodiment of the algorithm is given by the following. When a node u obtains estimates {circumflex over (n)}(u) and {circumflex over (k)}(u), it begins encoding phase which is the same as the one in LTCDS-I Algorithm except that the code degree dc(u) is drawn from distribution χis(d) (or Ωrs(dl) with replacement of k by k(u), and a source packet χs
When a node u has made its decisions for {circumflex over (k)} source packets, it finishes its encoding process and yu becomes the storage packet of u. The total number of transmissions (the total number of steps of k random walks) in the LTCDS-II algorithm has the same order as LTCDS-I, as indicated by the theorem below (Theorem 4):
Denote by TLTCDS(II) the total number of transmissions of the LTCDS-II algorithm, then we have
T
LTCDS
(II)=⊖(kn log n). (1)
where k is the total number of sources, and n is the total number of nodes in the network.
The proof of Theorem 4 is as follows:
In the interference phase of the LTCDS-II algorithm, the total number of transmissions is upper bounded C′n for some constants C′<0. That is because each node needs to receive the first visit source packet for C2 times, and by Lemma ??, the mean inter-visit time is ⊖(n).
In the decoding phase, the same as in the LTCDS-I algorithm, in order to guarantee that each source packet visits all the nodes at least once, the number of steps of the simple random walk is ⊖(n log n). In other words, each source packet is stopped and discarded if and only if the counter reaches the threshold C3n log(n) for some system parameter C3. Therefore, we have (??).
Once the storage nodes 105 have stored values associated with the various packets collected by the source nodes 105, the data may be updated. In the illustrated embodiment, data is updated after all storage nodes saved their values y1, y2, . . . yu, but a sensor node, say si, wants to update its value to the appropriate set of storage nodes in the network. The following updating algorithm applies for both LTCDS-I and LTCDS-II. For simplicity, we illustrate the idea with LTCDS-I.
Assume the sensor node prepared a packet with its ID, old data χs
packets
The storage nodes keep ID's of the accepted packets and so an iteration of a random walk can be run and each node can check for the packet's ID. Assume the node u keeps track of all ID's of its accepted packets. Then the node as accepts the updated message if ID of the packet is already included in the u's ID list. Otherwise u forwards the packet and increments the time-to-live counter. If this counter reaches the threshold value, then the packet will be discarded.
The following steps describe one exemplary embodiment of the update scenario:
[(i)]
Preparation Phase:
The node si prepares its new packet with the new and old data along with its ID and counter. Also si add an update counter token initialized at 1 for the first updated packet. So, we assume that the following steps happen when token is set to 1.
packets
si chooses at random a neighbor node u, and sends its packetsi.
Encoding Phase:
The node u checks if the packets
yu+=yu−⊕χs
If no, it will add this updated packet into its forward queue with incrementing the counter
c(χ′s
The packets
Storage Phase:
If all nodes are done with updating their values yi. One can run the decoding phase to retrieve the original and update information.
If one random walk is performed for each update, and if h is the number of nodes updating their values, then we have the following result:
The total number of transmissions needed for the update process is bounded by ⊖(hn log n).
The performance of embodiments of the algorithms described herein may be evaluated by simulating the wireless sensor network 100. The performance evaluations use the following definitions. The “decoding ratio” is defined as:
(Decoding Ratio) Decoding ratio η is the ratio between the number of queried nodes h and the number of sources k, i.e.,
The successful decoding probability may also be defined as:
(Successful Decoding Probability) Successful decoding probability Ps is the probability that the k source packets are all recovered from the h querying nodes.
In one embodiment of the simulation, Ps is evaluated as follows. Suppose the network has n nodes and k sources, and h nodes are queried. There are (hn) ways to choose such h nodes, and one tenth of these choices may be selected uniformly at random:
Let Ms be the size of the subset these M choices of it query nodes from which the k source packets can be recovered. Then, the successful decoding probability is:
and the system parameter C1=3.
In
To investigate how the system parameter C1 affects the decoding performance of the LTCDS-I algorithm, the decoding ratio η can be fixed and the system parameter C1 can be varied.
Embodiments of the decentralized algorithms described herein utilize Fountain codes and random walks to distribute information sensed by k sensing source nodes to n storage nodes. These algorithms are simpler, more robust, and less constrained in comparison to previous solutions that require knowledge of network topology, maximum degree of a node, or knowing values of n and k. The computational encoding and decoding complexity of these algorithms was computed and the performance of the algorithms was simulated with small and large numbers of k and n nodes. It was demonstrated that a node can successfully estimate the number of sources and total number of nodes if it can only compute the inter-visit time and inter-packet time.
Portions of the disclosed subject matter and corresponding detailed description are presented in terms of software, or algorithms and symbolic representations of operations on data bits within a computer memory. These descriptions and representations are the ones by which those of ordinary skill in the art effectively convey the substance of their work to others of ordinary skill in the art. An algorithm, as the term is used here, and as it is used generally, is conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of optical, electrical, or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise, or as is apparent from the discussion, terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical, electronic quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
Note also that the software implemented aspects of the disclosed subject matter are typically encoded on some form of program storage medium or implemented over some type of transmission medium. The program storage medium may be magnetic (e.g., a floppy disk or a hard drive) or optical (e.g., a compact disk read only memory, or “CD ROM”), and may be read only or random access. Similarly, the transmission medium may be twisted wire pairs, coaxial cable, optical fiber, or some other suitable transmission medium known to the art. The disclosed subject matter is not limited by these aspects of any given implementation.
The particular embodiments disclosed above are illustrative only, as the disclosed subject matter may be modified and practiced in different but equivalent manners apparent to those skilled in the art having the benefit of the teachings herein. Furthermore, no limitations are intended to the details of construction or design herein shown, other than as described in the claims below. It is therefore evident that the particular embodiments disclosed above may be altered or modified and all such variations are considered within the scope of the disclosed subject matter. Accordingly, the protection sought herein is as set forth in the claims below.
This application claims benefit of priority to U.S. Provisional Patent Application 61/046,643, filed on Apr. 21, 2008.
Number | Date | Country | |
---|---|---|---|
61046643 | Apr 2008 | US |