System and method for enabling extensibility in sensing systems
First Claim
1. A method for enabling extensibility in a sensing system, the method comprising:
- maintaining physical information, by a device database, on at least one deployed sensor node, wherein the physical information describes sensor-specific calibration information;
maintaining a sensing module registry, wherein the sensing module registry includes a number of software modules that are available for extracting information from sensor data received from the at least one deployed sensor node;
maintaining a set of context pairs, wherein a respective context pair represents a sensing need of a user or a sensing application;
in response to state changes within the sensing module registry, generating a directed graph that represents data flow among deployed sensing devices and software modules, wherein the directed graph comprises a plurality of graph nodes that each represents an instance of a software module deployed on a sensor node, and further comprises one or more edges that each connects a first graph node to a second graph node to represent a configured interface of an output from a first software module instance to a second software module instance;
in response to the set of context pairs changing;
determining a set of graph nodes that satisfy a plurality of sensing needs associated with the set of context pairs, wherein a graph node corresponds to a sensor node that satisfies a respective sensing need represented by a context pair; and
generating, based on the set of graph nodes, a composition of software module instances that are each deployed on a corresponding sensor node to extract information from the distributed sensor data, wherein the composition of software module instances satisfies the plurality of sensing needs of the user or the sensing application.
6 Assignments
0 Petitions
Accused Products
Abstract
One embodiment of the present invention provides a method and apparatus for enabling extensibility in sensing systems. The distributed sensing system comprises a number of sensor nodes, a device database, a sensing module registry, a sensing needs monitor, and an automatic composer. The device database is in communication with at least one sensor node and configured to maintain physical information on at least one sensor node. The sensing module registry is configured to maintain a registry of a number of software modules that are available for extracting information from sensor data. The sensing needs monitor is configured to maintain a list of context pairs that represent a number of sensing needs of a sensing application. The automatic composer is configured to generate a composition of software modules, at runtime, to realize the sensing needs of users and applications.
26 Citations
20 Claims
-
1. A method for enabling extensibility in a sensing system, the method comprising:
-
maintaining physical information, by a device database, on at least one deployed sensor node, wherein the physical information describes sensor-specific calibration information; maintaining a sensing module registry, wherein the sensing module registry includes a number of software modules that are available for extracting information from sensor data received from the at least one deployed sensor node; maintaining a set of context pairs, wherein a respective context pair represents a sensing need of a user or a sensing application; in response to state changes within the sensing module registry, generating a directed graph that represents data flow among deployed sensing devices and software modules, wherein the directed graph comprises a plurality of graph nodes that each represents an instance of a software module deployed on a sensor node, and further comprises one or more edges that each connects a first graph node to a second graph node to represent a configured interface of an output from a first software module instance to a second software module instance; in response to the set of context pairs changing; determining a set of graph nodes that satisfy a plurality of sensing needs associated with the set of context pairs, wherein a graph node corresponds to a sensor node that satisfies a respective sensing need represented by a context pair; and generating, based on the set of graph nodes, a composition of software module instances that are each deployed on a corresponding sensor node to extract information from the distributed sensor data, wherein the composition of software module instances satisfies the plurality of sensing needs of the user or the sensing application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A distributed sensing system, comprising:
-
one or more processors; a memory; a set of deployed sensor nodes; a device database implemented by at least one of the one or more processors configured to maintain physical information in the memory for at least one deployed sensor node; a sensing module registry implemented by at least one of the one or more processors configured to maintain a registry in the memory of one or more software modules that are available for extracting information from sensor data received from a deployed sensor node; a sensing needs monitor implemented by at least one of the one or more processors configured to maintain a set of context pairs in the memory, wherein a respective context pair represents a sensing need of a user or a sensing application; and an automatic composer implemented by at least one of the one or more processors configured to; in response to state changes within the sensing module registry, generate a directed graph that represents data flow among deployed sensing devices and software modules, wherein the directed graph comprises a plurality of graph nodes that each represents an instance of a software module deployed on a sensor node, and further comprises one or more edges that each connects a first graph node to a second graph node to represent a configured interface of an output from a first software module instance to a second software module instance; in response to the set of context pairs changing; determine a set of graph nodes that satisfy a plurality of sensing needs associated with the set of context pairs, wherein a graph node corresponds to a sensor node that satisfies a respective sensing need represented by a context pair; and generate, based on the set of graph nodes, a composition of software module instances that are each deployed on a corresponding sensor node to extract information from the distributed sensor data, wherein the composition of software module instances satisfies the plurality of sensing needs of the user or the sensing application. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification