IP Library Granted Patent US 11,017,412
Granted Patent B2
US 11,017,412 · App. 14/493,019 · Granted May 25, 2021

Contextual information monitoring

Inventor: Todd Lefor (Fargo, ND)
Assignee: Microsoft Technology Licensing, LLC
G06Q30/0201G06Q10/10
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 11,017,412
App. No.
14/493,019
Granted
May 25, 2021
Kind
B2
Abstract

Context information in a computer system is collected. Dependent context data maintains a reference to parent context data so that system context can be reconstructed and analyzed.

Claims (73)

1. A computing system, comprising:

a processor; and

memory storing instructions executable by the processor, wherein the instructions, when executed, configure the computing system to:

receive, from an application configured to run a computing process that operates on data associated with the computing system, an event registration input indicative of a particular event;

based on the event registration input, register the application to receive notification when the particular event is detected;

based on detecting occurrence of the particular event in the computing system, generate an event context package corresponding to the occurrence; and

send an event notification to the application based on the registration, the event notification notifying the application of the occurrence of the particular event;

in response to sending the event notification,

receive a context notification from a monitor component of the application, the monitor component being configured to contextually monitor the application, and the notification indicating that the monitor component is configured to provide context information associated with the particular event; and

after receiving the context notification,

receive the context information from the monitor component, the context information including a monitored context of the application corresponding to the particular event; and

send, to a server environment, the event context package that

includes the context information received from the monitor component of the application, and

associates the context information with the occurrence of the particular sent and with higher level context information corresponding to a higher level event in a hierarchy of events associated with the particular event.

2. The computing system of claim 1 wherein the notification comprises an asynchronous notification indicating that the monitor component is configured to provide the context information associated with the particular event asynchronously, and wherein the computing system is configured to wait to receive the context information before outputting the event context package based on the asynchronous notification.

3. The computing system of claim 1 , wherein the instructions configure the computing system to detect the higher level event and gather the higher level context information for the higher level event.

4. The computing system of claim 3 wherein performance of the particular event is dependent on performance of the higher level event, and further comprising:

a context information data store that stores gathered context information.

5. The computing system of claim 4 wherein the instructions configure the computing system to associate the context information with the higher level context information by identifying the higher level context information corresponding to the higher level event in the context information data store and including an entry in the context information data store that the context information is associated with the higher level context information.

6. The computing system of claim 5 wherein the instructions configure the computing system to generate the event context package with a set of predetermined items of context information and a set of variable items of context information, and the monitor component is configured to provide at least the variable items of context information.

7. The computing system of claim 1 , wherein the application comprises a client application and the context information comprises client side data.

8. The computing system of claim 1 wherein the instructions configure the computing system to:

receive, from a plurality of different applications, event registration inputs that indicate the particular event, wherein each application includes a corresponding monitor component configured to provide context information associated with the particular event;

based on the event registration inputs, register each of the applications to receive a notification when the particular event is detected

based on detecting occurrence of the particular event in the computing system, send event notifications to the plurality of different application based on the registration, the event notifications notifying the plurality of different applications of the occurrence of the particular event;

receive the context information for each of the plurality of different applications; and

generate the event context package to include the context information for each of the plurality of different applications.

9. The computing system of claim 1 , wherein the computing system comprises a client system that includes the application and the monitor component, the client system being configured to output the event context package to a server environment configured to add server context information in the event context package.

10. The computing system of claim 1 , wherein the monitor component comprises an add-in on the application.

11. A computer-implemented method, comprising:

receiving, from an application configured to run a computing process that operates on data associated with a computing system, an event registration input indicative of a first event associated with an initiation of a computing session on the computing system; and

based on the event registration input, registering the application to receive notification when the first event is detected;

based on detecting occurrence of the first event in the computing system and on the registration, sending an event notification to the application, the event notification notifying the application of the occurrence of the first event;

obtaining a session identifier corresponding to the computing session;

obtaining session level context information associated with the computing session;

associating the session level context information with the session identifier;

detecting that a higher level event, that is hierarchically related to the first event in a hierarchy of events, is performed within the computing session;

obtaining an event identifier corresponding to the higher level event;

receiving higher level context information from a monitor component of the application, the monitor component being configured to contextually monitor the application, and the higher level context information being indicative of a context of the application relative to the higher level event; and

sending, to a server environment, an event context package that

includes the session level context information, and

associates the higher level context information with the occurrence of the higher level event and with the session identifier.

12. The computer-implemented method of claim 11 wherein the computing system comprises a client computing system and wherein outputting comprises:

outputting the event context package to a server environment for addition of server context information to the event context package.

13. The computer-implemented method of claim 11 , comprising:

receiving, from the monitor component, an asynchronous notification indicating that the monitor component is configured to provide the event level context information asynchronously, and

waiting to receive the event level context information before outputting the event context package.

14. The computer-implemented method of claim 11 , and further comprising:

associating the event level context information with the session level context information by generating a data entry in a context information data store, the data entry including a data field that identifies the session identifier.

15. The computer-implemented method of claim 11 and further comprising:

detecting a further dependent event that is dependent on performance of the higher level event;

obtaining further dependent context information for the further dependent event; and

associating the further dependent context information with the session identifier and the event Identifier.

16. The computer-implemented method of claim 11 wherein receiving higher level context information comprises:

notifying the application that the higher level event is detected; and

receiving the event level context information from the application in response to the notification.

17. A method performed by a computing system, the method comprising:

receiving, from an application configured to run a computing process that operates on data associated with the computing system, an event registration input indicative of a particular event;

based on the event registration input, registering the application to receive notification when the particular event is detected;

based on detecting occurrence of the particular event in the computing system, generating an event context package corresponding to the occurrence; and

sending an event notification to the application based on the registration, the event notification notifying the application of the occurrence of the particular event;

receiving context information from a monitor component of the application in response to the event notification, the monitor component being configured to contextually monitor the application, and the context information including a monitored context of the application corresponding to the particular event; and

sending, to a server environment, the event context information package that

includes the context information received from the monitor component of the application, and

associates the context information with the occurrence of the particular event and with higher level context information corresponding to a higher level event in a hierarchy of events associated with the particular event.

18. The method of claim 17 and further comprising:

receiving, from a plurality of different applications, event registration inputs that indicate the particular event, wherein each application includes a corresponding monitor component configured to provide context information associated with the particular event;

based on the event registration inputs, registering each of the applications to receive a notification when the particular event is detected

based on detecting occurrence of the particular event in the computing system, sending event notifications to the plurality of different application based on the registration, the event notifications notifying the plurality of different applications of the occurrence of the particular event;

receiving the context information for each of the plurality of different applications; and

generating the event context package to include the context information for each of the plurality of different applications.

19. The computer-implemented method of claim 17 , wherein the application comprises a client application and the context information comprises client side data.

20. The computer-implemented method of claim 17 , wherein the monitor component comprises an add-in on the application.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 039025/0454 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2014
From: LEFOR, TODD
To: MICROSOFT CORPORATION
Reel/Frame 033790/0962 →
Continuity (2)
Provisional Application 62002694 · May 23, 2014
Related Publication 20150339679A1 · Nov 26, 2015