IP Library Granted Patent US 11,212,207
Granted Patent B2
US 11,212,207 · App. 16/546,773 · Granted Dec 28, 2021

Injecting custom classes in application code to facilitate network traffic monitoring

Inventor: Konstantinos Polychronis (San Francisco, CA)
Assignee: SPLUNK Inc.
H04L43/12H04L43/08H04L69/22H04L43/028H04L43/14
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 11,212,207
App. No.
16/546,773
Granted
Dec 28, 2021
Kind
B2
Abstract

Various methods and systems for facilitating network traffic monitoring in association with an application running on a client device are provided. In this regard, aspects of the invention facilitate monitoring network traffic being transmitted to and/or from a client device, such as a mobile device, so that network performance can be analyzed. In various implementations, one or more default classes associated with an application on a device are replaced with one or more custom monitoring classes designed to facilitate monitoring data packets being communicated to or from the application. The custom monitoring classes can then be utilized to facilitate monitoring a plurality of data packets communicated to or from the application.

Claims (41)

1. A method for monitoring network traffic, the method comprising:

providing a monitor trigger within code of an application, wherein the monitor trigger is configured to initiate a monitoring component during execution of the application on a platform operating on a computing device, wherein the monitoring component is configured to:

listen for one or more default classes native to the platform initiating a network connection; and

upon detecting the one or more default classes initiating the network connection, activate network traffic monitoring by causing the one or more default classes to call one or more custom monitoring classes that are not native to the platform and are configured to facilitate monitoring a plurality of data packets communicated to or from the application via a network.

2. The method of claim 1 , the one or more custom monitoring classes incorporated into the application via an SDK generated by an analytics service provider, distinct from a developer of the application.

3. The method of claim 1 , wherein the monitor trigger comprises one line of code configured to trigger activation of the monitoring component.

4. The method of claim 1 , wherein the monitoring component is a plug-in for the application.

5. The method of claim 1 , wherein the monitoring component comprises a library of the one or more custom monitoring classes.

6. The method of claim 1 , wherein the monitor trigger is configured to initiate the monitoring component upon the application being launched.

7. The method of claim 1 , wherein the causing of the one or more default classes to call the one or more custom monitoring classes comprises using a decorator pattern to encapsulate at least one of the one or more default classes native to the platform with a corresponding one of the one or more custom monitoring classes that are not native to the platform.

8. The method of claim 1 , wherein the causing of the one or more default classes to call the one or more custom monitoring classes comprises using a delegation pattern encapsulate at least one of the one or more default classes native to the platform with a corresponding one of the one or more custom monitoring classes that are not native to the platform.

9. The method of claim 1 , wherein the causing of the one or more default classes to call the one or more custom monitoring classes comprises sequentially replacing the one or more default classes native to the platform with a plurality of custom classes that are not native to the platform, each custom class modifying a corresponding one of the one or more the default classes, to initiate the one or more custom monitoring classes.

10. The method of claim 1 , wherein the causing of the one or more default classes to call the one or more custom monitoring classes comprises employing reflection to inject a call to one of the one or more custom monitoring classes that are not native to the platform into a corresponding one of the one or more default classes native to the platform at runtime of the application.

11. A system for monitoring network traffic, the system comprising:

one or more data processors; and

one or more computer-readable storage media containing instructions which when executed on the one or more data processors, cause the one or more data processors to perform operations including:

providing a monitor trigger within code of an application, wherein the monitor trigger is configured to initiate a monitoring component during execution of the application on a platform operating on a computing device, wherein the monitoring component is configured to:

listen for one or more default classes native to the platform initiating a network connection; and

upon detecting the one or more default classes initiating the network connection, activate network traffic monitoring by causing the one or more default classes to call one or more custom monitoring classes that are not native to the platform and are configured to facilitate monitoring a plurality of data packets communicated to or from the application via a network.

12. The system of claim 11 , the one or more custom monitoring classes incorporated into the application via an SDK generated by an analytics service provider, distinct from a developer of the application.

13. The system of claim 11 , wherein the monitor trigger comprises one line of code configured to trigger activation of the monitoring component.

14. The system of claim 11 , wherein the monitoring component is a plug-in for the application.

15. The system of claim 11 , wherein the monitoring component comprises a library of the one or more custom monitoring classes.

16. The system of claim 11 , wherein the monitor trigger is configured to initiate the monitoring component upon the application being launched.

17. The system of claim 11 , wherein the causing of the one or more default classes to call the one or more custom monitoring classes comprises using a decorator pattern to encapsulate at least one of the one or more default classes native to the platform with a corresponding one of the one or more custom monitoring classes that are not native to the platform.

18. The system of claim 11 , wherein the causing of the one or more default classes to call the one or more custom monitoring classes comprises using a delegation pattern encapsulate at least one of the one or more default classes native to the platform with a corresponding one of the one or more custom monitoring classes that are not native to the platform.

19. The system of claim 11 , wherein the causing of the one or more default classes to call the one or more custom monitoring classes comprises sequentially replacing the one or more default classes native to the platform with a plurality of custom classes that are not native to the platform, each custom class modifying a corresponding one of the one or more the default classes, to initiate the one or more custom monitoring classes.

20. The system of claim 11 , wherein the causing of the one or more default classes to call the one or more custom monitoring classes comprises employing reflection to inject a call to one of the one or more custom monitoring classes that are not native to the platform into a corresponding one of the one or more default classes native to the platform at runtime of the application.

21. One or more non-transitory computer-storage media storing computer-executable instructions that, when executed by a computing device, perform a method for monitoring network traffic, the method comprising:

providing a monitor trigger within code of an application, wherein the monitor trigger is configured to initiate a monitoring component during execution of the application on a platform operating on the computing device, wherein the monitoring component is configured to:

listen for one or more default classes native to the platform initiating a network connection; and

upon detecting the one or more default classes initiating the network connection, activate network traffic monitoring by causing the one or more default classes to call one or more custom monitoring classes that are not native to the platform and are configured to facilitate monitoring a plurality of data packets communicated to or from the application via a network.

22. The one or more non-transitory computer-storage media of claim 21 , the one or more custom monitoring classes incorporated into the application via an SDK generated by an analytics service provider, distinct from a developer of the application.

23. The one or more non-transitory computer-storage media of claim 21 , wherein the monitor trigger comprises one line of code configured to trigger activation of the monitoring component.

24. The one or more non-transitory computer-storage media of claim 21 , wherein the monitoring component is a plug-in for the application.

25. The one or more non-transitory computer-storage media of claim 21 , wherein the monitoring component comprises a library of the one or more custom monitoring classes.

26. The one or more non-transitory computer-storage media of claim 21 , wherein the monitor trigger is configured to initiate the monitoring component upon the application being launched.

27. The one or more non-transitory computer-storage media of claim 21 , wherein the causing of the one or more default classes to call the one or more custom monitoring classes comprises using a decorator pattern to encapsulate at least one of the one or more default classes native to the platform with a corresponding one of the one or more custom monitoring classes that are not native to the platform.

28. The one or more non-transitory computer-storage media of claim 21 , wherein the causing of the one or more default classes to call the one or more custom monitoring classes comprises using a delegation pattern encapsulate at least one of the one or more default classes native to the platform with a corresponding one of the one or more custom monitoring classes that are not native to the platform.

29. The one or more non-transitory computer-storage media of claim 21 , wherein the causing of the one or more default classes to call the one or more custom monitoring classes comprises sequentially replacing the one or more default classes native to the platform with a plurality of custom classes that are not native to the platform, each custom class modifying a corresponding one of the one or more the default classes, to initiate the one or more custom monitoring classes.

30. The one or more non-transitory computer-storage media of claim 21 , wherein the causing of the one or more default classes to call the one or more custom monitoring classes comprises employing reflection to inject a call to one of the one or more custom monitoring classes that are not native to the platform into a corresponding one of the one or more default classes native to the platform at runtime of the application.

Assignments (4)
CHANGE OF NAME Recorded Jul 22, 2025
From: SPLUNK INC.
To: SPLUNK LLC
Reel/Frame 072170/0599 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2025
From: SPLUNK LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 072173/0058 →
CHANGE OF NAME Recorded Jan 6, 2025
From: SPLUNK INC.
To: SPLUNK LLC
Reel/Frame 069825/0782 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2019
From: POLYCHRONIS, KONSTANTINOS
To: SPLUNK INC.
Reel/Frame 050259/0466 →
Continuity (3)
Continuation 14524755 · Oct 27, 2014
Provisional Application 62053025 · Sep 19, 2014
Related Publication 20190379593A1 · Dec 12, 2019