IP Library Granted Patent US 9,607,085
Granted Patent B2
US 9,607,085 · App. 13/328,648 · Granted Mar 28, 2017

Hierarchical diff files

Inventors: Keith Peters (San Francisco, CA); Bryn Robert Dole (Sunnyvale, CA); Michael Markson (San Francisco, CA); Robert Michael Saliba (San Francisco, CA); Rich Skrenta (San Carlos, CA); Robert N. Truel (San Carlos, CA); Gregory B. Lindahl (Sunnyvale, CA)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F17/30864G06F17/30486G06F17/30536G06F17/30578G06F17/30598
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,607,085
App. No.
13/328,648
Granted
Mar 28, 2017
Kind
B2
Abstract

A method of organizing a data in a database system using a swarm database system that has one or more nodes comprising one or more processors and memory, the memory of the one or more nodes storing one or more programs to be executed by the one or more processors. Identifying data to store in one or more tables on a bucket, wherein the bucket is a allocation of a partitioned storage in a node of the one or more nodes. Assigning to each of the identified data an identifier and a data storage hierarchical level of a plurality of hierarchical levels.

Claims (38)

1. A method of organizing data in a database system comprising:

via a swarm database having one or more nodes comprising one or more processors and memory, the memory of the one or more nodes storing one or more programs to be executed by the one or more processors,

identifying data to store in one or more tables on a bucket,

wherein the bucket is an allocation of a partitioned storage in a node of the one or more nodes, the bucket having at least one replica and no two of the same bucket replicas reside on the same node; and

assigning to each of the identified data an identifier and a data storage hierarchical level of a plurality of hierarchical levels, wherein the plurality of hierarchical levels includes:

a first level indicative of the oldest data in the one or more tables on the bucket,

a second level indicative of newer stored data in the one or more tables on the bucket, and

a third level indicative of the most recent stored data in the one or more tables on the bucket;

mapping to an index and storing each of the data in accordance with the index and assigned hierarchical level, the storing including writing data to a row in a table on the bucket of a node of the one or more nodes by a writer daemon and recording a write operation of the writing into a transaction log of the node;

receiving write operations from the writer daemon; and

combining write tasks of a bucket for a predetermined time period by a bucket daemon.

2. The method of claim 1 , wherein the writer daemon delays the writing operation to a respective bucket to collect additional write operations designated to the same respective bucket.

3. The method of claim 1 , wherein the predetermined time period is determined by the time period for the bucket daemon to collect write operations that meet a predetermined file size.

4. The method of claim 1 , wherein the bucket daemon writes the data in the collected write operations to the third hierarchical level;

merges the data stored as the third hierarchical level to the second hierarchical level after a first predetermined time period; and

merges the data of the second hierarchical level to the first hierarchical level after a second predetermined time period.

5. The method of claim 4 , further comprising:

designating a merging limit value to one or more tables on the bucket, wherein the merging limit value is indicative of a level of the plurality of hierarchical levels; and

limiting the merging of files in accordance with the designated merging limit value by refraining from merging data files in the next level once the merge limit value level is met.

6. The method of claim 5 , further comprising, storing a bloom filter

for row keys for each hierarchical level; and

consulting the bloom filter to determine whether a given row key is to be found in a given hierarchical level of storage.

7. The method of claim 1 , wherein combining write tasks of a bucket further includes metering the combined write tasks.

8. A system for organizing data in a database system comprising:

a swarm database having at least two nodes, each node having one or more processors and memory, each node in communication with one another and configured to,

receive data;

assign to the received data an identifier and a data storage hierarchical level, wherein the hierarchical levels include:

a first level indicative of the oldest data in one or more tables on the bucket;

a second level indicative of newer stored data in the one or more tables on the bucket, and

a third level indicative of the most recent stored data in the one or more tables on the bucket; map the data to an index;

store the data on a bucket in one of the nodes, in accordance with the mapped index and assigned hierarchical level, including writing data to a row in a table on the bucket of a node of the one or more nodes by a writer daemon and recording a write operation of the writing into a transaction log of the node,

wherein the bucket is a unique allocation of a partitioned data storage in each node, the bucket having at least one replica and no two of the same bucket replicas reside on the same node; and

copy the data in a replica of the bucket,

wherein the replica of the bucket is located on a node different than the bucket;

receive write operations from the writer daemon; and

combine write tasks of a bucket for a predetermined time period by a bucket daemon.

9. The system of claim 8 wherein the bucket replica is dedicated to reading.

10. The system of claim 8 wherein the bucket replica is dedicated to writing.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2015
From: BLEKKO, INC.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 035671/0719 →
RELEASE OF SECURITY INTEREST Recorded Jan 29, 2015
From: VENTURE LENDING & LEASING VI, INC.
To: BLEKKO, INC.
Reel/Frame 034842/0216 →
SECURITY AGREEMENT Recorded Jun 4, 2013
From: BLEKKO, INC.
To: VENTURE LENDING & LEASING VI, INC.
Reel/Frame 030548/0079 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2012
From: PETERS, KEITH; DOLE, BRYN ROBERT; MARKSON, MICHAEL; SALIBA, ROBERT MICHAEL; SKRENTA, RICH; TRUEL, ROBERT N.; LINDAHL, GREGORY B.
To: BLEKKO, INC.
Reel/Frame 027816/0030 →
Continuity (3)
Continuation PCTUS2010039395 · Jun 21, 2010
Provisional Application 61218889 · Jun 19, 2009
Related Publication 20120158800A1 · Jun 21, 2012