IP Library Granted Patent US 11,036,606
Granted Patent B2
US 11,036,606 · App. 16/938,250 · Granted Jun 15, 2021

Systems, methods, and computer-readable media for instrumenting an application to operate in conjunction with a telemetry interception and analysis platform

Inventors: Michael Kevin Larkin (San Jose, CA); Kiran Kamity (San Jose, CA)
Assignee: DEEP FACTOR, INC.
G06F11/3072G06F9/542G06F11/302G06F11/3089G06F11/324G06N20/00
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,036,606
App. No.
16/938,250
Granted
Jun 15, 2021
Kind
B2
Abstract

Systems, methods, and computer-readable media for intercepting telemetry events obtained during operation of an application and analyzing the telemetry events are provided. The telemetry events are intercepted at the library level by interposing on application calls to a native library. The telemetry events are collected and transmitted to a platform that analyzes the collected events and presents information based on the analysis.

Claims (30)

1. A method for configuring an application to operate in conjunction with a telemetry interception and analysis platform (TIAP), comprising:

receiving an instrumentation command via a user interface to create a sealed output file of an application, wherein the application comprises a plurality of components, and wherein the user interface communicates with the TIAP;

registering the plurality of components with the TIAP to correlate each component of the plurality of components with a corresponding interception code of a plurality of interception codes;

receiving the plurality of interception codes from the TIAP;

receiving TIAP runtime code from the TIAP;

storing the plurality of interception codes in an interception library, wherein each interception code of the plurality of interception codes comprises at least one telemetry grammar and a trampoline function; and

generating the sealed output file of the application comprising the interception library and the TIAP runtime code.

2. The method of claim 1 , wherein the application further comprises application executable code.

3. The method of claim 2 , wherein the sealed output file of the application comprises the application executable code, and wherein the TIAP runtime code comprises a loader that instructs the application to direct all calls to the interception library.

4. The method of claim 2 , wherein the TIAP runtime code comprises a launcher that instructs the application to direct all calls to the interception library, and wherein the sealed output file of the application does not include the application execution code.

5. The method of claim 1 , wherein the at least one telemetry grammar defines an application programming interface (API) or a function call to intercept and record as a telemetry event.

6. The method of claim 1 , wherein the at least one telemetry grammar is selected from a library of telemetry grammars hosted by the TIAP.

7. The method of claim 1 , wherein the at least one telemetry grammar is generated by a customer interacting with the user interface.

8. The method of claim 1 , wherein the user interface is a command line interface.

9. The method of claim 1 , wherein the trampoline function redirects a call from the interception library to a native library associated with the application such that the call is implemented as originally intended.

10. A non-transitory computer-readable storage medium containing program instructions for a method for configuring an application to operate in conjunction with a telemetry interception and analysis platform (TIAP), wherein execution of the program instructions by one or more processors of a computer system causes the one or more processors to perform steps comprising:

receiving an instrumentation command via a user interface to create a sealed output file of an application, wherein the application comprises a plurality of components, and wherein the user interface communicates with the TIAP;

registering the plurality of components with the TIAP to correlate each component of the plurality of components with a corresponding interception code of a plurality of interception codes;

receiving the plurality of interception codes from the TIAP;

receiving TIAP runtime code from the TIAP;

storing the plurality of interception codes in an interception library, wherein each interception code of the plurality of interception codes comprises at least one telemetry grammar and a trampoline function; and

generating the sealed output file of the application comprising the interception library and the TIAP runtime code.

11. The non-transitory computer-readable storage medium of claim 10 , wherein the application further comprises application executable code.

12. The non-transitory computer : readable storage medium of claim 11 , wherein the sealed output file of the application comprises the application executable code, and wherein the TIAP runtime code comprises a loader that instructs the application to direct all calls to the interception library.

13. The non-transitory computer : readable storage medium of claim 11 , wherein the TIAP runtime code comprises a launcher that instructs the application to direct all calls to the interception library, and wherein the sealed output file of the application does not include the application execution code.

14. The non-transitory computer : readable storage medium of claim 10 , wherein the at least one telemetry grammar defines an application programming interface (API) or a function call to intercept and record as a telemetry event.

15. The non-transitory computer-readable storage medium of claim 10 , wherein the at least one telemetry grammar is selected from a library of telemetry grammars hosted by the TIAP.

16. The non-transitory computer-readable storage medium of claim 10 , wherein the at least one telemetry grammar is generated by a customer interacting with the user interface.

17. The non-transitory computer-readable storage medium of claim 10 , wherein the user interface is a command line interface.

18. The non-transitory computer : readable storage medium of claim 10 , wherein the trampoline function redirects a call from the interception library to a native library associated with the application such that the call is implemented as originally intended.

Assignments (3)
CHANGE OF NAME Recorded Apr 10, 2025
From: DEEPFACTOR, INC.
To: DEEPFACTOR LLC
Reel/Frame 070815/0097 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 053305 FRAME: 0465. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT . Recorded Jul 15, 2021
From: LARKIN, MICHAEL KEVIN; KAMITY, KIRAN
To: DEEPFACTOR, INC.
Reel/Frame 056889/0589 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 24, 2020
From: LARKIN, MICHAEL KEVIN; KAMITY, KIRAN
To: DEEP FACTOR, INC.
Reel/Frame 053305/0465 →
Continuity (3)
Provisional Application 62878490 · Jul 25, 2019
Provisional Application 62878502 · Jul 25, 2019
Related Publication 20210026751A1 · Jan 28, 2021
Cited By (1)
US 12,664,280