IP Library › Granted Patent US 10,061,789
Granted Patent B2
US 10,061,789 · App. 14/064,707 · Granted Aug 28, 2018

Dynamic database indexes for entity attribute value stores

Inventor: Rick James (Los Altos, CA)
Assignee: Excalibur IP, LLC
G06F17/30306G06F17/30315
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 10,061,789
App. No.
14/064,707
Filed
Oct 28, 2013
Granted
Aug 28, 2018
Kind
B2
Examiner
WONG, HUEN
Art Unit
2155
USPC
707/741
Abstract

A system and method for database storage may be dynamically optimized for entity-attribute-value (EAV) data. In one embodiment, this dynamic EAV database may include one column for the entity identification (“ID”) and a second column for the serialized data for that ID (each attribute and the values for those attributes). The database may be dynamically updated to move or copy certain attributes to a separate column. The dynamic updating of one or more attributes may be based on certain factors (seasonal, temporal, usage, etc.), such as frequent requests for a particular attribute. This dynamic updating and indexing of particular attributes may improve certain queries and data requests.

Claims (26)

1. A database for storing entity-attribute-value (“EAV”) data, the database comprising:

an identifier for each entity of the EAV data, wherein an entity includes a plurality of attributes that each have a value and the identifiers are stored in a first column;

serialized data that includes both the attributes of the EAV data and the values of the EAV data, wherein each of the attributes is assigned to one of the values and corresponds to each of the identifiers, further wherein the serialized data is arranged in series, wherein the serialized data is stored in a second column; and

one or more dynamic attributes from the EAV data that are indexed separately from the serialized data, wherein the one or more dynamic attributes comprise attributes that are removed from the serialized data and the one or more dynamic attributes are stored in different columns from the serialized data, wherein the different columns are dynamically added based on an analysis of statistics of queries for the dynamic attributes such that frequent queries for a particular attribute result in that particular attribute being identified as a dynamic attribute.

2. The database of claim 1 wherein the serialized data comprises one or more attributes and respective values stored together for each entity.

3. The database of claim 1 wherein the one or more dynamic attributes are copied from the serialized data column.

4. The database of claim 1 wherein the one or more dynamic attributes are moved from the serialized data column such that the one or more dynamic attributes are not present with the serialized data.

5. The database of claim 1 wherein the different columns are dynamically added based on seasonal or temporal changes to queries for the dynamic attributes.

6. A computerized method with a database that optimizes entity-attribute-value (“EAV”) data, the method comprising: monitoring queries to a database that includes the EAV data in a serialized data format in a single column that includes both attributes of the EAV data and values of the EAV data, wherein each of the attributes is associated with one of the values and the serialized data format comprises serial data;

identifying attributes from those queries that are queried frequently;

indexing the identified attributes in a dynamic column that is added to the EAV data and is different from the single column and that includes the identified attribute, wherein the attributes that are not indexed with the dynamic column are maintained in the serialized data format and are not in the dynamic column, further wherein the identified attributes indexed in the dynamic column comprise dynamic attributes stored in the dynamic column that are dynamically added based on an analysis of statistics of gueries for the dynamic attributes such that frequent queries for a particular attribute result in that particular attribute being identified as a dynamic attribute; and iteratively monitoring and indexing the identified attributes based on the queries to the database.

7. The method of claim 6 wherein the attributes that are not indexed are stored in a serialized data format in the single column.

8. The method of claim 6 wherein the identification of attributes that are queried frequently is determined when a number of queries of the identified attribute exceeds a threshold number of queries.

9. The method of claim 6 wherein the identification of attributes is based on seasonal or temporal predictions for changes in the queries to the database.

10. A computer system comprising:

a database storing entity-attribute-value (“EAV”) type data, the database comprising:

a first column storing identifiers for each entity from the EAV type data;

a second column storing one or more attributes and respective values for those attributes from the EAV type data, wherein the second column utilizes a serialized format; and

a dynamic column, different from the first column and the second column, that is added for an identified attribute and that includes respective values for the identified attribute; and

a processor coupled with the database for dynamically identifying attributes to be stored in the dynamic column, wherein the identified attributes to be stored in the dynamic column are dynamic attributes that are dynamically added based on an analysis of statistics of queries for the dynamic attributes such that frequent queries for a particular attribute result in that particular attribute being identified as a dynamic attribute, further wherein the dynamic attributes are indexed separately from the EAV data in the serialized format and the dynamic attributes comprise attributes that are removed from the second column.

11. The computer system of claim 10 wherein database comprises additional dynamic columns that correspond to additional identified attributes.

12. The computer system of claim 11 wherein each of the identified attributes that is stored in a dynamic column is indexed for a quicker response to queries for values corresponding to the identified attributes.

13. The computer system of claim 12 wherein each of the identified attributes is stored in a separate dynamic column and multiple dynamic columns are indexed together.

14. The computer system of claim 11 wherein the dynamic identifying of attributes is based on monitoring of queries to the database, such that the identified attribute is dynamically identified when it is queried more than a threshold number of queries.

15. The computer system of claim 10 wherein the identified attribute is dynamically identified based on seasonal or temporal predictions for changes in queries to the database.

16. The computer system of claim 10 wherein the identified attribute is indexed differently when in the dynamic column than when stored in the serialized format in the second column.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE ASSIGNOR NAME PREVIOUSLY RECORDED AT REEL: 052853 FRAME: 0153. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 29, 2021
From: R2 SOLUTIONS LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 056832/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 053654 FRAME 0254. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST GRANTED PURSUANT TO THE PATENT SECURITY AGREEMENT PREVIOUSLY RECORDED. Recorded Dec 30, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: R2 SOLUTIONS LLC
Reel/Frame 054981/0377 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jul 8, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
Reel/Frame 053654/0254 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2020
From: EXCALIBUR IP, LLC
To: R2 SOLUTIONS LLC
Reel/Frame 053459/0059 →
PATENT SECURITY AGREEMENT Recorded Jun 5, 2020
From: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MERTON ACQUISITION HOLDCO LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 052853/0153 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038950/0592 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2016
From: EXCALIBUR IP, LLC
To: YAHOO! INC.
Reel/Frame 038951/0295 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038383/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2013
From: JAMES, RICK
To: YAHOO! INC.
Reel/Frame 031492/0267 →
Continuity (1)
Related Publication 20150120745A1 · Apr 30, 2015