U.S. patent application number 13/963101 was filed with the patent office on 2013-12-05 for systems, devices, and methods of managing power consumption in wireless sensor networks.
This patent application is currently assigned to NET IP LLC. The applicant listed for this patent is Arnab Das, Santanu Das. Invention is credited to Arnab Das, Santanu Das.
Application Number | 20130322318 13/963101 |
Document ID | / |
Family ID | 46600585 |
Filed Date | 2013-12-05 |
United States Patent
Application |
20130322318 |
Kind Code |
A1 |
Das; Arnab ; et al. |
December 5, 2013 |
SYSTEMS, DEVICES, AND METHODS OF MANAGING POWER CONSUMPTION IN
WIRELESS SENSOR NETWORKS
Abstract
Embodiments of the present disclosure include systems, methods,
and devices for managing power consumption in a wireless sensor
network. Such embodiments may include 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
and datasinks through the network. Each datasink can be a data
coordinator and receive sensor information from the one or more
sensors and transmit sensor information to the at least access
point. Further, a first set of sensors are configured to be routing
sensors and a second set of sensors are configured 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.
Inventors: |
Das; Arnab; (Washington,
DC) ; Das; Santanu; (Monroe, CT) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Das; Arnab
Das; Santanu |
Washington
Monroe |
DC
CT |
US
US |
|
|
Assignee: |
NET IP LLC
Monroe
CT
|
Family ID: |
46600585 |
Appl. No.: |
13/963101 |
Filed: |
August 9, 2013 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
13342955 |
Jan 3, 2012 |
8532008 |
|
|
13963101 |
|
|
|
|
61429429 |
Jan 3, 2011 |
|
|
|
Current U.S.
Class: |
370/311 |
Current CPC
Class: |
H04W 84/18 20130101;
Y02D 70/324 20180101; H04W 40/08 20130101; Y02D 70/146 20180101;
H04W 52/0219 20130101; Y02D 30/70 20200801; Y02D 70/124 20180101;
H04W 52/0206 20130101; Y02D 70/162 20180101; Y02D 70/1262 20180101;
Y02D 70/22 20180101; Y02D 70/142 20180101 |
Class at
Publication: |
370/311 |
International
Class: |
H04W 52/02 20060101
H04W052/02 |
Claims
1. A system for managing power consumption in a wireless sensor
network, the system comprising: (a) a remote server (b) a wide area
network coupled to the remote server; (c) at least one access point
device coupled to the remote server through the wide area network,
(d) at least one wireless sensor subnetwork that includes one or
more wireless sensors coupled to each other and to the access point
wherein the wireless sensor network includes one or more wireless
sensor subnetworks; (e) one or more datasinks wherein each datasink
is configured to being a data coordinator and configured to
receiving sensor information from the one or more wireless sensors,
processing sensor information, and transmitting sensor information
to at least one access point; (i) wherein each wireless sensor is
configured to be a node, wherein the node is selected from the
group consisting of a routing sensor and an endpoint sensor; (ii)
wherein a first set of wireless sensors are configured to be one or
more routing sensors and a second set of wireless sensors are
configured to be one or more end point sensors based on a graph
theoretic algorithm and to configure each wireless sensor to a
minimum power level based on a bridging distance to a neighboring
sensor thereby reducing overall power consumption in the wireless
sensor network; (f) wherein implementing the graph theoretic
algorithm results in generating a spanning tree that increases the
ratio of wireless sensors to access points in a wireless sensor
subnetwork.
2. The system of claim 1, wherein 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; 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; ranking the
weighted links for each corresponding node pair in nondecreasing
order of weight; selecting a next least weighted link and
corresponding node pair as part of a subgraph; 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 used to configure routing
information for the neighborhood area network.
3. The system of claim 1, wherein location of the one or more
access points corresponds to location of one or more nodes as a
result of selection by the graph theoretic algorithm.
4. The system of claim 1, wherein the remote server uses the graph
theoretic algorithm to configure, over the wide area network and
through the access point, the first set of wireless sensors as
routing sensors and the second set of wireless sensors as end point
sensors in a wireless sensor subnetwork.
5. The system of claim 1, wherein the datasink: (i) receives sensor
information corresponding to each of the one or more routing
sensors and one or more end point sensors; and (ii) processes the
meter information to generate sub-network status information and
transmits the sub-network status information to the access
point.
6. The system of claim 1, wherein the access point transmits the
sensor information from one or more wireless sensors and the
sub-network status information from one or more datasinks to the
remote server over the wide area network.
7. The system of claim 6, wherein the remote server: 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
status information; detects a faulty wireless sensor and 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 status information to generate an updated spanning
tree used to reconfigure routing information for the wireless
sensor subnetwork.
8. The system of claim 1, the system further comprising 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 configured to receiving user input and retrieving
and displaying sensor information and network and sub-network
status information.
9. The system of claim 8, wherein the remote computing device is
configured to modify configuration of a subset of wireless sensor
subnetworks based on user input and the sensor information and
network and sub-network status information.
10. The system of claim 1 wherein a datasink function is
implemented by a node selected from the group consisting of a
wireless sensor and an access point.
11. The system of claim 1, wherein the graph theoretic algorithm is
Kruskal's algorithm which generates a spanning tree for configuring
the routing information in the wireless sensor subnetwork.
12. The system of claim 1, wherein placement of one or more dummy
nodes in the wireless sensor subnetwork maximizes a ratio of
wireless sensors to access points wherein the dummy nodes are
placed between two wireless sensors that have distance exceeding a
predetermined threshold.
13. A system for managing power consumption in a wireless sensor
network, the system comprising: (a) a remote server (b) a wide area
network coupled to the remote server; (c) at least one access point
device coupled to the remote server through the wide area network,
(d) one or more wireless sensors coupled to each other and to the
access point through a wireless sensor subnetwork wherein the
wireless sensor network includes one or more wireless sensor
subnetworks; (e) one or more datasinks wherein each datasink is a
wireless sensor configured to being a data coordinator and
configured to receiving sensor information from the one or more
wireless sensor processing sensor information, and transmitting
sensor information to at least access point; (i) wherein each
wireless sensor is configured to be a node, wherein the node is
selected from a group consisting of a routing node and an endpoint
node; (ii) wherein a first set of wireless sensors are configured
to be one or more routing nodes and a second set of wireless
sensors are configured to be one or more end point nodes based on a
graph theoretic algorithm and to configure each wireless sensor to
a minimum power level based on a bridging distance to a neighboring
sensor thereby reducing overall power consumption in the wireless
sensor network; (f) wherein graph theoretic algorithm results in
generating a spanning tree that increases the ratio of wireless
sensors to access points in a wireless sensor subnetwork. (g)
wherein one more wireless sensor subnetworks are bridged by one or
more dummy nodes to increase ratio of wireless sensors to access
points.
14. The system of claim 13, wherein the access point device
includes: a processor; a memory coupled to the processor; one or
more communication interfaces coupled to the processor; wherein 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 nodes and one or
end point nodes from the one or more communication interfaces;
(iii) processes the sensor information to generate a spanning tree
using the processor implementing a graph theoretic algorithm; and
(iv) transmits the sensor information and the network configuration
information to the one or more communication interfaces; (v)
wherein each wireless sensor is configured to a minimum power level
thereby reducing overall power consumption in the wireless sensor
network; (vi) wherein implementing the graph theoretic algorithm
results in increasing the ratio of wireless sensors to access
points in a wireless sensor subnetwork.
15. The system of claim 13, wherein a remote server device
includes: a processor; a memory coupled to the processor; one or
more communication interfaces coupled to the processor; wherein 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 nodes and one or more end
point nodes and generates a spanning tree to reduce the overall
power consumption in the wireless sensor network using the
processor implementing a graph theoretic algorithm; (iii) transmits
reconfiguration data of the one or more routing nodes and one or
more end point nodes based on the sensor information and network
configuration information using the processor through the one or
more communication interfaces.
16. The system of claim 13, wherein location of the one or more
access points corresponds to location of one or more nodes as a
result of selection by the graph theoretic algorithm.
17. The system of claim 13, wherein the remote server is coupled to
one or more access points across a wide area network, the wide area
network implementing a protocol, the protocol selected from the
group consisting of Carrier Ethernet, WiFi, 3G, LTE, and any
combination thereof.
18. The system of claim 13, wherein one or more access points are
interconnected using a wireless mesh network.
19. The system of claim 18, wherein the wireless mesh network is
reduced to a minimum cost spanning tree using Kruskal's algorithm
thereby reducing power consumption of each access point.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present application is a continuation patent application
and claims priority under the laws and rules of the United States,
including 35 USC .sctn.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.
BACKGROUND
[0002] 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.
BRIEF SUMMARY
[0003] 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.
[0004] 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.
[0005] 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.
[0006] 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.
[0007] 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.
[0008] 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.
[0009] 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.
[0010] 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.
[0011] 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.
[0012] 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.
[0013] 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.
[0014] 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
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
[0015] 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:
[0016] FIGS. 1A and 1B are exemplary networks of a wireless sensor
network that illustrates aspects of the present disclosure;
[0017] FIGS. 2A and 2B are exemplary graph theory diagrams that
illustrates aspects of the present disclosure;
[0018] FIGS. 3A-3C are exemplary graph theory diagrams that
illustrates aspects of the present disclosure;
[0019] FIG. 4A is an exemplary flow chart showing an example method
that is an aspect of the present disclosure;
[0020] FIG. 4B is an example wireless sensor network;
[0021] FIG. 4C is an example distance matrix for the wireless
sensor network shown in FIG. 4B.
[0022] FIG. 4D is an example power level matrix corresponding to
the example distance matrix shown in FIG. 4C;
[0023] FIG. 4E is an example of an output matrix of reduced
spanning tree links for the wireless sensor network shown in FIG.
4B;
[0024] FIG. 4F is an example reduced spanning tree for the wireless
sensor network shown in FIG. 4B.
[0025] FIG. 5 is an exemplary functional block diagram of a
computing device that may be used in as part of an aspect of the
disclosure.
DETAILED DESCRIPTION OF THE INVENTION
[0026] 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.
[0027] FIG. 1A is exemplary network 100 of a wireless sensor
network(s) (140 and 150) that illustrates aspects of the present
disclosure. The network 100 includes a residence or business 108
having two wireless sensor networks (140 and 150). Persons of
ordinary skill in the art would understand that other embodiments
may include a single wireless networks or three or more wireless
networks. Each wireless network (140 and 150) may have one or more
wireless sensors (110-122 and 124-136). One wireless sensor in each
wireless sensor network (140 and 150) may be an access point sensor
(110 and 124). The access point sensor may have management and/or
control software to manage and control the other wireless sensors
(112-122 and 126-136). Further each access point sensor (110 and
124) may be coupled to a communication network 102 such as the
Internet or a Wide Area Network (WAN). In addition, a remote
computer server 104 and/or a client computing device 106 may be
coupled to the communication network 102. The remote computer
server 104 and/or the client computing device 106 may remotely
manage and control the wireless sensors (110-136) in the wireless
sensor networks (140 and 150). Although FIG. 1A shows the client
computing device 106 to be a smartphone, persons of ordinary skill
in the art would recognize that in other embodiments the client
computing device 106 may be a mobile phone, tablet computer, laptop
computer, desktop computer or any other type of client computing
device known in the art.
[0028] 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.
[0029] 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.
[0030] 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.
[0031] FIG. 1B is exemplary network 151 of a wireless sensor
network 152 that illustrates aspects of the present disclosure. The
exemplary network includes several end sensors (166-172), several
routing sensors (160-164), several datasinks 156-158) and an access
point 154. Wireless sensor network 152 may perform one application
and perform a mix of applications. In one embodiment, each sensor
(160-172) in the wireless sensor network 152 may be a motion sensor
that is part of a security system for the premises. In another
embodiment, some of the sensors may be motion sensors while others
are temperature sensors. Thus, a third party provider may gather
information from and then manage the sensors accordingly.
[0032] 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 FIG. 1B including the access point 154, datasinks
(156-158), routing sensors (160-164) and end point sensors
(166-172) may be coupled to each other wirelessly, wired, a mix of
wireless and wired, or any other coupling mechanism known in the
art.
[0033] FIGS. 2A and 2B are exemplary graph theory diagrams that
illustrate aspects of the present disclosure. The description of
FIGS. 2A and 2B discuss using a graph theoretic algorithm for a
power conservation application. FIGS. 2A and 2B include sensor
nodes A-F (202-212). Referring to FIG. 2A, the numbers 1, 2, 3,
etc. designated each link denote the weights of the corresponding
link connecting the adjacent nodes. In one embodiment, the weight 1
denotes that the power level required for Node A to communicate
with Node B is a power level of 1 (say 0 dBm, 1 mW). Power level 2
is 3 dBm, or 2 mW, and similarly power level 4 is 6 dBm, or 4 mW.
It is to be noted that these parameters are illustrative and may
conform to the specifications of commonly used Zigbee modules.
Persons of ordinary skill in the art would understand that other
embodiments of the present disclosure may use the graph theoretic
algorithms discussed herein for other industry applications such as
reading water/gas meters, control of security cameras and motion
sensors, etc.
[0034] In one embodiment, Node A in FIG. 2A may an access point
(AP) node, and configured to a power level of 4, such that Node A
may be able to communicate with any of the five other nodes in the
WSN. A power level of 1 corresponds to 1 mW of transmitter power,
but actual power dissipation may be more than 1 mW because of the
inefficiency of the transmitter circuitry and the transmitter power
amplifier. To communicate back to Node A, however, Node D may have
to configure to a power level 4, Nodes C and E at power level 3,
and Nodes B and F at power level 1, respectively. Total power
consumption of all of the nodes in a topology shown in FIG. 1A is
4+4+3+3+1+1=16 units, (assuming that all the power consumption is
due to the dissipation in the transmitters).
[0035] Referring to FIG. 2B, Nodes B, C, E, and F may be designated
as routing nodes. For Node A to communicate with Node D, it can
route packets through Node B and Node C or through Node F and Node
E. Thus, the topology of the WSN in FIG. 2A can be reduced to a
topology shown in FIG. 2B. In FIG. 2A, Node B, Node C, and Node D
are routing nodes and as a result Node A can operate at a power
level of 1. Nodes B and C can operate at a power level of 2.
Further, Nodes D, E, and F will need to operate at a power level of
only 1 for the WSN in FIGS. 2A and 2B to work reliably. Referring
to FIG. 2B, the AP (Node A) can route data and control information
to each and every node and every node which in turn can communicate
back to the AP (Node A) either directly or through intermediate
routing node(s). Thus, overall power consumption for the WSN shown
in FIG. 2 is 1+2+2+1+1+1=8 units. Thus, using the graph theoretic
algorithm described in reference to FIG. 2B reduces the overall
power consumption of the WSN when compared to the power consumption
of the topology shown in FIG. 2A. FIG. 2A illustrates the result of
Kruskal's Algorithm when applied to the topology of the WSN
depicted in FIG. 2.
[0036] The graph theoretic algorithm described in reference to FIG.
2A can be applied to random and complex topologies. For example,
each node in such a random or complex topology may have a Zigbee
controller of the type commonly available and is part of every
sensor node. Further, distances between any node pair is known
corresponds to a specified power level (for a power conservation
application) for reliable communication and that power level is
also known a priori and is constant, even though in other
embodiments of the present disclosure this may not be the case.
[0037] FIGS. 3A-3C are exemplary graph theory diagrams that
illustrate aspects of the present disclosure. FIGS. 3A and 3B
illustrate an embodiment such that Dijkstra's algorithm is used as
a graph theoretic algorithm to reduce power consumption in a
wireless sensor network (WSN). Referring to FIG. 3A, the numbers 1,
2, 3, etc. designated each link denote the weights of the
corresponding link connecting the adjacent nodes. In one
embodiment, the weight 1 denotes that the power level required for
Node A to communicate with Node B is a power level of 1 (say 0 dBm,
1 mW). Power level 2 is 3 dBm, or 2 mW, and similarly power level 4
is 6 dBm, or 4 mW. It is to be noted that these parameters are
illustrative and may conform to the specifications of commonly used
Zigbee modules. Persons of ordinary skill in the art would
understand that other embodiments of the present disclosure may use
the graph theoretic algorithms discussed herein for other industry
applications such as reading water/gas meters, control of security
cameras and motion sensors, etc.
[0038] In one embodiment, node A in FIG. 3A may an access point
(AP) node, and configured to a power level of 3, such that node A
may be able to communicate with any of the five other nodes in the
WSN. A power level of 1 corresponds to 1 mW of transmitter power,
but actual power dissipation may be more than 1 mW because of the
inefficiency of the transmitter circuitry and the transmitter power
amplifier. To communicate back to Node A, however, Node D may have
to configure to a power level 3, Nodes C and E also at power level
3, and Nodes B and F at power level 1, respectively. Total power
consumption of all of the nodes in a topology shown in FIG. 3A is
3+3+3+3+1+1=14 units, (assuming that all the power consumption is
due to the dissipation in the transmitters).
[0039] 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 FIG. 3A, Dijkstra's
Algorithm results in determining the minimum-weight (minimum power
level) path from a root node, for example Node A, to every other
node (Nodes B-F) in the WSN. Other embodiments, may have the goal
of generating a spanning tree with the minimum total weight, so
that the overall power requirement for communication in the WSN is
conserved/reduced.
[0040] Referring to FIG. 3B, the resulting spanning tree is shown
utilizing Dijkstra's Algorithm with Node A as the root node in the
network. Dijkstra's Algorithm finds a shortest path from the root
node (e.g. Node A) to every other node. In finding the shortest
path between the root node and another node in the WSN, the power
consumption for each path is determined and then the shortest path
is selected. For example, between Node A and Node D there are many
paths each having a certain power consumption. Three of the shorter
paths between Node A and Node D are: 1) A-B-C-D; 2) A-F-E-D; 3) and
A-D. The corresponding power consumption for each path can be
determined as follows: 1) A-B-C-D=1+2+1=4; 2) A-F-E-D=1+2+1=4; 3)
and A-D=3. Thus, by analyzing the power consumption of each of the
three paths it can be determined that A-D is the shortest path
(i.e. the path with the lowest power consumption. Applying
Dijkstra's algorithm to each node (with Node A as the root node)
yields the spanning tree shown in FIG. 3B. Persons of ordinary
skill in the art would recognize form embodiments disclosed that
there may be many different ways to apply or implement Dijkstra's
algorithm to a WSN as is known in the art.
[0041] Alternatively, in another embodiment, Kruskal's Algorithm
takes a weighted graph such as in FIG. 3A and builds an acyclic
spanning subgraph H, where initially E(H)=null (empty set). The
algorithm enlarges the subgraph H and adds edges with low weight to
form a spanning tree. It considers edges in nondecreasing order of
weight, breaking ties arbitrarily. At each iteration of building
the subgraph H, if the current edge of minimum weight joins two
components of H, the algorithm adds this edge to H; otherwise the
algorithm discards this edge. The algorithm is terminated once H
connects all of the nodes. This results in a spanning tree of
minimum total weight. The spanning tree in FIG. 3C is the result of
applying Kruskal's Algorithm to the network depicted in FIG. 3A.
The embodiment having a topology which results in minimum weight
also consumes the minimum total power. For example, the topology of
FIG. 3C dissipates a total power of 8 units, while the topology in
FIG. 3B dissipates a total power of 14 units. Thus, Kruskal's
Algorithm may be more suitable for optimizing overall power
consumption in a WSN because this algorithm takes a weighted graph
and finds the minimum spanning tree, or the spanning tree with
minimum total weight. Alternatively, Dijkstra's algorithm may be
suitable when finding the least power consumption from a root node.
In some embodiments this root node may be an access point sensor
node that may be required to use less power. Alternative
embodiments may include sensors powered by batteries and Dijkstra's
algorithm may be used to conserve battery power for such a sensor
node. In such an example, the sensor node with low battery power
may be the root node when Dijkstra's Algorithm is applied to the
WSN.
[0042] FIG. 4 is an exemplary flow chart 400 showing an example
method that is an aspect of the present disclosure. The flow chart
400 may incorporate Kruskal's algorithm. A step in the example
method may be placing sensors in a wireless sensor network (WSN),
as shown in block 410. The placement and location for each sensor
in the WSN may be inputted to an access point, remote computer
server or client computing device using known methods in the art.
For example, a user may input the location using a user interface
in the client computing device. Alternatively, there may be
geolocation software applications on each sensor such that each
sensor is able to determine its location and then transmit such
location to the access point, remote computer server, or client
computing device.
[0043] 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.
[0044] 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.
[0045] 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.
[0046] 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.
[0047] FIG. 4B shows a random topology of a 10-Node network in a
region of dimensions 20.times.20. FIG. 4C shows a matrix of
distances between nodes in the random WSN shown in FIG. 4B. FIG. 4D
shows the power level matrix corresponding to the WSN. In such an
embodiment a distance of 5 units or less can be bridged with a
power level of 1, distance of 5-10 units can be bridged by a power
level of 4, and so on, with a power level of 16 being required to
bridge a distance of 15-20 units. Additionally, FIG. 4E shows the
matrix of links of the minimum spanning tree generated by exemplary
software application implementing a graph theoretic algorithm. The
software application may be executed by an access point sensor
node, a remote computer server, or a client computing device. FIG.
4F shows the reduced spanning tree structure providing a reduced or
minimum overall power consumption on the network.
[0048] 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.
[0049] FIG. 5 is an exemplary functional block diagram of a
computing device that may be used in as part of an aspect of the
disclosure. The computing device may be an access point (or any
sensor node), remote computer server, or client computing device
used to configure, designate or determine one or more routing nodes
or end point nodes in a wireless sensor network. A client computing
device may be a smartphone, mobile phone, tablet computer, laptop
computer, desktop computer or any other computing device.
[0050] 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.
[0051] 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.
[0052] 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.
[0053] Each of the communication interfaces (535-550) shown in FIG.
5 may be software or hardware associated in communicating to other
devices. The communication interfaces (535-550) may be of different
types that include a user interface, USB, Ethernet, WiFi, WiMax,
wireless, optical, cellular, or any other communication interface
coupled to communication network.
[0054] 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.
[0055] 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.
[0056] 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.
[0057] 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.
[0058] 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.
[0059] 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.
[0060] 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."
[0061] 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.
[0062] 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.
[0063] 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.
* * * * *