IP Library Granted Patent US 8,560,534
Granted Patent B2
US 8,560,534 · App. 12/360,537 · Granted Oct 15, 2013

Database for a capture system

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 8,560,534
App. No.
12/360,537
Granted
Oct 15, 2013
Kind
B2
Abstract

A tag database storing tags indexing captured object can be searched efficiently. In one embodiment, such a search begins by receiving a query for one or more objects captured by a capture system, and determining whether a query time range exceeds a time range of a set of fast tables. In one embodiment, the invention further includes searching the set of fast tables if the query time range does not exceed the time range of the fast tables, the set of fast tables containing tags having meta-data related to captured objects. In one embodiment, the invention further includes searching a set of hourly tables if the query time range does exceed the time range of the fast tables. In one embodiment, the present invention further includes searching a set of daily tables if the query time range also exceeds the time range of the hourly tables.

Claims (70)

1. A computer implemented method comprising:

receiving a query for one or more objects captured by a capture system, wherein the capture system includes a tag database for storing tags that index captured objects in storage, the tag database comprising:

a first set of tables comprising a first input table for inserting tags within a first time range and a first search table for storing the tags, and

a second set of tables comprising a second input table for inserting tags within a second time range, and a second search table for storing the tags, wherein

the second time range is larger than the first time range;

determining whether a query time range exceeds the first time range;

searching the first set of tables if the query time range does not exceed the first time range;

if the query time range exceeds the first time range, determining whether the query time range exceeds the second time range; and

searching the second set of tables if the query time range exceeds the first time range but does not exceed the second time range.

2. The computer implemented method of claim 1 , wherein the first time range is five minutes and the second time range is one hour.

3. The computer implemented method of claim 1 , wherein the capture system further comprises a third set of tables for storing tags within a third time range, wherein the third time range is larger than the second time range, and the method further comprises:

if the query time range exceeds the second time range, determining whether the query time range exceeds the third time range; and

searching the third set of tables if the query time range exceeds the second time range but does not exceed the third time range.

4. The computer implemented method of claim 3 , wherein the first set of tables have a finer granularity than the second set of tables, and the second set of tables have a finer granularity than the third set of tables.

5. The computer implemented method of claim 3 , wherein the third time range is one day.

6. The computer implemented method of claim 3 , wherein

each table in the first set of tables is smaller than each table in the second set of tables and

each table in the second set of tables is smaller than each table in the third set of tables.

7. The computer implemented method of claim 1 , further comprising:

cascading down the first input table into a search table in the first set of tables at the end of the first time range; and

dropping the oldest search table of the first set of tables.

8. The computer implemented method of claim 1 , further comprising:

cascading down the second input table into a search table in the second set of tables at the end of the second time range; and

dropping the oldest search table of the second set of tables.

9. The computer implemented method of claim 1 , wherein tags are inserted simultaneously into the first input table and the second input table.

10. The computer implemented method of claim 1 , wherein the first set of tables and the second set of tables comprise a fixed number of tables.

11. Logic encoded in non-transitory media that includes instructions for execution and when executed by a processor, is operable to perform operations comprising:

receiving a query for one or more objects captured by a capture system, wherein the capture system includes a tag database for storing tags that index captured objects in storage, the tag database comprising:

a first set of tables comprising a first input table for inserting tags within a first time range and a first search table for storing the tags, and

a second set of tables comprising a second input table for inserting tags within a second time range, and a second search table for storing the tags, wherein

the second time range is larger than the first time range;

determining whether a query time range exceeds the first time range;

searching the first set of tables if the query time range does not exceed the first time range;

if the query time range exceeds the first time range, determining whether the query time range exceeds the second time range; and

searching the second set of tables if the query time range exceeds the first time range but does not exceed the second time range.

12. The logic of claim 11 , wherein the capture system further comprises a third set of tables for storing tags within a third time range, wherein the third time range is larger than the second time range, and the operations further comprise:

if the query time range exceeds the second time range, determining whether the query time range exceeds the third time range; and

searching the third set of tables if the query time range exceeds the second time range but does not exceed the third time range.

13. The logic of claim 12 , wherein

each table in the first set of tables is smaller than each table in the second set of table, and

each table in the second set of tables is smaller than each table in the third set of tables.

14. The logic of claim 11 , the operations further comprising:

cascading down the first input table into a search table in the first set of tables at the end of the first time range; and

dropping the oldest search table of the first set of tables.

15. The logic of claim 11 , the operations further comprising:

cascading down the second input table into a search table in the second set of tables at the end of the second time range; and

dropping the oldest search table of the second set of tables.

16. An apparatus comprising:

a memory for storing data; and

a processor operable to execute instructions associated with the data, wherein the processor and the memory cooperate, such that the apparatus is configured for:

receiving a query for one or more objects captured by a capture system, wherein the capture system includes a tag database for storing tags that index captured objects in storage, the tag database comprising:

a first set of tables comprising a first input table for inserting tags within a first time range and a first search table for storing the tags, and

a second set of tables comprising a second input table for inserting tags within a second time range, and a second search table for storing the tags, wherein

the second time range is larger than the first time range;

determining whether a query time range exceeds the first time range;

searching the first set of tables if the query time range does not exceed the first time range;

if the query time range exceeds the first time range, determining whether the query time range exceeds the second time range; and

searching the second set of tables if the query time range exceeds the first time range but does not exceed the second time range.

17. The apparatus of claim 16 , wherein the capture system further comprises a third set of tables for storing tags within a third time range, wherein the third time range is larger than the second time range, and the apparatus is further configured for:

if the query time range exceeds the second time range, determining whether the query time range exceeds the third time range; and

searching the third set of tables if the query time range exceeds the second time range but does not exceed the third time range.

18. The apparatus of claim 17 , wherein

each table in the first set of tables is smaller than each table in the second set of table, and

each table in the second set of tables is smaller than each table in the third set of tables.

19. The apparatus of claim 16 , wherein the apparatus is further configured for:

cascading down the first input table into a search table in the first set of tables at the end of the first time range; and

dropping the oldest search table of the first set of tables.

20. The apparatus of claim 16 , wherein the apparatus is further configured for:

cascading down the second input table into a search table in the second set of tables at the end of the second time range; and

dropping the oldest search table of the second set of tables.

Assignments (10)
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 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 →
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 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 045055/0786 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 045056/0676 →
CHANGE OF NAME AND ENTITY CONVERSION Recorded Aug 24, 2017
From: MCAFEE, INC.
To: MCAFEE, LLC
Reel/Frame 043665/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2009
From: LOWE, RICK; BROEKER, STEPHEN
To: MCAFEE, INC.
Reel/Frame 022183/0080 →