US 12,277,091 B2
Document based monitoring
Philippe Maurice Le Mouel, Seattle, WA (US)
Assigned to Oracle International Corporation, Redwood Shores, CA (US)
Filed by Oracle International Corporation, Redwood Shores, CA (US)
Filed on Jul. 18, 2023, as Appl. No. 18/223,282.
Claims priority of provisional application 63/392,803, filed on Jul. 27, 2022.
Prior Publication US 2024/0037071 A1, Feb. 1, 2024
Int. Cl. G06F 16/17 (2019.01); G06F 16/185 (2019.01)
CPC G06F 16/1734 (2019.01) [G06F 16/185 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method, comprising:
receiving, by a computing device, an asynchronous event message at an inbound adapter of a document-based monitoring system, wherein the inbound adapter is configured to receive asynchronous event messages, and wherein the asynchronous event message is generated by an execution of a process of one or more processes for which a hierarchical log of event entries is maintained in a document;
accessing, by the computing device, the document containing the hierarchical log of event entries, wherein the document is stored in a tracking repository of the document-based monitoring system, wherein the tracking repository permits substantially simultaneous access to the document by two or more computing devices, and wherein the hierarchical log of event entries is a record of both a state of the process and logging information for the one or more processes;
adding, by the computing device, an event entry to the hierarchical log in the tracking repository based at least in part on the asynchronous event message, and wherein the event entry comprises information identifying the asynchronous event message, wherein the information includes of a unique identifier (ID) field identifying the asynchronous event message, a process identifier (ID) field identifying the process that caused the asynchronous event message to be generated, a timestamp field comprising an execution time for the event that generated the event message, and a parent identifier (ID) field identifying a parent event entry;
identifying, by the computing device, a corrupted event entry in the hierarchical log;
comparing, by the computing device, the timestamp fields of the event entries in the hierarchical log to the timestamp field of the corrupted event entry;
determining, by the computing device, a parent entry of the corrupted event entry based at least in part on the comparison, wherein the parent event entry immediately precedes the corrupted event entry; and
updating, by the computing device, the parent identifier (ID) field of the corrupted event entry to identify the parent entry.