IP Library › Granted Patent US 10,372,514
Granted Patent B2
US 10,372,514 · App. 15/693,768 · Granted Aug 6, 2019

Application data sharing and decision service platform

Inventors: David Mowatt (County Dublin, IE); Stephen O'Driscoll (Bray, IE)
Assignee: Microsoft Technology Licensing, LLC
G06F9/542G06F8/71G06F9/44505G06F9/44563H04L67/125H04L67/26
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,372,514
App. No.
15/693,768
Filed
Sep 1, 2017
Granted
Aug 6, 2019
Kind
B2
Examiner
HO, ANDY
Art Unit
2194
USPC
719/318
Abstract

Systems, methods, and software are disclosed herein for facilitating dynamic sharing of application data among multiple isolated applications executing on one or more application platforms. In an implementation, a decision service monitors event configuration information corresponding to an event, monitors application data feeds provided by one or more producer applications associated with the event, detects an event reconfiguration trigger based on the one or more application data feeds, and responsive to the event reconfiguration trigger, automatically modifies the event configuration information. The decision service then directs at least on application platforms to invoke at least one data consumer application for execution of at least one actions based, at least in part, on the modified event configuration information.

Claims (70)

1. A method of operating a decision service for sharing application data among multiple isolated applications executing on one or more application platforms, the method comprising:

detecting an event reconfiguration trigger based on data contained in one or more application data feeds;

responsive to the event reconfiguration trigger, automatically modifying, by a predictive analysis engine of the decision service, event configuration information associated with an event,

wherein the event configuration information corresponds to an event setting that identifies an action to be executed by a consumer application; and

directing at least one of the one or more application platforms to execute the action based, at least in part, on the modified event configuration information.

2. The method of claim 1 , further comprising:

receiving, by a data sharing platform, a request to set the event configuration information associated with the event,

wherein the request includes a unique platform identifier;

identifying a set of related applications that have registered with the data sharing platform using the unique platform identifier; and

filtering the set of related applications to identify producer applications that are compatible with the one or more consumer applications.

3. The method of claim 2 , wherein filtering the set of related applications to identify the producer applications that are compatible with the one or more consumer applications comprises:

identifying input capabilities of a particular consumer application of the one or more consumer applications;

identifying output capabilities of the set of related applications that have registered with the data sharing platform using the unique platform identifier; and

selecting applications with output capabilities that match the input capabilities of the particular consumer application.

4. The method of claim 3 , wherein selecting the applications with output capabilities that match the input capabilities of the particular consumer application further comprises:

identifying a current version of the data sharing platform; and

ensuring that the selected applications are supported by the current version of the platform.

5. The method of claim 2 , further comprising:

providing the producer applications that are compatible with the one or more consumer applications to a configuration application;

receiving a response from the configuration application, wherein the response includes a selection indicating the one or more producer applications associated with the event.

6. The method of claim 1 , wherein at least one of the one or more consumer applications or one or more producer applications comprises an Internet of Things (IoT) device.

7. The method of claim 1 , wherein the predictive analysis engine maintains one or more machine learning models for determining how to modify the event configuration information.

8. The method of claim 7 , further comprising:

responsive to invoking the one or more consumer applications to execute the one or more actions, receiving feedback generated by at least one of the one or more consumer applications;

adjusting the one or more machine learning models of the predictive analysis engine based on the feedback.

9. An application data sharing platform comprising:

one or more computer readable storage media;

a processing system operatively coupled with the one or more computer readable storage media; and

a decision service for sharing application data among multiple isolated applications executing on one or more application platforms stored on the one or more computer readable storage media and comprising program instructions that, when executed by the processing system, direct the processing system to:

detect an event reconfiguration trigger based on data contained in one or more application data feeds;

responsive to the event reconfiguration trigger, automatically modify, by a predictive analysis engine of the decision service, event configuration information associated with an event,

wherein the event configuration information corresponds to an event setting that identifies an action to be executed by a consumer application; and

direct at least one of the one or more application platforms to execute the actions invoke at least one of the one or more consumer applications for execution of at least one of the one or more actions based, at least in part, on the modified event configuration information.

10. The application data sharing platform of claim 9 , wherein the program instructions, when executed by the processing system, further direct the processing system to:

process a request to set the event configuration information associated with the event, wherein the request includes a unique platform identifier;

identify a set of related applications that have registered with the data sharing platform using the unique platform identifier; and

filter the set of related applications to identify producer applications that are compatible with the one or more consumer applications.

11. The application data sharing platform of claim 10 , wherein to filter the set of related applications to identify the producer applications that are compatible with the one or more consumer applications, the instructions, when executed by the processing system, further direct the processing system to:

identify input capabilities of a particular consumer application of the one or more consumer applications;

identify output capabilities of the set of related applications that have registered with the data sharing platform using the unique platform identifier; and

select applications with output capabilities that match the input capabilities of the particular consumer application.

12. The application data sharing platform of claim 9 , wherein the program instructions, when executed by the processing system, further direct the processing system to:

generate an additional event setting for the event based on content of the one or more of the application data feeds; and

calculate a confidence level associated with the additional event setting.

13. The application data sharing platform of claim 9 , wherein the program instructions, when executed by the processing system, further direct the processing system to:

determine that the event configuration information includes multiple event settings each identifying a same action to be executed within a window of time; and

select the event setting having a highest confidence level.

14. The application data sharing platform of claim 9 , wherein the program instructions, when executed by the processing system, further direct the processing system to:

maintain one or more machine learning models for determining how to modify the event configuration information.

15. The application data sharing platform of claim 14 , wherein the program instructions, when executed by the processing system, further direct the processing system to:

responsive to invoking the one or more consumer applications to execute the one or more actions, process feedback generated by at least one of the one or more consumer applications; and

adjust the one or more machine learning models of the predictive analysis engine based on the feedback.

16. An apparatus comprising:

one or more computer readable storage media having a decision service for sharing application data among multiple isolated applications executing on one or more application platforms stored thereon, the decision service comprising program instructions which, when executed by a processing system, direct the processing system to at least:

detect an event reconfiguration trigger based on data contained in one or more application data feeds;

responsive to the event reconfiguration trigger, automatically modify, by a predictive analysis engine of the decision service, event configuration information associated with an event,

wherein the event configuration information corresponds to an event setting that identifies an action to be executed by a consumer application; and

direct at least one of the one or more application platforms to execute the action based, at least in part, on the modified event configuration information.

17. The apparatus of claim 16 , wherein the program instructions, when executed by the processing system, further direct the processing system to:

process a request to set the event configuration information associated with the event, wherein the request includes a unique platform identifier;

identify a set of related applications that have registered with the data sharing platform using the unique platform identifier; and

filter the set of related applications to identify producer applications that are compatible with the one or more consumer applications.

18. The apparatus of claim 17 , wherein to filter the set of related applications to identify the producer applications that are compatible with the one or more consumer applications, the instructions, when executed by the processing system, further direct the processing system to:

identify input capabilities of a particular consumer application of the one or more consumer applications;

identify output capabilities of the set of related applications that have registered with the data sharing platform using the unique platform identifier; and

select applications with output capabilities that match the input capabilities of the particular consumer application.

19. The apparatus of claim 16 , wherein the program instructions, when executed by the processing system, further direct the processing system to:

monitor the application data feeds provided by the producer applications.

20. The apparatus of claim 16 , wherein the program instructions, when executed by the processing system, further direct the processing system to:

monitor the event configuration information.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2017
From: MOWATT, DAVID; O'DRISCOLL, STEPHEN
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 043470/0788 →
Continuity (2)
Continuation 15268912 · Sep 19, 2016
Related Publication 20180081743A1 · Mar 22, 2018