IP Library › Granted Patent US 10,331,480
Granted Patent B2
US 10,331,480 · App. 15/439,202 · Granted Jun 25, 2019

Contextual application organizer framework for user life events

Inventors: Rahul Gupta (Telangana, IN); Pradeep Kumar Reddy K (Telangana, IN); Bhavesh Sharma (Telangana, IN)
Assignee: Microsoft Technology Licensing, LLC
G06F9/4881G06N20/00G06Q10/04
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,331,480
App. No.
15/439,202
Granted
Jun 25, 2019
Kind
B2
Abstract

A contextual application organizer framework learns about application usage behavior based on user context from multiple different signals (e.g., email, OFFICE graph, Short Message Service, browsing history, search history, device usage, location) and surfaces relevant applications that a user may need for the current context or activity. A user context graph is created from user life events and an index of user activity of applications. Application usage signals are mapped from user preferences and world knowledge to the user context graph. Upon detecting a current user context, relevant applications derived from the user context graph are surfaced in a contextual application organizer.

Claims (34)

1. A method of providing a contextual application organizer framework, comprising:

creating a user context graph from user life events and an index of user activity of applications;

mapping application usage signals comprising user preferences and world knowledge to the user context graph;

upon detecting a current user context, passing the current user context to a contextual application manager which identifies context tokens corresponding to the current user context and passes them to an application-context management framework; and

surfacing relevant applications in a contextual application organizer, the relevant applications derived from the user context graph and communicated from the application-context management framework to the contextual application manager.

2. The method of claim 1 , wherein the user life events are derived from monitoring emails, SMS, geo-location history, browsing history, web search history, app usage, or device usage.

3. The method of claim 1 , further comprising applying one of machine learning, statistical analysis, behavioral analytics, or data mining techniques to the user life events to learn correlations between the user life events and the index of user activity of applications, the correlations utilized to create the user context graph.

4. The method of claim 1 , wherein the user life events are derived from non-behavioral aspects, including location, current task, planned task, or appointments.

5. The method of claim 1 , wherein the index of user activity of applications is derived from the user's time dependence of application usage and an application flow pattern.

6. The method of claim 1 , further comprising mapping application signals to the user context graph, wherein user preferences takes higher priority over world knowledge if the contextual application organizer framework has already learned about a particular context corresponding to a particular user life event.

7. The method of claim 1 , further comprising mapping application signals comprising user preferences and world knowledge to the user context graph, wherein world knowledge takes priority over user preferences if the contextual application organizer framework has not learned about a particular context corresponding to a particular user life event.

8. The method of claim 1 , further comprising applying a dynamic weighting mechanism that changes based on integration with a device application manager and user feedback mechanism.

9. The method of claim 1 , further comprising feeding outputs of the dynamic weighting mechanism into the user preferences and world knowledge.

10. The method of claim 1 , further comprising mapping application signals comprising user preferences and world knowledge to the user context graph, wherein task conflation is utilized to aggregate multiple tasks for a particular context corresponding to a particular user life event.

11. The method of claim 1 , further comprising storing a context graph with application signals in an inferences store.

12. The method of claim 1 , further comprising ranking the tasks corresponding to the context tokens and creating an aggregated context subgraph.

13. The method of claim 12 , further comprising utilizing the aggregated context graph, retrieving retrieve a context-application subgraph from the inferences store.

14. The method of claim 13 , further comprising providing the retrieved set of applications along with the context subgraph to the contextual application manager.

15. The method of claim 14 , further comprising ranking the applications based on the context tokens that are present in the detected user context.

16. The method of claim 15 , further comprising presenting the ranked list of applications to the user via a contextual application organizer.

17. The method of claim 16 , further comprising receiving user feedback that is used to re-train a ranker inside the contextual application organizer framework.

18. A computer-readable storage media comprising computer-executable instructions, that when executed by a computer, causes the computer to perform operations to facilitate providing a contextual application organizer framework, the operations comprising:

creating a user context graph from user life events and an index of user activity of applications;

mapping application usage signals comprising user preferences and world knowledge to the user context graph;

upon detecting a current user context, passing the current user context to a contextual application manager which identifies context tokens corresponding to the current user context and passes them to an application-context management framework; and

surfacing relevant applications in a contextual application organizer, the relevant applications derived from the user context graph and communicated from the application-context management framework to the contextual application manager.

19. A computerized system:

a processor; and

a computer storage medium storing computer-useable instructions that,

when used by the processor, cause the processor to:

create a user context graph from user life events and an index of user activity of applications;

map application usage signals comprising user preferences and world knowledge to the user context graph; and

upon detecting a current user context, passing the current user context to a contextual application manager which identifies context tokens corresponding to the current user context and passes them to an application-context management framework; and

surface relevant applications in a contextual application organizer, the relevant applications derived from the user context graph and communicated from the application-context management framework to the contextual application manager.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2017
From: GUPTA, RAHUL; K, PRADEEP KUMAR REDDY; SHARMA, BHAVESH
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 041541/0578 →
Continuity (1)
Related Publication 20180239637A1 · Aug 23, 2018
Cited By (1)
US 12,373,645