IP Library Granted Patent US 8,739,189
Granted Patent B2
US 8,739,189 · App. 12/019,514 · Granted May 27, 2014

System, method, and computer program product for invoking an application program interface within an interception of another application program interface

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 8,739,189
App. No.
12/019,514
Granted
May 27, 2014
Kind
B2
Abstract

A system, method, and computer program product are provided for invoking an application program interface within an interception of another application program interface. In use, a first application program interface invoked utilizing a first thread is intercepted. Further, a second application program interface is invoked within the interception of the first application program interface, utilizing a second thread.

Claims (25)

1. A non-transitory computer readable storage medium storing instructions that when executed by a programmable processing device cause the programmable processing device to:

intercept a first application program interface invoked, utilizing a first thread, by a process executing on the programmable processing device, the first thread associated with an application program interface interception handler, the application program interception handler including a callback function, the programmable processing device secured via a security system; and

invoke a second application program interface within the interception of the first application program interface, utilizing a second thread, the second thread comprising a worker thread;

wherein invoking the second application program interface within the interception of the first application program interface includes invoking the second application program interface within a context of the application program interface interception handler.

2. The non-transitory computer readable storage medium of claim 1 , wherein the instructions to cause the programmable processing device to invoke the first application program interface include instructions to cause the programmable processing device to call the first application program interface.

3. The non-transitory computer readable storage medium of claim 1 , wherein the first application program interface invocation is intercepted in a user mode.

4. The non-transitory computer readable storage medium of claim 1 , wherein the first application program interface invocation is intercepted in a kernel mode.

5. The non-transitory computer readable storage medium of claim 1 , wherein the second application program interface includes the first application program interface.

6. The non-transitory computer readable storage medium of claim 1 , wherein the second application program interface is different from the first application program interface.

7. The non-transitory computer readable storage medium of claim 1 , wherein the worker thread is selected from a plurality of worker threads.

8. The non-transitory computer readable storage medium of claim 1 , further comprising instructions to cause the programmable processing device to invoke a wrapper function.

9. The non-transitory computer readable storage medium of claim 8 , wherein the wrapper function packages a request for the second application program interface to be invoked and transmits the packaged request to the second thread.

10. The non-transitory computer readable storage medium of claim 8 , wherein the wrapper function provides a timeout condition for the second application program interface.

11. The non-transitory computer readable storage medium of claim 8 , wherein the wrapper function retrieves results of the invocation of the second application program interface.

12. The non-transitory computer readable storage medium of claim 1 , wherein invoking the second application program interface utilizing the second thread prevents the second application program interface from affecting the first thread.

13. A method, comprising:

intercepting a first application program interface invoked, utilizing a first thread, by a process executing on a programmable processing device, the first thread associated with an application program interface interception handler, the application program interception handler including a callback function, the programmable processing device secured via a security system; and

invoking a second application program interface within the interception of the first application program interface, utilizing a second thread, the second thread comprising a worker thread;

wherein invoking the second application program interface within the interception of the first application program interface includes invoking the second application program interface within a context of the application program interface interception handler.

14. A system, comprising:

a processor for intercepting a first application program interface invoked, utilizing a first thread, by a process executing on the processor, the processor secured via a security system and further adapted to invoke a second application program interface within the interception of the first application program interface, utilizing a second thread, the second thread comprising a worker thread;

wherein the first thread is associated with an application program interface interception handler,

wherein the application program interface interception handler includes a callback function, and

wherein invoking the second application program interface within the interception of the first application program interface includes invoking the second application program interface within a context of the application program interface interception handler.

15. The system of claim 14 , wherein the processor is coupled to memory via a bus.

Assignments (10)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE PATENT TITLES AND REMOVE DUPLICATES IN THE SCHEDULE PREVIOUSLY RECORDED AT REEL: 059354 FRAME: 0335. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 23, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 060792/0307 →
SECURITY INTEREST Recorded Mar 3, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 059354/0335 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045056/0676 Recorded Mar 2, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 059354/0213 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045055/0786 Recorded Oct 26, 2020
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 054238/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045056 FRAME 0676. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 054206/0593 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045055 FRAME 786. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 055854/0047 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 045056/0676 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 045055/0786 →
CHANGE OF NAME AND ENTITY CONVERSION Recorded Aug 24, 2017
From: MCAFEE, INC.
To: MCAFEE, LLC
Reel/Frame 043665/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2008
From: DALCHER, GREGORY WILLIAM
To: MCAFEE, INC.
Reel/Frame 020420/0299 →