IP Library Granted Patent US 8,903,917
Granted Patent B2
US 8,903,917 · App. 12/477,364 · Granted Dec 2, 2014

System and method for implementing a cluster token registry for business continuity

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,903,917
App. No.
12/477,364
Granted
Dec 2, 2014
Kind
B2
Abstract

Method and system for implementing a cluster token registry (“CTR”) process in a cluster comprising a plurality of interconnected nodes each having a CTR associated therewith are described. In one embodiment, the method comprises, responsive to a client signing in at one of the nodes, the client registering a cluster-wide token with the CTR of the node, thereby casting a vote in connection with the token; determining whether prerequisites for granting the token have been met; and, responsive to a determination that the prerequisites have been met, granting the token. The method further comprises periodically determining whether the vote in connection with the token vote has been refreshed by the client and, responsive to a determination that the vote in connection with the token has not been refreshed by the client, de-registering the client.

Claims (40)

1. A cluster token registry (“CTR”) method comprising:

registering a cluster-wide token with a CTR associated with a node of a plurality of interconnected nodes in a cluster, the registering being performed by a client in response to the client signing in at one of the nodes;

determining whether prerequisites for granting the token have been met by determining whether a required number of votes are currently cast in connection with the token;

responsive to a determination that the prerequisites have been met, granting the token;

periodically determining whether the vote in connection with the token vote has been refreshed by the client; and

responsive to a determination that the vote in connection with the token vote has not been refreshed by the client, de-registering the client,

wherein the registering comprises setting at least one of a quorum parameter, a token_delay parameter, a token_refresh parameter, and a token_timeout parameter, and

wherein the vote in connection with the token vote is refreshed by the client independent of communication from the CTR associated with the node.

2. The method of claim 1 further comprising, responsive to a determination that the prerequisites have not been met, revoking the token.

3. The method of claim 1 wherein the required number of votes is equal to (N/2)+1, wherein N is equal to a maximum number of the nodes of the cluster.

4. The method of claim 1 wherein the token_delay parameter specifies a time delay between a time at which the token prerequisites are met and a time at which the token is granted.

5. The method of claim 1 wherein the token_timeout parameter specifies a time delay between a time at which the vote in connection with the token was last refreshed and a time at which the vote in connection with the token is deemed withdrawn.

6. The method of claim 1 wherein the token_refresh parameter specifies a frequency with which the vote in connection with the token must be refreshed to avoid being deemed withdrawn.

7. A system comprising:

a cluster comprising a plurality of interconnected nodes each having a cluster token registry (“CTR”) process associated therewith;

a CTR of a node of the plurality of interconnected nodes responsive to a client signing in at the node causing the client to register a cluster-wide token with the CTR of the node, thereby casting a vote in connection with the token;

the CTR of the node determining whether prerequisites for granting the token have been met by determining whether a required number of votes are currently cast in connection with the token;

the CTR of the node responsive to a determination that the prerequisites have been met granting the token;

the CTR of the node periodically determining whether the vote in connection with the token vote has been refreshed by the client;

the CTR of the node responsive to a determination that the vote in connection with the token has not been refreshed by the client de-registering the client,

wherein the vote in connection with the token vote is refreshed by the client independent of communication from the CTR of the node.

8. The system of claim 7 further comprising the CTR of the node responsive to a determination that the prerequisites have not been met revoking the token.

9. The system of claim 7 wherein the required number of votes is equal to (N/2)+1, wherein N is equal to a maximum number of the nodes of the cluster.

10. The system of claim 7 wherein registering comprises setting at least one of a quorum parameter, a token_delay parameter, a token_refresh parameter, and a token_timeout parameter.

11. The system of claim 10 wherein the token_delay parameter specifies a time delay between a time at which the token prerequisites are met and a time at which the token is granted, the token_timeout parameter specifies a time delay between a time at which the vote in connection with the token was last refreshed and a time at which the vote in connection with the token is deemed withdrawn, and the token_refresh parameter specifies a frequency with which the vote in connection with the token must be refreshed to avoid being deemed withdrawn.

12. A computer program product comprising non-transitory computer-readable medium having stored thereon instructions executable by a computer for implementing a cluster token registry (“CTR”) process in a cluster comprising a plurality of interconnected nodes each having a CTR associated therewith, the instructions executable by the computer for causing the computer to:

responsive to a client signing in at one of the nodes, causing the client to register a cluster-wide token with the CTR of the node, thereby casting a vote in connection with the token;

determine whether prerequisites for granting the token have been met by determining whether a required number of votes are currently cast in connection with the token;

grant the token responsive to a determination that the prerequisites have been met;

periodically determine whether the vote in connection with the token vote has been refreshed by the client; and

de-register the client responsive to a determination that the vote in connection with the token has not been refreshed by the client,

wherein the vote in connection with the token vote is refreshed by the client independent of communication from the CTR of the node.

13. The computer program product of claim 12 wherein the instructions further cause the computer to revoke the token responsive to a determination that the prerequisites have not been met.

14. The computer program product of claim 12 wherein the required number of votes is equal to (N/2)+1, wherein N is equal to a maximum number of the nodes of the cluster.

15. The computer program product of claim 12 wherein the instructions for causing the computer to register the client further comprise instructions for causing the computer to set a token_delay parameter.

16. The computer program product of claim 15 wherein the token_delay parameter specifies a time delay between a time at which the token prerequisites are met and a time at which the token is granted.

17. The computer program product of claim 12 wherein the instructions for causing the computer to register the client further comprise instructions for causing the computer to set a token_refresh parameter.

18. The computer program product of claim 17 wherein the token_refresh parameter specifies a frequency with which the vote in connection with the token must be refreshed to avoid being deemed withdrawn.

19. The computer program product of claim 12 wherein the instructions for causing the computer to register the client further comprise instructions for causing the computer to set a token_timeout parameter.

20. The computer program product of claim 19 wherein the token_timeout parameter specifies a time delay between a time at which the vote in connection with the token vote was last refreshed and a time at which the vote in connection with the token vote is deemed withdrawn.

Assignments (16)
RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.)
Reel/Frame 062623/0009 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME - : 044183/0718 Recorded Mar 18, 2019
From: JPMORGAN CHASE BANK, N.A.
To: SUSE LLC
Reel/Frame 048628/0436 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME - 042388/0386 AND REEL/FRAME - 044183/0577 Recorded Mar 18, 2019
From: JPMORGAN CHASE BANK, N.A.
To: SUSE LLC
Reel/Frame 048628/0221 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2019
From: MICRO FOCUS SOFTWARE INC.
To: SUSE LLC
Reel/Frame 048379/0548 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT TYPO IN APPLICATION NUMBER 10708121 WHICH SHOULD BE 10708021 PREVIOUSLY RECORDED ON REEL 042388 FRAME 0386. ASSIGNOR(S) HEREBY CONFIRMS THE NOTICE OF SUCCESSION OF AGENCY. Recorded Jul 26, 2018
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 048793/0832 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
NOTICE OF SUCCESSION OF AGENCY Recorded May 2, 2017
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 042388/0386 →
CHANGE OF NAME Recorded Sep 13, 2016
From: NOVELL, INC.
To: MICRO FOCUS SOFTWARE INC.
Reel/Frame 040020/0703 →
SECURITY INTEREST Recorded May 13, 2015
From: MICRO FOCUS (US), INC.; BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; NOVELL, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 035656/0251 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0316 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034469/0057 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0216 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034470/0680 →
GRANT OF PATENT SECURITY INTEREST FIRST LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0216 →
GRANT OF PATENT SECURITY INTEREST SECOND LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0316 →
RELEASE OF SECURITY INTEREST IN PATENTS FIRST LIEN (RELEASES RF 026270/0001 AND 027289/0727) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0077 →
RELEASE OF SECURITY IN PATENTS SECOND LIEN (RELEASES RF 026275/0018 AND 027290/0983) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0154 →