IP Library Granted Patent US 10,908,951
Granted Patent B2
US 10,908,951 · App. 16/201,656 · Granted Feb 2, 2021

Coordinating event-driven object execution

Inventors: Ravi Kumar Herunde Prakash (Lake Forest, CA); Sung Chung (Walnut, CA)
Assignee: AVEVA SOFTWARE, LLC
G06F9/4881
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,908,951
App. No.
16/201,656
Granted
Feb 2, 2021
Kind
B2
Abstract

Coordinating scheduled events and aperiodic events to execute objects to extract, transform, and load data from source systems to a structured data store. An event manager process executing on a server runtime utilizes event suspension, consolidation, and sequencing techniques to ensure that only one event process is executed for a particular time range.

Claims (35)

1. A system for improving utilization of processor resources and network bandwidth comprising:

a manufacturing intelligence system configured to store one or more values corresponding to a manufacturing plant process; and

an operational historian connected to a server computing device, the server computing device comprising:

a processor; and

one or more processor-executable instructions stored on a computer-readable storage medium of the server computing device, said processor-executable instructions including instructions that, when executed by the processor of the server computing device, implement:

a runtime environment adapted to execute one or more model objects, said model objects corresponding to a process device within a continuous process,

a scheduler process of the runtime environment, said scheduler process implementing one or more system events in accordance with a periodic schedule, wherein the scheduler process is configured to purge the one or more model objects before the one or more model objects are executed,

an on-demand process of the runtime environment, said on-demand process implementing one or more aperiodic user events in response to receiving a request for the user events from a user device, and

an event manager process of the runtime environment, wherein the event manager process synchronizes implementation of the system events and the user events,

wherein the runtime environment executes the one or more model objects in response to the synchronized implementation of the system events and the user events.

2. The system of claim 1 , wherein the synchronization comprises placing at least one of the user events in a queue on the computer-readable storage medium when the at least one user event includes a past time period for which a backfill is yet to be processed by the runtime environment.

3. The system of claim 1 , wherein the synchronization comprises placing at least one of the user events in a queue on the computer-readable storage medium when the at least one user event includes a time period currently being executed in the runtime environment by one of the system events.

4. The system of claim 1 , wherein the synchronization comprises consolidating a user event with a system event currently being executed in the runtime environment when said user event includes a time period within a predetermined interval of the currently executing system event.

5. The system of claim 1 , wherein the synchronization comprises selecting one event of the system events and the user events that represents a plurality of events when time periods of the plurality of events at least partially overlap.

6. The system of claim 1 , wherein the scheduler process, the on-demand process, and the event manager process execute in parallel in the runtime environment.

7. The system of claim 1 , wherein at least one of the model objects comprises a dimension, and wherein the runtime environment executes the dimension in response to implementation of the dimension by the on-demand process when the scheduler process is not already executing the dimension.

8. The system of claim 1 , wherein at least one of the model objects comprises a measure, and wherein the runtime environment executes the measure in response to implementation of the measure by the on-demand process when the scheduler process is not already executing the measure.

9. The system of claim 1 , wherein the scheduler process purges one or more system events and user events in a pending status for the same model object.

10. The system of claim 1 , wherein the user events comprise at least one of a dimension refresh, a measure refresh, and a measure date range execution.

11. A computer-implemented method comprising:

providing a manufacturing intelligence system configured to store one or more values corresponding to a manufacturing plant process; and

providing an operational historian connected to a server computing device, the server computing device comprising a processor and processor-executable instructions stored on a computer-readable storage medium of the server computing device, said processor-executable instructions including instructions that when executed by the processor of the server computing device execute the following steps:

performing, by a scheduler process of a runtime environment, one or more system events in accordance with a periodic schedule; wherein the scheduler process is configured to purge one or more model objects before the one or more model objects are executed;

performing, by an on-demand process of the runtime environment, one or more user-requested events in response to receiving one or more aperiodic requests for said user-requested events from a user device;

synchronizing, by an event manager process of the runtime environment, said performance of the system events and the user-requested events; and

executing, by the runtime environment, the one or more model objects corresponding to process devices in a continuous process in response to the synchronized performance of the system events and the user-requested events.

12. The method of claim 11 , further comprising placing at least one of the user-requested events in a queue of a computer-readable storage medium when the at least one user-requested event includes a past time period for which a backfilling process is yet to be processed by the runtime environment.

13. The method of claim 11 , further comprising placing at least one of the user-requested events in a queue of a computer-readable storage medium when the at least one user-requested event includes a time period currently being executed in the runtime environment by one of the system events.

14. The method of claim 11 , further comprising consolidating a user- requested event with a system event currently being executed in the runtime environment when the user-requested event includes a time period within a predetermined interval of the currently executing system event.

15. The method of claim 11 , further comprising selecting one event of the system events and the user-requested events that represents a plurality of events when a time period of the plurality of events at least partially overlap.

16. The method of claim 11 , further comprising executing the scheduler process, the on-demand process, and the event manager process in parallel in the runtime environment.

17. The method of claim 11 , further comprising executing, by the runtime environment, a dimension comprising at least one of the model objects in response to performance of the dimension by the on-demand process when the scheduler process is not already executing the dimension.

18. The method of claim 11 , further comprising executing, by the runtime environment, a measure comprising at least one of the model objects in response to performance of the measure by the on-demand process when the scheduler process is not already executing the measure.

19. The method of claim 11 , further comprising purging one or more system events and user-requested events having a pending status for the same model object.

20. The method of claim 11 , wherein the user-requested events comprise at least one of a dimension refresh, a measure refresh, and a measure date range execution.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 29, 2020
From: PRAKASH, RAVI KUMAR HERUNDE; CHUNG, SUNG
To: INVENSYS SYSTEMS INC.
Reel/Frame 054763/0370 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 29, 2020
From: INVENSYS SYSTEMS, INC.
To: SCHNEIDER ELECTRIC SOFTWARE, LLC
Reel/Frame 054763/0488 →
CHANGE OF NAME Recorded Dec 29, 2020
From: SCHNEIDER ELECTRIC SOFTWARE, LLC
To: AVEVA SOFTWARE, LLC
Reel/Frame 054861/0824 →
Continuity (2)
Continuation 15136138 · Apr 22, 2016
Related Publication 20190332444A1 · Oct 31, 2019