Method and system usable in sensor networks for handling memory faults
First Claim
1. A method comprising:
- executing multiple application modules which access memory in a single memory address space;
prior to a memory access to an application state by an application module, detecting whether the state of the application module is corrupted; and
when the state of the application module is corrupted, micro-rebooting the application module.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system usable in sensor networks for handling memory faults is disclosed. In order to protect the operating system of a sensor node, coarse-grained memory protection is provided by creating and enforcing an application fault domain in the data memory address space of the sensor node. The data memory accessed by the application modules is restricted to the region (which defines the application fault domain) within the data memory address space. The application modules are prevented from accessing memory outside the application fault domain through software-based run-time checks. The state belonging to the operations system is maintained outside of the application fault domain, and is thus protected from memory corruption from any application module. In order to ensure that an application module does not operate on a corrupted state, fine-grained error detection and recovery is provided within the application fault domain. Any corruption of memory within the application fault domain is detected by a run-time memory integrity verifier implemented in the operating system kernel. Recovery involves purging the corrupted state and restarting only the affected application module to operate on an uncorrupted state.
-
Citations
31 Claims
-
1. A method comprising:
-
executing multiple application modules which access memory in a single memory address space;
prior to a memory access to an application state by an application module, detecting whether the state of the application module is corrupted; and
when the state of the application module is corrupted, micro-rebooting the application module. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer readable medium storing computer program instructions for handling memory faults, said computer program instructions defining the steps comprising:
-
executing multiple application modules which access memory in a single memory address space;
prior to a memory access to an application state by an application module, detecting whether the state of the application module is corrupted; and
when the state of the application module is corrupted, micro-rebooting the application module. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. An apparatus, comprising:
-
means for executing multiple application modules which access memory in a single data memory space;
means for detecting whether a state of an application module is corrupted prior to a memory access of the state by the application module; and
means for micro-rebooting the application module in response to a detection of a corrupted state. - View Dependent Claims (27, 28, 29, 30, 31)
-
Specification