IP Library Granted Patent US 7,889,676
Granted Patent B1
US 7,889,676 · App. 11/404,375 · Granted Feb 15, 2011

Systems and methods for storing and retrieving data

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,889,676
App. No.
11/404,375
Granted
Feb 15, 2011
Kind
B1
Abstract

Systems and methods for storing and retrieving data are disclosed. An example method includes the steps of receiving a range of addresses, storing the range of addresses in a bulk object in a database for storing information associated with addresses. In some embodiments the storing includes inserting the bulk object into an index, the index being a structure used to access objects in the database. In some embodiments, the method may further include receiving a request to retrieve the addresses stored and generating a response to the response, where the response is at least in part based on the bulk object.

Claims (57)

1. A method of storing data, including:

receiving a range of addresses; and

storing using a processor the range of addresses as a bulk object in a database for storing information associated with addresses including inserting the bulk object into an index, the index being a structure used to access objects in the database;

wherein storing includes:

inserting an edge associated with a begin address of the range of addresses into the index, the edge including a begin marker for the ranger of addresses and a reference to the bulk object; and

inserting an edge associated with an end address of the range of addresses into the index, the edge including an end marker for the ranger of addresses and a reference to the bulk object.

2. A method as recited in claim 1 , wherein the range of addresses is a set of addresses bound by an inclusive begin address and end address.

3. A method as recited in claim 1 , further including receiving an additional address and storing the additional host address in the database, including inserting a split marker in the index when the address falls within the range of addresses.

4. A method as recited in claim 1 , wherein the range of addresses includes range of Internet Protocol (IP) addresses.

5. A method as recited in claim 1 , wherein the bulk object is a bulk host record associated with multiple hosts in a range of IP addresses.

6. A method as recited in claim 1 , wherein the bulk object is a reverse zone record.

7. A method as recited in claim 1 , wherein the bulk object is associated with a constraint.

8. A method as recited in claim 1 , wherein the range of addresses is associated with Domain Name System (DNS).

9. A system for storing data, including:

a processor configured to:

receive a range of addresses; and

store the range of addresses as a bulk object in a database for storing information associated with addresses including inserting the bulk object into an index, the index being a structure used to access objects in the database;

wherein storing includes:

inserting an edge associated with a begin address of the range of addresses into the index, the edge including a begin marker for the ranger of addresses and a reference to the bulk object; and

inserting an edge associated with an end address of the range of addresses into the index, the edge including an end marker for the ranger of addresses and a reference to the bulk object; and

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

10. A computer program product for storing data, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving a range of addresses; and

storing the range of addresses as a bulk object in a database for storing information associated with addresses including inserting the bulk object into an index, the index being a structure used to access objects in the database;

wherein storing includes:

inserting an edge associated with a begin address of the range of addresses into the index, the edge including a begin marker for the ranger of addresses and a reference to the bulk object; and

inserting an edge associated with an end address of the range of addresses into the index, the edge including an end marker for the ranger of addresses and a reference to the bulk object.

11. A method of retrieving data, including:

receiving a request to access data associated with an address within a range of addresses; and

deriving using a processor a response based at least in part on a bulk record stored in a database and inserted into an index for storing information associated with addresses;

wherein the index with the inserted bulk record includes:

an edge associated with a begin address of the range of addresses into the index, the edge including a begin marker for the ranger of addresses and a reference to the bulk object;

an edge associated with an end address of the range of addresses into the index, the edge including an end marker for the ranger of addresses and a reference to the bulk object.

12. A method as recited in claim 11 , wherein deriving includes identifying an edge based on the address.

13. A method as recited in claim 11 , wherein deriving includes determining that an address associated with the edge falls in the range of addresses.

14. A method as recited in claim 11 , wherein the response includes a pointer (PTR) record.

15. A method as recited in claim 11 , further including determining whether the address is delegated to a server other than the server storing the addresses authority for the addresses.

16. A method as recited in claim 11 , further including determining whether the address is overridden.

17. A method as recited in claim 11 , wherein the address includes an Internet Protocol (IP) address.

18. A method as recited in claim 11 , wherein the bulk record is a bulk host.

19. A method as recited in claim 11 , wherein the bulk record is a reverse zone record.

20. A method as recited in claim 11 , wherein the bulk record is associated with a constraint.

21. A method as recited in claim 11 , wherein the address is associated with Domain Name System (DNS).

22. A system for retrieving data, including:

a processor configured to:

receive a request to access data associated with an address within a range of addresses; and

derive a response based at least in part on a bulk record stored in a database and inserted into an index for storing information associated with addresses;

wherein the index inserted with the bulk record includes:

an edge associated with a begin address of the range of addresses into the index, the edge including a begin marker for the ranger of addresses and a reference to the bulk object;

an edge associated with an end address of the range of addresses into the index, the edge including an end marker for the ranger of addresses and a reference to the bulk object; and

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

23. A computer program product for retrieving data, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving a request to access data associated with an address within a range of addresses; and

deriving a response based at least in part on a bulk record stored in a database and inserted into an index for storing information associated with addresses;

wherein the index inserted with the bulk record includes:

an edge associated with a begin address of the range of addresses into the index, the edge including a begin marker for the ranger of addresses and a reference to the bulk object;

an edge associated with an end address of the range of addresses into the index, the edge including an end marker for the ranger of addresses and a reference to the bulk object.

Assignments (7)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2006
From: PULLEYN, IVAN W.; BAILEY, STUART
To: INFOBLOX INC.
Reel/Frame 018018/0564 →