Claims
- 1. A system comprising:
a processor; a sensor interface responsive to the processor; and memory responsive to the processor, the memory including: program instructions operable to direct the processor to implement a kernel-mode device driver for manipulating a journal based data system associated with data received via the sensor interface.
- 2. The system of claim 1, wherein the kernel-mode device driver runs with supervisor privilege within a kernel of an operating system.
- 3. The system of claim 1, the kernel-mode device driver comprises code that runs with kernel privilege and provides access to a hardware device.
- 4. The system of claim 1, wherein the memory further comprises program instructions for implementing a monitoring application.
- 5. The system of claim 1, further comprising a network interface responsive to the processor.
- 6. The system of claim 5, wherein the memory further comprises program instructions for implementing a notification application for communicating data events via the network interface.
- 7. The system of claim 5, wherein the memory further comprises program instructions for implementing a web server for communicating data via the network interface.
- 8. The system of claim 1, wherein the journal based data system includes a plurality of variable definitions.
- 9. The system of claim 8, wherein each variable definition of the plurality of variable definitions has an associated variable and includes an oldest update field and a latest update field.
- 10. The system of claim 1, wherein the journal based data system includes a plurality of update records.
- 11. The system of claim 10, wherein each variable update record of the plurality of update records has an associated variable and includes a variable value, a next update pointer, and a previous update pointer.
- 12. The system of claim 11, wherein the previous update pointer points to an oldest update field of a variable definition associated with the associated variable.
- 13. The system of claim 11, wherein the next update pointer points to the latest update field of a variable definition associated with the associated variable.
- 14. The system of claim 1, wherein the journal based data system includes a context record.
- 15. The system of claim 14, wherein the context record includes a current timestamp field.
- 16. The system of claim 14, wherein the context record includes a next update field including a pointer to a next update in a global journal of update records.
- 17. A system for maintaining data integrity, the system comprising:
memory including: a plurality of variable definitions, each variable definition of the plurality of variable definitions having an associated variable and including an oldest update field and a latest update field; a plurality of variable update records, each variable update record having an associated variable and including a variable value, a next update pointer, and a previous update pointer, the previous update pointer of a first variable update record associated with one variable pointing to the oldest update field of a variable definition associated with the one variable, the next update pointer of a second variable update record associated with the one variable pointing to the latest update field of the variable definition associated with the one variable; and a plurality of context records, each context record of the plurality of context records having an associated current timestamp field and a context update field pointing to a third variable update record of the plurality of variable update records.
- 18. The system of claim 17, wherein each variable definition further comprises an identification string, and the system further comprising a hash table with records hashed by the identification string.
- 19. The system of claim 17, wherein each variable definition further comprises a class pointer, the class pointer indicating a class and permitting inheritance of class attributes.
- 20. The system of claim 17, wherein each variable definition further comprises a creation timestamp.
- 21. The system of claim 17, wherein each variable definition further comprises a flag.
- 22. The system of claim 21, wherein the flag indicates an attribute selected from the group consisting of a read-only flag, a constant flag, and an undeletable flag.
- 23. The system of claim 21, wherein the flag indicates a persistence attribute.
- 24. The system of claim 17, wherein each variable update record comprises a variable update timestamp.
- 25. The system of claim 17, wherein each of the plurality of variable update records that have a timestamp older than the current timestamp of a context record having the oldest current timestamp of the plurality of context records are discarded.
- 26. A method for accessing a value associated with a variable at a target time, the method comprising:
searching a variable record table for a variable record, the variable record having a variable identification associated with the variable, a latest update pointer, a creation time not greater than the target time, and a latest update time; and selectively searching a set of update records starting with a first update record indicated by the latest update pointer and following a previous update pointer included in the first update record to a subsequent update record.
- 27. The method of claim 26, wherein the update record is an oldest update record stored in the variable record.
- 28. The method of claim 26, wherein the target time is associated with a context record.
- 29. The method of claim 26, further comprising comparing the value to a threshold.
- 30. The method of claim 26, further comprising transmitting the value via a network.
- 31. The method of claim 26, further comprising incorporating the value into an XML document.
- 32. A method for managing memory, the method comprising:
determining an oldest timestamp of interest; searching a set of update records starting at a specified start point and proceeding chronologically to subsequent update records until identifying a first update record with a timestamp newer than the oldest timestamp of interest; setting the specified start point to the record chronologically following the first update record; and revising a variable record associated with the first update record.
- 33. The method of claim 32, wherein revising the variable record comprises:
copying contents of the first update record into an oldest record associated with the variable record; and removing the first update record from the set of update records.
- 34. The method of claim 32, wherein revising the variable record comprises:
determining if the update record is the oldest update record for an associated variable and whether a value of the update record has been deleted; and selectively, unlinking the variable record from a variable table.
- 35. The method of claim 32, wherein the oldest timestamp of interest is associated with a context record.
CROSS-REFERENCE TO RELATED APPLICATION(S)
[0001] The present application is a continuation-in-part of U.S. patent application Ser. No. 10/824,169, filed Apr. 14, 2004, which claims priority to U.S. provisional application No. 60/462,847, filed Apr. 14, 2003, entitled “METHOD AND SYSTEM FOR JOURNALING AND ACCESSING SENSOR AND CONFIGURATION DATA,” naming inventor Michael Primm, which applications are incorporated by reference herein in its entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60462847 |
Apr 2003 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
10824169 |
Apr 2004 |
US |
Child |
10898112 |
Jul 2004 |
US |