IP Library Granted Patent US 7,624,405
Granted Patent B1
US 7,624,405 · App. 11/156,029 · Granted Nov 24, 2009

Maintaining availability during change of resource dynamic link library in a clustered system

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,624,405
App. No.
11/156,029
Granted
Nov 24, 2009
Kind
B1
Abstract

An embodiment of the invention is a technique for maintaining application availability during a change in a resource dynamic link library (DLL). A shim resource DLL is linked to a resource DLL managed by a resource manager in a clustered system. The managed resource DLL exports a function to control a resource in the clustered system. During a normal mode, the shim resource DLL passes to the managed resource DLL a call to an exported function unchanged. During a change mode, the shim resource DLL is unlinked from the managed resource DLL to allow the managed resource DLL to be changed, and the shim resource DLL handles a call to an exported function without passing the call to the managed resource DLL.

Claims (36)

1. A method for maintaining application availability during a change of a resource dynamic link library (DLL) in a clustered system, the clustered system including a plurality of nodes, each of the nodes being a computer having a cluster software and a dependency group application, the cluster software including a resource manager and a shim resource dynamic link library (DLL), the dependency group application having the resource DLL managed by the resource manager, the method comprising:

linking the shim resource DLL to the managed resource DLL, the managed resource DLL exporting a function to control a resource in the clustered system;

passing, by the shim resource DLL, to the managed resource DLL a call to an exported function unchanged during a normal mode; and

during a change mode, the shim resource DLL:

unlinking from the managed resource DLL to allow the managed resource DLL to be changed, and

handling a call to an exported function without passing the call to the managed resource DLL.

2. The method of claim 1 wherein linking comprises:

dynamically linking the shim resource DLL to the managed resource DLL during an initialization mode or after the change mode.

3. The method of claim 1 wherein unlinking comprises:

unlinking the shim resource DLL from the managed resource DLL to allow the managed resource to be upgraded or replaced with a new resource DLL.

4. The method of claim 1 wherein the function is one of an On_Line function, an Off_Line function, an Is_Alive function, and a Resource Control function.

5. The method of claim 4 wherein handling comprises returning success to a call to the Is_Alive function.

6. The method of claim 4 wherein handling comprises returning error to a call to one of the On_Line function, the Off_line function, and the Resource Control function.

7. The method of claim 1 wherein the resource is one of a mass storage device, a device driver, a network address, a network name, an application program, a system service, and a system software module.

8. A system comprising:

a plurality of nodes forming a clustered system, each of the nodes being a computer having a cluster software and a dependency group application, the cluster software including a resource manager and a shim resource dynamic link library (DLL), the dependency group application having a resource DLL managed by the resource manager; and

a plurality of resources coupled to the plurality of nodes, one of the resources being controlled by a function exported by the managed resource DLL;

wherein the shim resource DLL is linked to the resource manager and the managed resource DLL to pass a call to the exported function to the managed resource DLL unchanged during a normal mode and is unlinked from the managed resource DLL to allow the managed resource DLL to be changed, and to handle a call to the exported function without passing the call to the managed resource DLL during a change mode.

9. The system of claim 8 wherein the shim resource DLL is dynamically linked to the managed resource DLL during an initialization mode or after the change mode.

10. The system of claim 8 wherein the managed resource DLL is upgraded or replaced by a new resource DLL during the change mode.

11. The system of claim 8 wherein the function is one of an On_Line function, an Off_Line function, an Is_Alive function, and a Resource Control function.

12. The system of claim 11 wherein the shim resource DLL returns success to a call to the Is_Alive function during the change mode.

13. The system of claim 11 wherein the shim resource DLL returns error to a call to one of the On_Line function, the Off_line function, and the Resource Control function.

14. The system of claim 9 wherein the one of the resources being controlled by a function exported by the managed resource DLL is one of a mass storage device, a device driver, a network address, a network name, an application program, a system service, and a system software module.

15. An article of manufacture comprising:

a machine-accessible medium including data that, when accessed by a machine, cause the machine to perform operations comprising:

linking a shim resource dynamic link library (DLL) to a resource DLL managed by a resource manager in a clustered system, wherein the clustered system including a plurality of nodes, each of the nodes being a computer having a cluster software and a dependency group application, the cluster software including the resource manager and the shim resource dynamic link library (DLL), the dependency group application having the resource DLL managed by the resource manager, the managed resource DLL exporting a function to control a resource in the clustered system;

passing, by the shim resource DLL, to the managed resource DLL a call to an exported function unchanged during a normal mode; and

during a change mode, the shim resource DLL:

unlinking from the managed resource DLL to allow the managed resource DLL to be changed, and

handling a call to an exported function without passing the call to the managed resource DLL.

16. The article of manufacture of claim 15 wherein the data causing the machine to perform the operation of linking comprises data that cause the machine to perform operations comprising dynamically linking to the managed resource DLL during an initialization mode or after the change mode.

17. The article of manufacture of claim 15 wherein the managed resource DLL is upgraded or replaced by a new resource DLL during the change mode.

18. The article of manufacture of claim 15 wherein the function is one of an On_Line function, an Off_Line function, an Is_Alive function, and a Resource Control function.

19. The article of manufacture of claim 18 wherein the data causing the machine to perform the operation of handling comprises data that cause the machine to perform operations comprising returning success to a call to the Is_Alive function.

20. The article of manufacture of claim 18 wherein the data causing the machine to perform the operation of handling comprises data that cause the machine to perform operations comprising returning error to a call to one of the On_Line function, the Off_Line function, and the Resource Control function.

Assignments (12)
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 →
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 →
SECURITY AGREEMENT Recorded May 7, 2010
From: UNISYS CORPORATION
To: DEUTSCHE BANK
Reel/Frame 024351/0482 →
RELEASE BY SECURED PARTY Recorded Jul 31, 2009
From: CITIBANK, N.A.
To: UNISYS CORPORATION; UNISYS HOLDING CORPORATION
Reel/Frame 023086/0255 →
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 Jun 17, 2005
From: LEGG, CHRIS B.; MORENO, BRENDA ANN
To: UNISYS CORPORATION
Reel/Frame 016719/0965 →