Constrained device and supporting operating system
First Claim
1. A computer program product tangibly stored on a non-transitory computer readable hardware storage device, the computer program product for managing constrained devices on a network, the computer program product comprising instructions to cause a processor to:
- schedule executable functions to execute on a constrained device, the executable functions selected from either a first set of executable functions that are built into a loaded image in the constrained device or a second set of executable functions that are downloaded during operation of the constrained device, with the instructions to schedule configured to;
access a management structure comprising a linked list of pointers to function locations of executable functions that are not currently executing on the constrained device;
identify a particular function in the linked list of functions, as ready to execute;
determine a priority value of the particular identified function relative to a current executing function, and when the particular, identified function in the linked list is of a higher priority than the current executing function;
preempt the execution of the current executing function without saving register values of the current executing function in random access memory; and
execute the particular, identified function having the higher priority.
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.
56 Citations
18 Claims
-
1. A computer program product tangibly stored on a non-transitory computer readable hardware storage device, the computer program product for managing constrained devices on a network, the computer program product comprising instructions to cause a processor to:
-
schedule executable functions to execute on a constrained device, the executable functions selected from either a first set of executable functions that are built into a loaded image in the constrained device or a second set of executable functions that are downloaded during operation of the constrained device, with the instructions to schedule configured to; access a management structure comprising a linked list of pointers to function locations of executable functions that are not currently executing on the constrained device; identify a particular function in the linked list of functions, as ready to execute; determine a priority value of the particular identified function relative to a current executing function, and when the particular, identified function in the linked list is of a higher priority than the current executing function; preempt the execution of the current executing function without saving register values of the current executing function in random access memory; and execute the particular, identified function having the higher priority. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method comprises:
-
managing by a processor device a set of executable functions that are built into a loaded image or downloaded during operation of a constrained device; scheduling by the processor device an executable function to execute on the constrained device; accessing by the processor a management structure comprising a linked list of pointers to function locations of executable functions that are not currently executing on the constrained device; identifying by the processor device a particular function in the linked list of functions as ready to execute; determining a priority value of the particular identified function relative to a currently executing function, and when the particular, identified function in the linked list is of a higher priority than the currently executing function; preempting execution of currently executing function, by the processor device, without saving register values of the currently executing function in random access memory (RAM); and executing the particular, identified function having the higher priority. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A constrained sensor device comprises;
-
a processing device; a sensor element for sensing a physical condition, the sensor element sending data for processing to the processing device, with the processing device applying one or more user-defined independent executable functions to the data; a network interface; a storage device storing a computer program product comprising instructions to cause the processing device to; schedule executable functions to execute on a constrained device, the executable functions selected from either a first set of executable functions that are built into a loaded image or a second set of executable functions that are downloaded during operation of the constrained device, according to availability and priority of an executable function relative to other functions in the first set of executable functions and the second set of executable functions, with the instructions to schedule configured to; access a management structure comprising a linked list of pointers to function locations of executable functions that are not currently executing on the constrained device; identify a particular function in the linked list of functions, as ready to execute; determine a priority value of the particular identified function relative to a currently executing function, and when the particular, identified function in the linked list is of a higher priority than the currently executing function; preempt the execution of the currently executing function, without saving register values of the currently executing function in random access memory; and execute the particular, identified function having the higher priority. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification