IP Library Granted Patent US 7,680,811
Granted Patent B2
US 7,680,811 · App. 11/097,108 · Granted Mar 16, 2010

Set based data store

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 7,680,811
App. No.
11/097,108
Granted
Mar 16, 2010
Kind
B2
Abstract

Storing data in a data store is disclosed, including storing data in a plurality of generalized memory structures and generating an indexing structure that references one or more of the memory structures. Referencing is based on rules expressed in the memory structures. Processing a query in a data store is disclosed, including receiving a query, selecting an appropriate indexing structure to access for the query, and accessing data using the selected indexing structure.

Claims (51)

1. A method of processing a query in a data store, comprising:

receiving a query;

selecting, from a plurality of indexing structures, wherein each of the plurality of indexing structures references one or more generalized memory structures and each of the plurality of indexing structures is associated with a different organization of the data store, an indexing structure associated with a particular organization of the data store to access for the query;

processing the query at least in part by accessing data using the selected indexing structure; and

storing a plurality of generalized memory structures and the plurality of indexing structures;

wherein at least two of the plurality of indexing structures references one or more of the same generalized memory structures in the plurality of generalized memory structures, wherein referencing is based on rules expressed in the generalized memory structures.

2. A method as recited in claim 1 , further including responding to the query based on the accessed data.

3. A method as recited in claim 1 , wherein accessing includes modifying data.

4. A method as recited in claim 1 , wherein the selected indexing structure references a generalized memory structure within the data store.

5. A method as recited in claim 1 , wherein the selected indexing structure is a hierarchical structure.

6. A method as recited in claim 1 , wherein the selected indexing structure is a referential structure.

7. A method as recited in claim 1 , wherein the selected indexing structure is an object.

8. A method as recited in claim 1 , wherein the selected indexing structure is stored in a hash table of indexing structures.

9. A method as recited in claim 1 , wherein the selected indexing structure includes a list of references.

10. A method as recited in claim 1 , wherein the selected indexing structure includes a list of pointers.

11. A method as recited in claim 1 , wherein the selected indexing structure includes a list of OIDs.

12. A method as recited in claim 1 , wherein the selected indexing structure includes a set.

13. A method as recited in claim 1 , wherein at least one of the generalized memory structures includes:

a name;

a reference to another structure; and

a key that uniquely identifies the structure.

14. A structure as recited in claim 13 , wherein the reference is to a key of another structure.

15. A structure as recited in claim 13 , wherein the name is one of a plurality of names.

16. A structure as recited in claim 13 , wherein the reference is one of a plurality of references.

17. A method as recited in claim 1 , wherein the particular organization of the data store is a relational organization.

18. A method as recited in claim 1 , wherein the particular organization of the data store is a hierarchical organization.

19. A method as recited in claim 1 , wherein the particular organization of the data store is an object oriented organization.

20. A method as recited in claim 1 , wherein the plurality of generalized memory structures is not organized according to any particular organization of the data store.

21. A method as recited in claim 1 , wherein the plurality of generalized memory structures is not organized according to a relational, hierarchical, or object oriented organization of the data store.

22. A method as recited in claim 1 , wherein the plurality of generalized memory structures is stored in a heap.

23. A method as recited in claim 1 , wherein the plurality of generalized memory structures is stored using an Extensible Markup Language (XML).

24. A system for processing a query in a data store, comprising:

a processor configured to:

receive a query;

select, from a plurality of indexing structures, wherein each of the plurality of indexing structures references one or more generalized memory structures and each of the plurality of indexing structures is associated with a different organization of the data store, an indexing structure associated with a particular organization of the data store to access for the query;

process the query at least in part by accessing data using the selected indexing structure; and

store a plurality of generalized memory structures and the plurality of indexing structures;

a memory coupled with the processor, wherein the memory provides the processor with instructions;

wherein at least two of the plurality of indexing structures references one or more of the same generalized memory structures in the plurality of generalized memory structures, wherein referencing is based on rules expressed in the generalized memory structures.

25. A system as recited in claim 24 , wherein the selected indexing structure references a generalized memory structure within the data store.

26. A system as recited in claim 24 , wherein the selected indexing structure is stored in a hash table of indexing structures.

27. A system as recited in claim 24 , wherein the selected indexing structure includes a set.

28. A computer program product for processing a query in a data store, the computer program product being embodied in a computer readable storage medium and comprising computer instructions for:

receiving a query;

selecting, from a plurality of indexing structures, wherein each of the plurality of indexing structures references one or more generalized memory structures and each of the plurality of indexing structures is associated with a different organization of the data store, an indexing structure associated with a particular organization of the data store to access for the query;

processing the query at least in part by accessing data using the selected indexing structure; and

storing a plurality of generalized memory structures and the plurality of indexing structures;

wherein at least two of the plurality of indexing structures references one or more of the same generalized memory structures in the plurality of generalized memory structures, wherein referencing is based on rules expressed in the generalized memory structures.

29. A computer program product as recited in claim 28 , wherein the selected indexing structure references a generalized memory structure within the data store.

30. A computer program product as recited in claim 28 , wherein the selected indexing structure is stored in a hash table of indexing structures.

31. A computer program product as recited in claim 28 , wherein the selected indexing structure includes a set.

Assignments (6)
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS (RELEASES RF 040575/0549) Recorded Dec 3, 2020
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: INFOBLOX INC.
Reel/Frame 054585/0914 →
FIRST LIEN SECURITY AGREEMENT Recorded Dec 2, 2020
From: INFOBLOX INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 054615/0317 →
SECOND LIEN SECURITY AGREEMENT Recorded Dec 2, 2020
From: INFOBLOX INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 054615/0331 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS (RELEASES RF 040579/0302) Recorded Oct 23, 2019
From: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
To: INFOBLOX, INC.
Reel/Frame 050809/0980 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Nov 8, 2016
From: INFOBLOX INC.
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 040579/0302 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Nov 7, 2016
From: INFOBLOX INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 040575/0549 →