IP Library Granted Patent US 7,882,098
Granted Patent B2
US 7,882,098 · App. 12/058,575 · Granted Feb 1, 2011

Method and system for searching stored 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,882,098
App. No.
12/058,575
Granted
Feb 1, 2011
Kind
B2
Abstract

A complete document management system is disclosed. Accordingly, systems and methods for managing data associated with a data storage component coupled to multiple computers over a network are disclosed. Systems and methods for managing data associated with a data storage component coupled to multiple computers over a network are further disclosed. Additionally, systems and methods for accessing documents available through a network, wherein the documents are stored on one or more data storage devices coupled to the network, are disclosed.

Claims (100)

1. A system for managing data associated with at least one data storage component, wherein the data storage component is coupled to multiple computers over a network, the system comprising:

a data storage management component for managing data associated with the data storage component,

wherein the managed data associated with the data storage component includes

data objects generated by multiple computers,

data objects stored in multiple software application formats,

primary copies of data objects,

secondary copies of data objects,

modified copies of data objects that have been modified by at least one of encryption and compression, and

offline copies of data objects; and,

wherein the data storage management component is configured to:

receive a first user's first data object from a first computer over the network, wherein the first data object received from the first computer is in a first software application format;

index descriptive data of the first data object;

receive a second user's second data object from a second computer over the network, wherein the second data object received from the second computer is in a second different software application format, and wherein the first data object from the first computer and the second data object from the second computer are both primary copies;

index descriptive data of the second data object;

receive a data storage policy that specifies one or more storage operations to be performed;

perform a first storage operation specified by the data storage policy on the first and second data objects received respectively from the first computer and the second computer, wherein the performance of the first storage operation results in

creating a third data object, wherein the third data object is a secondary copy of the first data object, and

indexing descriptive data of the third data object;

perform a second storage operation specified by the data storage policy on the third data object, wherein the performance of the second storage operation results in

creating a fourth data object, wherein the fourth data object is a modified secondary copy of the first data object that has been modified by compression or encryption, and

indexing descriptive data of the fourth data object; and,

perform a third storage operation specified by the data storage policy on the fourth data object, wherein the performance of the third storage operation results in

creating a fifth data object, wherein the fifth data object is a modified secondary copy of the first data object that has been modified by at least one of compression and encryption, and wherein the fifth data object is stored offline, and

indexing descriptive data of the fifth data object;

a database associated with the data storage management component that stores descriptive data referring to the data managed by the data storage management component, wherein the database stores the indexed descriptive data of the first, second, third, fourth, and fifth data objects; and,

a search component configured to:

search the managed data associated with the data storage component based on a single query that is received from a user and that has a set of search criteria, wherein the search comprises searching the database for managed data that matches the set of search criteria,

in response to receiving a user's query, search the database to identify the fifth data object that is a modified secondary copy stored offline that matches the set of search criteria, and,

retrieve from an offline storage location the identified fifth data object that is a modified secondary copy.

2. The system of claim 1 , further comprising a HTML-based graphical user interface for receiving user input identifying a type of data to be used by the search component in a search.

3. The system of claim 2 , wherein the user interface is further configured to display a preview of search results that provides a summary of the search results.

4. The system of claim 1 , wherein the database comprises multiple content indices, and wherein each of the content indices is associated with a logical volume that comprises one or more physical volumes.

5. The system of claim 1 , further comprising a security component for storing multiple security policies relating to multiple users and further defining data access rights for those users including which search results can be displayed to the user in response to a search.

6. The system of claim 1 , wherein the search component is configured to receive search criteria input via a web browser.

7. The system of claim 6 , wherein the storage management component is further configured to receive from a user an indication to apply the search criteria as a data management policy for future storage operations.

8. The system of claim 1 , wherein the secondary copies comprise backup copies and archive copies.

9. A method for managing data associated with one or more data storage devices, wherein the data storage devices are coupled to multiple computers over a network, the method comprising:

receiving a first user's first data object from a first computer over the network, wherein the first data object received from the first computer is in a first software application format;

indexing content of the first data object;

receiving a second user's second data object from a second computer over the network, wherein the second data object received from the second computer is in a second different software application format, and wherein the first data object from the first computer and the second data object from the second computer are both primary copies;

indexing content of the second data object;

performing a first storage operation on the first and second data objects that is specified by a data storage policy for managing data associated with the data storage devices, wherein performing the first storage operation results in

creating a third data object, wherein the third data object is a secondary copy of the first data object, and

indexing content of the third data object;

performing a second storage operation specified by the data storage policy on the third data object, wherein the performance of the second storage operation results in

creating a fourth data object, wherein the fourth data object is a modified secondary copy of the first data object that has been modified by compression or encryption, and

indexing content of the fourth data object;

performing a third storage operation specified by the data storage policy on the fourth data object, wherein the performance of the third storage operation results in

creating a fifth data object, wherein the fifth data object is a modified secondary copy of the first data object that that has been modified by at least one of compression and encryption, and

wherein the fifth data object is stored offline, and

indexing content of the fifth data object;

maintaining a content index of data associated with the data storage devices,

wherein the data associated with the data storage devices includes

data objects generated by multiple computers,

data objects stored in multiple software application formats,

primary copies of data objects,

secondary copies of data objects,

modified copies of data objects that have been modified by at least one of encryption and compression, and

offline copies of data objects, and

wherein the content index reflects the indexed content of at least the first, second, third, fourth, and fifth data objects;

in response to receiving a user's query, searching the content index to identify the fifth data object that is a modified secondary copy stored offline that matches search criteria provided by the user; and,

retrieving from an offline storage location the identified fifth data object that is a modified secondary copy.

10. The method of claim 9 , further comprising receiving user input through a graphical user interface identifying a type of data to be used for searching.

11. The method of claim 9 , wherein the index comprises multiple content indices, and wherein each of the content indices is associated with a logical volume that represents one or more physical volumes.

12. The method of claim 9 , further comprising storing multiple security policies relating to multiple users, wherein the policies further define data access rights for those users that specify the data that can be accessed by each user.

13. The method of claim 9 , further comprising receiving search criteria from a user and an indication that the search criteria produce the type of results that a user wants to find on a regular basis, and storing the search criteria as a data management policy that the user can apply to future storage operations.

14. The method of claim 9 , wherein the secondary copies comprise copies of secondary copies on which additional data storage operations have been performed.

15. The method of claim 9 , wherein two or more of the secondary copies differ in type of document and time of creation.

16. A computer-readable storage medium having computer-executable instructions that, when executed by a computer perform a method for managing data associated with a data storage component, wherein the data storage component is coupled to multiple computers over a network, the method comprising:

receiving a first user's first data object from a first computer over the network, wherein the first data object received from the first computer is in a first software application format;

indexing content of the first data object;

receiving a second user's second data object from a second computer over the network, wherein the second data object received from the second computer is in a second different software application format, and wherein the first data object from the first computer and the second data object from the second computer are both primary copies;

indexing content of the second data object;

receiving a data storage policy that specifies one or more storage operations to be performed;

performing a first storage operation specified by the data storage policy on the first and second data objects received respectively from the first computer and the second computer, wherein the performance of the first storage operation results in

creating a third data object, wherein the third data object is a secondary copy of the first data object, and

indexing content of the third data object;

performing a second storage operation specified by the data storage policy on the third data object, wherein the performance of the second storage operation results in

creating a fourth data object, wherein the fourth data object is a modified secondary copy of the first data object that has been modified by compression or encryption, and

indexing content of the fourth data object;

performing a third storage operation specified by the data storage policy on the fourth data object, wherein the performance of the third storage operation results in

creating a fifth data object, wherein the fifth data object is a modified secondary copy of the first data object that that has been modified by at least one of compression and encryption, and

wherein the fifth data object is stored offline, and

indexing content of the fifth data object;

maintaining a content index of data associated with the data storage component,

wherein the data associated with the data storage component includes

data objects generated by multiple computers,

data objects stored in multiple software application formats,

primary copies of data objects,

secondary copies of data objects,

modified copies of data objects that have been modified by at least one of encryption and compression, and

offline copies of data objects, and,

wherein the content index reflects the indexed content of at least the first, second, third, fourth, and fifth data objects;

receiving a query from a user to identify data objects associated with the data storage component that match a set of search criteria;

in response to the query, searching the content index to identify the fifth data object that is a modified secondary copy stored offline that matches the search criteria; and,

retrieving from an offline storage location the identified fifth data object that is a modified secondary copy.

17. The method of claim 16 , wherein the index comprises multiple content indices, and wherein each of the content indices is associated with a different type of content.

18. The method of claim 16 , further comprising storing multiple security policies relating to multiple users, wherein the policies define the data for which a user can receive search results.

19. The method of claim 16 , further comprising receiving an indication from the user that the searching identifies a type of search results that the user would like to receive on a regular basis, and storing the search criteria as a data management policy that the user can apply to future storage operations.

20. The system of claim 1 , wherein the database is a metabase and wherein the descriptive data is metadata.

Assignments (5)
SUPPLEMENTAL CONFIRMATORY GRANT OF SECURITY INTEREST IN UNITED STATES PATENTS Recorded Apr 16, 2025
From: COMMVAULT SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 070864/0344 →
SECURITY INTEREST Recorded Dec 13, 2021
From: COMMVAULT SYSTEMS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 058496/0836 →
RELEASE OF SECURITY INTEREST Recorded Jan 6, 2021
From: BANK OF AMERICA, N.A.
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 054913/0905 →
SECURITY INTEREST Recorded Jul 2, 2014
From: COMMVAULT SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 033266/0678 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2008
From: PRAHLAD, ANAND; KAVURI, SRINIVAS; KOTTOMTHARAYIL, RAJIV; AMARENDRAN, ARUN PRASAD; BROCKWAY, BRIAN; MULLER, MARCUS S.; MAY, ANDREAS
To: COMMVAULT SYSTEMS, INC.
Reel/Frame 021105/0382 →