The present invention relates generally to wireless communications networks and, more particularly, to receiver scheduling in ad hoc wireless communications networks. The present invention also relates generally to ad-hoc, multi-node wireless networks and, more particularly, to systems and methods for implementing energy efficient data forwarding mechanisms in such networks.
Conventionally, an ad hoc wireless network includes a variable number of communications nodes, each node being equipped with a communications transceiver for conveying information messages throughout the network. While some nodes in the network are capable of performing network routing functions, other nodes serve exclusively as sources or destinations for data traffic. These two types of nodes are commonly referred to, respectively, as routers and endpoints. During network operation, these routers and endpoints execute predefined algorithms and adhere to established networking protocols, which together enable the nodes to find one another, determine preferred paths through the network for data traffic, and detect and repair ruptures in the network as communication path characteristics change over time, or as nodes move, fail, experience changes in battery power, etc.
Certain ad hoc wireless networks employ a scheme known as receiver scheduling to conserve power in some or all of the network nodes, or to make it more difficult for adversaries (e.g., hackers in a civilian context, or enemies in a military context) to monitor and disrupt network operation. In such receiver scheduling schemes, node receivers are selectively and intermittently turned off for some fraction of the total time that the overall network is operational. Consequently, each node is available and operating to receive information messages only during prescribed periods, and some form of receiver scheduling is employed to ensure that the various network nodes are in agreement as to when they can transmit information messages to one another.
Conventionally, receiver scheduling is accomplished using some form of Time Division Multiple Access, or TDMA, plan. While there are many variants of TDMA receiver scheduling, all such schemes share a common basic principle. Specifically, such TDMA plans divide network operating time into a number of predefined time slots and, during each time slot, certain network nodes are appointed to power up their receivers to accept incoming information messages. By sharing a common reference clock, as well as a common receiver appointment schedule, all of the nodes in the network are informed as to when they are able to successfully transmit messages to neighboring nodes.
Typically, all of the nodes in such a network are preconfigured with a single, network-encompassing TDMA receiver schedule. Alternatively, each node can transmit its own particular TDMA receiver schedule to other nodes during network operation. For example, a node can generate its own TDMA receiver schedule at run time using a pseudo-random number generator, or PRNG, and then transmit a corresponding PRNG seed to neighboring nodes (since, assuming all nodes are in agreement as to how to construct a TDMA receiver schedule from a PRNG stream, a single PRNG seed unambiguously defines a unique TDMA receiver schedule).
While these methods do achieve the stated goal of providing receiver scheduling in ad hoc wireless networks, they also have certain drawbacks. For example, in each of the above mentioned TDMA schemes, the start times and durations of the TDMA time slots are fixed. Consequently, each node is restricted with respect to the start times and durations of its reception intervals. Such rigidity inevitably results in inefficiencies, as message transmission intervals are not always precise multiples of a time slot, and thus portions of time slots sometimes go unused. Moreover, the fixed nature of the time slots can aid adversaries in attempts to monitor and disrupt network operation (i.e., the start times and durations of the time slots are not variables with which an adversary must contend). As a result, a need exists for a more flexible, efficient, and robust receiver scheduling scheme.
Recently, much research has been directed towards the building of networks of distributed wireless sensor nodes. Sensor node in such networks conduct measurements at disturbed location and relay the measurements, via other senor node in the network, to one or more measurement data collection points. Sensor networks, generally, are envisioned as encompassing a large number (N) of sensor nodes (e.g., as many as tens of thousands of sensor nodes), with traffic flowing from the sensor node into a much smaller number (K) of measurement data collection points using routing protocols. These routing protocols conventionally involve the forwarding of routing information necessary for sensor nodes to relay measurements to an appropriate measurement data collection point.
A key problem with conventional sensor networks is that each sensor node of the network operates for extended periods of time on self-contained power supplies (e.g., batteries or fuel cells). For the routing protocols of the sensor network to operate properly, each sensor node must be prepared to receive and forward routing packets at any time. Each sensor node's transmitter and receiver, thus, conventionally operates in a continuous fashion to enable the sensor node to receive and forward the routing packets essential for relaying measurements from a measuring sensor node to a measurement data collection point in the network. This continuous operation depletes each node's power supply reserves and, therefore, limits the operational life of each of the sensor nodes.
Therefore, there exists a need for mechanism in a wireless sensor network that enable the reduction of sensor node power consumption while, at the same time, permitting the reception and forwarding of the packets necessary to implement a distributed wireless network.
Systems and methods consistent with the present invention address this and other needs by having nodes in an ad hoc wireless network continually generate and broadcast next, or pending, portions of their respective receiver schedules.
In accordance with the purpose of the invention as embodied and broadly described herein, a wireless network includes a node that periodically generates and transmits at least one reception definition. Each reception definition indicates a time and manner in which the node will be available and operating to receive information messages.
In another implementation consistent with the present invention, a node including a memory and a processor is disclosed. The processor generates a local receiver schedule including a number of reception definitions, periodically modifies the local receiver schedule, and transmits the prevailing local receiver schedule together with information messages bound for other nodes in the network.
In yet another implementation consistent with the present invention, a method for performing receiver scheduling at a node in a wireless network is disclosed. The method includes generating a local receiver schedule at the node, the local receiver schedule including a number of reception definitions. Each reception definition indicates a time and manner in which the node will operate to receive information messages from other nodes in the network. The method further includes periodically updating the local receiver schedule at the node, and periodically transmitting a most recently updated local receiver schedule from the node to other nodes in the network.
Systems and methods consistent with the present invention address this need and other by providing mechanisms that enable sensor node transmitters and receivers to be turned off, and remind in a “sleep” state, for substantial periods, this, increasing the energy efficient of the nodes. Systems and methods consistent with the present invention further implement transmission and reception schedules that permit the reception and forwarding of packet containing routing, or other types of data, during short periods when the sensor node transmitters and receivers are powered up and, thus, “awake” The present invention, this increase sensor node operational life by reducing energy consumption while permitting the reception and forwarding of the routing messages needed to self-organize the distributed network.
In accordance with the purpose of the invention as embodied and broadly described herein, a method of conserving energy in a node in a wireless network includes receiving a first powering-on schedule from another node in the network, and selectively powering-on at least one of a transmitter and receiver based on the received first schedule.
In another implementation consistent with the present invention, a method on conveying message in a sensor network includes organizing a senor network into a hierarchy of tiers, transmitting one or more transmit/receive scheduling messages throughout the network, and transmitting and receiving data messages throughout the network, and transmitting and receiving data messages between nodes in adjacent tiers based on the one or more transmit/received scheduling messages.
In a further implementation consistent with the present invention, a method of conserving energy in a multi-node network includes organizing the multi-node network into tiers, producing a transmit/received schedule at a first tier in the network, and controlling the powering-on and powering-off of transmitters and receivers in nodes in a tier adjacent to the first tier accordingly to transmit/received schedule.
In yet another implantation consistent with the present invention, a method of forwarding messages at a first node in a network includes receiving scheduling messages from a plurality of nodes in the network, selecting one of the plurality of nodes as parent node, and selectively forwarding data messages to the parent node based on the received scheduling messages associated with the selected one of the plurality of nodes.
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate an embodiment of the invention and, together with the description, explain the invention. In the drawings,
The following detailed description of the invention refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements. Also, the following detailed description does not limit the invention. Instead, the scope of the invention is defined by the appended claims and equivalents.
Generally, ad hoc wireless networks according to the invention include nodes that continually generate and broadcast next, or pending, portions of their respective receiver schedules. In exemplary embodiments, network nodes transmit these pending schedules along with data traffic to other nodes in the network, and each node maintains a local receiver schedule database, including its own pending receiver schedule, as well as any pending receiver schedules received from other network nodes. To speed the dissemination of receiver schedule information throughout the network, nodes can transmit not only their own pending receiver schedules, but also those pending receiver schedules received from other network nodes.
Since the pending receiver schedules for the various nodes are independently generated, continually updated, and rapidly disseminated, each node is free to set its receiver schedule without consideration for any predefined time slot plan. Consequently, embodiments of the invention provide flexible and efficient communications, as each network node can dynamically adjust the amount of time its receiver is on and available. For example, a node can adjust its receiver duty cycle based on the type of activity the node is performing, the prevailing data traffic rate, the number of other nodes within communication range, etc. Additionally, each node can adjust the duration of individual reception intervals to accommodate transmissions of varying length (e.g., shorter control packets or longer data packets). Advantageously, such flexibility in reception interval duration also makes it more difficult for adversaries to monitor and jam communications. This is particularly true when, as is described hereinafter, pseudo-random techniques are used to establish start times and channels for the reception intervals.
In operation, endpoint devices 110 (also referred to hereinafter as source and/or destination devices) communicate with one another by transmitting information messages via intermediary nodes 120 (also referred to hereinafter as relays or routers). For example, as is shown in
A network such as that depicted in
It will be appreciated, however, that these aspects of exemplary network 100 of
For example, processor 210 can include any type of conventional processor or microprocessor that interprets and executes instructions, and clock 220 can include any type of conventional timing circuitry for tracking a current time used in transmitting and receiving packets. Alternatively, processor 210 can include one or more application specific integrated circuits, as well as combinational logic, or the like, and clock 220 can include one or more counters and/or a global positioning system (GPS) receiver to provide a local time base that is synchronized with time bases used by other network components.
Power supply 230 can include conventional transformer/rectifier/filter circuitry, or the like, for providing power to the various components of node 120. Additionally, or in the alternative, power supply 230 can include a portable generator, a battery, fuel cell, or the like, for providing power in mobile contexts. Where power supply 230 includes a battery, the battery can be rechargeable, and any known recharging mechanism can be used (e.g., solar power).
Transmitter 240 and receiver 245 can utilize conventional wireless techniques to communicate packets to and from other devices (e.g., to and from other nodes 120) via, respectively, RF modulator 250 and RF demodulator 255 (RF modulator 250 and RF demodulator 255 being coupled to RF antennae 260). For example, transmission and reception can be accomplished using any known time, frequency, or code division multiple access scheme (e.g., any known TDMA, FDMA, CDMA, ultrawideband (UWB) communication technique or any combination thereof). While transmitter 240 and receiver 245 are shown as separate components in
RAM 270 can include a conventional RAM device or any other known dynamic storage device that stores information and/or instructions for use by processor 210. Additionally, ROM 275 can include a conventional ROM device or any other known static storage device that stores information and/or instructions for use by processor 210. Instructions used by processor 210 can also, or alternatively, be stored in any other known computer-readable medium, including one or more memory devices.
Communications ports 280, 285 can, for example, utilize known forms of wired communication to enable exchange of information packets between node 120 and other devices (e.g., an endpoint device 110). For example, parallel port 280 can provide a standard Ethernet connection, and serial port 285 can provide a standard RS-232 or USB connection. Alternatively, communications ports 280, 285 can be combined in a single device and can include any known mechanism enabling the node 120 to communicate with other devices via any known type of wired, wireless, or optical link.
From the foregoing description, it will be apparent that, although they are not all shown in
During node operation, processor 210 works in conjunction with certain of the other node components (e.g., clock 220, transmitter 240, receiver 245, and communications ports 280, 285) to effect the above described packet transmission, reception, and routing, as well as the hereinafter described receiver scheduling techniques of the present invention. To do so, processor 210 can, for example, execute a series of software instructions retrieved from RAM 270, or from another suitable computer-readable medium. The software instructions can be loaded into RAM 270 (or into another suitable computer-readable medium) from any other suitable computer-readable medium, such as ROM 275, or from an external device via communication ports 280, 285 or receiver 245.
In order to conserve power, and/or to provide added network security, processor 210 can periodically power off receiver 245 during network operation. This practice, in combination with the fact that intermediary nodes 120 are generally free to join and leave network 100, makes it desirable, if not necessary, that active nodes 120 (i.e., those intermediary nodes 120 actually present and operating in the network at a given time) be informed as to when neighboring nodes 120 are present and available for communication.
In
In
Generally, receiver scheduling, according to implementations consistent with the principles of the present invention, is achieved by configuring network nodes 120 to continually generate and broadcast next, or pending, portions of their respective receiver schedules whenever nodes 120 are active and participating in the network. Each node 120 transmits pending schedule portions along with data traffic to other nodes 120, and maintains a database including its own and other pending receiver schedules. In this way, nodes 120 are kept continually abreast, not only of the arrival and departure of neighboring nodes 120, but also of the pending receiver schedules for active neighboring nodes 120. Moreover, because pending receiver schedules for different nodes 120 may be generated independently of one another and then quickly disseminated within the network, each node 120 is able to tailor its own receiver schedule in view of changing network conditions, and without regard to the restrictive time slot limitations imposed by conventional receiver scheduling techniques.
The processing described in
In practice, the precise number and type of parameters included in each reception definition will depend upon the media and format used to transmit information messages between network nodes 120. For example, in instances where packets are transmitted using a conventional frequency-hopping format, each reception definition can include a reception starting time, a reception duration, and an appropriate carrier frequency (i.e., information indicating, by way of practical example, that reception begins in 3.85 seconds at 42.356 MHz and lasts 10 milliseconds). Since, for purposes of the present invention, any suitable medium (including radio, infrared, microwave, etc.) and any suitable format (including, TDMA, FDMA, CDMA, pulse width modulation, pulse code modulation, etc.) can be used to transmit messages between network nodes 120, it will be appreciated that a reception definition consistent with the invention can include any suitable combination of parameters that sufficiently describe a unique reception instance for a particular media and a particular format.
Additionally, the number of reception definitions included in the local pending receiver schedule can be set (and thereafter dynamically adjusted) depending, for example, upon the number of nodes 120 participating or expected to participate in the network, the prevailing or expected volume of network traffic, etc. In other words, given that the local pending receiver schedule is disseminated to other network nodes (as is described below with respect to
According to implementations of the invention, the parameter values (i.e., the times, channels, etc.) included in each reception definition can also be set in a number of ways. For example, the parameters can be preset in node 120 or dynamically determined at node 120 during network operation based, for example, upon prevailing or predicted traffic flow at node 120, the number of neighboring nodes, the power remaining in the node battery, some or all known schedules for other nodes in the network, etc. Alternatively, where transmission security is an issue, the parameters can be set based on output of a pseudo-random number generator (PRNG), or based on some measurable physical random process (e.g., thermal noise, radioactive decay, or the like).
Once created, the local pending receiver schedule can be stored as part of a local pending receiver schedule database (e.g., in RAM 270 of
In implementations consistent with the present invention, and as is described in detail below with respect to
Additionally, it will be understood that a node may take the known schedules of other nodes into account when preparing its own next, or pending, schedule. For instance, when node 120 updates its own pending receiver schedule (act 450), node 120 may ensure that its new reception definition does not overlap or conflict with any definitions in the known schedules for other nodes in the network as recorded in the local receiver schedule database.
Once the local receiver schedule has been updated, processing can return to act 420, and the above described cycle (i.e., acts 420 to 450) can be repeated as long as node 120 is active and participating in network 100. Thus, according to the exemplary process of
Once the next receiving neighbor has been established, node 120 can determine whether any information messages (e.g., any control and/or data packets) are bound for the next receiving node 120 (act 520). Node 120 can make such determination using conventional techniques (i.e., data traffic is received and queued at the node using well known traffic routing methods). If no information messages are bound for the next receiving node 120, then processing can return to act 510, where node 120 can again determine the next receiving node 120. However, if information messages are bound for the next receiving node 120, then node 120 can prepare receiver scheduling information for inclusion with some or all of the outgoing information messages (act 530).
More specifically, node 120 can create a receiver scheduling message, or RSM, using information retrieved from the local receiver schedule database. At a minimum, the RSM can include the prevailing local pending receiver schedule (developed as described above with respect to
Once the RSM is created, node 120 can include the RSM (e.g., as part of a header) with some or all of the information messages bound for the next receiving node (act 540). Thereafter, node 120 can transmit the RSM-laden messages to the next receiving node (at an appropriate time and in an appropriate manner, as dictated by the reception definition used to identify the next receiving node at act 510). Once the messages have been transmitted, processing can return to act 510 (perhaps after waiting for the start of the next node reception at act 430 of
Thus, an intermediary node 120 continually transmits its own locally-generated pending receiver schedule and, possibly, pending receiver schedules received from other nodes 120. Moreover, when each one of a network of nodes 120 executes the processing described in
It should be noted that conventional beaconing techniques can be used in conjunction with the processing described in
To further illuminate the various features and advantages of the receiver scheduling techniques of the present invention,
In
Thereafter, node 120 can select the first reception definition in the local pending receiver schedule to govern a next reception operation for node 120 (act 640). Thus, at an appropriate time (as indicated by the start time associated with the selected reception definition) and in an appropriate manner (as indicated by the duration and the carrier frequency associated with the selected reception definition), node 120 powers up and tunes its receiver to accept any information messages being transmitted to node 120 (act 650). As described above with respect to
Once reception of incoming messages is concluded, and once any incoming receiver schedule messages have been extracted and stored, node 120 can update the local pending receiver schedule (acts 660 and 670). More specifically, node 120 can use the PRNG stream to generate a new reception definition (i.e., a new random start time and a new random carrier frequency, as well as a new duration which can be set either randomly or strategically), and then modify the local pending receiver schedule by deleting the first reception definition (i.e., the definition just selected and used in acts 640 and 650, respectively) and appending the newly generated reception definition. Thereafter, processing can return to act 640, and the foregoing cycle (i.e., acts 640 through 670) can be repeated as long as node 120 is present and active in the network. Thus, node 120 effectively generates a rolling window of N pending reception definitions, each successive definition including a pseudo-randomly generated start time, duration, and carrier frequency.
At the same time, node 120 can disseminate this rolling window using the exemplary process described above with respect to
In
Additional schedule count field 730 can indicate a number, if any, of additional pending receiver schedule fields 740 to follow. As shown, each additional pending receiver schedule 740 can include a node identification field and an associated collection of N reception definitions (each definition in turn including an associated interval and channel). Error correction field 750 can include information to ensure accurate transmission of the receiver schedule message 700. Note also that the receiver schedule message 700 can be encrypted using known techniques to provide added security (e.g., network nodes can use a shared encryption key to code and decode messages as they are transmitted and received).
Advantageously, receiver schedule message 700 can be used in the exemplary processes of
As described above, node 120 of
As shown, each pending receiver schedule 810 includes a node identification field (used to identify a particular node 120 to which schedule 810 applies), a reception definition count field (used to indicate a number N of reception definitions included in schedule 810), and a reception definition parameter count field (used to indicate a number L of parameters included in each reception definition in schedule 810). Additionally, each schedule 810 includes an N×L array of reception definition parameters (i.e., N rows of L parameters, each row corresponding to a single reception definition).
As described above, the medium and mode of communication between network nodes 120 will, in practice, dictate the number and type of parameters included in each reception definition. For example, in a standard radio frequency-hopping system, each reception definition can include just three parameters (i.e., a start time, a duration, and a carrier frequency). Note also that the number N of reception definitions per schedule, as well as the number L of parameters per reception definition, can be fixed and identical for all network nodes 120. If so, then pending receiver schedules 810 need not include the reception definition count field or the reception definition parameter count field shown in
Systems and methods consistent with the present invention include networks nodes that continually generate and broadcast next, or pending, portion of their respective receiver schedule. Accordingly to exemplary embodiments, certain aspects of the pending schedule portions are generated and updated in a pseudo-random fashion, and the pending schedule portions are transmitted along with data traffic among the network nodes. Each network node maintains a local receiver schedule database, including its own pending receive schedule database, including its own pending receiver schedule, as well as any pending receiver schedules received from other network nodes. To speed dissemination of received schedule information throughout the network, nodes transmit not only their own pending receiver schedules, but also those pending receiver schedules from other network nodes. Since the pending receiver schedules for the various nodes independently generated, continually updated, and rapidly disseminated, each node is able to set its own receiver schedule without consideration for any predefined scheduling plan. Embodiments are this able to provide flexible, efficient and robust communication.
Systems and methods consistent with the present invention provide mechanisms for conserving energy in wireless node by transmitting scheduling messages throughout the node of the network. The scheduling messages include time schedules for selectively powering-on and powering-off node transmitters and receivers. Messages datagrams and routing messages may, thus, be conveyed throughout the network during appropriates transmitter/receiver power-on and power-off intervals.
Exemplary Network
Monitor points 905a-905n may include data transceiver units for transmitting messages to, and receiving messages from, one or more sensors of sensor network 910. Such messages may include routing messages containing network routing data, messages datagrams containing sensor measurement data, and schedule messages containing sensor node transmit and receive scheduling data. The routing messages may include identification data for one of more monitor points, and the number of hop to reach each respective identified monitor point, as determined by a sensor node/monitor point that is the source of the routing messages. The routing messages may be transmitted as wireless broadcast messages in network 900. The routing messages, thus, permit sensor nodes to determine a minimum hop path to a monitor point in network 900. Through the use of routing messages, monitor points 905a-905n may operate as “sinks” for sensor measurements made at nearby sensor nodes. Messages datagrams may include sensor measurement data that may be transmitted to a monitor point 905a-905n for data collection.
Message datagrams may be sent from a monitor point to a sensor node, from a sensor node to a monitor point, or from a sensor node to a sensor node. Sensor network 910 may include one or more distributed sensor nodes (not shown) that may organize themselves into an ad-hoc, multi-hop wireless network. Each of the distributed sensor nodes of sensor network 910 may include one or more of any type of conventional sensing device, such as, for example, acoustic sensors, motion-detection sensors, radar sensors, sensors that detect specific chemicals or families of chemicals, sensors that detect nuclear radiation or biological agents, magnetic sensors, electronic emissions signal sensors, thermal sensors, and visual sensors that detect or record still or moving images in the visible or other spectrum. Sensor nodes of sensor network 910 may perform one or more measurements over a sampling period and transmit the measured values via packets, datagrams, cells or the like to monitor points 905a-905n.
Network 915 may include one or more networks of any type, including a Public Land Mobile Network (PLMN), Public Switched Telephone Network (PSTN), local area network (LAN), metropolitan area network (MAN), wide area network (WAN), Internet, or Intranet. The one or more PLMNs may further include packet-switched sub-networks, such as, for example, General Packet Radio Service (GPRS), Cellular Digital Packet Data (CDPD), and Mobile IP sub-networks.
Server 930 may include a conventional computer, such as a desktop, laptop or the like. Server 930 may collect data, via network 915, from each monitor point 905 of network 900 and archive the data for future retrieval.
Exemplary Sensor Network
As further shown in
Exemplary Sensor Node
Transmitter/receiver 1205 may connect sensor node 1005 to a monitor point 905 or another sensor node. For example, transmitter/receiver 1205 may include transmitter and receiver circuitry well known to one skilled in the art for transmitting and/or receiving data bursts via antenna 1210.
Processing unit 1215 may perform all data processing functions for inputting, outputting and processing of data including data buffering and sensor node control functions. Memory 1220 may include random access memory (RAM) and/or read only memory (ROM) that provides permanent, semi-permanent, or temporary working storage of data and instructions for use by processing unit 1215 in performing processing functions. Memory 1220 may also include large-capacity storage devices, such as magnetic and/or optical recording devices. Output device(s) 1225 may include conventional mechanisms for outputting data in video, audio and/or hard copy format. For example, output device(s) 1225 may include a conventional display for displaying sensor measurement data. Input device(s) 1230 may permit entry of data into sensor node 1005. Input device(s) 1230 may include, for example, a touch pad or keyboard.
Sensor units 1235a-1235n may include one or more of any type of conventional sensing device, such as, for example, acoustic sensors, motion-detection sensors, radar sensors, sensors that detect specific chemicals or families of chemicals, sensors that detect nuclear radiation or sensors that detect biological agents such as anthrax. Each sensor unit 1235a-1235n may perform one or more measurements over a sampling period and transmit the measured values via packets, cells, datagrams, or the like to monitor points 905a-905n. Clock 1240 may include conventional circuitry for maintaining a time base to enable the maintenance of a local time at sensor node 1005. Alternatively, sensor node 1005 may derive a local time from an external clock signal, such as, for example, a GPS signal, or from an internal clock synchronized to an external time base.
Bus 1245 may interconnect the various components of sensor node 1005 and permit them to communicate with one another.
Exemplary Monitor Point
Transmitter/receiver 1305 may connect monitor point 905 to another device, such as another monitor point or one or more sensor nodes. For example, transmitter/receiver 1305 may include transmitter and receiver circuitry well known to one skilled in the art for transmitting and/or receiving data bursts via antenna 1310.
Processing unit 1315 may perform all data processing functions for inputting, outputting, and processing of data. Memory 1320 may include Random Access Memory (RAM) that provides temporary working storage of data and instructions for use by processing unit 1315 in performing processing functions. Memory 1320 may additionally include Read Only Memory (ROM) that provides permanent or semi-permanent storage of data and instructions for use by processing unit 1315. Memory 1320 can also include large-capacity storage devices, such as a magnetic and/or optical device.
Input device(s) 1325 permits entry of data into monitor point 905 and may include a user interface (not shown). Output device(s) 1330 permits the output of data in video, audio, or hard copy format. Network interface(s) 1335 interconnects monitor point 905 with network 915. Clock 1340 may include conventional circuitry for maintaining a time base to enable the maintenance of a local time at monitor point 905. Alternatively, monitor point 905 may derive a local time from an external clock signal, such as, for example, a GPS signal, or from an internal clock synchronized to an external time base.
Bus 1345 interconnects the various components of monitor point 905 to permit the components to communicate with one another.
Exemplary Monitor Point Database
“Affiliated children IDs” data 1410 may include unique identifiers of sensor nodes 1005 that are affiliated with monitor point 905 and, thus, from which monitor point 905 may receive messages. “Parent Tx” data 1420 may include a time at which monitor point 905 may transmit messages to sensor nodes identified by the “affiliated children IDs” data 1410. “Child-to-Parent Tx” data 1425 may include times at which sensor nodes identified by “affiliated children IDs” 1410 may transmit messages to monitor point 905. “Next Tier Activity” data 1430 may include times at which sensor nodes identified by the “affiliated children IDs” data 1410 may transmit messages to, and receive messages from, their affiliated children.
Exemplary Sensor Node Database
Exemplary Schedule Message
Exemplary Transmit/Receive Scheduling
The “next tier activity” 1430 may include time periods allocated to each child of a parent node for transmitting messages to, and receiving messages from, each child's own children nodes. From the time periods allocated to the children of a parent node, each child may construct its own derived schedule. This derived schedule may include a time period, “this node Tx” 1530 during which the child node may transmit to its own affiliated children. The derived schedule may further include time periods, “children-to-this node Tx” 1535 during which these affiliated children may transmit messages to the parent's child node. The derived schedule may additionally include time periods, designated “this node's next tier activity” 1540, that may be allocated to this node's children so that they may, in turn, construct their own derived schedule for their own affiliated children.
Exemplary Parent/Child Mfiliation Processing
An unaffiliated sensor node 1005 may begin parent/child affiliation processing by turning on its receiver 1205 and continuously listening for schedule message(s) transmitted from a lower tier of sensor network 910 [step 1805] (
Sensor node 1005 may determine if any affiliation messages have been received from sensor nodes residing in higher tiers [step 1905] (
Exemplary Monitor Point Message Processing
Monitor point message processing may begin with a monitor point 905 receiving one or more affiliation messages from neighboring sensor nodes [step 2005] (
Schedule message 1600 may be transmitted periodically using conventional multiple access mechanisms, such as, for example, Carrier Sense Multiple Access (CSMA). Subsequent to transmission of schedule message 1600, monitor point 905 may determine if acknowledgements (ACKs) have been received from all affiliated children [step 2025]. If not, monitor point 905 may re-transmit the schedule message 1600 at regular intervals until ACKs are received from all affiliated children [step 2030]. In this manner, monitor point 905 coordinates and schedules the power on/off intervals of the sensor nodes that is associated with (i.e., the nodes with which it transmits/receives data from).
Exemplary Message Reception/Transmission Processing
Sensor node 1005 (“This node” 2510 of
Inspecting the received messages, sensor node 1005 may determine if sensor node 1005 is the destination of each of the received messages [step 2130]. If so, sensor node 1005 may process the message [step 2135]. If not, sensor node 1005 may determine a next hop in sensor network 910 for the message using conventional routing tables, and place the message in a forwarding queue [step 2140]. At step 2215, sensor node 1005 may determine if it is time to transmit messages to the parent node as indicated by “child-to-parent Tx” data 1425 of database 1500 (see “child-to-parent Tx” 1425 of
Sensor node 1005 may create a new derived schedule for it's children identified by “affiliated children IDs” data 1525, based on the “parent's schedule” 1515, and may then store the new derived schedule in the “derived schedule” data 1520 of database 1500 [step 2235]. Sensor node 1005 may inspect the “this node Tx” data 1530 of database 1500 to determine if it is time to transmit to the sensor nodes identified by the “affiliated children IDs” data 1525 [step 2305] (
Exemplary Receiver Timing
The clock at the transmitting node may also incur clock drift, “Max Tx Drift” 2620, that must be accounted for at the receiving node when turning on and off the receiver. The receiving node should, thus, turn on its receiver at a local clock time that is “Max Tx Drift” 2620 plus “Max Rx Drift” 2615 before Tnominal. The receiving node should also turn off its receiver at a local clock time that is “Max Rx Drift” 2615 plus “Max Tx Drift” 2620 plus a maximum estimated time to receive a packet from the transmitting node (TRx 2625). TRx 2625 may include packet transmission time and packet propagation time. By taking into account maximum estimated clock drift at both the receiving node and transmitting node, monitor points 905 and sensor nodes 1005 of sensor network 910 may successfully implement transmit/receive scheduling as described above with respect to
Systems and methods consistent with the present invention, therefore, provide mechanisms that enable sensor node transmitters and receivers to be turned off, and remain in a “sleep” state, for substantial periods, thus, increasing the energy efficiency of the nodes. Systems and methods consistent with the present invention further implement transmission and reception schedules that permit the reception and forwarding of packets containing routing, or other types of data, during short periods when the sensor node transmitters and receivers are powered up and, thus, “awake.” The present invention, thus, increases sensor node operational life by reducing energy consumption while permitting the reception and forwarding of the routing messages needed to self-organize the distributed network. The foregoing description of exemplary embodiments of the present invention provides illustration and description, but is not intended to be exhaustive or to limit the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention. For example, while certain components of the invention have been described as implemented in hardware and others in software, other hardware/software configurations may be possible. Also, while series of steps have been described with regard to
The foregoing description of preferred embodiments of the present invention provides illustration and description, but is not intended to be exhaustive or to limit the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention. For example, while series of acts have been described with regard to
No element, act, or instruction used in the description of the present invention should be construed as critical or essential to the invention unless explicitly described as such. Also, as used herein, the article “a” is intended to include one or more items. Where only one item is intended, the term “one” or similar language is used. The scope of the invention is not limited to the foregoing description, and is instead defined by the claims and their equivalents.
This application is a continuation of U.S. patent application Ser. No. 16/807,311 filed Mar. 3, 2020, which is a continuation of U.S. patent application Ser. No. 15/409,055 filed Jan. 18, 2017, which is a continuation of U.S. patent application Ser. No. 14/538,563 filed Nov. 11, 2014, now U.S. Pat. No. 9,674,858, which is a continuation of U.S. patent application Ser. No. 12/537,085 filed Aug. 6, 2009, which is a continuation of U.S. patent application Ser. No. 12/253,130 filed Oct. 16, 2008, now U.S. Pat. No. 7,979,096, which is a continuation of U.S. patent application Ser. No. 12/174,512 filed Jul. 16, 2008, now U.S. Pat. No. 7,623,897, which is a continuation of U.S. patent application Ser. No. 10/328,566 filed Dec. 23, 2002, now U.S. Pat. No. 7,421,257, the entire contents of which are incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
3192230 | Lunsford et al. | Jun 1965 | A |
5117430 | Berglund | May 1992 | A |
5247285 | Yokota et al. | Sep 1993 | A |
5297142 | Paggeot et al. | Mar 1994 | A |
5307297 | Iguchi et al. | Apr 1994 | A |
5371734 | Fischer et al. | Dec 1994 | A |
5371764 | Gillingham et al. | Dec 1994 | A |
5481265 | Russell | Jan 1996 | A |
5515369 | Flammer, III et al. | May 1996 | A |
5517505 | Buchholz et al. | May 1996 | A |
5528587 | Garland et al. | Jun 1996 | A |
5541912 | Choudhury et al. | Jul 1996 | A |
5583866 | Vook | Dec 1996 | A |
5598419 | Weigand et al. | Jan 1997 | A |
5602841 | Lebizay et al. | Feb 1997 | A |
5604735 | Levinson et al. | Feb 1997 | A |
5649119 | Kondoh et al. | Jul 1997 | A |
5680768 | Park | Oct 1997 | A |
5696765 | Safadi | Dec 1997 | A |
5699357 | Carvey | Dec 1997 | A |
5721733 | Wang et al. | Feb 1998 | A |
5737328 | Norman et al. | Apr 1998 | A |
5752202 | Obright | May 1998 | A |
5781028 | Decuir | Jul 1998 | A |
5832492 | Wooten | Nov 1998 | A |
5848064 | Cowan | Dec 1998 | A |
5857080 | Jander et al. | Jan 1999 | A |
5896375 | Dent et al. | Apr 1999 | A |
5903777 | Brief | May 1999 | A |
5909183 | Borgstahl et al. | Jun 1999 | A |
5933611 | Shakkarwar | Aug 1999 | A |
5940771 | Gollnick | Aug 1999 | A |
5974327 | Agrawal et al. | Oct 1999 | A |
6005854 | Xu et al. | Dec 1999 | A |
6005869 | Sakai et al. | Dec 1999 | A |
6011486 | Casey | Jan 2000 | A |
6011784 | Brown et al. | Jan 2000 | A |
6026297 | Haartsen | Feb 2000 | A |
6028857 | Poor | Feb 2000 | A |
6052779 | Jackson et al. | Apr 2000 | A |
6061687 | Wooten | May 2000 | A |
6067301 | Aatresh | May 2000 | A |
6069896 | Borgstahl et al. | May 2000 | A |
6079033 | Jacobson, Jr. et al. | Jun 2000 | A |
6094435 | Hoffman et al. | Jul 2000 | A |
6097707 | Hodzic et al. | Aug 2000 | A |
6097733 | Basu et al. | Aug 2000 | A |
6115390 | Chuah | Sep 2000 | A |
6128290 | Carvey | Oct 2000 | A |
6128492 | Chung | Oct 2000 | A |
6192230 | Van Bokhorst et al. | Feb 2001 | B1 |
6208247 | Agre | Mar 2001 | B1 |
6249740 | Ito et al. | Jun 2001 | B1 |
6256682 | Gudan et al. | Jul 2001 | B1 |
6272140 | La Rowe et al. | Aug 2001 | B1 |
6272567 | Pal et al. | Aug 2001 | B1 |
6279060 | Luke et al. | Aug 2001 | B1 |
6282183 | Harris et al. | Aug 2001 | B1 |
6292508 | Hong et al. | Sep 2001 | B1 |
6314091 | La Rowe et al. | Nov 2001 | B1 |
6331972 | Harris et al. | Dec 2001 | B1 |
6351468 | La Rowe et al. | Feb 2002 | B1 |
6381467 | Hill et al. | Apr 2002 | B1 |
6385174 | Li | May 2002 | B1 |
6414955 | Clare et al. | Jul 2002 | B1 |
6415342 | Wahl et al. | Jul 2002 | B1 |
6421347 | Borgstahl et al. | Jul 2002 | B1 |
6424623 | Borgstahl et al. | Jul 2002 | B1 |
6434158 | Harris et al. | Aug 2002 | B1 |
6434159 | Woodward et al. | Aug 2002 | B1 |
6487180 | Borgstahl et al. | Nov 2002 | B1 |
6492904 | Richards et al. | Dec 2002 | B2 |
6505052 | Jou | Jan 2003 | B1 |
6532220 | Carneal et al. | Mar 2003 | B1 |
6535947 | Amoni et al. | Mar 2003 | B1 |
6564074 | Romans | May 2003 | B2 |
6570857 | Haartsen et al. | May 2003 | B1 |
6574266 | Haartsen | Jun 2003 | B1 |
6574453 | Honda et al. | Jun 2003 | B1 |
6590928 | Haartsen | Jul 2003 | B1 |
6593768 | Iyer et al. | Jul 2003 | B1 |
6633538 | Tanaka et al. | Oct 2003 | B1 |
6633753 | Kido | Oct 2003 | B1 |
6694149 | Ady | Feb 2004 | B1 |
6697649 | Bennett et al. | Feb 2004 | B1 |
6704293 | Larsson et al. | Mar 2004 | B1 |
6715071 | Ono et al. | Mar 2004 | B2 |
6721273 | Lyon | Apr 2004 | B1 |
6748451 | Woods et al. | Jun 2004 | B2 |
6754188 | Garahi et al. | Jun 2004 | B1 |
6760584 | Jou | Jul 2004 | B2 |
6775258 | Van Valkenburg et al. | Aug 2004 | B1 |
6789196 | Miyano | Sep 2004 | B1 |
6804232 | Donaghey | Oct 2004 | B1 |
6807163 | Shi | Oct 2004 | B1 |
6816460 | Ahmed et al. | Nov 2004 | B1 |
6816510 | Banerjee | Nov 2004 | B1 |
6842430 | Melnik | Jan 2005 | B1 |
6901465 | Kamihara et al. | May 2005 | B2 |
6977895 | Shi et al. | Dec 2005 | B1 |
7020501 | Elliott | Mar 2006 | B1 |
7020701 | Gelvin et al. | Mar 2006 | B1 |
7035240 | Balakrishnan | Apr 2006 | B1 |
7218633 | Donaghey | May 2007 | B2 |
7266085 | Stine | Sep 2007 | B2 |
7386003 | Donaghey | Jun 2008 | B1 |
7421257 | Elliott | Sep 2008 | B1 |
7653394 | McMillin | Jan 2010 | B2 |
9674858 | Elliott | Jun 2017 | B2 |
10863528 | Elliott | Dec 2020 | B2 |
20010029178 | Criss et al. | Oct 2001 | A1 |
20020027894 | Arrakoski et al. | Mar 2002 | A1 |
20020071395 | Redi et al. | Jun 2002 | A1 |
20020082035 | Aihara et al. | Jun 2002 | A1 |
20020184385 | Kato | Dec 2002 | A1 |
20030012168 | Elson et al. | Jan 2003 | A1 |
20030066090 | Traw et al. | Apr 2003 | A1 |
20030119568 | Menard | Jun 2003 | A1 |
20030146871 | Karr et al. | Aug 2003 | A1 |
20040196784 | Larsson et al. | Oct 2004 | A1 |
20050215280 | Twitchell, Jr. | Sep 2005 | A1 |
20060121861 | Diepstraten | Jun 2006 | A1 |
20060246869 | Ohlenbusch et al. | Nov 2006 | A1 |
20170135122 | Elliott | May 2017 | A1 |
20200205172 | Elliott | Jun 2020 | A1 |
Number | Date | Country |
---|---|---|
1 022 876 | Jul 2000 | EP |
1 102 454 | May 2001 | EP |
1995923 | Nov 2008 | EP |
9614697 | May 1996 | WO |
9914898 | Mar 1999 | WO |
0068811 | Nov 2000 | WO |
05005126 | Jan 2005 | WO |
Entry |
---|
Amendment to Contract No. N3998-96-C-5021 (1997). |
Barber et al., “Designing for Wireless LAN Communications,” IEEE Circuits and Devices, 4:12, pp. 29-33 (1996). |
Barber, Jr., Paper submitted to MIT. BodyLAN ™: A Low-Power Communications System (Feb. 1996). |
Bers, A Body Model Server for Human Motion Capture and Representation, Presence, vol. 5, No. 4, pp. 381-392 (Fall 1996). |
Boch, High Bandwidth MM-Wave Indoor Wireless Local Area Networks, Microwave Journal, pp. 152, 154-158 (Jan. 1996). |
Butterfly Wireless Connectivity for Interactive Multimedia, Spec Sheet, Butterfly Communications, Inc. (1997). |
Butterfly Wireless RF Solution, Spec Sheet, Butterfly Communications, Inc. (Nov. 1997). |
Carvey, “Technology for the Wireless Interconnection of Wearable Personal Electronic Accessories,” VLSI Signal Processing IX, pp. 13-22 (1996). |
Clare et al., “Self-Organizing Distributed Sensor Networks,” University of California Los Angeles/Rockwell Science Center, 9 pp. (Mar. 7, 2001). |
Contract No. N3998-96-C-5021 (1996). |
Notice of Allowance, U.S. Appl. No. 09/535,591, dated Feb. 10, 2004. |
Notice of Allowance, U.S. Appl. No. 09/536,191, dated Feb. 6, 2008. |
Notice of Allowance, U.S. Appl. No. 09/998,946, dated Oct. 26, 2005. |
Notice of Allowance, U.S. Appl. No. 10/328,566, dated May 15, 2008. |
Notice of Allowance, U.S. Appl. No. 10/894,406, dated Dec. 27, 2006. |
Notice of Allowance, U.S. Appl. No. 12/174,512 dated Oct. 7, 2009. |
Notice of Allowance, U.S. Appl. No. 12/253,130, dated Apr. 15, 2011. |
Notice of Allowance, U.S. Appl. No. 12/537,010 dated Apr. 18, 2011. |
Notice of Allowance, U.S. Appl. No. 14/538,563, dated Feb. 1, 2017. |
Office Action Summary (Final Rejection), U.S. Appl. No. 14/538,563, dated Oct. 22, 2015. |
Office Action Summary, U.S. Appl. No. 09/535,591, dated Sep. 10, 2003. |
Office Action Summary, U.S. Appl. No. 09/536,191, dated Dec. 15, 2004. |
Office Action Summary, U.S. Appl. No. 09/536,191, dated Jun. 29, 2005. |
Office Action Summary, U.S. Appl. No. 09/536,191, dated Oct. 17, 2005. |
Office Action Summary, U.S. Appl. No. 09/536,191, dated Feb. 6, 2007. |
Office Action Summary, U.S. Appl. No. 09/536,191, dated Aug. 7, 2007. |
Office Action Summary, U.S. Appl. No. 09/998,946, dated Oct. 5, 2004. |
Office Action Summary, U.S. Appl. No. 09/998,946, dated May 18, 2005. |
Office Action Summary, U.S. Appl. No. 10/328,566, dated Jun. 29, 2005. |
Office Action Summary, U.S. Appl. No. 10/328,566, dated Jan. 12, 2006. |
Office Action Summary, U.S. Appl. No. 10/328,566, dated Apr. 21, 2006. |
Office Action Summary, U.S. Appl. No. 10/328,566, dated Oct. 18, 2006. |
Office Action Summary, U.S. Appl. No. 10/328,566, dated Jun. 15, 2007. |
Office Action Summary, U.S. Appl. No. 10/328,566, dated Dec. 13, 2007. |
Office Action Summary, U.S. Appl. No. 10/649,030, dated Nov. 16, 2007. |
Office Action Summary, U.S. Appl. No. 10/786,335, dated Nov. 2, 2007. |
Office Action Summary, U.S. Appl. No. 10/894,406, dated Oct. 21, 2005. |
Office Action Summary, U.S. Appl. No. 12/174,512 dated Mar. 9, 2009. |
Office Action Summary, U.S. Appl. No. 12/253,130, dated Dec. 29, 2010. |
Office Action Summary, U.S. Appl. No. 12/253,130, dated Jun. 29, 2009. |
Office Action Summary, U.S. Appl. No. 12/253,130, dated Nov. 30, 2009. |
Office Action Summary, U.S. Appl. No. 12/253,130, dated Mar. 31, 2010. |
Office Action Summary, U.S. Appl. No. 12/537,085, dated Feb. 1, 2011. |
Office Action Summary, U.S. Appl. No. 12/537,010, dated May 28, 2010. |
Office Action Summary, U.S. Appl. No. 12/537,085, dated May 14, 2010. |
Office Action Summary, U.S. Appl. No. 12/537,010, dated Dec. 21, 2010. |
Office Action Summary, U.S. Appl. No. 12/537,085, dated Jan. 3, 2012. |
Office Action Summary, U.S. Appl. No. 12/537,085, dated Dec. 20, 2012. |
Office Action Summary, U.S. Appl. No. 14/538,563, dated Mar. 12, 2015. |
Office Action Summary, U.S. Appl. No. 14/538,563, dated Jun. 27, 2016. |
Doherty, “Algorithms for Position and Data Recovery in Wireless Sensor Networks,” University of California at Berkeley, 54 pp. (Mar. 7, 2001). |
Draft, An Introduction to USB 2.0—Draft 0.9 (1999). |
Final Rejection, U.S. Appl. No. 15/409,055, dated Mar. 29, 2019. |
Goyal et al., “MCM Design Methodology for Portable Wireless Communications Systems Design,” Proceedings of the SPIE, vol. 2794, pp. 230-233 (1996). |
Iyer—Intel Corporation, USB Engineering Change Notice—USB Cable Parameters, USB Specification Rev. 1.1 (Oct. 7, 1999). |
Kardach, “Bluetooth Architecture Overview,” Intel Corporation, 1998. |
LaRowe, “PAN Feasibility: The BodyLAN Experience,” GTE Internetworking—BBN Technologies (Mar. 1998). |
Liu et al., “Simulation Modeling of Large-Scale Ad-hoc Sensor Networks,” European Simulation Interoperability Workshop, University of Westminster, London, 12 pp. (Jun. 25-27, 2001). |
Liu et al., Bluetooth Scatternet Route Structure for Multihop Ad Hoc Networks, IEEE Journal on Selected Areas in Communications, 21:2, pp. 229-239 (Feb. 2003). |
Navarro, Simulation of Heterogeneous Optical Channel for Indoor Wireless Infrared Communications, Proceedings of Melecon '96, pp. 1035-1038 (May 1996). |
Non-Final Rejection, U.S. Appl. No. 15/409,055, dated Nov. 17, 2017. |
Non-Final Rejection, U.S. Appl. No. 15/409,055, dated Sep. 20, 2018. |
Non-Final Rejection, U.S. Appl. No. 16/807,311, dated Apr. 2, 2020. |
Notice of Allowance, U.S. Appl. No. 15/409,055, dated Oct. 28, 2019. |
Notice of Allowance, U.S. Appl. No. 16/807,311, dated Sep. 30, 2020. |
Retrieved Feb. 9, 2006 from http://www.unf.edu/ccec/ieee/prev_mesa_1998.html 1998 IEEE Computer Elements MESA Workshop (1998). |
Retrieved Feb. 9, 2006 from http://www.wlan01.wpi.edu/scripts/history.html—The Third IEEE Workshop on Wireless LANs: History. |
Retrieved from http://www.nap.edu 1997 Energy Efficient Technologies for the Dismounted Soldier, pp. 65-111 (1997). |
Specification of the Bluetooth System, vol. I (Dec. 1, 1999). |
Specification of the Bluetooth System, vol. II (Dec. 1, 1999). |
U.S. Appl. No. 12/174,512, filed Jul. 16, 2008. |
U.S. Appl. No. 12/537,010, filed Aug. 6, 2009. |
U.S. Appl. No. 12/537,085, filed Aug. 6, 2009. |
U.S. Appl. No. 12/699,836, filed Feb. 3, 2010. |
U.S. Appl. No. 12/699,842, filed Feb. 3, 2010. |
U.S. Appl. No. 12/699,846, filed Feb. 3, 2010. |
Universal Serial Bus Specification 2.0 (Apr. 2000). |
Universal Serial Bus Specification 2.0 (draft 0.79), p. 151 (Oct. 5, 1999). |
Universal Serial Bus Specification, Revision 1.1, Compaq, Intel, Microsoft, NEC (Sep. 23, 1998). |
Universal Serial Bus: Plug-and-Play C Single PC (Part 1 of 2); Technical Perspective, www.cypress.com/design/techarticles/v3n1p4.html (Aug. 16, 1999). |
Universal Serial Bus: Plug-and-Play Connectivity for Multiple Peripherals on Single PC (Part 2 of 2); Technical Perspective, www.cypress.com/design/techarticles/v3n1p5.html (Aug. 16, 1999). |
Van Dyck, Distributed Sensor Processing Over an Ad Hoc Wireless Network: Simulation Framework and Performance Criteria, NIST (2001). |
Number | Date | Country | |
---|---|---|---|
20210120567 A1 | Apr 2021 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16807311 | Mar 2020 | US |
Child | 17114624 | US | |
Parent | 15409055 | Jan 2017 | US |
Child | 16807311 | US | |
Parent | 14538563 | Nov 2014 | US |
Child | 15409055 | US | |
Parent | 12537085 | Aug 2009 | US |
Child | 14538563 | US | |
Parent | 12253130 | Oct 2008 | US |
Child | 12537085 | US | |
Parent | 12174512 | Jul 2008 | US |
Child | 12253130 | US | |
Parent | 10328566 | Dec 2002 | US |
Child | 12174512 | US |