US2019171500A1PendingUtilityA1

Application event distribution system

Assignee: MICROSOFT TECHNOLOGY LICENSING LLCPriority: Jan 29, 2014Filed: Feb 6, 2019Published: Jun 6, 2019
Est. expiryJan 29, 2034(~7.5 yrs left)· nominal 20-yr term from priority
G06F 9/542G07F 17/3225G06F 8/20G06F 8/71G07F 17/3232G07F 17/323
51
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A system for transforming events from discrete events into aggregated values and statistics and for routing events and aggregated values to consuming clients and servers is provided. Events are described in a common syntax amongst different applications accessing the system. Events are routed between the transformation system and other clients and servers. Secondary application developers can provide new functionality using the event and statistic stream even after the primary application developer has already shipped to the consumer.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method, comprising:
 receiving, in a prioritization order, events generated by one or more of a plurality of primary applications executing on a processing device of a plurality of processing devices, the plurality of primary applications written in a first programming language comprising an application code, the events occurring in execution of, and generated by, the one or more of the plurality of primary applications, the events comprising custom events designed for use in one or more secondary applications based on the one or more of the plurality of the primary applications, wherein the prioritization order is configured according to an event priority associated with each of the events by each of the plurality of processing devices;   defining a set of transformation rules;   transforming, by a multiuser service, the events into statistics according to the set of transformation rules, the statistics representing information about the execution of the one or more of the plurality of primary applications across the plurality of processing devices; and   publishing the statistics and at least a portion of the events including the custom events, wherein published ones of the statistics and the at least the portion of the events are configured for use to create the one or more secondary applications to provide information to supplement a user experience with the plurality of primary applications.   
     
     
         2 . The method of  claim 1 , wherein the events are described in a standard event syntax that is standardized across the plurality of primary applications, the method further comprising receiving definitions for the at least the portion of the events in the standard event syntax. 
     
     
         3 . The method of  claim 1 , further comprising:
 storing the events and the statistics in a data store, wherein the statistics comprise original statistics;   calculating new statistics from the events in the data store;   crosschecking the new statistics with corresponding ones of the original statistics to determine an agreement or a disagreement; and   sending an update to the multiuser service to adjust a calculation of a statistic for each of the original statistics having the disagreement with a corresponding one of the new statistics.   
     
     
         4 . The method of  claim 1 , wherein publishing the statistics and the at least the portion of the events includes publishing from the processing device to a second processing device, the second processing device including at least one of the one or more secondary applications configured to consume the published ones of the statistics and the at least the portion of the events. 
     
     
         5 . The method of  claim 1 , wherein the one or more secondary applications provide a secondary experience to augment an experience of a corresponding one of the plurality of the primary applications. 
     
     
         6 . The method of  claim 1 , wherein one or more of the custom events are based on custom event definitions that are specific to each of the one or more primary applications. 
     
     
         7 . The method of  claim 1 , wherein the transformation rules comprise core transformation rules associated with core events common to each of the plurality of the primary applications and custom transformation rules associated with the custom events that are specific to each of the one or more primary applications-. 
     
     
         8 . The method of  claim 1 , wherein the multiuser service is accessible over one or more networks. 
     
     
         9 . The method of  claim 1 , wherein the statistics and the at least the portion of the events are configured for use to create the one or more secondary applications to provide the information to supplement the user experience with the plurality of primary applications. 
     
     
         10 . The method of  claim 1 , further including receiving event definitions corresponding to the events for at least a portion of the one or more primary applications. 
     
     
         11 . The method of  claim 1 , wherein the publishing includes providing the statistics and the at least the portion of the events to a service accessible by the one or more secondary applications. 
     
     
         12 . A method of providing a computer implemented service, comprising:
 providing a data syntax allowing to encode events generated by execution of different primary applications operating on a plurality of processing devices in a common format such that a first primary application includes a first set of events encoded in the data syntax and a second primary application includes a second set of events encoded in the data syntax, the data syntax being different than an application code in which the different primary applications, including the first primary application and the second primary application, are written;   operating a data service on a processing device for receiving, in a prioritization order, the events in the data syntax from the different primary applications, wherein the prioritization order is configured according to an event priority associated with each of the events by each of the plurality of processing devices;   defining a set of transformation rules;   transforming, by a multiuser service, the events into a plurality of statistics according to the set of transformation rules, the statistics representing information about the execution of the different primary applications across the plurality of processing devices; and   publishing the statistics and at least a portion of the events, wherein published ones of the statistics and the at least the portion of the events are configured for use to create one or more secondary applications to provide information to supplement a user experience with the different primary applications.   
     
     
         13 . The method of  claim 12 , wherein at least some of the events are aggregated prior to the receiving of the events at the processing device. 
     
     
         14 . The method of  claim 12 , wherein transforming the events into the plurality of statistics includes determining whether or not a transformation execution point has occurred based on a number of the events or a value associated with the events, and initiating the transforming of the events in response to the transformation execution point being determined as having occurred. 
     
     
         15 . The method of  claim 14 , wherein receiving the events from the different primary applications further comprises receiving from a plurality of different user devices. 
     
     
         16 . The method of  claim 14 , wherein the events comprise core events common to each of the different primary applications and custom events specific to each of the different primary applications, and wherein the transformation rules comprise core transformation rules associated with the core events and custom transformation rules associated with the custom events. 
     
     
         17 . The method of  claim 14 , wherein the one or more secondary applications provide a secondary experience to augment an experience of a corresponding one of the different primary applications. 
     
     
         18 . The method of  claim 14 , further comprising:
 storing the events and the plurality of statistics in a data store, wherein the plurality of statistics comprise an original plurality of statistics;   calculating a new plurality of statistics from the events in the data store;   crosschecking the new plurality of statistics with corresponding ones of the original plurality of statistics to determine an agreement or a disagreement; and   sending an update to the multiuser service to adjust a calculation of a statistic for each of the original plurality of statistics having the disagreement with a corresponding one of the new plurality of statistics.   
     
     
         19 . A multiuser service apparatus, comprising:
 a memory;   a processor in communication with the memory and configured to:
 receive, in a prioritization order, events generated by one or more of a plurality of primary applications executing on a processing device of a plurality of processing devices, the plurality of primary applications written in a first programming language comprising an application code, the events occurring in execution of, and generated by, the one or more of the plurality of primary applications, the events comprising custom events designed for use in one or more secondary applications based on the one or more of the plurality of the primary applications, wherein the prioritization order is configured according to an event priority associated with each of the events by each of the plurality of processing devices; 
 define a set of transformation rules; 
 transform the events into statistics according to the set of transformation rules, the statistics representing information about the execution of the one or more of the plurality of primary applications across the plurality of processing devices; and 
 publish the statistics and at least a portion of the events including the custom events, wherein published ones of the statistics and the at least the portion of the events are configured for use to create the one or more secondary applications to provide information to supplement a user experience with the plurality of primary applications. 
   
     
     
         20 . A computer-readable storage medium including instructions executable by at least one processor of a multiuser service apparatus to:
 receive, in a prioritization order, events generated by one or more of a plurality of primary applications executing on a processing device of a plurality of processing devices, the plurality of primary applications written in a first programming language comprising an application code, the events occurring in execution of, and generated by, the one or more of the plurality of primary applications, the events comprising custom events designed for use in one or more secondary applications based on the one or more of the plurality of the primary applications, wherein the prioritization order is configured according to an event priority associated with each of the events by each of the plurality of processing devices;   define a set of transformation rules;   transform the events into statistics according to the set of transformation rules, the statistics representing information about the execution of the one or more of the plurality of primary applications across the plurality of processing devices; and   publish the statistics and at least a portion of the events including the custom events, wherein published ones of the statistics and the at least the portion of the events are configured for use to create the one or more secondary applications to provide information to supplement a user experience with the plurality of primary applications.

Join the waitlist — get patent alerts

Track US2019171500A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.