IP Library Granted Patent US 8,549,010
Granted Patent B2
US 8,549,010 · App. 13/107,150 · Granted Oct 1, 2013

Method and apparatus for providing distributed key range management

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,549,010
App. No.
13/107,150
Granted
Oct 1, 2013
Kind
B2
Abstract

An approach is provided for providing distributed key range management. A key management platform determines to rebalance a node for storing a key value range by splitting at least one other node from the node, wherein the at least one other node stores at least a portion of the key value range. The key management platform also causes, at least in part, a creation of one or more node lists for the node, the at least one other node, or a combination thereof. The key management platform further causes, at least in part, a storage of the one or more node lists at the node and the at least one other node, wherein any one of the one or more node lists can be used to initiate a routing of one or more requests between the node and the at least one other node to operate on the key value range.

Claims (55)

1. A method comprising facilitating a processing of and/or processing (1) data and/or (2) information and/or (3) at least one signal, the (1) data and/or (2) information and/or (3) at least one signal based, at least in part, on the following:

at least one determination to rebalance a node for storing a key value range by splitting at least one other node from the node, wherein the at least one other node stores at least a portion of the key value range;

a creation of one or more node lists for the node, the at least one other node, or a combination thereof; and

a storage of the one or more node lists at the node and the at least one other node,

wherein any one of the one or more node lists can be used to initiate a routing of one or more requests between the node and the at least one other node to operate on the key value range,

wherein the (1) data and/or (2) information and/or (3) at least one signal are further based, at least in part, on the following:

at least one of the one or more requests, wherein the at least one request specifies an operation involving the node and the at least one other node;

at least one determination of a first one of the one or more node lists associated with the node and a second one of the one or more node lists associated with the at least one other node;

a comparison of the first one of the one or more node lists and the second one of the one or more node lists; and

an update of the first one of the one or more node lists, the second one of the one or more node lists, or a combination thereof based, at least in part, on the comparison.

2. A method of claim 1 , wherein the one or more node lists include, at least in part, one or more symmetric pointers between the node and the at least one other node, one or more asymmetric pointers between the node and the at least one other node, a partial list of the node and the at least one other node, a full list of the node and the at least one other node, or a combination thereof.

3. A method of claim 1 , wherein the (1) data and/or (2) information and/or (3) at least one signal are further based, at least in part, on the following:

at least one determination of respective numbers of nodes associated with one or more servers;

a processing of the respective numbers of nodes to select at least one of the one or more servers based, at least in part, on a threshold number; and

a creation of the at least one other node in the at least one selected server.

4. A method of claim 3 , wherein the one or more node lists are created and/or stored with respect to the one or more servers, the at least one selected server, or a combination thereof.

5. A method of claim 1 ,

wherein the at least one of the one or more requests operates on at least a portion of the key value range, and

wherein the (1) data and/or (2) information and/or (3) at least one signal are further based, at least in part, on the following:

a selection of at least one of the first one of the one or more node lists associated with the node, the second one of the one or more node lists associated with the at least one other node, or a combination thereof; and

a processing of the at least one of the first one of the one or more node lists and the second one of the one or more node lists to route the at least one request to the node, the at least one other node, or a combination thereof storing the requested at least a portion of the key value range.

6. A method of claim 5 , wherein the selection is based, at least in part, on a round robin mapping.

7. A method of claim 6 , wherein the round robin mapping is performed by a load balancer.

8. A method of claim 1 , wherein the (1) data and/or (2) information and/or (3) at least one signal are further based, at least in part, on the following:

a compression of the one or more node lists.

9. A method of claim 1 , wherein the key value range is an ordered key value range.

10. An apparatus comprising:

at least one processor; and

at least one memory including computer program code for one or more programs,

the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to perform at least the following,

determine to rebalance a node for storing a key value range by splitting at least one other node from the node, wherein the at least one other node stores at least a portion of the key value range;

cause, at least in part, a creation of one or more node lists for the node, the at least one other node, or a combination thereof; and

cause, at least in part, a storage of the one or more node lists at the node and the at least one other node,

wherein any one of the one or more node lists can be used to initiate a routing of one or more requests between the node and the at least one other node to operate on the key value range,

wherein the apparatus is further caused to:

receive at least one of the one or more requests, wherein the at least one of the one or more requests specifies an operation involving the node and the at least one other node;

determine a first one of the one or more node lists associated with the node and a second one of the one or more node lists associated with the at least one other node;

cause, at least in part, a comparison of the first one of the one or more node lists and the second one of the one or more node lists; and

cause, at least in part, an update of the first one of the one or more node lists, the second one of the one or more node lists, or a combination thereof based, at least in part, on the comparison.

11. An apparatus of claim 10 , wherein the one or more node lists include, at least in part, one or more symmetric pointers between the node and the at least one other node, one or more asymmetric pointers between the node and the at least one other node, a partial list of the node and the at least one other node, a full list of the node and the at least one other node, or a combination thereof.

12. An apparatus of claim 10 , wherein the apparatus is further caused to:

determine respective numbers of nodes associated with one or more servers;

process and/or facilitate a processing of the respective numbers of nodes to select at least one of the one or more servers based, at least in part, on a threshold number; and

cause, at least in part, a creation of the at least one other node in the at least one selected server.

13. An apparatus of claim 12 , wherein the one or more node lists are created and/or stored with respect to the one or more servers, the at least one selected server, or a combination thereof.

14. An apparatus of claim 10 ,

wherein the at least one of the one or more requests operates on at least a portion of the key value range, and

wherein the apparatus is further caused to:

cause, at least in part, a selection of at least one of the first one of the one or more node lists associated with the node, the second one of the one or more node lists associated with the at least one other node, or a combination thereof; and

process and/or facilitate a processing of the at least one of the first one of the one or more node lists and the second one of the one or more node lists to route the at least one request to the node, the at least one other node, or a combination thereof storing the requested at least a portion of the key value range.

15. An apparatus of claim 14 , wherein the selection is based, at least in part, on a round robin mapping.

16. An apparatus of claim 15 , wherein the round robin mapping is performed by a load balancer.

17. An apparatus of claim 10 , wherein the apparatus is further caused to:

cause, at least in part, a compression of the one or more node lists.

18. An apparatus of claim 10 , wherein the key value range is an ordered key value range.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Jun 3, 2021
From: TERRIER SSC, LLC
To: WSOU INVESTMENTS, LLC
Reel/Frame 056526/0093 →
SECURITY INTEREST Recorded Jun 1, 2021
From: WSOU INVESTMENTS, LLC
To: OT WSOU TERRIER HOLDINGS, LLC
Reel/Frame 056990/0081 →
RELEASE OF SECURITY INTEREST Recorded May 21, 2019
From: OCO OPPORTUNITIES MASTER FUND, L.P. (F/K/A OMEGA CREDIT OPPORTUNITIES MASTER FUND LP
To: WSOU INVESTMENTS, LLC
Reel/Frame 049246/0405 →
SECURITY INTEREST Recorded May 20, 2019
From: WSOU INVESTMENTS, LLC
To: BP FUNDING TRUST, SERIES SPL-VI
Reel/Frame 049235/0068 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2017
From: NOKIA TECHNOLOGIES OY
To: WSOU INVESTMENTS, LLC
Reel/Frame 043953/0822 →
SECURITY INTEREST Recorded Sep 21, 2017
From: WSOU INVESTMENTS, LLC
To: OMEGA CREDIT OPPORTUNITIES MASTER FUND, LP
Reel/Frame 043966/0574 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2015
From: NOKIA CORPORATION
To: NOKIA TECHNOLOGIES OY
Reel/Frame 035424/0693 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2012
From: OIKARINEN, MATTI JUHANI
To: NOKIA CORPORATION
Reel/Frame 028894/0010 →