Method for improving temporal consistency and snapshot recency in a monitored real-time software-reporting-application architecture
Abstract
An object-oriented software application is provided for receiving updates that change state of an object model and reporting those updates to requesting users. The application includes a database application for storing data; an object model driver for writing updates into the database; a notification system for notifying about the updates; and, a plurality of external monitors for reading the updates. In a preferred embodiment the object model produces multiple temporal snapshots of itself in co-currency with received events, each snapshot containing associated update information from an associated event and whereupon at the time of occurrence of each snapshot coinciding with an event the notification system notifies the appropriate external monitor or monitors, which in turn access the appropriate snapshot, performs calculations thereupon if required and renders the information accessible to the users.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A processing system including a non-transitory machine-readable medium having stored thereon computer-executable code, the computer code comprising:
an object model;
a data repository storing change events associated with objects in the object model at a first frequency;
a monitor reading the objects and creating periodic snapshots at a second frequency set to be higher than the first frequency;
one or more listener modules pre-programmed to view successive ones of the periodic snapshots; and
user-activated monitors accessing the one or more listener modules;
wherein users are informed through the user-activated monitors of values and changes in values of the objects the one or more listener modules are programmed to listen for.
2. The system of claim 1 wherein the change events are changes to properties of the object model and the object model represents a real-time event-driven system.
3. The system of claim 1 wherein the one or more listener modules are Java language modules.
4. The system of claim 1 wherein all snapshots are maintained in object history until no longer needed.
5. A method for updating users concerning changes to objects in an object model, comprising steps of:
(a) writing object changes to a data repository;
(b) monitoring the model;
(c) producing sequential snapshots of the model, the frequency of the sequential snapshots set to be higher than an expected frequency of writing in step (a);
(d) monitoring the snapshots for change associated with the objects in the model by individual listener modules; and
(e) providing values and changes in value of the specific one of the objects to individual monitors.
6. The method of claim 5 wherein the objects are part of the object model representing a real-time event-driven system.
7. The method of claim 5 wherein the listener modules are Java language modules.
8. The method of claim 5 wherein all snapshots are maintained in object history until no longer needed.
9. The method of claim 5 further comprising the step wherein each of the individual monitors adds or removes listeners for any object or group of objects in the object model.
10. A data reporting system, comprising:
one or more processors; and one or more memory devices having instructions stored therein, the one or more processors each being configured to execute at least a portion of the instructions, and the instructions, when executed, cause the one or more processors to:
store change events associated with objects in an object model at a first frequency;
read the objects and create periodic snapshots at a second frequency higher than the first frequency;
access the periodic snapshots; and
provide values and changes in values of the objects to one or more users.
11. The data reporting system of claim 10, wherein the change events comprise changes to properties of the object model, and the object model represents a real-time event-driven system.
12. The data reporting system of claim 10, wherein the storing the change events comprises updating the object model in real time according to the change events.
13. The data reporting system of claim 10, wherein the snapshots are maintained in object history until no longer needed.
14. The data reporting system of claim 10, wherein the instructions, when executed, further cause the one or more processors to provide a notification when a new snapshot is created.
15. A method for data reporting, the method comprising:
writing, by one or more processors, object changes to a data repository at a first frequency, the object changes being changes to objects in an object model; producing, by the one or more processors, sequential snapshots of the object model at a second frequency higher than the first frequency; monitoring, by the one or more processors, the snapshots for change associated with the objects in the object model; and providing, by the one or more processors, values and changes in value of the objects to one or more users.
16. The method of claim 15, wherein the objects are part of the object model representing a real-time event-driven system.
17. The method of claim 15, wherein the object changes comprise changes to properties of the object model, and the object model represents a real-time event-driven system.
18. The method of claim 15, wherein the snapshots are maintained in object history until no longer needed.
19. The method of claim 15, further comprising providing a notification when a new snapshot is created.
20. A processing system comprising a non-transitory machine-readable medium having stored thereon computer-executable code, the system further comprising:
an object model; a data repository configured to store change events associated with objects in the object model at a first frequency; a monitor configured to read the objects and create periodic snapshots at a second frequency higher than the first frequency; user-activated monitors configured to access the periodic snapshots; wherein users are informed through the user-activated monitors of values and changes in values of the objects.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.