System and method for providing fault tolerant processing in an implantable medical device
First Claim
1. A system for providing fault tolerant processing in an implantable medical device, comprising:
- an implantable medical device comprising a processor and memory store, the processor and memory store configured to execute a plurality of threads;
temporal and spatial constraints assigned to one or more of the threads, wherein the temporal and spatial constraints are applicable to individual threads or classes of threads; and
a kernel, comprising;
a scheduler configured to divide processing time among the plurality of threads; and
a thread monitor configured to monitor execution of each of the threads for which temporal and spatial constraints are assigned, wherein the spatial constraints comprise a unique thread identifier assigned to individual threads or classes of threads prior to execution, wherein the thread monitor compares the unique thread identifier provided by a completed thread against a stored thread identifier, wherein mismatch of the completed thread identifier and the stored thread identifier indicates a violation of the spatial constraint, and wherein the thread monitor is further configured to issue a response upon violation of either of the temporal and spatial constraints by individual threads or classes of threads.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments herein generally relate to implantable medical devices and, specifically, to a system and method for providing fault tolerant processing in an implantable medical device. In an embodiment a system for providing fault tolerant processing in an implantable medical device is provided. The system can include an implantable medical device comprising a processor and memory store configured to execute a plurality of threads, temporal and spatial constraints assigned to one or more of the threads, and a kernel. The kernel can include a scheduler and a thread monitor configured to monitor execution of threads against the temporal and spatial constraints, and further configured to issue a response upon violation of either of the constraints by one of the plurality of threads. In an embodiment a method for providing fault tolerant processing in an implantable medical device is provided. Other embodiments are also included herein.
-
Citations
17 Claims
-
1. A system for providing fault tolerant processing in an implantable medical device, comprising:
-
an implantable medical device comprising a processor and memory store, the processor and memory store configured to execute a plurality of threads; temporal and spatial constraints assigned to one or more of the threads, wherein the temporal and spatial constraints are applicable to individual threads or classes of threads; and a kernel, comprising; a scheduler configured to divide processing time among the plurality of threads; and a thread monitor configured to monitor execution of each of the threads for which temporal and spatial constraints are assigned, wherein the spatial constraints comprise a unique thread identifier assigned to individual threads or classes of threads prior to execution, wherein the thread monitor compares the unique thread identifier provided by a completed thread against a stored thread identifier, wherein mismatch of the completed thread identifier and the stored thread identifier indicates a violation of the spatial constraint, and wherein the thread monitor is further configured to issue a response upon violation of either of the temporal and spatial constraints by individual threads or classes of threads. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for providing fault tolerant processing in an implantable medical device, comprising:
-
providing a processor and memory store in an implantable medical device that are configured to execute a plurality of threads; defining temporal and spatial constraints for one or more of the plurality of threads, the temporal and spatial constraints applicable to individual threads or classes of threads; dividing processing time between the plurality of threads; monitoring thread execution and memory usage of each individual thread or class of threads against the temporal and spatial constraints assigned to the individual thread or class of threads, wherein the spatial constraints comprise a unique thread identifier assigned to individual threads or classes of threads prior to execution; comparing the unique thread identifier provided by a completed thread against a stored thread identifier, wherein mismatch of the completed thread identifier and the stored thread identifier indicates a violation of the spatial constraint; and issuing a response upon violation of either of the corresponding defined temporal and spatial constraints by the individual thread or class of threads. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
Specification