IP Library Granted Patent US 11,249,991
Granted Patent B2
US 11,249,991 · App. 16/204,008 · Granted Feb 15, 2022

System and method for creating storage containers in a data storage system

Inventors: Spencer Eldon Pingry (Leesburg, VA); Jonathan Bartholomew Mulieri (Broadlands, VA)
Assignee: Episerver Inc.
G06F16/245G06F16/22
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 11,249,991
App. No.
16/204,008
Granted
Feb 15, 2022
Kind
B2
Abstract

Various implementations of the invention create storage containers in a data storage system. A computing processor receives a new data record to be stored in a data storage container which is configured to store a fixed number of stored data records. The computing processor determines whether a number of the plurality of stored data records in the data storage container is within a certain threshold of the fixed number of stored data records for the data storage container. For data storage containers residing in a sequential data space, when the number of records is within the certain threshold, the computing processor opens a new data storage container, stores the new data record in the new data storage container, and closes the data storage container to new data records. For the data storage containers residing in a finite data space, when the number of records is within the certain threshold, the computing processor opens a new data storage container, splits the plurality of stored data records in the data storage container into a first plurality of stored data records and a second plurality of stored data records, where each of the first plurality of stored data records has a data value within a first range, and where each of the second plurality of stored data records has the data value within a second range. The computing processor stores the first plurality of stored data records in the data storage container, stores the second plurality of the stored data records in the new data storage container. The computing processors stores the new data record in either the data storage container or the new data storage container based on whether the data value in the new data record corresponds to the first range or the second range.

Claims (33)

1. A method for creating storage containers comprising:

receiving, via a computing processor, a new data record to be stored in a data storage container, the data storage container configured to store a fixed number of stored data records, the data storage container storing a plurality of stored data records;

determining that a number of the plurality of stored data records in the data storage container is within a certain threshold of the fixed number of stored data records for the data storage container and that a new data storage container needs to be opened;

for the data storage container that resides in a sequential data space:

opening the new data storage container,

storing the new data record in the new data storage container, and

closing the data storage container to new data records; and

for the data storage container that resides in a finite data space:

opening a new data storage container,

splitting the plurality of stored data records in the data storage container into a first plurality of stored data records and a second plurality of stored data records, wherein each of the first plurality of stored data records has a data value within a first range, and wherein each of the second plurality of stored data records has the data value within a second range,

storing the first plurality of stored data records in the data storage container,

storing the second plurality of the stored data records in the new data storage container, and

storing the new data record in either the data storage container or the new data storage container based on whether the data value in the new data record corresponds to the first range or the second range.

2. The method of claim 1 , wherein splitting the plurality of stored data records in the data storage container into a first plurality of stored data records and a second portion of stored data records comprises evenly splitting the plurality of stored data records in the data storage container into the first plurality of stored data records and the second portion of stored data records.

3. The method of claim 1 , wherein splitting the plurality of stored data records in the data storage container into a first plurality of stored data records and a second portion of stored data records comprises splitting the plurality of stored data records in the data storage container into the first plurality of stored data records and the second portion of stored data records along an existing organizational boundary in the plurality of stored data records in the data storage container.

4. The method of claim 1 , wherein splitting the plurality of stored data records in the data storage container into a first plurality of stored data records and a second plurality of stored data records comprises splitting the plurality of stored data records in the data storage container into the first plurality of stored data records, the second plurality of stored data records, and one or more third pluralities of stored data records.

5. The method of claim 4 , wherein each of the first plurality of stored data records has a data value within the first range, wherein each of the second plurality of stored data records has the data value within the second range, and wherein each of the one or more third plurality of stored data records has the data value within a third range.

6. The method of claim 1 , wherein splitting the plurality of stored data records in the data storage container into a first plurality of stored data records and a second plurality of stored data records comprises splitting a data storage space of the plurality of stored data records into a first subspace having the first range and a second subspace having the second range such that the first range and the second range correspond to an entire range of the data storage space.

7. A method for creating storage containers comprising:

receiving, via a computing processor, a first new data record to be stored in a first data storage container, the first data storage container comprising a plurality of first stored data records;

determining that a number of the plurality of first stored data records in the first data storage container is at or near capacity of the first data storage container and that a new first data storage container needs to be opened;

determining that the first data storage container stores data records in a sequential data space and:

opening the new first data storage container,

storing the new data record in the new first data storage container, and

closing the first data storage container to new data records; and

receiving, via a computing processor, a second new data record to be stored in a second data storage container, the second data storage container comprising a plurality of second stored data records;

determining that a number of the plurality of second stored data records in the second data storage container is at or near capacity of the second data storage container and that a new second data storage container needs to be opened;

determining that the second data storage container stores data records in a finite data space and:

opening the new second data storage container,

splitting the plurality of second stored data records in the second data storage container into a first portion of the plurality of second stored data records and a second portion of the plurality of second stored data records,

storing the first portion of the plurality of the second stored data records in the second data storage container,

storing the second portion of the plurality of the second stored data records in the new second data storage container, and

storing the new data record in either the second data storage container or the new second data storage container.

Assignments (5)
SECURITY INTEREST Recorded Oct 31, 2024
From: OPTIMIZELY NORTH AMERICA, INC.
To: GOLUB CAPITAL MARKETS LLC
Reel/Frame 069089/0588 →
TERMINATION AND RELEASE OF SECURITY INTEREST Recorded Oct 31, 2024
From: GOLUB CAPITAL MARKETS LLC
To: OPTIMIZELY NORTH AMERICA INC.
Reel/Frame 069285/0225 →
MERGER Recorded Aug 16, 2023
From: ZAUIS, INC.
To: OPTIMIZELY NORTH AMERICA INC.
Reel/Frame 064612/0037 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2023
From: PINGRY, SPENCER ELDON; MULIERI, JONATHAN BARTHOLOMEW
To: ZAIUS, INC.
Reel/Frame 062945/0882 →
SECURITY INTEREST Recorded Apr 26, 2021
From: ZAIUS, INC.
To: GOLUB CAPITAL MARKETS LLC, AS COLLATERAL AGENT
Reel/Frame 056040/0325 →
Continuity (3)
Continuation 14562611 · Dec 5, 2014
Provisional Application 61913227 · Dec 6, 2013
Related Publication 20190171635A1 · Jun 6, 2019