IP Library Granted Patent US 12,381,833
Granted Patent B2
US 12,381,833 · App. 17/501,643 · Granted Aug 5, 2025

Distributed fair allocation of shared resources to constituents of a cluster

Inventors: Mohit Aron (Saratoga, CA); Vinay Reddy (San Jose, CA); Ravi Gadde (Los Altos, CA)
Assignee: Cohesity, Inc.
H04L47/827H04L9/40H04L47/821H04L67/1001
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 12,381,833
App. No.
17/501,643
Granted
Aug 5, 2025
Kind
B2
Abstract

Techniques are disclosed for allocating shared resources to nodes in a distributed computing network system. Nodes request a lock for each instance of a computing resource (e.g., a virtual IP address associated with a service provided by the distributed computing network system) from a distributed lock manager. The distributed lock manager maintains a queue of requests for each instance of the shared resource. Upon receiving a lock from the distributed lock manager, the receiving node performs a fairness allocation protocol to determine whether to accept the lock. If so determined, the shared computing resources associated with the lock is configured.

Claims (31)

1. A method, comprising:

receiving, at a first node of a cluster, a lock associated with a virtual internet protocol address as a result of a second node of the cluster going offline;

determining a decrease in a membership of the cluster;

waiting a specified period of time to preserve the lock associated with the virtual internet protocol address on behalf of the second node if the second node returns to the cluster before deciding whether to retain the lock associated with the virtual internet protocol address;

determining that the second node of the cluster has returned to the cluster after the specified period of time has lapsed;

determining that accepting the lock associated with the virtual internet protocol address would exceed a limit number of virtual internet protocol addresses for the first node associated with a fairness allocation protocol; and

releasing, based on determining that accepting the lock would exceed the limit number of virtual internet protocol addresses, the lock associated with the virtual internet protocol address.

2. The method of claim 1 , wherein the fairness allocation protocol indicates a maximum number of virtual internet protocol address that the first node is allowed to accept.

3. The method of claim 1 , wherein the lock associated with the virtual internet protocol address is released in a last-in first-out order.

4. The method of claim 1 , wherein the second node reacquires the lock associated with the virtual internet protocol address.

5. A computer program product, the computer program product including non-transitory computer readable storage, media storing instructions, that when executed, cause one or more processors to:

receive, at a first node of a cluster, a lock associated with a virtual internet protocol address as a result of a second node of the cluster going offline;

determine a decrease in a membership of the cluster;

wait a specified period of time to preserve the lock associated with the virtual internet protocol address on behalf of the second node if the second node returns to the cluster before deciding whether to retain the lock associated with the virtual internet protocol address;

determine that the second node of the cluster has returned to the cluster after the specified period of time has lapsed;

determine that accepting the lock associated with the virtual internet protocol address would exceed a limit number of virtual internet protocol addresses for the first node associated with a fairness allocation protocol; and

release, based on determining that accepting the lock would exceed the limit number of virtual internet protocol addresses, the lock associated with the virtual internet protocol address.

6. The computer program product of claim 5 , wherein the fairness allocation protocol indicates a maximum number of virtual internet protocol address that the first node is allowed to accept.

7. The computer program product of claim 5 , wherein the lock associated with the virtual internet protocol address is released in a last-in first-out order.

8. The computer program product of claim 5 , wherein the second node reacquires the lock associated with the virtual internet protocol address.

9. A system, comprising:

a processor configured to:

receive, at a first node of a cluster, a lock associated with a virtual internet protocol address as a result of a second node of the cluster going offline;

determine a decrease in a membership of the cluster;

wait a specified period of time to preserve the lock associated with the virtual internet protocol address on behalf of the second node if the second node returns to the cluster before deciding whether to retain the lock associated with the virtual internet protocol address;

determine that the second node of the cluster has returned to the cluster after the specified period of time has lapsed;

determine that accepting the lock associated with the virtual internet protocol address would exceed a limit number of virtual internet protocol addresses for the first node associated with a fairness allocation protocol; and

release, based on determining that accepting the lock would exceed the limit number of virtual internet protocol addresses, the lock associated with the virtual internet protocol address; and

a memory coupled to the processor and configured to provide the processor with instructions.

10. The system of claim 9 , wherein the fairness allocation protocol indicates a maximum number of virtual internet protocol address that the first node is allowed to accept.

11. The system of claim 9 , wherein the second node reacquires the lock associated with the virtual internet protocol address.

Assignments (4)
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 10, 2024
From: FIRST-CITIZENS BANK & TRUST COMPANY (AS SUCCESSOR TO SILICON VALLEY BANK)
To: COHESITY, INC.
Reel/Frame 069584/0498 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
SECURITY INTEREST Recorded Sep 23, 2022
From: COHESITY, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 061509/0818 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 20, 2022
From: ARON, MOHIT; REDDY, VINAY; GADDE, RAVI
To: COHESITY, INC.
Reel/Frame 058715/0521 →
Continuity (3)
Continuation 15852608 · Dec 22, 2017
Continuation 14332154 · Jul 15, 2014
Related Publication 20220124049A1 · Apr 21, 2022
References Cited (55)
US 5551046A · Mohan · 1996 [cited by applicant]
US 6047323A · Krause · 2000 [cited by applicant]
US 6108654A · Chan · 2000 [cited by applicant]
US 6195678B1 · Komuro · 2001 [cited by applicant]
US 6529983B1 · Marshall · 2003 [cited by applicant]
US 6757769B1 · Ofer · 2004 [cited by applicant]
US 6973549B1 · Testardi · 2005 [cited by applicant]
US 7209990B2 · Pruscino · 2007 [cited by applicant]
US 7406473B1 · Brassow · 2008 [cited by applicant]
US 7418500B1 · Bolinger · 2008 [cited by applicant]
US 7433951B1 · Waldspurger · 2008 [cited by applicant]
US 8589560B1 · Liu · 2013 [cited by applicant]
US 8762531B1 · Yemini · 2014 [cited by applicant]
US 9456053B2 · Newton · 2016 [cited by applicant]
US 11178070B2 · Aron et al. · 2021 [cited by applicant]
US 20020147840A1 · Mutton · 2002 [cited by applicant]
US 20020174227A1 · Hartsell · 2002 [cited by applicant]
US 20020199014A1 · Yang · 2002 [cited by applicant]
US 20030046369A1 · Sim · 2003 [cited by applicant]
US 20030105829A1 · Hayward · 2003 [cited by applicant]
US 20030105868A1 · Kimbrel · 2003 [cited by applicant]
US 20030109272A1 · Mousseau · 2003 [cited by applicant]
US 20030187993A1 · Ribot · 2003 [cited by applicant]
US 20040030755A1 · Koning · 2004 [cited by applicant]
US 20050013280A1 · Buddhikot · 2005 [cited by applicant]
US 20050193113A1 · Kokusho · 2005 [cited by applicant]
US 20060206901A1 · Chan · 2006 [cited by applicant]
US 20060221823A1 · Shoham · 2006 [cited by applicant]
US 20060224805A1 · Pruscino · 2006 [cited by examiner]
US 20080222642A1 · Kakarla · 2008 [cited by applicant]
US 20090025006A1 · Waldspurger · 2009 [cited by applicant]
US 20090106404A1 · Christenson · 2009 [cited by applicant]
US 20090172167A1 · Drai · 2009 [cited by applicant]
US 20090307466A1 · Barsness · 2009 [cited by applicant]
US 20090327854A1 · Chhajer · 2009 [cited by applicant]
US 20100057741A1 · Fincher · 2010 [cited by applicant]
US 20100061309A1 · Buddhikot · 2010 [cited by applicant]
US 20110078318A1 · Desai · 2011 [cited by applicant]
US 20110131193A1 · Pasupuleti · 2011 [cited by applicant]
US 20110161281A1 · Sayyaparaju · 2011 [cited by applicant]
US 20120071188A1 · Wang · 2012 [cited by applicant]
US 20120173499A1 · Walker · 2012 [cited by examiner]
US 20120259820A1 · Patwardhan · 2012 [cited by applicant]
US 20120310881A1 · Shadmon · 2012 [cited by applicant]
US 20130160008A1 · Cawlfield · 2013 [cited by applicant]
US 20130173809A1 · Hueter · 2013 [cited by applicant]
US 20130198319A1 · Shen · 2013 [cited by applicant]
US 20140236745A1 · Vautour · 2014 [cited by applicant]
US 20140365549A1 · Jenkins · 2014 [cited by applicant]
US 20150280959A1 · Vincent · 2015 [cited by applicant]
US 20160021026A1 · Aron · 2016 [cited by applicant]
International Search Report and Written Opinion dated Sep. 30, 2015 for Application No. PCT/US2015/040179. [cited by applicant]
International Preliminary Report on Patentability from International Application No. PCT/US2015/040179 dated Jan. 17, 2017, 6 pp. [cited by applicant]
Prosecution History from U.S. Appl. No. 14/332,154, now issued U.S. Pat. No. 9,887,937, dated Apr. 8, 2016 through Oct. 11, 2017, 115 pp. [cited by applicant]
Prosecution History from U.S. Appl. No. 15/852,608, now issued U.S. Pat. No. 11,178,070, dated Oct. 16, 2019 through Jul. 26, 2021, 143 pp. [cited by applicant]