IP Library Granted Patent US 9,613,126
Granted Patent B2
US 9,613,126 · App. 13/931,687 · Granted Apr 4, 2017

Clustered index with differentiated subfields

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 9,613,126
App. No.
13/931,687
Granted
Apr 4, 2017
Kind
B2
Abstract

A database system uses indexes to improve performance. The system can use one or more of the following: differentiated subfields for index clustering; set function calculations to reduce the amount of I/O; and/or using an inferred index in a circular table.

Claims (32)

1. A method for creating an index for a database table, the database table having at least a first field and a second field, the method comprising the steps of:

dividing, by a processor, the first field into a first segment and a second segment, wherein the first segment comprises a most significant part of the first field and the second segment comprises a least significant part of the first field, wherein the most significant part of the first field is selected to allow a range of data associated with the segment comprising the most significant part to be entirely contained in memory; and

arranging the first and second segments in an index for the database table, the index arranged in a sequence beginning with the first segment, followed by the second field, followed by the second segment,

wherein neither the first segment nor the second segment are fields in the database table.

2. The method of claim 1 , wherein the dividing step is performed in response to a query that employs the first field.

3. The method of claim 1 , wherein the memory is cache memory.

4. The method of claim 1 , further comprising:

arranging the first and second segments in the index in a sequence beginning with the first segment, followed by the second field, followed by a next field, followed by the second segment.

5. The method of claim 1 , wherein the dividing step further comprises:

dividing the first field into more than two segments.

6. The method of claim 1 , wherein the first field comprises a timestamp, wherein the first segment comprises a date, and wherein the second segment comprises a time.

7. A system comprising:

a first memory for storing a database table having at least first field and a second field:

a second memory for storing an index for the database table, the index comprising a sequential arrangement of a first segment of the first field, followed by the second field, followed by a second segment of the first field; and

wherein, the first segment comprises a most significant part of the first field, and the second segment comprises a least significant part of the first field and wherein neither the first segment nor the second segment are fields in the database table,

wherein the most significant part of the first field is selected to allow a range of data associated with the segment comprising the most significant part to be entirely contained in the second memory.

8. The system of claim 7 , wherein the first memory and the second memory reside on the same computer.

9. The system of claim 7 , wherein the database table represents data having an insertion order based upon time.

10. The system of claim 7 , wherein the database table represents data comprising a plurality of logged events.

11. The system of claim 7 , wherein the first memory and the second memory reside on the same physical memory device.

12. The system of claim 7 , wherein the index comprises a sequential arrangement of a first segment of the first field, followed by the second field, followed by a next field, followed by a second segment of the first field.

13. The system of claim 7 , wherein the first field is divided into more than two segments.

14. A non-transitory computer program product embodied on a non-transitory computer readable medium comprising instructions to cause one or more processors to:

store a database table having at least first field and a second field;

store an index for the database table, the index comprising at least sequential arrangement of a first segment of the first field, followed by the second field, followed by a second segment of the first field; and

wherein, the first segment comprises a most significant part of the first field, and the second segment comprises a least significant part of the first field and wherein neither the first segment nor the second segment are fields in the database table,

wherein the most significant part of the first field is selected to allow a range of data associated with the segment comprising the most significant part to be entirely contained in memory.

15. The computer program product of claim 14 , wherein the database table represents data having an insertion order based upon time.

16. The computer program product of claim 14 , wherein the database table represents data comprising a plurality of logged events.

17. The computer program product of claim 14 , wherein the index comprises a sequential arrangement of a first segment of the first field, followed by the second field, followed by a next field, followed by a second segment of the first field.

18. The computer program product of claim 14 , wherein the first field is divided into more than two segments, and wherein the segments are not fields in the database table.

19. The computer program product of claim 14 , wherein the first field comprises a timestamp, wherein the first segment comprises a date, and wherein the second segment comprises a time.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE PATENT TITLES AND REMOVE DUPLICATES IN THE SCHEDULE PREVIOUSLY RECORDED AT REEL: 059354 FRAME: 0335. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 23, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 060792/0307 →
SECURITY INTEREST Recorded Mar 3, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 059354/0335 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045056/0676 Recorded Mar 2, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 059354/0213 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045055/0786 Recorded Oct 26, 2020
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 054238/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045055 FRAME 786. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 055854/0047 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045056 FRAME 0676. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 054206/0593 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 045056/0676 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 045055/0786 →
CHANGE OF NAME AND ENTITY CONVERSION Recorded Aug 24, 2017
From: MCAFEE, INC.
To: MCAFEE, LLC
Reel/Frame 043665/0918 →