Systems and methods for monitoring applications distributed by a software distribution platform
AssigneeMacPaw Inc.
InventorOleksandr KOSOVAN
Life of this patent
Estimating the term…
Abstract
A method for monitoring an application managed by an application delivery system includes: generating a launch notification when the application is launched; reporting a launch event to a resource distribution system; monitoring for a notification from the application; reporting an additional event to the resource distribution system based on the notifications from the application; and calculating a resource share for the application based at least in part on the additional event reported to the resource distribution system.
Claims14
A method for managing application usage and revenue allocation, the method comprising:
- executing a revenue distribution system on a server system;
- receiving, by the revenue distribution system, usage data and event notifications from a plurality of user computing devices;
- dynamically calculating, by the revenue distribution system, revenue allocation based on the received usage data;
- executing an application delivery system on each of a plurality of user computing devices;
- monitoring, by the application delivery system, a plurality of applications on each user computing device to detect events, the events comprising at least one of a user interaction, an application state change, or a change in network connectivity;
- periodically monitoring, by the application delivery system, an operational status of each application and transmitting a corresponding heartbeat signal that corresponds to a heartbeat-active event when the application is running, or a heartbeat-inactive event when the application is idle;
- generating and transmitting, by the application delivery system in real-time, over a network, one or more event notifications comprising additional data related to each detected event, the additional data comprising at least one of a timestamp, an application identifier, or a type of event;
- monitoring, by a tracking and reporting system, application usage data and event notifications generated by the application delivery system;
- reporting, by the tracking and reporting system, the monitored application usage data and event notifications to the revenue distribution system in real-time;
- storing, by the revenue distribution system, the received event notifications and associated additional data in a database, categorized by application identifier and event type, to enable data retrieval and subsequent analysis of application performance and operational conditions;
- analyzing, by the revenue distribution system, the categorized usage data to identify sequences of events that indicate a typical or abnormal usage pattern or operational state of an application, wherein usage patterns or operational states for which the usage data is analyzed vary based on the type of application;
- and
- dynamically calculating and adjusting, by the revenue distribution system, revenue allocation for each of the plurality of applications based on the identified event sequences, instances of application usage, and the type of event, wherein the revenue allocation is adjusted in real-time according to a current operational state and the identified usage pattern of each of the plurality of applications, wherein the one or more usage patterns comprise:
- for active applets in the plurality of applications managed by the revenue distribution system, a first usage pattern that comprises any first one of the plurality of events followed by any second one of the plurality of events,
- for passive applets in the plurality of applications managed by the revenue distribution system, a second usage pattern that comprises at least two user interactions,
- for non-applets in the plurality of applications managed by the revenue distribution system that do not require authorization, a third usage pattern that comprises a combination of an activation followed by any one of the plurality of events and the heartbeat-active event followed by any one of the plurality of events, and,
- for non-applets in the plurality of applications managed by the revenue distribution system that require authorization, a fourth usage pattern that comprises a sign-in event followed by any one of the plurality of events.
A system for managing application usage and revenue allocation, the system comprising:
- a server system;
- a revenue distribution system executing on the server system, the revenue distribution system configured to:
- receive usage data and event notifications from a plurality of user computing devices;
- and
- dynamically calculate revenue allocation based on the received usage data;
- an application delivery system executing on each of the plurality of user computing devices, the application delivery system configured to:
- monitor a plurality of applications on each user computing device to detect events, events comprising at least one of a user interaction, an application state change, or a change in network connectivity;
- periodically monitor an operational status of each application and transmit a corresponding heartbeat signal that corresponds to a heartbeat-active event when the application is running, or a heartbeat-inactive event when the application is idle, and
- generate and transmit in real-time, over a network, one or more event notifications comprising additional data related to each detected event, the additional data comprising at least one of a timestamp, an application identifier, or a type of event of a plurality of events;
- and
- a tracking and reporting system configured to:
- monitor application usage data and event notifications generated by the application delivery system;
- and
- report the monitored application usage data and event notifications to the revenue distribution system in real-time, wherein the revenue distribution system is configured to:
- store received event notifications and associated additional data in a database, categorized by application identifier and event type, to enable data retrieval and subsequent analysis of application performance and operational conditions;
- analyze the categorized usage data to identify sequences of events that indicate a typical or abnormal usage pattern or operational state of an application, wherein usage patterns or operational states for which the usage data is analyzed vary based on the type of application;
- and
- dynamically calculate and adjust a revenue allocation for each of the plurality of applications based on the identified event sequences, instances of application usage, and type of event, wherein the revenue allocation is adjusted in real-time according to a current operational state and the identified usage pattern of each of the plurality of applications, wherein the usage patterns comprise:
- for active applets in the plurality of applications managed by the revenue distribution system, a first usage pattern that comprises any first one of the plurality of events followed by any second one of the plurality of events,
- for passive applets in the plurality of applications managed by the revenue distribution system, a second usage pattern that comprises at least two user interactions,
- for non-applets in the plurality of applications managed by the revenue distribution system that do not require authorization, a third usage pattern that comprises a combination of an activation event followed by any one of the plurality of events, and the heartbeat-active event followed by any one of the plurality of events;
- and,
- for non-applets in the plurality of applications managed by the revenue distribution system that require authorization, a fourth usage pattern that comprises a sign-in event followed by any one of the plurality of events.
Dependencies are inferred from the claim text.