Two-level bitmap structure for bit compression and data management
AssigneeRichard L. Lam
InventorRichard Lam
Life of this patent
Estimating the term…
Abstract
A method and apparatus for encoding data from heterogeneous sources and structuring them into a common format using bitmap techniques for integration, storage, access, and performing Boolean operations to derive new meaningful results is provided. A new control layer is added to a linear bitmap to provide data compression and management. Boolean operations are efficiently performed by first at the control bits level and will perform at the data bits only if necessary. The bitmap structures can be created independently on separate computing platforms and are operable interchangeably on different platforms, without the restricted need of using a separate database management system.
Claims9
A computer-implemented method of calculating required parameter values in order to generate a two-level bitmaps (TLB) for associating a collection of objects that which correspond to physical entities in an efficient manner by eliminating zero gap bits filled lower-level data bitmaps of said TLB, wherein each said object is assigned with an unique signature identifier, to a predefined set of attributes for the purpose of maintaining and inferring useful information about said objects, wherein top-level of said TLB containing an ordered sequence list of control segments, wherein each control segment containing a predetermined number of control bits, wherein each said control bit corresponds to a lower-level data group, wherein said data group containing a predetermined number of data segments, wherein a said data segment containing a predetermined number of bits, wherein said contiguous bits within said data group are assigned with an absolute sub-range of consecutive bit addresses, comprising the steps of:
- For a given attribute,
- a. sorting its corresponding associated collection of objects by their assigned signature identifiers in ascending order;
- b. starting from first control bit of first said control segment, generating a corresponding physical data group if and only if at least one said object's identifier falls within said control bit's corresponding sub-range;
- if so, set to “1” for all respective bits within said data group with addresses equal to said objects' identifiers to indicate associations of said objects to said attribute and furthermore, set said control bit to “1” to indicate it has a physical corresponding data group;
- otherwise, set said control bit to “0” to indicate it has no physical data group, and thereby eliminating an all-zero bits filled data group, use below formula to derive corresponding parameter values for a said identifier:
- I. control segment sequence number=quotient value of (A);
- II. control bit position within said computed control segment in (I)=quotient value of (B);
- III. data bit position within corresponding data group for said computed control bit in (II)=remainder value of (B);
- wherein (A), (B) is defined as
- A. signature identifier/(control segment bit size×data segment bit size×number of data segments per data group);
- B. remainder value of (A)/(data segment bit size×number of data segments per data group);
- c. repeat step (b) for next control bit of said control segment until either said control segment's last bit is reached or all associations for said collection of objects have been created;
- d. repeat step (b) to (c), generating a new control segment and assigning it with next higher sequence number and next increasing sub-range of addresses, until all associations for said collection of objects have been created.
Dependencies are inferred from the claim text.