Systems and methods for retrieving data
First Claim
1. A method for obtaining information responsive to a legal discovery request directed at an enterprise, wherein the legal discovery request is selected from the group consisting of a document subpoena directed to the enterprise or a request for production of documents served on the enterprise in litigation, wherein a plurality of databases is associated with the enterprise and potentially include information responsive to the legal discovery request, said plurality of databases including a plurality of structured databases and at least one unstructured database, said method comprising:
- (a) providing a plurality of taxonomies, each of which describes a structure of one of the structured databases;
(b) providing an ontology, based at least in part on the taxonomies, that describes data relationships between the plurality of databases associated with the enterprise;
(c) identifying a native application that is configured to access at least one but not all of the plurality of databases associated with the enterprise;
(d) modifying the native application to include search functionality for accessing all of the plurality of databases associated with the enterprise;
(e) receiving from a user, via the modified native application, a request to search the plurality of databases associated with the enterprise for information responsive to the legal discovery request;
(f) using information included in the request, the ontology and the taxonomies to search the plurality of databases associated with the enterprise;
(g) presenting a list of search results responsive to the search request to the user with the modified native application; and
(h) in response to a user selection of a search result from the list, automatically launching an application required to view the selected search result if the modified native application lacks functionality required to display the selected search result.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for obtaining information responsive to a legal discovery request directed at an enterprise having a plurality of databases that potentially include information responsive to the legal discovery request, including structured databases and at least one unstructured database. A plurality of taxonomies are provided, each of which describes a structure of one of the structured databases. An ontology is provided that describes data relationships between the databases. A native application is identified, which is configured to access at least one but not all of the databases associated with the enterprise. The native application is modified to include search functionality for accessing all of the databases associated with the enterprise. A request is received from the user, via the modified native application, to search the plurality of databases associated with the enterprise for information responsive to the legal discovery request. Information included in the request, the ontology and the taxonomies are then used to search the plurality of databases associated with the enterprise. A list of search results responsive to the search request is presented with the modified native application. In response to a user selection of a search result from the list, an application required to view the selected search result is automatically launched if the modified native application lacks functionality required to display the selected search result.
59 Citations
10 Claims
-
1. A method for obtaining information responsive to a legal discovery request directed at an enterprise, wherein the legal discovery request is selected from the group consisting of a document subpoena directed to the enterprise or a request for production of documents served on the enterprise in litigation, wherein a plurality of databases is associated with the enterprise and potentially include information responsive to the legal discovery request, said plurality of databases including a plurality of structured databases and at least one unstructured database, said method comprising:
-
(a) providing a plurality of taxonomies, each of which describes a structure of one of the structured databases;
(b) providing an ontology, based at least in part on the taxonomies, that describes data relationships between the plurality of databases associated with the enterprise;
(c) identifying a native application that is configured to access at least one but not all of the plurality of databases associated with the enterprise;
(d) modifying the native application to include search functionality for accessing all of the plurality of databases associated with the enterprise;
(e) receiving from a user, via the modified native application, a request to search the plurality of databases associated with the enterprise for information responsive to the legal discovery request;
(f) using information included in the request, the ontology and the taxonomies to search the plurality of databases associated with the enterprise;
(g) presenting a list of search results responsive to the search request to the user with the modified native application; and
(h) in response to a user selection of a search result from the list, automatically launching an application required to view the selected search result if the modified native application lacks functionality required to display the selected search result.
-
-
2. A system for obtaining information responsive to a legal discovery request directed at an enterprise, wherein the legal discovery request is selected from the group consisting of a document subpoena directed to the enterprise or a request for production of documents served on the enterprise in litigation, wherein a plurality of databases is associated with the enterprise and potentially include information responsive to the legal discovery request, said plurality of databases including a plurality of structured databases and at least one unstructured database, said system comprising:
-
(a) a plurality of taxonomies, each of which describes a structure of one of the structured databases;
(b) an ontology, based at least in part on the taxonomies, that describes data relationships between the plurality of databases associated with the enterprise;
(c) a native application that includes a modification that adds functionality for accessing all of the plurality of databases associated with the enterprise;
wherein the modification includes a user interface for receiving a user request to search the plurality of databases associated with the enterprise for information responsive to the legal discovery request;
(d) a data collector agent that uses information included in the request, the ontology and the taxonomies to search the plurality of databases associated with the enterprise and generate a list of search results responsive to the search request for presentation to the user via the modified native application; and
(e) wherein the modification to the native application automatically launches an application required to view a selected search result if the modified native application lacks functionality required to display the selected search result.
-
-
3. In a software application that is currently available in a current version and which was previously available in an old version, wherein the current version of the software stores data in a current data storage format and the old version of the software previously stored in an old data storage format which is different from the current data storage format, a data metamorphosis method that supports usage of data stored in the old data storage format with the current version of the software, the method comprising:
-
(a) providing an XML definition for each of a plurality of object classes used to store data in the old data storage format and the new data storage format;
(b) providing data format rules for each XML definition; and
(c) when the current version of the software recalls data in the old data storage format, using at least some of the XML definitions and format rules to dynamically convert the data in the old storage format to the current data storage format, thereby allowing usage of the data in the old storage format by the current version of the software.
-
-
4. In a software application that is currently available in a current version and which was previously available in an old version, wherein the current version of the software stores data in a current data storage format and the old version of the software previously stored in an old data storage format which is different from the current data storage format, a data metamorphosis system that supports usage of data stored in the old data storage format with the current version of the software, the system comprising:
-
(a) at least one repository that stores an XML definition for each of a plurality of object classes used to store data in the old data storage format and the new data storage format and data format rules for each XML definition; and
(b) a software agent, coupled to the at least one repository, that uses at least some of the XML definitions and format rules to dynamically convert the data in the old storage format to the current data storage format when the current version of the software recalls data in the old data storage format, thereby allowing usage of the data in the old storage format by the current version of the software.
-
-
5. A method of providing a data collaboration environment that changes dynamically based on occurrence of events external to the data collaboration environment, the method comprising:
-
(a) defining a collaboration environment that includes at least roles, activities and external event specifications;
(b) wherein each role defines data access privileges granted to a user during a session;
(c) wherein each activity defines with whom the user can share data;
(d) wherein each external event specification defines an event external to the collaboration environment which must occur before an activity is permitted for a defined role during a session; and
(e) dynamically changing data sharing privileges granted to a user in response to the occurrence of an external event identified in one of the defined external event specifications.
-
-
6. A system of providing a data collaboration environment that changes dynamically based on occurrence of events external to the data collaboration environment, the system comprising:
-
(a) at least one repository that defines a collaboration environment by storing information that specifies at least roles, activities and external event specifications;
wherein each role defines data access privileges granted to a user during a session;
each activity defines with whom the user can share data; and
each external event specification defines an event external to the collaboration environment which must occur before an activity is permitted for a defined role during a session; and
(b) at least one software agent, coupled to the at least one repository, that dynamically changes data sharing privileges granted to a user in response to the occurrence of an external event identified in one of the defined external event specifications.
-
-
7. A method for collecting and retrieving data for an enterprise with a plurality of databases including a plurality of structured databases and at least one unstructured database, said method comprising:
-
(a) providing a plurality of taxonomies, each of which describes a structure of one of the structured databases;
(b) providing an ontology, based at least in part on the taxonomies, that describes data relationships between the plurality of databases of the enterprise;
(c) providing a software agent associated with each of the plurality of databases of the enterprise, wherein each software agent uses information included in a search request, the ontology and the taxonomies to search an associated database and generate search results, and each software agent duplicates and archives data retrieved from the associated database based on the search results;
(d) wherein each software agent wraps the retrieved data with a standardized object format that facilitates data transformation and secure access of the retrieved data at a field level; and
(e) wherein each software agent logs events that occur with respect to an application that corresponds to the database associated with the software agent, wherein the events logged by the software agent include at least one of;
server status, server operations performed, and network status.
-
-
8. A system for collecting and retrieving data for an enterprise with a plurality of databases including a plurality of structured databases and at least one unstructured database, said system comprising:
-
(a) at least one repository that stores a plurality of taxonomies, each of which describes a structure of one of the structured databases, and an ontology, based at least in part on the taxonomies, that describes data relationships between the plurality of databases of the enterprise;
(b) a software agent associated with each of the plurality of databases of the enterprise, wherein each software agent uses information included in a search request, the ontology and the taxonomies to search an associated database and generate search results, wherein each software agent duplicates and archives data retrieved from the associated database based on the search results, wraps the retrieved data with a standardized object format that facilitates data transformation and secure access of the retrieved data at a field level, and logs events that occur with respect to an application that corresponds to the database associated with the software agent;
wherein the events logged by the software agent include at least one of;
server status, server operations performed, and network status.
-
-
9. In a network having a plurality of nodes, wherein nodes enter and exit the network in a manner that is unpredictable, a method for improving data availability by fragmenting data across the network nodes, the method comprising:
-
(a) fragmenting the data across nodes in the network in order to increase a likelihood that the data will be available irrespective of a combination of nodes that are connected to the network at any given time; and
(b) wherein each fragment of data includes a header with control information that specifies how the fragment connects with other fragments stored in the network.
-
-
10. In a network having a plurality of nodes, wherein nodes enter and exit the network in a manner that is unpredictable, a system for improving data availability by fragmenting data across the network nodes, the system comprising:
-
a software agent that fragments the data across nodes in the network in order to increase a likelihood that the data will be available irrespective of a combination of nodes that are connected to the network at any given time;
wherein each fragment of data includes a header with control information that specifies how the fragment connects with other fragments stored in the network.
-
Specification