×

Tiered arrays

  • US 9,632,760 B2
  • Filed: 05/02/2016
  • Issued: 04/25/2017
  • Est. Priority Date: 09/30/2015
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method comprising:

  • receiving a request to compute, for an overall range of indexes comprising set indexes having non-default values and unset indexes having default values, all contiguous ranges of unset indexes within the overall range of indexes,wherein the overall range of indexes is represented by a tiered array having a plurality of tiers, wherein each tier of the tiered array comprises one or more catalogs,wherein each catalog in each tier, except for a bottom-most tier, comprises (i) non-default elements that each identify a respective catalog at a lower tier and (ii) default elements that do not identify any catalogs, andwherein each bottom-most catalog in the bottom-most tier comprises one or more non-default elements having non-default values, each non-default value being stored at a respective index value in the bottom-most catalog;

    setting a reference index to be initially equal to a minimum index, the minimum index corresponding to an index that is first in an ordering of the overall range of indexes;

    performing a search, from the reference index, for a first range [a0, b0] of contiguously set indexes having non-default values, wherein a0 is a first index in the first range of contiguously set indexes and b0 is a last index in the first range of contiguously set indexes, wherein the index a0 is a first index in the tiered array having a non-default value;

    if a0 is greater than the minimum index, generating a range of indexes [0, a0−

    1] having default values, wherein a0−

    1 is a last index in the range of indexes having default values;

    repeatedly performing the following operations until an end of the tiered array is reached;

    setting the reference index to be equal to b0+2;

    performing a search, from the reference index, for a next range [a1, b1] of contiguously set indexes starting at or after the index b0+2,after obtaining the next range of contiguously set indexes, outputting generating a range of indexes [b0+1, a1−

    1] having default values, andupdating b0 to be equal to b1; and

    providing, in response to the request, the generated pairs of index values representing the contiguous ranges of unset indexes within the overall range of indexes.

View all claims
  • 3 Assignments
Timeline View
Assignment View
    ×
    ×