The Internet is evolving from an “Internet of Human Beings” to an “Internet of Things”. Such a trend includes connecting millions of objects like thermostats, electric power meters, and every conceivable machine used in the daily lives of consumers directly or indirectly to one another and to access points and servers so that the objects, which are controlled using remote sensor nodes, are managed in an optimal and efficient manner.
Embodiments of the present disclosure include systems, methods, and devices for managing power consumption in a wireless sensor network. Such embodiments may include (a) a remote server, a wide area network coupled to the remote server, at least one access point device coupled to the remote server through the wide area network, one or more sensors coupled to each other and to the access point through a wireless sensor network, as well as one or more datasinks wherein each datasink is capable of being a data coordinator and capable of receiving sensor information from the one or more sensors and transmits sensor information to the at least access point. Further, a first set of sensors are configured to be one or more routing sensors and a second set of sensors are configured to be one or more end point sensors based on a graph theoretic algorithm to reduce transmitting power of each sensor and reduce overall power of the wireless sensor network, and configuring a first operational wireless sensor network. In addition, the first set of sensors and second set of sensors is each a subset of the one or more sensors and a sensor is capable of being a routing sensor and an endpoint sensor.
The graph theoretic algorithm includes selecting a link wherein the link couples a node pair and a node can be selected from the group consisting of an access point, datasink, routing sensor, or endpoint sensor and mapping the distance between the selected node pairs to a corresponding bridging power level wherein the bridging power level between a node pair is designated as a weight of the link. Further, the graph theoretic algorithm includes ranking the weighted links for each corresponding node pair in nondecreasing order of weight and selecting a next least weighted link and corresponding node pair as part of a subgraph. In addition, the graph theoretic algorithm may include repeating the selecting of the next least weighted link and corresponding node pair as part of the subgraph until every node is part of the subgraph and generates a spanning tree.
In such an embodiment, the remote server uses the graph theoretic algorithm to configure the first set of sensor as routing sensors and the second of sensors as end point sensors over the wide area network through the access point. The datasink may receive sensor information corresponding to each of the one or more routing sensors and one or more end point sensors and process the sensor information to generate sub-network information. Also, the access point transmits the sensor information and the sub-network information to the remote server over the wide area network. Another aspect of the embodiment may be the remote server processing the sensor information for a subset of the one or more routing sensors and one or more end point sensors and the network and sub-network information, modifying the configuration of the one or more routing sensors and one or more end point sensors based on the sensor information and network and sub-network information to generate a second operational wireless sensor network.
Such an embodiment may also include a remote computing device coupled to the access point and the remote server over the wide area network, the remote computing device having a user interface capable of receiving user input and retrieving and displaying sensor information and network and sub-network information. Further, the datasink (i) receives sensor information corresponding to each of the one or more routing sensors and one or end point sensors; (ii) processes the sensor information to generate sub-network information and the access point transmits the sensor information and the sub-network information to the remote computing device and the remote server over the wide area network.
Included in the embodiment may be the remote computing device that processes the sensor information for a subset of the one or more routing sensors and one or more end point sensors and the network and sub-network information in response to a first user input as well as modifies the configuration of the one or more routing sensors and one or more end point sensors based on the sensor information and network and sub-network information in response to a second user input to generate a third operational wireless sensor network. Moreover, the graph theoretic algorithm is Kruskal's algorithm which is used to a generate spanning tree.
Embodiments of the present disclosure include a method for managing power consumption in a wireless sensor network. Such a method includes selecting a link wherein the link couples a node pair and a node can be an access point, routing sensor, or endpoint sensor, mapping the distance between the selected node pairs to a corresponding bridging power level wherein the bridging power level between a node pair is designated as a weight of the link as well as ranking the weighted links for each corresponding node pair in nondecreasing order of weight and selecting a next least weighted link and corresponding node pair as part of a subgraph. Further, the exemplary method repeats the selecting of the next least weighted link and corresponding node pair as part of the subgraph until every node is part of the subgraph and generates a spanning tree.
The exemplary method may also include receiving sensor information corresponding to each of the one or more routing sensors and one or more end point sensors from one or more devices, the one or more devices selected form the group of one or more access points and one or more datasinks, processing the sensor information to generate sub-network information by one or more devices, the one or more devices selected form the group of one or more access points and one or more datasinks and transmitting the sensor information and the sub-network information to the remote server over the wide area network by one or more access points.
In addition, the exemplary method may include processing the sensor information for a subset of the one or more routing sensors and one or more end point sensors and the network and sub-network information and modifying the configuration of the one or more routing sensors and one or more end point sensors based on the sensor information and network and sub-network information to generate a second operational wireless sensor network.
Other steps in the exemplary method may be receiving sensor information corresponding to each of the one or more routing sensors and one or end point sensors from one or more devices, the one or more devices selected form the group of one or more access points and one or more datasinks, processing the sensor information to generate sub-network information by one or more devices, the one or more devices selected form the group of one or more access points and one or more datasinks, and transmitting the sensor information and the sub-network information to the remote computing device and the remote server over the wide area network by one or more access points.
Further steps in the exemplary method may include processing the sensor information for a subset of the one or more routing sensors and one or more end point sensors and the network and sub-network information in response to a first user input, modifying the configuration of the one or more routing sensors and one or more end point sensors based on the sensor information and network and sub-network information in response to a second user input to generate a third operational wireless sensor network.
Embodiments of the disclosure may include an access point device for managing power consumption in a wireless sensor network. Such an exemplary device may include a processor, a memory coupled to the processor, and one or more communication interfaces coupled to the processor. Further, the device (i) stores the sensor information and the network information in the memory; (ii) receives sensor information corresponding to each of the one or more routing sensors and one or more end point sensors form the one or more communication interfaces; (iii) processes the sensor information to generate network information using the processor implementing a graph theoretic algorithm; and (iv) transmits the sensor information and the network information to the one or more communication interfaces.
Other embodiments may include a remote server device for managing power consumption in a wireless sensor network. The exemplary device may include a processor, a memory coupled to the processor, and one or more communication interfaces coupled to the processor. Further the device: (i) stores the sensor information and the network information in the memory; (ii) processes the sensor information for a subset of the one or more routing sensors and one or more end point sensors and the network information using the processor implementing a graph theoretic algorithm; (iii) transmits reconfiguration data of the one or more routing sensors and one or more end point sensors based on the sensor information and network information using the processor through the one or more communication interfaces. The foregoing summary is illustrative only and is not intended to be in any way limiting. In addition to the illustrative aspects, embodiments, and features described above, further aspects, embodiments, and features will become apparent by reference to the drawings and the following detailed description
The accompanying drawings, which are incorporated in and constitute part of this specification, illustrate embodiments of the invention and together with the description serve to explain the principles of the present disclosure. The embodiments illustrated herein are presently preferred, it being understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown, wherein:
In the following detailed description, reference is made to the accompanying drawings, which for a part hereof. In the drawings, similar symbols typically identify similar components, unless context dictates otherwise. The illustrative embodiments described in the detailed description, drawings, and claims are not meant to be limiting. Other embodiments may be utilized, and other changes may be made, without departing from the spirit or scope of the subject matter presented herein. It will be readily understood that the aspects of the present disclosure, as generally described herein, and illustrated in the Figures, can be arranged, substituted, combined, separated, and designed in a wide variety of difference configurations, all of which are explicitly contemplated herein. Further, in the following description, numerous details are set forth to further describe and explain one or more embodiments. These details include system configurations, block module diagrams, flowcharts (including transaction diagrams), and accompanying written description. While these details are helpful to explain one or more embodiments of the disclosure, those skilled in the art will understand that these specific details are not required in order to practice the embodiments.
In an embodiment, the wireless sensors or sensors nodes (112-122 and 126-136) are under the control of an access point sensor (110 and 124). The access point sensor is coupled to a communication network 102 and the access point sensor (110 and 124) can be managed and controlled by a remote server. The sensor nodes (110-122 and 124-136) may be randomly located in a bounded area and in one embodiment the wireless sensors (110-122 and 124-136) may control the total power consumption of the sensor nodes (110-122 and 124-136), including that of the access point sensor (110 and 124) such that the total power consumption of the wireless sensors (110-136) is reduced. This is because the wireless sensors (110-136) may be distributed over a wide area, including in locations which are not easily accessible. Thus, the number of sensors and the type of sensors could be large and varied, especially in industrial applications. In one embodiment, the nodes (1110-136) of the sensor network may be used, among other things, for observation and control of elements like thermostats, electrical outlets, electric meters, etc. in an energy management system. Other embodiments may include other applications such as reading water/gas meters, control of security cameras and motion sensors, etc.
Several conventional techniques for power conservation of wireless sensor nodes involve a game-theoretic framework. Alternatively, the pending disclosure describes a graph-theoretic approach such that in a wireless sensor network, sensor nodes are designated as either a routing node or an endpoint node. In one embodiment, a wireless sensor node may consume a certain level of power regardless of whether the wireless sensor node is a routing node or a sensor node. A parameter that significantly affects power consumption of a sensor node is power level of a sensor's transmitter, a needed transmitter power level being a function of the distance the sensor node is required to bridge to communicate with a destination node.
In such an embodiment, in order to ensure that overall power consumption of the nodes in the wireless is minimal, sensor nodes and the links interconnecting all of the node pairs may be designated as a set of vertices and edges of a weighted graph to obtain the minimum spanning tree. A graph theoretic algorithm such as Kruskal's algorithm or Dijkstra's algorithm, may be used to generate the minimum spanning tree considering edges in nondecreasing order of weight, which may represent the power level required for the two incident nodes to communicate. The power level required to bridge the distance between nodes may include the effects of noise, interference, and other impairments. The overall power consumption of a wireless sensor network (WSN) can be minimized by designating certain sensor nodes to route information to other sensor nodes based on node proximity. The topology resulting from the application of such graph theoretic algorithms facilitates the choice of the routing nodes and the resulting WSN structure operates in such a way that each node is set at the minimum power level possible, thus reducing the overall power consumption of the WSN.
Each of the end point sensors (166-172) may be located in a portion of the premises and gathers information (e.g. motion, temperature, etc.). An end point sensor (166-172) may be coupled wirelessly to one or more routing sensors (160-164). Routing sensors may have the same capability as end point sensors in terms of gathering information (e.g. motion, temperature, etc.). However, in addition to such capability, each routing sensor may receive information from one or more endpoint sensors as well as its own gathered information and transmit the sensor information to one or more datasinks (156-158) or the access point. Further, an end point sensor may also transmit gathered information to the one or more datasinks (156-158). In addition, the datasinks (156-158) may query the end point and routings sensors for information. Datasinks (156-158) gather information from the endpoint and routing sensors then process and manage the gathered information. Such functions performed by the datasink (156-158) may be referred to as data coordination. Once information is gathered and possibly processed and the end point and routing sensors are managed, the datasink transmits the gathered information to the access point 154 for further processing or forwards to a remote computer server. The access point 154 may receive the information from the datasinks (156-158) as well as the routing sensors (160-162). In other embodiments, end point sensors (166-172) may be able to transmit gathered information to the access points 154 directly. The devices shown in
In one embodiment, Node A in
Referring to
The graph theoretic algorithm described in reference to
In one embodiment, node A in
Dijkstra's Algorithm can be used to generate a spanning tree structure for networks modeled as weighted graphs. However, the type of spanning tree which Dijkstra's algorithm generates is one which takes a root node in the network and determines the minimum-weight path from the root node to every other node in the network. In the case of the WSN depicted in
Referring to
Alternatively, in another embodiment, Kruskal's Algorithm takes a weighted graph such as in
A further step in the example method may be mappings distances between sensor nodes in the WSN to the minimum required power levels for pair-wise node communication using software and/or hardware to detect the distance between sensor nodes. Alternatively, a user may enter the distances between sensor nodes using the user interface of the client computing device. Another step may be software application on the access point, remote computer server, or client computing device orders the links of the network in nondecreasing order of minimum required power for node communication into a (N̂2−N)/2 by 2 matrix, where the number of rows in the matrix is the number of links available in the WSN, as shown in block 430.
An additional step in the example method selecting a specific link only if at least one of the nodes is not involved in the current subgraph, as shown in block 440. A further step in the method may be that after each node is involved in at least one link, the algorithm determines if the current subgraph is connected, ensuring that each node has a path to every other node in the WSN, as shown in block 450. If each node does not have a path to every other node in the WSN, then the algorithm chooses the remaining links incrementally to ensure that there is no longer any isolated component. Such a spanning tree should have N−1 links and can be a termination criterion for the algorithm when implemented by the software application. Further, the software application may output the routing nodes of the network and the total power required for communication among the nodes in the WSN.
Embodiments of the disclosure may not be dependent on the exact location of the AP node. Any node may arbitrarily be designated to be the AP node, simplifying overall organization of the WSN from an installation and maintenance point of view. In addition, the AP node location can be chosen keeping in mind the proximity of a node to the wired infrastructure.
As discussed previously, overall power consumption of a WSN can be reduced choosing certain sensor nodes to route information to other nodes based on node proximity. Further, Kruskal's Algorithm can be used to generate a minimum spanning tree where weights correspond to the power level required for a node pair to communicate. The spanning tree resulting from the application of Kruskal's Algorithm facilitates the choice of the routing nodes and the resulting WSN structure operates in such a way that each node is set at the minimum power level possible, thus minimizing the overall power consumption of the WSN.
It can be determined that without the optimization step similar to the one proposed in this contribution, the overall power consumption of the WSN could be as much as 146 units, or the sum of the maximum transmitter power required for each node. The optimized topology resulting from the application of Kruskal's Algorithm requires a power consumption of 19 units, an 87% reduction in power consumption.
The computing device 505 may include several different components such as a processor bank 510, storage device bank 515, one or more software applications 517, and one or more communication interfaces (535-550). The processor bank 510 may include one or more processors that may be co-located with each other or may be located in different parts of the computing device server 505. The storage device bank 515 may include one or more storage devices. Types of storage devices may include memory devices, electronic memory, optical memory, and removable storage media. The one or more software applications 517 may include control software applications 520, a sensor management engine 525, additional software applications 530, and graph theoretic software application. The control software applications may implement software functions that assist in performing certain tasks for the computing device 505 such as providing access to a communication network, executing an operating system, managing software drivers for peripheral components, and processing information. The additional software applications may include software drivers for peripheral components, user interface computer programs, debugging and troubleshooting software tools. The graph theoretic software application 532 receives as input a wireless sensor network topology and can apply one or more graph theoretic algorithms to determine a spanning tree to conserve overall power consumption of the wireless sensor network. The sensor management engine 525 receives the spanning tree determined by the graph theoretic algorithm and then remotely configures the individual sensor nodes of the WSN to be either an access point sensor node, routing nodes, and endpoint nodes. Specifically, the graph theoretic software application 532 receives the wireless sensor network topology using known techniques in the art. For example, the location of each node may be inputted using the user interface into the computing device 505 and relayed to the graph theoretic software application 532. Other examples may include the sensor nodes having geolocation capability to determine their location and transmitting their location to the computing device 505 across a communication network. Further, the graph theoretic software application 532 may implement an algorithm that includes selecting a link that couples a node pair and a node can be an access point, routing sensor, or endpoint sensor. In addition, the graph theoretic software application 532 may map the distance between the selected node pairs to a corresponding bridging power level such that the bridging power level between a node pair is designated as a weight of the link. Persons of ordinary skill in the art understand that bridging power level may be one embodiment of the present disclosure and that a weight of a link may correspond to other link attributes such as bandwidth/capacity, cost, similarity or difference of a nearest neighboring node, etc. and other applications known in the art. The graph theoretic software application 532 may also rank the weighted links for each corresponding node pair in nondecreasing order of weight and then select a next least weighted link and corresponding node pair as part of a subgraph. The graph theoretic software application 532 may repeat the selecting of the next least weighted link and corresponding node pair as part of the subgraph until every node is part of the subgraph and generates a spanning tree.
Further, in one embodiment, the sensor management engine 525 may receive the spanning tree from an intra-device link 555. Further, sensor management engine may determine which sensor nodes in the WSN have been designated routing nodes and which have been designated as endpoint nodes. The computing device 505 is coupled to one or more sensor nodes in the WSN across one or more communication networks. Thus, based on the spanning tree information, the sensor management engine may configure the one or more sensor nodes as routing nodes or endpoint nodes using command messages.
Further, the sensor management engine 525 receive sensor information from the routing nodes or the endpoint nodes and process the sensor information to generate sub-network information and transmit the sensor information and the sub-network information to another computing device. For example, the routing and endpoint nodes may provide the sensor management engine with the remaining battery life of each node. Further, the sensor management engine 525 may process such battery life information and determine that the remaining battery life of a specific node is below a threshold. Thus, the sensor management engine 525 may command the graph theoretic software application to apply Dijkstra's algorithm to the WSN using the specific node as the root node. In addition, the sensor management engine 525 may receive the resulting spanning tree from applying Dijkstra's algorithm and reconfigure the sensor nodes with different nodes being routing nodes and endpoint nodes.
Each of the communication interfaces (535-550) shown in
An intra-device communication link 555 between the processor bank 510, storage device bank 515, software applications 525, and communication interfaces (530-545) may be one of several types that include a bus or other communication mechanism.
Note that the functional blocks, methods, devices and systems described in the present disclosure may be integrated or divided into different combination of systems, devices, and functional blocks as would be known to those skilled in the art.
In general, it should be understood that the circuits described herein may be implemented in hardware using integrated circuit development technologies, or yet via some other methods, or the combination of hardware and software objects that could be ordered, parameterized, and connected in a software environment to implement different functions described herein. For example, the present application may be implemented using a general purpose or dedicated processor running a software application through volatile or non-volatile memory. Also, the hardware objects could communicate using electrical signals, with states of the signals representing different data.
It should be further understood that this and other arrangements described herein are for purposes of example only. As such, those skilled in the art will appreciate that other arrangements and other elements (e.g. machines, interfaces, functions, orders, and groupings of functions, etc.) can be used instead, and some elements may be omitted altogether according to the desired results. Further, many of the elements that are described are functional entities that may be implemented as discrete or distributed components or in conjunction with other components, in any suitable combination and location.
The present disclosure is not to be limited in terms of the particular embodiments described in this application, which are intended as illustrations of various aspects. Many modifications and variations can be made without departing from its spirit and scope, as will be apparent to those skilled in the art. Functionally equivalent methods and apparatuses within the scope of the disclosure, in addition to those enumerated herein, will be apparent to those skilled in the art from the foregoing descriptions. Such modifications and variations are intended to fall within the scope of the appended claims. The present disclosure is to be limited only by the terms of the appended claims, along with the full scope of equivalents to which such claims are entitled. It is to be understood that this disclosure is not limited to particular methods, reagents, compounds compositions, or biological systems, which can, of course, vary. It is also to be understood that the terminology used herein is for the purpose of describing particular embodiments only, and is not intended to be limiting.
With respect to the use of substantially any plural and/or singular terms herein, those having skill in the art can translate from the plural to the singular and/or from the singular to the plural as is appropriate to the context and/or application. The various singular/plural permutations may be expressly set forth herein for sake of clarity.
It will be understood by those within the art that, in general, terms used herein, and especially in the appended claims (e.g., bodies of the appended claims) are generally intended as “open” terms (e.g., the term “including” should be interpreted as “including but not limited to,” the term “having” should be interpreted as “having at least,” the term “includes” should be interpreted as “includes but is not limited to,” etc.). It will be further understood by those within the art that if a specific number of an introduced claim recitation is intended, such an intent will be explicitly recited in the claim, and in the absence of such recitation no such intent is present. For example, as an aid to understanding, the following appended claims may contain usage of the introductory phrases “at least one” and “one or more” to introduce claim recitations. However, the use of such phrases should not be construed to imply that the introduction of a claim recitation by the indefinite articles “a” or “an” limits any particular claim containing such introduced claim recitation to embodiments containing only one such recitation, even when the same claim includes the introductory phrases “one or more” or “at least one” and indefinite articles such as “a” or “an” (e.g., “a” and/or “an” should be interpreted to mean “at least one” or “one or more”); the same holds true for the use of definite articles used to introduce claim recitations. In addition, even if a specific number of an introduced claim recitation is explicitly recited, those skilled in the art will recognize that such recitation should be interpreted to mean at least the recited number (e.g., the bare recitation of “two recitations,” without other modifiers, means at least two recitations, or two or more recitations). Furthermore, in those instances where a convention analogous to “at least one of A, B, and C, etc.” is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., “a system having at least one of A, B, and C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, etc.). In those instances where a convention analogous to “at least one of A, B, or C, etc.” is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., “a system having at least one of A, B, or C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, etc.). It will be further understood by those within the art that virtually any disjunctive word and/or phrase presenting two or more alternative terms, whether in the description, claims, or drawings, should be understood to contemplate the possibilities of including one of the terms, either of the terms, or both terms. For example, the phrase “A or B” will be understood to include the possibilities of “A” or “B” or “A and B.”
In addition, where features or aspects of the disclosure are described in terms of Markush groups, those skilled in the art will recognize that the disclosure is also thereby described in terms of any individual member or subgroup of members of the Markush group.
As will be understood by one skilled in the art, for any and all purposes, such as in terms of providing a written description, all ranges disclosed herein also encompass any and all possible subranges and combinations of subranges thereof. Any listed range can be easily recognized as sufficiently describing and enabling the same range being broken down into at least equal halves, thirds, quarters, fifths, tenths, etc. As a non-limiting example, each range discussed herein can be readily broken down into a lower third, middle third and upper third, etc. As will also be understood by one skilled in the art all language such as “up to,” “at least,” “greater than,” “less than,” and the like include the number recited and refer to ranges which can be subsequently broken down into subranges as discussed above. Finally, as will be understood by one skilled in the art, a range includes each individual member. Thus, for example, a group having 1-3 cells refers to groups having 1, 2, or 3 cells. Similarly, a group having 1-5 cells refers to groups having 1, 2, 3, 4, or 5 cells, and so forth.
While various aspects and embodiments have been disclosed herein, other aspects and embodiments will be apparent to those skilled in the art. The various aspects and embodiments disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope and spirit being indicated by the following claims.
The present application is a continuation patent application and claims priority under the laws and rules of the United States, including 35 USC §120, to U.S. patent application Ser. No. 13/342,955 filed on Jan. 3, 2012, which claims priority and benefit to U.S. Provisional Patent Application No. 61/429,429 filed on Jan. 3, 2011. The contents of both U.S. patent application Ser. No. 13/342,955 and U.S. Provisional Patent Application No. 61/429,429 are herein incorporated by reference in their entireties.
Number | Date | Country | |
---|---|---|---|
61429429 | Jan 2011 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13342955 | Jan 2012 | US |
Child | 13963101 | US |