IP Library Granted Patent US 12,309,044
Granted Patent B1
US 12,309,044 · App. 18/416,292 · Granted May 20, 2025

Identifying application and transport layers discrepancies

Inventors: Dezhi Bi (Hangzhou, CN); Yuanyuan Du (Hangzhou, CN); Xiaohuan Pan (Hangzhou, CN); Jingjin Xie (Hangzhou, CN)
Assignee: Zoom Communications, Inc.
H04L43/04H04L43/10
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 12,309,044
App. No.
18/416,292
Granted
May 20, 2025
Kind
B1
Abstract

First data related to outbound transport layer requests from a software application to external systems are logged. Second data related to application services layer requests from the software application are logged to at least some of the external systems. A transport layer request of the outbound transport layer requests that does not correspond to an application services layer request of the application services layer requests is identified based on the first data and the second data. The first data can include stack traces associated with the outbound transport layer requests. Logging the first data can be performed by an agent injected into classes including java.net. Socket and java.net. DatagramSocket executable by the software application.

Claims (43)

1. A method, comprising:

logging first data related to outbound transport layer requests from a software application to external systems;

logging second data related to application services layer requests from the software application to at least some of the external systems;

identifying, based on the first data and the second data, an outbound transport layer request of the outbound transport layer requests that does not correspond to an application services layer request of the application services layer requests; and

configuring a premain function to modify respective bytecode of classes related to network communication to enable logging the first data, wherein the classes related to the network communication comprise java.net.Socket and java.net.Datagram.Socket.

2. The method of claim 1 , wherein logging the first data related to the outbound transport layer requests from the software application to the external systems comprises:

logging respective stack traces associated with the outbound transport layer requests.

3. The method of claim 1 , wherein the outbound transport layer requests utilize a Transmission Control Protocol (TCP) or a User Datagram Protocol (UDP).

4. The method of claim 1 , wherein the first data include respective domain names of the external systems.

5. The method of claim 1 , wherein logging the first data is performed by an agent injected into classes comprising java.net.Socket and java.net.Datagram.Socket executable by the software application.

6. The method of claim 1 , wherein logging the second data related to the application services layer requests from the software application comprises:

logging data related to a first access mechanism by the software application to a database; and

logging data related to a second access mechanism by the software application to the database.

7. The method of claim 1 , further comprising:

identifying instances of lost traffic labeling based on the first data and the second data.

8. The method of claim 1 , further comprising:

identifying, based on the first data, domain names not included in the second data.

9. The method of claim 1 , wherein the first data comprises stack traces.

10. A system, comprising:

one or more memories; and

one or more processors, the one or more processors configured to execute functions stored in the one or more memories to:

log first data related to outbound transport layer requests from a software application to external systems;

log second data related to application services layer requests from the software application to at least some of the external systems;

identify, based on the first data and the second data, an outbound transport layer request of the outbound transport layer requests that does not correspond to an application services layer request of the application services layer requests; and

configure a premain function to modify respective bytecode of classes related to network communication to enable logging the first data, wherein the classes related to the network communication comprise java.net.Socket and java.net.Datagram.Socket.

11. The system of claim 10 , wherein the one or more processors is configured to execute instructions stored in the one or more memories to:

modify byte code of at least one library of an application services layer to log at least some of the second data.

12. The system of claim 10 , wherein the one or more processors is configured to execute instructions stored in the one or more memories to:

identify first domains included in the first data;

identify second domains included in the second data; and

output a list of domain names included in the first domains but not included in the second domains.

13. The system of claim 10 , wherein the first data comprise stack traces.

14. Non-transitory computer readable media storing instructions operable to cause one or more processors to perform operations comprising:

logging first data related to outbound transport layer requests from a software application to external systems;

logging second data related to application services layer requests from the software application to at least some of the external systems;

identifying, based on the first data and the second data, an outbound transport layer request of the outbound transport layer requests that does not correspond to an application services layer request of the application services layer requests; and

configuring a premain function to modify respective bytecode of classes related to network communication to enable logging the first data, wherein the classes related to the network communication comprise java.net.Socket and java.net.Datagram.Socket.

15. The non-transitory computer readable media of claim 14 , wherein the operations comprise:

configuring classes related to network communication to enable logging the first data.

16. The non-transitory computer readable media of claim 14 , wherein the operations comprise:

modifying at least one library of the application services layer to log at least some of the second data.

17. The non-transitory computer readable media of claim 14 , wherein the first data and the second data are used to identify a discrepancy in domain names between the first data and the second data.

18. The non-transitory computer readable media of claim 14 , wherein the first data comprise stack traces.

Assignments (2)
CHANGE OF NAME Recorded Jan 7, 2025
From: ZOOM VIDEO COMMUNICATIONS, INC.
To: ZOOM COMMUNICATIONS, INC.
Reel/Frame 069839/0593 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2024
From: BI, DEZHI; DU, YUANYUAN; PAN, XIAOHUAN; XIE, JINGJIN
To: ZOOM VIDEO COMMUNICATIONS, INC.
Reel/Frame 066216/0417 →
References Cited (9)
US 7395458B2 · Shrivastava et al. · 2008 [cited by applicant]
US 9571354B2 · Annamalaisami et al. · 2017 [cited by applicant]
US 10013331B2 · Brodsky et al. · 2018 [cited by applicant]
US 10721270B2 · Reddy et al. · 2020 [cited by applicant]
US 11023607B1 · Mantin · 2021 [cited by examiner]
US 20100098085A1 · Wu · 2010 [cited by examiner]
US 20210136042A1 · Wang · 2021 [cited by examiner]
Stack Overflow, Transport layer Services and Application Layer services, https://stackoverflow.com/questions/27613589/transport-layer-services-and-application-layer-services, John Saunders, Dec. 23, 2024, 5 pages. [cited by applicant]
Stack Overflow, Log all requests from the python-requests module, https://stackoverflow.com/questions/16337511/log-all-requests-from-the-python-requests-module, VVVVV, Mar. 24, 2023, 14 pages. [cited by applicant]