# US 2014/0157288 A1 · Method and apparatus for providing context aware logging

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0157288 A1
- Document ID: US20140157288A1
- Status: Published application
- Kind: A1
- Application number: 13/705,869
- Filed: 2012-12-05
- Published: 2014-06-05
- Earliest claimed: 2012-12-05
- Assignees: McKesson Financial Holdings
- Applicants: Mckesson Financial Holdings
- Inventors: Eldon Wong
- Web page: https://patentgrep.com/patent/US20140157288A1

## CPC

- G06F 11/1438: {Restarting or rejuvenating}
- G06F 9/542: {Event management; Broadcasting; Multicasting; Notifications}
- G06F 11/3065: {Monitoring arrangements determined by the means or processing involved in reporting the monitored data (error or fault reporting or logging G06F11/0766)}
- G06F 11/3476: {Data logging (G06F11/14, G06F11/2205 take precedence)}
- G06F 2201/835: Timestamp
- G06F 2201/86: Event-based monitoring
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method, apparatus and computer program product are therefore provided to enable context aware logging. In this regard, the method, apparatus, and computer program product may record events that occur in one or more applications, where the events are due to user input. These events may be associated with time values and data describing application contexts, such that the events may be used to generate an input log that also records application semantics and statuses. A variety of operations may be performed using this input log, including recreation of an application state by playing back the log, the ability to suspend or resume a user session, the ability to perform undo or pause operations, the ability to analyze user inputs to train or audit users, testing of users, troubleshooting of errors, and enabling multi-user collaboration.

## Claims

### Claim 1

A method comprising:
receiving a notification of at least one application event from an application, the application event occurring in response to a user input to the application, and the notification comprising an event type and at least one application context related to the application event;
receiving a time value associated with the application event; and
converting, using a processor, the notification and the time value into an entry in an input log.

### Claim 2 (depends on 1)

The method of claim 1, wherein the application is a medical imaging application.

### Claim 3 (depends on 1)

The method of claim 1, wherein the application context comprises data indicating the state of the application pertaining to the particular event type.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
extracting one or more notifications and time values from the input log;
determining an event and an event context for execution based on the one or more extracted notifications and time values;
generating an instruction for the application comprising the event and the event context; and
sending the event to the application for execution.

### Claim 5 (depends on 4)

The method of claim 4, further comprising:
selecting at least one notification stored in the input log; and
skipping the selected notification when extracting the one or more notifications and time values.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
determining a set of training semantics based on the input log; and
providing the training semantics to a user during playback of the input log.

### Claim 7 (depends on 1)

The method of claim 1, wherein the input log is a known correct input log, and the method further comprises:
recording a test input log;
identifying deviations between the test input log and the known correct input log; and
evaluating the test input log based on the identified deviations.

### Claim 8 (depends on 7)

The method of claim 7, wherein evaluating the test input log comprises generating a score report based on scoring values assigned to the events and event contexts of the known correct input log.

### Claim 9 (depends on 8)

The method of claim 8, further comprising:
identifying reference materials based on the identified deviations; and
providing the reference materials as part of the score report.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
receiving a plurality of additional input logs, each of the plurality of input logs comprising a plurality of notifications and time values; and
analyzing the plurality of additional input logs to determine a set of user analytics, the user analytics identifying the frequency with which at least one of events and event contexts occur across the plurality of additional input logs.

### Claim 11 (depends on 1)

The method of claim 1, further comprising transmitting the input log to a remote computer for playback.

### Claim 12 (depends on 11)

The method of claim 11, further comprising:
identifying at least one event in the input log as collaboration-locked; and
avoiding transmission of the collaboration-locked event in the input log transmitted to the remote computer for playback.

### Claim 13 (depends on 1)

The method of claim 1, further comprising generating the input log by:
generating an event for the notification, wherein the event comprises the event type and at least one application context from the notification;
associating the time value with the event;
determining at least one event action using the at least one application context;
determining at least one action context using the at least one application context; and
storing the event, the time value, the at least one event action, and the at least one action context in the input log.

### Claim 14

An apparatus comprising processing circuitry configured to:
receive a notification of at least one application event from an application, the application event occurring in response to a user input to the application, and the notification comprising an event type and at least one application context related to the application event;
receive a time value associated with the application event; and
convert the notification and the time value into an entry in an input log.

### Claim 15 (depends on 14)

The apparatus of claim 14, wherein the processing circuitry is further configured to:
generate an event for the notification, wherein the event comprises the event type and at least one application context from the notification;
associate the time value with the event;
determine at least one event action using the at least one application context;
determine at least one action context using the at least one application context; and
store the event, the time value, the at least one event action, and the at least one action context in the input log.

### Claim 16 (depends on 14)

The apparatus of claim 14, wherein the apparatus is a medical imaging device.

### Claim 17 (depends on 14)

The apparatus of claim 14, wherein the processing circuitry is further configured to:
extract one or more notifications and time values from the input log;
determine an event and an event context for execution based on the one or more extracted notifications and time values;
generate an instruction for the application comprising the event and the event context; and
send the event to the application for execution.

### Claim 18 (depends on 14)

The apparatus of claim 14, wherein the processing circuitry is further configured to transmit the input log to a remote computer for playback.

### Claim 19

A method comprising:
receiving an input log, the input log comprising one or more events and application contexts relating to input performed on a remote computer;
determining, using a processor, at least one event and at least one event context for execution from the input log;
generating one or more instructions based on the at least one event and at least one event context; and
executing the generated one or more instructions to cause an application to perform the input originally performed on the remote computer.

### Claim 20 (depends on 19)

The method of claim 19,
generating an instruction for the application comprising the event and the event context; and
sending the event to the application for execution.
