IP Library Granted Patent US 11,870,673
Granted Patent B2
US 11,870,673 · App. 17/451,518 · Granted Jan 9, 2024

Intercepting and examining a packet header or trailer

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,870,673
App. No.
17/451,518
Granted
Jan 9, 2024
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 (32)

1. A method comprising:

intercepting, by a monitoring component on a mobile device, a stream of data of a packet of unknown length being communicated to or from an application running on the mobile device, the packet having a packet header or a packet trailer;

tracking, by the monitoring component, a number of intercepted bytes of the packet from the stream by incrementing a counter that represents the number of intercepted bytes;

examining, by the monitoring component, the packet header or the packet trailer for a predetermined set of types of network data, wherein the monitoring component is configured to terminate the examining upon reading the intercepted bytes represented by the number in the counter; and

providing the network data to a remote server.

2. The method of claim 1 , further comprising triggering initiation of the intercepting upon detecting creation of a connection between the mobile device and a second remote server.

3. The method of claim 1 , wherein the monitoring component is configured to intercept the stream of data by intercepting calls by the mobile device to read or write to the stream.

4. The method of claim 1 , wherein the monitoring component is configured to determine that the predetermined set of types of network data have been obtained from the packet header or the packet trailer, and terminate the examining of the packet header or the packet trailer prior to reading a remainder of the intercepted bytes.

5. The method of claim 1 , wherein the monitoring component is configured to determine that the examining has read an entirety of the packet header or the packet trailer, and advance to a next packet from the stream without examining a payload of the packet.

6. The method of claim 1 , wherein the monitoring component is configured to determine that the examining has read an entirety of the packet header or the packet trailer, and determine whether the examining has read a packet size of the packet from the packet header or the packet trailer.

7. The method of claim 1 , wherein the monitoring component is configured to determine that the examining has read an entirety of the packet header or the packet trailer, determine that the examining has not read a packet size of the packet from the packet header or the packet trailer, and advance to examining a payload of the packet to determine the packet size.

8. A system comprising one or more hardware processors configured to cause the system to perform operations comprising:

intercepting, by a monitoring component on a mobile device, a stream of data of a packet of unknown length being communicated to or from an application running on the mobile device, the packet having a packet header or a packet trailer;

tracking, by the monitoring component, a number of intercepted bytes of the packet from the stream by incrementing a counter that represents the number of intercepted bytes;

examining, by the monitoring component, the packet header or the packet trailer for a predetermined set of types of network data, wherein the monitoring component is configured to terminate the examining upon reading the intercepted bytes represented by the number in the counter; and

providing the network data to a remote server.

9. The system of claim 8 , the operations further comprising triggering initiation of the intercepting upon detecting creation of a connection between the mobile device and a second remote server.

10. The system of claim 8 , wherein the monitoring component is configured to intercept the stream of data by intercepting calls by the mobile device to read or write to the stream.

11. The system of claim 8 , wherein the monitoring component is configured to determine that the predetermined set of types of network data have been obtained from the packet header or the packet trailer, and terminate the examining of the packet header or the packet trailer prior to reading a remainder of the intercepted bytes.

12. The system of claim 8 , wherein the monitoring component is configured to determine that the examining has read an entirety of the packet header or the packet trailer, and advance to a next packet from the stream without examining a payload of the packet.

13. The system of claim 8 , wherein the monitoring component is configured to determine that the examining has read an entirety of the packet header or the packet trailer, and determine whether the examining has read a packet size of the packet from the packet header or the packet trailer.

14. The system of claim 8 , wherein the monitoring component is configured to determine that the examining has read an entirety of the packet header or the packet trailer, determine that the examining has not read a packet size of the packet from the packet header or the packet trailer, and advance to examining a payload of the packet to determine the packet size.

15. One or more non-transitory computer storage media storing computer-executable instructions executable by one or more hardware processors to cause the one or more hardware processors to perform operations comprising:

intercepting, by a monitoring component on a mobile device, a stream of data of a packet of unknown length being communicated to or from an application running on the mobile device, the packet having a packet header or a packet trailer;

tracking, by the monitoring component, a number of intercepted bytes of the packet from the stream by incrementing a counter that represents the number of intercepted bytes;

examining, by the monitoring component, the packet header or the packet trailer for a predetermined set of types of network data, wherein the monitoring component is configured to terminate the examining upon reading the intercepted bytes represented by the number in the counter; and

providing the network data to a remote server.

16. The one or more non-transitory computer storage media of claim 15 , the operations further comprising triggering initiation of the intercepting upon detecting creation of a connection between the mobile device and a second remote server.

17. The one or more non-transitory computer storage media of claim 15 , wherein the monitoring component is configured to intercept the stream of data by intercepting calls by the mobile device to read or write to the stream.

18. The one or more non-transitory computer storage media of claim 15 , wherein the monitoring component is configured to determine that the predetermined set of types of network data have been obtained from the packet header or the packet trailer, and terminate the examining of the packet header or the packet trailer prior to reading a remainder of the intercepted bytes.

19. The one or more non-transitory computer storage media of claim 15 , wherein the monitoring component is configured to determine that the examining has read an entirety of the packet header or the packet trailer, and advance to a next packet from the stream without examining a payload of the packet.

20. The one or more non-transitory computer storage media of claim 15 , wherein the monitoring component is configured to determine that the examining has read an entirety of the packet header or the packet trailer, and determine whether the examining has read a packet size of the packet from the packet header or the packet trailer.

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 Oct 20, 2021
From: POLYCHRONIS, KONSTANTINOS
To: SPLUNK INC.
Reel/Frame 057847/0076 →
Continuity (4)
Continuation 16546773 · Aug 21, 2019
Continuation 14524755 · Oct 27, 2014
Provisional Application 62053025 · Sep 19, 2014
Related Publication 20220038362A1 · Feb 3, 2022