IP Library Patent Application 14091581
Patent Application
App. No. 14/091,581

METHOD AND APPARATUS FOR INDEXING AND SEARCHING DOCUMENTS

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 None
App. No.
14/091,581
Abstract

Methods and apparatus for indexing and searching documents are disclosed. For example, a user of an electronic record management system may deploy a background indexing processes using a certain amount of parallel computing resources that may take several hours to complete. Subsequently, the user may change the number of computing resources dedicated to the indexing process without interrupting the indexing process. Upon completion, the indexing process creates a plurality of subindexes. The user may then deploy a background searching processes using a selected amount of parallel computing resources that may take several hours to complete. Subsequently, the user may change the number of computing resources dedicated to the searching process without interrupting the searching process. Upon completion, the searching process creates a plurality of partial search results that are combined into a final search result.

Claims (126)

1 . A method of indexing a collection of documents, the method comprising:

dividing the collection of documents into a plurality of N batches;

receiving a first number via a user interface indicative of a first amount of computing resources;

indexing the plurality of batches using the first amount of computing resources;

receiving a second number via the user interface indicative of a second amount of computing resources;

transitioning to indexing the plurality of batches using the second amount of computing resources; and

creating a plurality of subindexes of the plurality of batches.

2 . The method of claim 1 , further comprising receiving a third number via the user interface indicative of N.

3 . The method of claim 1 , wherein the first amount of computing resources is equal to N, and the plurality of batches are indexed in parallel.

4 . The method of claim 1 , wherein the first amount of computing resources is less than N, and the plurality of batches are indexed serially and in parallel.

5 . The method of claim 1 , wherein the first amount of computing resources is greater than N, the plurality of batches are indexed in parallel, and at least one of the computing resources is not used to index a batch in the plurality of batches.

6 . The method of claim 1 , wherein creating the plurality of subindexes produces an index for use in a legal document production process.

7 . The method of claim 1 , further comprising:

receiving an indexing software agent at a deployment server;

creating a first isolated area for executing the indexing software agent in the first amount of computing resources;

executing the indexing software agent as a first background process in the first isolated area on the first amount of computing resources;

creating a second isolated area for executing the indexing software agent in the second amount of computing resources; and

executing the indexing software agent as a second background process in the second isolated area on the second amount of computing resources.

8 . The method of claim 1 , wherein receiving the indexing software agent includes receiving software instructions and database schema.

9 . The method of claim 1 , wherein transitioning to indexing the plurality of batches using the second amount of computing resources does not interrupt indexing the collection of documents.

10 . An apparatus for indexing a collection of documents, the apparatus comprising:

a processor;

a network interface operatively coupled to the processor; and

a memory device operatively coupled to the processor, the memory device storing instructions to cause the processor to:

divide the collection of documents into a plurality of N batches;

receive a first number via a user interface indicative of a first amount of computing resources;

index the plurality of batches using the first amount of computing resources;

receive a second number via the user interface indicative of a second amount of computing resources;

transition to indexing the plurality of batches using the second amount of computing resources; and

create a plurality of subindexes of the plurality of batches.

11 . The apparatus of claim 10 , wherein the instructions are structured to cause the processor to receive a third number via the user interface indicative of N.

12 . The apparatus of claim 10 , wherein the first amount of computing resources is equal to N, and the instructions are structured to cause the processor to have the plurality of batches indexed in parallel.

13 . The apparatus of claim 10 , wherein the first amount of computing resources is less than N, and the instructions are structured to cause the processor to have the plurality of batches indexed serially and in parallel.

14 . The apparatus of claim 10 , wherein the first amount of computing resources is greater than N, and the instructions are structured to cause the processor to have the plurality of batches indexed in parallel, wherein at least one of the computing resources is not used to index a batch in the plurality of batches.

15 . The apparatus of claim 10 , wherein creating the plurality of subindexes produces an index for use in a legal document production process.

16 . The apparatus of claim 10 , wherein the instructions are structured to cause the processor to:

receive an indexing software agent at a deployment server;

create a first isolated area for executing the indexing software agent in the first amount of computing resources;

execute the indexing software agent as a first background process in the first isolated area on the first amount of computing resources;

create a second isolated area for executing the indexing software agent in the second amount of computing resources; and

execute the indexing software agent as a second background process in the second isolated area on the second amount of computing resources.

17 . The apparatus of claim 10 , wherein the instructions are structured to cause the processor to receive the indexing software agent by receiving software instructions and database schema.

18 . The apparatus of claim 10 , wherein the instructions are structured to cause the processor to transition the indexing of the plurality of batches to the second amount of computing resources without interrupting the indexing of the collection of documents.

19 . A non-transitory computer readable medium storing instructions structured to cause a computing device to:

divide the collection of documents into a plurality of N batches;

receive a first number via a user interface indicative of a first amount of computing resources;

index the plurality of batches using the first amount of computing resources;

receive a second number via the user interface indicative of a second amount of computing resources;

transition to indexing the plurality of batches using the second amount of computing resources; and

create a plurality of subindexes of the plurality of batches.

20 . The computer readable medium of claim 19 , wherein the instructions are structured to cause the processor to receive a third number via the user interface indicative of N.

21 . The computer readable medium of claim 19 , wherein the first amount of computing resources is equal to N, and the instructions are structured to cause the processor to have the plurality of batches indexed in parallel.

22 . The computer readable medium of claim 19 , wherein the first amount of computing resources is less than N, and the instructions are structured to cause the processor to have the plurality of batches indexed serially and in parallel.

23 . The computer readable medium of claim 19 , wherein the first amount of computing resources is greater than N, and the instructions are structured to cause the processor to have the plurality of batches indexed in parallel, wherein at least one of the computing resources is not used to index a batch in the plurality of batches.

24 . The computer readable medium of claim 19 , wherein creating the plurality of subindexes produces an index for use in a legal document production process.

25 . The computer readable medium of claim 19 , wherein the instructions are structured to cause the processor to:

receive an indexing software agent at a deployment server;

create a first isolated area for executing the indexing software agent in the first amount of computing resources;

execute the indexing software agent as a first background process in the first isolated area on the first amount of computing resources;

create a second isolated area for executing the indexing software agent in the second amount of computing resources; and

execute the indexing software agent as a second background process in the second isolated area on the second amount of computing resources.

26 . The computer readable medium of claim 19 , wherein the instructions are structured to cause the processor to receive the indexing software agent by receiving software instructions and database schema.

27 . The computer readable medium of claim 19 , wherein the instructions are structured to cause the processor to transition the indexing of the plurality of batches to the second amount of computing resources without interrupting the indexing of the collection of documents.

28 . A method of searching a collection of documents, the method comprising:

dividing the collection of documents into a plurality of N batches;

receiving a first number via a user interface indicative of a first amount of computing resources;

searching the plurality of batches using the first amount of computing resources;

receiving a second number via the user interface indicative of a second amount of computing resources;

transitioning to searching the plurality of batches using the second amount of computing resources; and

creating a search result.

29 . The method of claim 28 , further comprising receiving a third number via the user interface indicative of N.

30 . The method of claim 28 , wherein the first amount of computing resources is equal to N, and the plurality of batches are searched in parallel.

31 . The method of claim 28 , wherein the first amount of computing resources is less than N, and the plurality of batches are searched serially and in parallel.

32 . The method of claim 28 , wherein the first amount of computing resources is greater than N, the plurality of batches are searched in parallel, and at least one of the computing resources is not used to search a batch in the plurality of batches.

33 . The method of claim 28 , wherein the search result is for use in a legal document production process.

34 . The method of claim 28 , further comprising:

receiving a searching software agent at a deployment server;

creating a first isolated area for executing the searching software agent in the first amount of computing resources;

executing the searching software agent as a first background process in the first isolated area on the first amount of computing resources;

creating a second isolated area for executing the searching software agent in the second amount of computing resources; and

executing the searching software agent as a second background process in the second isolated area on the second amount of computing resources.

35 . The method of claim 28 , wherein receiving the searching software agent includes receiving software instructions and database schema.

36 . The method of claim 28 , wherein transitioning to searching the plurality of batches using the second amount of computing resources does not interrupt searching the collection of documents.

37 . An apparatus for searching a collection of documents, the apparatus comprising:

a processor;

a network interface operatively coupled to the processor; and

a memory device operatively coupled to the processor, the memory device storing instructions to cause the processor to:

divide the collection of documents into a plurality of N batches;

receive a first number via a user interface indicative of a first amount of computing resources;

search the plurality of batches using the first amount of computing resources;

receive a second number via the user interface indicative of a second amount of computing resources;

transition to searching the plurality of batches using the second amount of computing resources; and

create a search result.

38 . The apparatus of claim 37 , wherein the instructions are structured to cause the processor to receive a third number via the user interface indicative of N.

39 . The apparatus of claim 37 , wherein the first amount of computing resources is equal to N, and the instructions are structured to cause the processor to have the plurality of batches searched in parallel.

40 . The apparatus of claim 37 , wherein the first amount of computing resources is less than N, and the instructions are structured to cause the processor to have the plurality of batches searched serially and in parallel.

41 . The apparatus of claim 37 , wherein the first amount of computing resources is greater than N, and the instructions are structured to cause the processor to have the plurality of batches searched in parallel, wherein at least one of the computing resources is not used to search a batch in the plurality of batches.

42 . The apparatus of claim 37 , wherein the search result is for use in a legal document production process.

43 . The apparatus of claim 37 , wherein the instructions are structured to cause the processor to:

receive a searching software agent at a deployment server;

create a first isolated area for executing the searching software agent in the first amount of computing resources;

execute the searching software agent as a first background process in the first isolated area on the first amount of computing resources;

create a second isolated area for executing the searching software agent in the second amount of computing resources; and

execute the searching software agent as a second background process in the second isolated area on the second amount of computing resources.

44 . The apparatus of claim 37 , wherein the instructions are structured to cause the processor to receive the searching software agent by receiving software instructions and database schema.

45 . The apparatus of claim 37 , wherein the instructions are structured to cause the processor to transition the searching of the plurality of batches to the second amount of computing resources without interrupting searching the collection of documents.

46 . A non-transitory computer readable medium storing instructions structured to cause a computing device to:

divide the collection of documents into a plurality of N batches;

receive a first number via a user interface indicative of a first amount of computing resources;

search the plurality of batches using the first amount of computing resources;

receive a second number via the user interface indicative of a second amount of computing resources;

transition to searching the plurality of batches using the second amount of computing resources; and

create a search result.

47 . The computer readable medium of claim 46 , wherein the instructions are structured to cause the processor to receive a third number via the user interface indicative of N.

48 . The computer readable medium of claim 46 , wherein the first amount of computing resources is equal to N, and the instructions are structured to cause the processor to have the plurality of batches searched in parallel.

49 . The computer readable medium of claim 46 , wherein the first amount of computing resources is less than N, and the instructions are structured to cause the processor to have the plurality of batches searched serially and in parallel.

50 . The computer readable medium of claim 46 , wherein the first amount of computing resources is greater than N, and the instructions are structured to cause the processor to have the plurality of batches searched in parallel, wherein at least one of the computing resources is not used to search a batch in the plurality of batches.

51 . The computer readable medium of claim 46 , wherein the search result is for use in a legal document production process.

52 . The computer readable medium of claim 46 , wherein the instructions are structured to cause the processor to:

receive a searching software agent at a deployment server;

create a first isolated area for executing the searching software agent in the first amount of computing resources;

execute the searching software agent as a first background process in the first isolated area on the first amount of computing resources;

create a second isolated area for executing the searching software agent in the second amount of computing resources; and

execute the searching software agent as a second background process in the second isolated area on the second amount of computing resources.

53 . The computer readable medium of claim 46 , wherein the instructions are structured to cause the processor to receive the searching software agent by receiving software instructions and database schema.

54 . The computer readable medium of claim 46 , wherein the instructions are structured to cause the processor to transition the searching of the plurality of batches to the second amount of computing resources without interrupting searching the collection of documents.

Assignments (3)
CHANGE OF NAME Recorded Aug 28, 2017
From: KCURA LLC
To: RELATIVITY ODA LLC
Reel/Frame 043687/0734 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 18, 2015
From: KCURA CORPORATION
To: KCURA LLC
Reel/Frame 034976/0680 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2014
From: SIEJA, ANDREW HENRY; KAMINSKI, KEITH LOREN
To: KCURA CORPORATION
Reel/Frame 032734/0811 →