Constrained device and supporting operating system
First Claim
1. A computer program product tangibly stored on a computer readable non-transitory hardware storage device, the computer program product for managing constrained sensor devices on a network, the computer program product comprising instructions to cause a processor to:
- manage a dynamic set of user-defined independently executable functions or tasks that are either built into a loaded image or downloaded during normal operation of a constrained sensor device, to further cause the processor to;
add a new function to a management structure that comprises an array or a linked list of function pointers;
update readiness and priority information in scheduler variables; and
produce links between old and new code; and
schedule functions that are referenced through the management structure, to execute on the processor in the constrained sensor device, according to availability based on readiness information and priority of the scheduled functions relative to other functions obtained from the management structure, without saving context that includes register values of registers in the processor of a prior function executing on the processor in the constrained sensor device stored on a stack in random access memory to a different location in the random access memory, with the context including processor operating register values of the prior function, when a next function is identified as ready to run and the next function has a higher priority than the prior function executing on the constrained sensor device.
1 Assignment
0 Petitions
Accused Products
Abstract
A networked system for managing a physical intrusion detection/alarm includes an upper tier of server devices, comprising: processor devices and memory in communication with the processor devices, a middle tier of gateway devices that are in communication with upper tier servers, and a lower level tier of devices that comprise fully functional nodes with at least some of the functional nodes including an application layer that execute routines to provide node functions, and a device to manage the lower tier of devices, the device instantiating a program manager that executes a state machine to control the application layer in each of the at least some of the functional nodes.
64 Citations
17 Claims
-
1. A computer program product tangibly stored on a computer readable non-transitory hardware storage device, the computer program product for managing constrained sensor devices on a network, the computer program product comprising instructions to cause a processor to:
-
manage a dynamic set of user-defined independently executable functions or tasks that are either built into a loaded image or downloaded during normal operation of a constrained sensor device, to further cause the processor to; add a new function to a management structure that comprises an array or a linked list of function pointers; update readiness and priority information in scheduler variables; and
produce links between old and new code; andschedule functions that are referenced through the management structure, to execute on the processor in the constrained sensor device, according to availability based on readiness information and priority of the scheduled functions relative to other functions obtained from the management structure, without saving context that includes register values of registers in the processor of a prior function executing on the processor in the constrained sensor device stored on a stack in random access memory to a different location in the random access memory, with the context including processor operating register values of the prior function, when a next function is identified as ready to run and the next function has a higher priority than the prior function executing on the constrained sensor device. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method comprises:
-
managing by a processor including registers, and which controls a constrained sensor device a dynamic set of user-defined independent executable functions or tasks that are either built into a loaded image or downloaded during normal operation of the constrained sensor device, by; adding a new function to a management structure that comprises an array or a linked list of function pointers; updating readiness and priority information in scheduler variables; and producing links between old and new code; and scheduling functions that are referenced through the management structure, to execute on the processor in the constrained sensor device according to availability based on readiness information and priority of the scheduled functions relative to other functions, which are obtained from the management structure without saving context that includes register values of registers in the processor of a prior function executing on the processor in the constrained sensor device stored on a stack in memory to a different location in the memory, with the context including processor operating register values of the prior function, when a next function is identified as ready to run and the next function has a higher priority than the prior function executing on the constrained device. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A constrained sensor device comprises:
- a processor device including registers;
random access memory in communication with the processor device; a sensor element for sensing a physical condition, the sensor element sending data for processing to the processor device, with the processor device applying one or more user-defined independent executable functions to the data; and a storage device storing a computer program product comprising instructions to cause the processor device to; manage a dynamic set of the user-defined independent executable functions that are either built into a loaded image or downloaded during normal operation of the constrained sensor device to further cause the processor device to; add a new function to a management structure that comprises an array or a linked list of function pointers; update readiness and priority information in scheduler variables; and
produce links between old and new code; andschedule functions that are referenced through the management structure, to execute on the constrained sensor device, according to availability based on readiness information and priority of the scheduled functions relative to other functions obtained from the management structure, without saving context that includes register values of registers in the processor device of a prior function executing on the processor device in the constrained device stored on a stack in the memory to a different location in memory, with the context including processor operating register values of the prior function, when the scheduler identifies a next function that is ready to run and the next function has a higher priority than the prior function executing on the constrained device. - View Dependent Claims (13, 14, 15, 16)
- a processor device including registers;
-
17. A networked detection system comprising:
-
a network of sensors and computing devices, with the network of sensors and computing devices comprising; one or more constrained sensor devices with at least one of the constrained sensor devices comprising; a first processing device; a sensor element for sensing a physical condition, the sensor element sending data for processing to the first processing device, with the first processing device applying one or more user-defined independent executable functions to the data; a storage device storing a computer program product comprising instructions to cause the first processor device to; manage a dynamic set of the user-defined independent executable functions that are either built into a loaded image or downloaded during normal operation of the constrained sensor device, to further cause the first processing device to; add a new function to a management structure that comprises an array or a linked list of function pointers; update readiness and priority information in scheduler variables; and
produce links between old and new code; andschedule functions that are referenced through the management structure to execute on the constrained sensor device according to availability based on readiness information and priority of the scheduled functions relative to other functions obtained from the management structure, without saving context that includes register values of registers in the first processing device of a prior function executing on the first processing device in the constrained device stored on a stack in the memory to a different location in the memory, with the context including processor operating register values of the prior function, when a next function is identified as ready to run and the next function has a higher priority than the prior function executing on the constrained device; and one or more fully functional sensor devices each comprising; a second different type of processing device having greater processing capabilities than the first processing device; second different memory coupled to the second different type of processing device; and
a network connection to connect the one or more constrained sensor devices to the network.
-
Specification