IP Library Granted Patent US 9,235,623
Granted Patent B2
US 9,235,623 · App. 12/762,249 · Granted Jan 12, 2016

Policy-based storage structure distribution

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 9,235,623
App. No.
12/762,249
Granted
Jan 12, 2016
Kind
B2
Abstract

Policy-based storage and retrieval combined with a distribution algorithm results in automatic and even distribution of policy-based storage structures across a set of nodes and dynamic, automated homing or ownership of policy-based storage structures. Large numbers of policy-based storage structures may be distributed without manual administration, allowing for rapid creation and destruction of storage structures. The overall load may be distributed and balanced across the server pool. Multiple entries having the same key value in a database- or table-like structure allow for distribution of policy-based storage and retrieval by key value and for queue semantics to be utilized for microqueues in the large database- or table-like structure.

Claims (23)

1. A method of adding a node to a collection of computing nodes, the method comprising:

joining a new node to the collection of computing nodes as a leech node;

receiving, at the leech node, information from other active nodes in the collection of computing nodes;

synchronizing the leech node based on the received information, the leech node becoming substantially synchronized before promoting the leech node to an active node;

triggering, by the leech node, a synchronized re-join process; and

in response to triggering the synchronized re-join process, promoting, by the leech node, the leech node to an active node in the collection of computing nodes,

wherein the joining the new node as a leech node comprises the leech node obtaining a key space from the other active nodes in the collection of computing nodes,

wherein the leech node is not an active node, and

wherein the receiving information comprises receiving copies of key values from other active nodes, the key values being key values whose ownership will be transferred from the other active nodes to the leech node once the leech node becomes an active node, wherein the receiving information further comprises the leech node monitoring the key values.

2. The method of claim 1 , wherein the joining the new node as a leech node comprises the leech node interacting with the other active nodes in the collection of computing nodes.

3. The method of claim 1 , wherein the receiving information further comprises reconciling data between the leech node and the other active nodes in the collection of computing nodes.

4. The method of claim 1 , wherein receiving information further comprises calculating, using a consistent hashing algorithm, a distribution of key values over the collection of computing nodes including the new node.

5. The method of claim 1 , wherein the leech node takes ownership of the key space in response to triggering the synchronized re-join process.

6. The method of claim 1 , further comprising temporarily suspending the key space during promoting the leech node to the active node.

7. A system of adding a node to a collection of computing nodes, the system configured for performing:

joining a new node to the collection of computing nodes as a leech node;

receiving, at the leech node, information from other active nodes in the collection of computing nodes;

synchronizing the leech node based on the received information, the leech node becoming substantially synchronized before promoting the leech node to an active node;

triggering, by the leech node, a synchronized re-join process; and

in response to triggering the synchronized re-join process, promoting, by the leech node, the leech node to an active node in the collection of computing nodes,

wherein the joining the new node as a leech node comprises the leech node obtaining a key space from the other active nodes in the collection of computing nodes,

wherein the leech node is not an active node, and

wherein the receiving information comprises receiving copies of key values from other active nodes, the key values being key values whose ownership will be transferred from the other active nodes to the leech node once the leech node becomes an active node, wherein the receiving information further comprises the leech node monitoring the key values.

Assignments (15)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
CHANGE OF NAME Recorded Feb 7, 2023
From: TIBCO SOFTWARE INC.
To: CLOUD SOFTWARE GROUP, INC.
Reel/Frame 062714/0634 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
RELEASE REEL 052115 / FRAME 0318 Recorded Oct 3, 2022
From: KKR LOAN ADMINISTRATION SERVICES LLC
To: TIBCO SOFTWARE INC.
Reel/Frame 061588/0511 →
RELEASE (REEL 034536 / FRAME 0438) Recorded Sep 30, 2022
From: JPMORGAN CHASE BANK, N.A.
To: TIBCO SOFTWARE INC.
Reel/Frame 061574/0963 →
RELEASE (REEL 054275 / FRAME 0975) Recorded May 7, 2021
From: JPMORGAN CHASE BANK, N.A.
To: TIBCO SOFTWARE INC.
Reel/Frame 056176/0398 →
SECURITY AGREEMENT Recorded Nov 2, 2020
From: TIBCO SOFTWARE INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 054275/0975 →
SECURITY AGREEMENT Recorded Mar 6, 2020
From: TIBCO SOFTWARE INC.
To: KKR LOAN ADMINISTRATION SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 052115/0318 →
SECURITY INTEREST Recorded Dec 5, 2014
From: TIBCO SOFTWARE INC.; TIBCO KABIRA LLC; NETRICS.COM LLC
To: JPMORGAN CHASE BANK., N.A., AS COLLATERAL AGENT
Reel/Frame 034536/0438 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2012
From: MOYNE, JEAN-NOEL; SUBRAMANI, SURESH; KIM, TOM M.
To: TIBCO SOFTWARE INC.
Reel/Frame 027829/0222 →