IP Library Granted Patent US 9,697,545
Granted Patent B1
US 9,697,545 · App. 14/207,501 · Granted Jul 4, 2017

Service monitor for monitoring and tracking the performance of an application running on different mobile devices

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 9,697,545
App. No.
14/207,501
Granted
Jul 4, 2017
Kind
B1
Abstract

Some embodiments provide a service monitor that operates on a number of different mobile devices to track and monitor services that an application is using. The service monitor of some embodiments includes a service call wrapper to intercept a request made by the application to access the service and capture data relating to the service request. The service monitor then sends the captured data to a performance monitoring server in order to present, based on the captured data and other captured data from other mobile devices, a set of performance reports relating to the performance of the service as used by the same application across a number of mobile devices.

Claims (21)

1. A non-transitory machine readable medium storing an application for execution by at least one processing unit of a mobile device, the application comprising:

a service monitor to monitor and track a service that the application is using on the mobile device and to store captured service data in a storage, the service monitor comprising: (a) a service call wrapper (i) to intercept a service request made by the application to access the service and (ii) to capture data relating to the service request, and (b) at least one mobile state data collector to associate the captured data with mobile state data that indicates a state of the mobile device at the time the service request data was captured by the service call wrapper; and

an output agent to send the captured data to a performance monitoring server in order to present, based on the captured data and other captured data from other mobile devices, at least one performance report relating to performance of the service as used by the same application across a number of mobile devices,

wherein the storage is a data queue to process one data request at a time in the order that the data request was received and to ensure that the captured data relating to the service request is synchronized with the mobile state data.

2. The non-transitory machine readable medium of claim 1 , wherein the service call wrapper is a service monitor method that wraps an application method to intercept the service request and capture the service request data.

3. The non-transitory machine readable medium of claim 2 , wherein the service monitor method calls the application method after the interception of the application method.

4. The non-transitory machine readable medium of claim 2 , wherein the service monitor is further to direct an application runtime engine to call the service monitor method instead of the application method.

5. The non-transitory machine readable medium of claim 2 , wherein the application further comprises a service monitor initializer to identify a class or object having the application method to be wrapped by the service monitor method.

6. The non-transitory machine readable medium of claim 5 , wherein the service monitor initializer performs a multi-level filtering operation to identify the class or the object with the application method.

7. The non-transitory machine readable medium of claim 1 , wherein the service monitor captures data relating to the service request by gathering data associated with the service request and any response received in response to the service request.

8. The non-transitory machine readable medium of claim 7 , wherein the service monitor further comprises a parser to capture the service request data by parsing the service request and the response to the service request.

9. A method for an application executing on a mobile device, the method comprising:

monitoring and tracking a service that the application is using on the mobile device by (i) intercepting a service request made by the application to access the service, (ii) capturing data relating to the service request, and (iii) storing the captured data in a storage;

associating the captured data with mobile state data that indicates a state of the mobile device at the time the service request data was captured; and

sending the captured data to a performance monitoring server in order to present, based on the captured data and other captured data from other mobile devices, at least one performance report relating to the performance of the service as used by the same application across a number of mobile devices;

wherein the storage is a data queue to process one data request at a time in the order that the data request was received and to ensure that the captured data relating to the service request is synchronized with the mobile state data.

10. The method of claim 9 , wherein the monitoring comprises wrapping an application method with a service monitor method to intercept the service request and capture the service request data.

11. The method of claim 10 , wherein the service monitor method calls the application method after the interception of the application method.

12. The method of claim 10 , wherein the monitoring further comprises directing an application runtime engine to call the service monitor method instead of the application method.

13. The method of claim 10 further comprising performing an initialization operation to identify a class or object having the application method to be wrapped by the service monitor method.

14. The method of claim 13 , wherein performing the initialization operation comprises performing a multi-level filtering operation to identify the class or the object with the application method.

Assignments (6)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: VMWARE LLC
To: OMNISSA, LLC
Reel/Frame 068327/0365 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2017
From: APTELIGENT, INC.
To: VMWARE, INC.
Reel/Frame 042481/0385 →
CHANGE OF NAME Recorded Aug 15, 2016
From: CRITTERCISM, INC.
To: APTELIGENT, INC.
Reel/Frame 039688/0185 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2014
From: HERMANY, SEAN; LEVY, ANDREW; KWOK, ROBERT; YOUSEF, ANDREW; SHIRLEY, DAVID
To: CRITTERCISM, INC.
Reel/Frame 033799/0625 →