IP Library Granted Patent US 7,415,702
Granted Patent B1
US 7,415,702 · App. 11/039,314 · Granted Aug 19, 2008

Method for zero overhead switching of alternate algorithms in a computer program

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 7,415,702
App. No.
11/039,314
Granted
Aug 19, 2008
Kind
B1
Abstract

A system wherein a Caller Application is enabled to reduce latency after a First Call to a Data Link Library after which a stub function provides direct access to a selected algorithm's work function for execution by a processor. A Hardware Abstraction Layer receives information from multiple CPU's to determine the appropriately compatible algorithm for the processor that is to be utilized.

Claims (10)

1. In a computer system having a Windows operating system which provides a Dynamic Link Library that is called by a Windows application for performing a selected worker function, wherein the selected worker function is selected by first accessing an import table provided for use by said application, a method for reducing latency in the calling of said worker function by said application when said selected worker function is a time-critical worker function and said application is a multiple-iteration application which requires multiple iterations of said time-critical worker function, said method comprising:

accessing by said multiple-iteration application of said import table to locate an address of said time-critical worker function;

calling by said multiple-iteration application of said time-critical worker function in response to the address located by said accessing;

executing the called time-critical worker function and also, on the first call of said time-critical worker function by said multiple-iteration application, utilizing a stub of code provided at the entry point of said time-critical worker function for patching the multiple-iteration application to said time-critical worker function by modifying said multiple-iteration application so that the multiple-iteration application will bypass said import table and directly call said time-critical worker function on subsequent iterations without having to access said import table; and

returning operation to said multiple-iteration application after completion of said time-critical worker function.

2. The method of claim 1 , wherein said Dynamic Link Library is incorporated in a Hardware Abstraction Layer for use in selecting which of a plurality of different processor types is to be called by said multiple-iteration application.

3. The method of claim 1 , wherein said Dynamic Link Library is used for selecting different encryption algorithms for a disk drive system.

4. The method of claim 1 , wherein said method is repeated when a different multiple-iteration application calls a time-critical function in said Dynamic Link Library.

5. The method of claim 1 , wherein said stub of code uses a return address of said multiple-iteration application to determine a location of the code in said multiple-iteration application which called the time-critical worker function.

6. The method of claim 1 , wherein said return address is obtained from a memory stack provided for use with said application.

Assignments (15)
AMENDED AND RESTATED PATENT SECURITY AGREEMENT Recorded Jun 27, 2025
From: UNISYS CORPORATION; UNISYS HOLDING CORPORATION; UNISYS NPL, INC.; UNISYS AP INVESTMENT COMPANY I
To: COMPUTERSHARE TRUST COMPANY, N.A., AS COLLATERAL TRUSTEE
Reel/Frame 071759/0527 →
SECURITY INTEREST Recorded Nov 19, 2020
From: UNISYS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 054481/0865 →
RELEASE OF SECURITY INTEREST Recorded Oct 28, 2020
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: UNISYS CORPORATION
Reel/Frame 054231/0496 →
RELEASE OF SECURITY INTEREST Recorded Nov 9, 2017
From: WELLS FARGO BANK, NATIONAL ASSOCIATION (SUCCESSOR TO GENERAL ELECTRIC CAPITAL CORPORATION)
To: UNISYS CORPORATION
Reel/Frame 044416/0358 →
SECURITY INTEREST Recorded Oct 6, 2017
From: UNISYS CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 044144/0081 →
PATENT SECURITY AGREEMENT Recorded Apr 27, 2017
From: UNISYS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
Reel/Frame 042354/0001 →
RELEASE OF SECURITY INTEREST Recorded Mar 26, 2013
From: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL TRUSTEE
To: UNISYS CORPORATION
Reel/Frame 030082/0545 →
RELEASE OF SECURITY INTEREST Recorded Mar 15, 2013
From: DEUTSCHE BANK TRUST COMPANY
To: UNISYS CORPORATION
Reel/Frame 030004/0619 →
SECURITY AGREEMENT Recorded Jun 27, 2011
From: UNISYS CORPORATION
To: GENERAL ELECTRIC CAPITAL CORPORATION, AS AGENT
Reel/Frame 026509/0001 →
PATENT SECURITY AGREEMENT (JUNIOR LIEN) Recorded Oct 13, 2009
From: UNISYS CORPORATION
To: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL TRUSTEE
Reel/Frame 023364/0098 →
PATENT SECURITY AGREEMENT (PRIORITY LIEN) Recorded Oct 12, 2009
From: UNISYS CORPORATION
To: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL TRUSTEE
Reel/Frame 023355/0001 →
RELEASE BY SECURED PARTY Recorded Sep 14, 2009
From: CITIBANK, N.A.
To: UNISYS CORPORATION; UNISYS HOLDING CORPORATION
Reel/Frame 023263/0631 →
RELEASE BY SECURED PARTY Recorded Jul 31, 2009
From: CITIBANK, N.A.
To: UNISYS CORPORATION; UNISYS HOLDING CORPORATION
Reel/Frame 023312/0044 →
SECURITY AGREEMENT Recorded Jun 20, 2006
From: UNISYS CORPORATION; UNISYS HOLDING CORPORATION
To: CITIBANK, N.A.
Reel/Frame 018003/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 20, 2005
From: LU, JEFFREY HOA; PAUL, DEREK WILLIAM
To: UNISYS CORPORATION
Reel/Frame 016205/0840 →