Patent ID: 7801880

Claim:
A system for exploring diverse databases for information, the system comprising: at least one memory storage comprising: unifying data structures configured to enumerate a set of databases to be explored and filters configured to constrain pieces of information to be returned and to break up search requests in multiple pieces and prevent overloading of the set of databases, a unifying application programming interface that semantically transforms protocols configured to communicate with the set of databases into one protocol using the filters to impart meaning to the pieces of information, and a crawler using the one protocol in the unifying application programming interface to invoke a method described in the unifying data structures to explore the pieces of information in the set of databases without knowing a corresponding protocol as well as a corresponding application programming interface specific to each database in the set of databases, the crawler being configured to avoid legacy data that is not of interest, the filters being configured to constrain the crawler, the unifying application programming interface being configured to interact with the unifying data structures to determine constraints of the crawler, wherein the unifying application programming interface being configured to interact with the unifying data structures to determine the constraints of the crawler comprises the unifying application programming interface being configured to consult with the unifying data structures to understand the constraints by which to explore the pieces of information in the set of databases and to provide a translation to allow the crawler to invoke the method associated with crawling the set of databases, wherein consulting, by the unifying application programming interface, comprises using data description language designed specifically for describing the unified data structures; and at least one processing unit coupled to the at least one memory storage.