Method and apparatus for distributed signal processing among internetworked wireless integrated network sensors (WINS)
First Claim
1. A method for distributed signal processing in a distributed network, the method comprising:
- monitoring an environment, wherein monitoring comprises a plurality of sensor nodes receiving a plurality of signals from the environment;
at least one user remotely accessing at least one sensor node of the plurality of sensor nodes, wherein remotely accessing comprises programming using at least one application program interface (API) such that the at least one remote user accesses, through a high level programming language, real-time node processes running on a real-time processor, wherein the real-time processes are running below an operating system of the at least one sensor node that is running on an application processor, wherein the real-time processor and the application processor are distinct processors.
9 Assignments
0 Petitions
Accused Products
Abstract
The Wireless Integrated Network Sensor Next Generation (WINS NG) nodes provide distributed network and Internet access to sensors, controls, and processors that are deeply embedded in equipment, facilities, and the environment. The WINS NG network is a new monitoring and control capability for applications in transportation, manufacturing, health care, environmental monitoring, and safety and security. The WINS NG nodes combine microsensor technology, low power distributed signal processing, low power computation, and low power, low cost wireless and/or wired networking capability in a compact system. The WINS NG networks provide sensing, local control, remote reconfigurability, and embedded intelligent systems in structures, materials, and environments.
615 Citations
61 Claims
-
1. A method for distributed signal processing in a distributed network, the method comprising:
-
monitoring an environment, wherein monitoring comprises a plurality of sensor nodes receiving a plurality of signals from the environment;
at least one user remotely accessing at least one sensor node of the plurality of sensor nodes, wherein remotely accessing comprises programming using at least one application program interface (API) such that the at least one remote user accesses, through a high level programming language, real-time node processes running on a real-time processor, wherein the real-time processes are running below an operating system of the at least one sensor node that is running on an application processor, wherein the real-time processor and the application processor are distinct processors. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
sensing; signal processing;
data storage;
self configuration; and
self location.
-
-
4. The method of claim 1, wherein signal processing is distributed based upon the plurality of signals from the environment.
-
5. The method of claim 1, wherein the distributed network comprises at least one network selected from a group comprising the Internet, local area networks, wide area networks, metropolitan area networks, multi-hop networks, and information service stations.
-
6. The method of claim 1, wherein remotely accessing occurs via the Internet through a World Wide Web-based application.
-
7. The method of claim 5, wherein the plurality of sensor nodes comprises at least one gateway node, and wherein the user accesses the plurality of sensor nodes through the at least one gateway node.
-
8. The method of claim 1, wherein programming comprises:
-
configuring sensing capabilities of the at least one sensor node;
configuring signal processing capabilities of the at least one sensor node;
configuring communication capabilities of the at least one sensor node; and
configuring networking capabilities of the at least one sensor node.
-
-
9. The method of claim 1, wherein the at least one API comprises a plurality of components, comprising:
-
a data acquisition component;
an automatic gain control (AGC) component that configures an AGC system of the sensor node;
an alarm trigger component that permits algorithms to control a reaction of the sensor node to a potentially threat-induced signal;
a data transfer component that initiates transfer of data from a data buffer of a sensor node preprocessor to a data buffer of a sensor node processor;
a communications component; and
a signal processing component.
-
-
10. The method of claim 9, wherein the at least one API further comprises:
-
a global positioning system (GPS) configuration component that opens a configuration channel to a GPS device coupled to the sensor node; and
a global positioning system (GPS) command and data acquisition component that opens a command and data acquisition channel to a GPS device coupled to the sensor node.
-
-
11. The method of claim 9, wherein the signal processing component comprises a frequency impulse response (FIR) filter that operates on data received by the sensor node and outputs data according to FIR filter coefficients.
-
12. The method of claim 9, wherein the communications component comprises a radio frequency (RF) modem component that initiates an RF modem and sets an RF modem configuration.
-
13. The method of claim 9, wherein the at least one API further comprises a power spectral density component that computes a power spectral density of sensor data.
-
14. The method of claim 9, wherein the data acquisition component initiates data acquisition by the at least one sensor node in a continuously vigilant low power mode.
-
15. The method of claim 9, wherein the data acquisition component initiates data acquisition by the at least one sensor node for development, testing and operation in a high performance alarm mode.
-
16. The method of claim 1, wherein the at least one sensor node comprises a plurality of software modules within a framework, wherein a software module presents at least one interface and maintains an internal state.
-
17. The method of claim 16, wherein the at least one interface follows a standard form defined by the framework, and wherein the at least one interface is define by at least one of:
-
types of data sent and received by a software module; and
commands received by the software module.
-
-
18. The method of claim 17, wherein the plurality of software modules are coupled by inter-module connections, and wherein software modules may be added, removed or changed by changing at least one of the inter-module connections.
-
19. The method of claim 18, wherein at least one of the inter-module connections may be changed at runtime.
-
20. The method of claim 16, wherein at least one of the plurality of software modules comprises at least two interfaces, and wherein each of the at least two interfaces perform different interface functions.
-
21. The method of claim 1, wherein data storage comprises:
-
storing data on one of the plurality of sensor nodes, based upon sensor capabilities, data processing requirements in the distributed network, and power requirements in the distributed network; and
storing data on at least one remote coupled client computer, based upon sensor node capabilities, data processing requirements in the distributed network, and power requirements in the distributed network.
-
-
22. The method of claim 1, wherein data storage comprises:
-
storing data in a distributed database, wherein the distributed database comprises, at least one of the plurality of sensor nodes; and
at least client computer remotely coupled to the distributed network;
determining a data life cycle based upon a data content and a data sequence in time; and
storing data based upon attributes selected from a group comprising, node type;
node location;
event;
signal priority; and
traffic level.
-
-
23. The method of claim 21, further comprising retrieving data from the distributed database using a database query language (DQL) query based upon attributes selected from the group.
-
24. The method of claim 23, further comprising:
-
a first sensor node of the plurality of sensor nodes detecting a signal from a source;
the distributed database receiving a query from a remote user;
in response to the query, the first sensor node performing signal processing and storage decision making; and
the first sensor node reporting results to a second sensor node of the plurality of sensor nodes.
-
-
25. The method of claim 24, wherein reporting results comprises the first sensor node following instructions regarding event priority.
-
26. The method of claim 24, further comprising the second sensor node requesting further information from the first sensor node based upon priorities established by the query.
-
27. The method of claim 1, wherein signal processing comprises:
-
the at least one sensor node collecting data from a source in the environment;
the at least one sensor node determining whether the data should be processed or discarded;
if it is determined that the data should be processed, the at least one sensor node attempting to classify the data;
the at least one sensor node storing the data on the distributed network; and
the at least one sensor node generating a message to, the at least one user that the data is available.
-
-
28. The method of claim 27, wherein determining comprises the at least one sensor node quantifying a characteristic of the data with respect to a predetermined reference value.
-
29. The method of claim 28, wherein the characteristic is a signal energy level and the predetermined reference value is a threshold energy level.
-
30. The method of claim 28, wherein the at lest one sensor node solicits fusion data from the other sensor nodes in the distributed network based upon the a comparison of the quantified characteristic and the predetermined reference value.
-
31. The method of claim 30, further comprising:
-
the at least one sensor node performing a classification of the data using the solicited data;
the at least one sensor node determining whether the data is anomalous using predetermined criteria; and
if the data is determined to be anomalous, the at least one sensor node storing the data to be used for adapting a classification algorithm.
-
-
32. The method of claim 1, wherein the at least one sensor node is configured to selectively perform low power functions using a preprocessor and higher power functions using a processor.
-
33. The method of claim 1 wherein self configuration comprises executing at least one self configuration protocol, wherein the at least one self configuration protocol controls a distribution of information and energy among the plurality of sensor nodes, and wherein the at least one self configuration protocol controls data processing and control of the distributed network.
-
34. The method of claim 33, wherein the at lest one self configuration protocol is downloaded to the distributed network by a user via the Internet and the at least one API.
-
35. The method of claim 1, wherein self location comprises each of the plurality of sensor nodes operating a global positioning system (GPS).
-
36. The method of claim 1, wherein self location comprises:
-
a subset of the plurality of sensor nodes determining their respective positions;
each sensor node of the subset distributing a respective position to other sensor nodes of the plurality of sensor nodes;
establishing synchronism among the plurality of sensing nodes; and
establishing range information.
-
-
37. The method of claim 1, further comprising distributing data in the distributed network using message packets, wherein the message packets are aggregated into compact forms in the at least one sensor node using message aggregation protocols, wherein the message aggregation protocols are adaptive to data type, node density, message priority, and available energy.
-
38. The method of claim 37, wherein the message packets include decoy message packets, and wherein data to be distributed is impressed on random message packets to limit access to the data to be distributed.
-
39. An apparatus for distributed signal processing in a network that comprises a plurality of network elements in an environment, wherein the plurality of network elements comprises:
-
at least one sensor node that receives a plurality of signals from the environment, the at least one sensor node comprising, sensing apparatus; and
processing apparatus configured to perform processing a plurality of levels;
at least one client computer configured to execute at least one application program interface (API) through which a remote user of the at least one client computer remotely accesses the at least one sensor node, wherein remotely accessing comprises programming using the at least one (API) such that the at least one remote user accesses, through a high level programming language, real-time node processes running on a real-time processor, wherein the real-time processes are running below an operating system of the at least one sensor node that is running on an application processor, wherein the real-time processor and the application processor are distinct processors. - View Dependent Claims (40, 41, 42, 43, 44, 45)
sensing;
signal processing;
data storage;
self configuration; and
self location.
-
-
42. The apparatus of claim 39, wherein the at least one sensor node further comprises a storage apparatus such that the plurality of network elements make up a distributed database.
-
43. The apparatus of claim 39, wherein at least one of the plurality of network elements further comprises a global positioning system (GPS) component that assists in self configuration of the distributed network and in self-location of the plurality of network elements.
-
44. The apparatus of claim 40, wherein the at least one gateway performs at least one function selected from a group consisting of protocol translation, sensor network management, management of transmissions from the remote user, and interfacing with at least one communication physical layer including wired local area network, packet radio, microwave, optical, wireline telephony, cellular telephony, and satellite telephony.
-
45. The apparatus of claim 39, wherein the plurality of network elements comprise at least one network selected from a group comprising wired networks, wireless networks, and hybrid wired and wireless networks.
-
46. An electromagnetic medium containing executable instructions which, when executed in a distributed network in an environment, cause at least one of a plurality of network elements, including at least one sensor node, of the distributed network to of the distributed network to:
-
receive a plurality of signals from the environment;
process the plurality of signals received from the environment;
configure a functionality of at least one network element at any one of a plurality of processing levels as directed by a remote user using a high level programming language; and
configure the functionality of the at least one network element at any one of the plurality of processing levels as directed by the remote user using programming at an operating system level, wherein the functionality of the at least one network element comprises distributing processing of data based upon the plurality of signals received from the environment, wherein configuring further comprises the remote user accessing real-time node processes running on a real-time processor, wherein the real-time processes are running below an operating system of the at least one sensor node that is running on an application processor, wherein the real-time processor and the application processor are distinct processors. - View Dependent Claims (47, 48, 49, 50, 51)
-
-
52. A distributed signal processing apparatus, comprising a plurality of network elements, including at least one sensor node, comprising:
-
a plurality of network element means, wherein the plurality of network element means comprises, monitoring means for monitor an environment, wherein monitoring comprises receiving a plurality of signals from the environment;
processing means coupled to the monitoring means for performing processing at multiple levels, wherein processing comprises, signal processing;
data storage;
self configuration; and
self location; and
interface means coupled to the processing means for providing a remote user access to at least one of the plurality network elements means, wherein access comprises, programming the at least one network element means at a level of an operating system of the at least one network element means, wherein programming comprises configuring the at least one network element means to distribute signal processing based upon the plurality of signals from the environment; and
programming the at least one network element means using high level programming language, wherein programming comprises configuring the at least one network element means to distribute signal processing based upon the plurality of signals from the environment;
wherein programming further comprises accessing real-time node processes running on a real-time processor, wherein the real-time processes are running below an operating system of the at least one sensor node that is running on an application processor, wherein the real-time processor and the application processor are distinct processors.- View Dependent Claims (53, 54, 55, 56, 57, 58, 59, 60, 61)
at least one node means;
at least one client computer means;
at least one gateway means; and
at least one server means.
-
-
55. The distributed signal processing apparatus of claim 54, wherein the at least one node means supports at least one communication mode selected from a group consisting of wireless communications, wired communications, and hybrid wired and wireless communications.
-
56. The distributed signal processing apparatus of claim 54, wherein the at least one interface means comprises a plurality of component means, the plurality of component means comprising:
-
a communications component means;
a signal processing component means;
a data acquisition component means;
an automatic gain control (AGC) component means that configures an AGC system of the node means;
an alarm trigger component means that permits algorithms to control a reaction of the node means to a potentially threat-induced signal; and
a data transfer component means that initiates transfer of data from a data buffer of a node means preprocessor to a data buffer of a node means processor.
-
-
57. The distributed signal processing apparatus of claim 54, wherein the communications component means comprises a radio frequency (RF) modern component means that initiates an RF modem of the node means and sets an RF modem configuration.
-
58. The distributed signal processing apparatus of claim 54, wherein the signal processing component means comprises a frequency impulse response (FIR) filter component means that operates on data received by the node means and outputs data according to FIR filter coefficients.
-
59. The distributed signal processing apparatus of claim 54, wherein the data acquisition component means initiates data acquisition by a node means in a continuously vigilant low power mode.
-
60. The distributed signal processing apparatus of claim 54, wherein the data acquisition component means initiates data acquisition by a node means in a node means for development, testing and operation in a high performance alarm mode.
-
61. The distributed signal processing apparatus of claim 54, wherein the plurality of component means further comprises a power spectral density component means that computes a power spectral density of the plurality of signals from the environment.
Specification