Abstract:
An electronic document legal discovery apparatus, system, method, and computer program product enables electronic document access, searching, filtering, virus checking, de-duplication, de-encoding/decrypting, page estimation, and time stamping. A processor is used to perform these various steps so as to provide an estimate of page count that would be produced from a printer if the data, after de-duplication, etc. is performed.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    This invention relates to systems, apparatuses, methods, and computer program products relating to electronically stored document data profiling. More particularly, the invention relates to data that may need to be processed by a party during a discovery phase of litigation.  
           [0003]    2. Discussion of the Background  
           [0004]    Computer-based discovery in legal proceedings is becoming more and more widespread as tools providing cost effective and legally sound data discovery of electronic information are being developed. An overview of computer-based discovery in federal civil litigation is provided in a Federal Courts Law Review article by Kenneth J. Withers, entitled Computer-Based Discovery in Civil Litigation and dated October 2000, the entire contents of which are incorporated herein by reference. This article notes how discovery is changing in response to the pervasive use of computers and how more and more cases involve e-mail, word processed documents and spreadsheets, and records of Internet activity. This article discusses some of the potential for computer-based discovery to reduce overall discovery costs and improve the administration of justice. The article also explores the unique problems of computer-based discovery. The appendix provides a checklist of computer based discovery considerations for Rules 16(c) pretrial conferences.  
           [0005]    In conducting computer-based discovery, problems arise with respect to the vast quantities of electronic documents that must be reviewed, whether for a party&#39;s document production in a litigation against another party, for conducting an internal investigation, or for satisfying government reporting requirements. A party&#39;s ability to manage each matter that can be mission critical depends on how fast it can capture, identify, review, assess, and produce relevant documents. The volume of electronic documents today far exceeds paper documents.  
           [0006]    According to a University of California study (Lyan, P. and Vatian, H., “How Much Information”), the entire contents of which are hereby incorporated by reference, over 90% of corporate documents are created electronically and an estimated 70% of those are never printed to paper. Additionally, e-mail communication among employees is approaching 3 billion a day. This has dramatically increased the volume, complexity, and cost of electronic document discovery. Moreover, emailing-employees (custodians) often have multiple data sets contained in multiple messaging systems. Electronic documents, whether e-mail stored on hard drives, backup tapes, etc. come in numerous file types (e.g., MICROSOFT WORD, NOVEL WORD PERFECT, MICROSOFT EXCEL, LOTUS 123, MICROSOFT OUTLOOK, SYMANTEC ACT, AND MICROSOFT OUTLOOK) as well as numerous versions. These documents are often times encoded as well as may be virus infected. Often a party is required to produce these vast amounts of electronic documents in paper form, a process that can be unjustifiably expensive without telescoping the retrieval of documents based on relevant issues.  
           [0007]    [0007]FIG. 1 is a flow chart that illustrates the electronic document legal discovery process common today. Today&#39;s process begins in step S 1  with accessing one or more data archives, followed by searching and filtering these archives in step S 2  in order to identify documents that may be of interest, and printing these select files in step S 3 . Typically, this searching and filtering is restricted to parameters such as file-owner, date, destination, or other high-level file meta-data. These files are typically not searched or filtered by size, content for duplication, versions, encryption/encoding, or virus. Typically files printed via this process are manually reviewed (at great expense) for relevancy, redundancy, and readability.  
           [0008]    As noted previously, many of the printed documents are eventually found to be redundant, encoded, or somehow corrupted and thus illegible. Furthermore, many search and filtering processes of the current art are rudimentary and result in documents being printed that are not of interest to the legal discovery process. The costs of printing can be exorbitant and costs are greatly increased when review time of legal staff at high hourly rates is added. What is desired, as recognized by the present inventors, is a way to quickly search and retrieve documents that are relevant to the legal discovery process while not incurring the large expense of having to print largely useless and/or redundant materials that have to be reviewed manually and thereby incurring another expense.  
         SUMMARY OF THE INVENTION  
         [0009]    The present invention addresses and resolves the above identified as well as other limitations with conventional electronic file review and legal discovery systems and methods. The present invention provides a low cost, easy-to-implement infrastructure and technology for electronic document discovery. The present invention includes a software based data profiler tool that enables users to cost-effectively deal with voluminous and complex electronic document discovery.  
           [0010]    In the present invention, the software based data profiler tool accesses data stored in a computer readable medium and then:  
           [0011]    (1) identifies the file types within an electronic archive that can be properly converted for downstream searching;  
           [0012]    (2) quantifies the documents that can be printed so that cost estimates of print production can be communicated to decision makers;  
           [0013]    (3) identifies duplicate documents that can be eliminated from the estimated quantity;  
           [0014]    (4) identifies, cleans, and/or deletes virus infected files;  
           [0015]    (5) identifies, decodes/decrypts, and/or deletes encoded files; and  
           [0016]    (6) time-stamps and digitally authenticates files to protect against future document manipulation or destruction. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0017]    A more complete appreciation of the present invention and many of the attendant advantages thereof will be readily obtained as the same becomes better understood by reference to the following detailed descriptions and accompanying drawings:  
         [0018]    [0018]FIG. 1 is a flow diagram of a conventional method of selecting files to print as part of a litigation discovery process;  
         [0019]    [0019]FIG. 2 is a high-level flow diagram of a method of electronic document data profiling of the present invention;  
         [0020]    [0020]FIG. 3 is a detailed flow diagram of a method of electronic document data profiling of the present invention;  
         [0021]    [0021]FIG. 4 is a block diagram of the present invention; and  
         [0022]    [0022]FIG. 5 is a block diagram of a computer used with the present invention. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0023]    The following comments relate to the drawings, wherein like reference numerals designate identical or corresponding parts throughout the several views.  
         [0024]    [0024]FIG. 2 illustrates an overview of a method employed by the present invention. One or more databases are accessed in step S 21 , the contents of which are searched and filtered against stored predetermined search and filtering criteria (or criteria selected by a user) in step S 23 . Data that successfully passes the search and filter stage in step S 23  is then checked for viruses, duplications, encoding and encryption, page estimation and time stamping via a data discovery process in step S 25 . The results of the data discovery process in step S 25  are stored via a statistical result storage process in step S 27 . These results are printed (optionally) in step S 29 . Files that require special processing and/or conversion may be sent for special processing in step S 200 .  
         [0025]    [0025]FIG. 3 illustrates details about the legal discovery process of step S 25 . Filtered and/or selected files from step S 23  are subjected to a virus checking process in step S 303 . In one embodiment, virus checking is performed with a Perl File Scan Module, which is currently supported by Amavis and Mimedefang. Files that have no viruses are then sent to a duplication identification process in step S 305 . In one embodiment, file duplication is determined by the MD5 hash algorithm developed by Professor Ronald L. Rivest of MIT. Files that are not duplicates may be sent to an encoding and encryption identification process in step S 307 . Optionally, the file encryption detection step may be skipped. Files that are not duplicates (and optionally, are not encoded or encrypted) are then sent to a time stamping and a page estimation process in step S 309 . In one embodiment, page estimation is determined by a bytes-to-pages ratio which varies per file type. In another embodiment actual pages are read for file headers. At any time during this process, summary statistics can be stored, visualized, and printed via step S 29 .  
         [0026]    A file that is determined to have a virus by the virus checking process in step S 303  may be sent to a virus cleaning process in step S 313  or may be marked for exclusion in step S 319 . Files with viruses that can be cleaned can then be sent to the duplication checking process in step S 305 . However files that cannot be cleaned by the virus cleaning process in step S 313  may be exported for special processing in step S 200  or may be marked for exclusion in step S 319 . Files that are determined to be duplicates at the duplication checking process in step S 305  are marked for exclusion in step S 319  and are not forwarded for further processing. Files that are determined to be either encoded and/or encrypted by the encoding and encryption identification process in step S 307  may be sent to a decoding and/or decrypting process in step S 315  or may be marked for exclusion in step S 319 . Files that are successfully decoded and/or decrypted may then be sent back to the virus ID module. Files that cannot be decoded or decrypted in step S 307  may be sent for special processing in step S 200  or may be marked for exclusion in step S 319 .  
         [0027]    A sample set of results from the process of FIGS. 2 and 3 is found in Tables 1 and 2 below. The “extension types” is an example of one of the predetermined search and filter criteria discussed above.  
                                                           TABLE 1                           Sample Detail Report            Extension           Total   Estimated       Types   Viruses   Duplicates   Files   Pages                    BAK   0   0   1   0       bmp   0   0   1   1       com   0   0   1   0       com-access_log   0   0   1   0       com-error_log   0   0   1   0       doc   0   0   3   3       eps   0   0   1   0       gif   0   1   22   300       html   0   0   19   19       jbf   0   0   2   0       jpg   0   4   46   46       ori   0   0   1   0       pl   0   0   1   0       png   0   1   41   0       psd   0   2   15   0       psp   0   0   17   0       TIF   0   4   9   0       tmp   0   0   1   0       txt   0   0   3   3       unknown   0   33   2   0       wmv   0   0   3   0                  
 
         [0028]    [0028]                             TABLE 2                       Sample Summary Report                                    Total Viruses:   0           Total Duplicates:   45           Total Files:   191           Total Estimated Pages:   372                        
         [0029]    [0029]FIG. 4 illustrates the overarching system architecture of the present invention. The legal discovery tool  41  accesses one or more databases  42  via an interconnection media  43 . The interconnection media  43  is preferably a local area network but may also be via wireless or direct storage media access. The databases  42  may be of any commercial or proprietary structure (e.g., SQL, HTML, flat files, object-oriented) and content (e.g., documents, email, annotated images, annotated audio/video, etc.). The legal discovery engine  44  performs a filtering and selection operation with pre-stored and/or operator entered criteria  45 . These criteria may include author name, file creation date, title, keyword, or other readily available meta-data. The results of the legal discovery process are stored in a separate repository  46 . Files that require special processing may be exported via multiple methods to a special processing infrastructure  47 . At any time, files or statistical results of the legal discovery process may be sent to a printer  48  for printing via the interconnection media  43 .  
         [0030]    [0030]FIG. 5 illustrates an example basic computer block diagram used in association with this invention. FIG. 5 illustrates a computer system  1201  upon which an embodiment of the present invention may be implemented. The computer system  1201  includes a bus  1202  or other communication mechanism for communicating information, and a processor  1203  coupled with the bus  1202  for processing the information. The computer system  1201  also includes a main memory  1204 , such as a random access memory (RAM) or other dynamic storage device (e.g., dynamic RAM (DRAM), static RAM (SRAM), and synchronous DRAM (SDRAM)), coupled to the bus  1202  for storing information and instructions to be executed by processor  1203 . In addition, the main memory  1204  may be used for storing temporary variables or other intermediate information during the execution of instructions by the processor  1203 . The computer system  1201  further includes a read only memory (ROM)  1205  or other static storage device (e.g., programmable ROM (PROM), erasable PROM (EPROM), and electrically erasable PROM (EEPROM)) coupled to the bus  1202  for storing static information and instructions for the processor  1203 .  
         [0031]    The computer system  1201  also includes a disk controller  1206  coupled to the bus  1202  to control one or more storage devices for storing information and instructions, such as a magnetic hard disk  1207 , and a removable media drive  1208  (e.g., floppy disk drive, read-only compact disc drive, read/write compact disc drive, compact disc jukebox, tape drive, and removable magneto-optical drive). The storage devices may be added to the computer system  1201  using an appropriate device interface (e.g., small computer system interface (SCSI), integrated device electronics (IDE), enhanced-IDE (E-IDE), direct memory access (DMA), or ultra-DMA).  
         [0032]    The computer system  1201  may also include special purpose logic devices (e.g., application specific integrated circuits (ASICs)) or configurable logic devices (e.g., simple programmable logic devices (SPLDs), complex programmable logic devices (CPLDs), and field programmable gate arrays (FPGAs)).  
         [0033]    The computer system  1201  may also include a display controller  1209  coupled to the bus  1202  to control a display  1210 , such as a cathode ray tube (CRT), for displaying information to a computer user. The computer system includes input devices, such as a keyboard  1211  and a pointing device  1212 , for interacting with a computer user and providing information to the processor  1203 . The pointing device  1212 , for example, may be a mouse, a trackball, or a pointing stick for communicating direction information and command selections to the processor  1203  and for controlling cursor movement on the display  1210 . In addition, a printer may provide printed listings of data stored and/or generated by the computer system  1201 .  
         [0034]    The computer system  1201  performs a portion or all of the processing steps of the invention in response to the processor  1203  executing one or more sequences of one or more instructions contained in a memory, such as the main memory  1204 . Such instructions may be read into the main memory  1204  from another computer readable medium, such as a hard disk  1207  or a removable media drive  1208 . One or more processors in a multi-processing arrangement may also be employed to execute the sequences of instructions contained in main memory  1204 . In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions. Thus, embodiments are not limited to any specific combination of hardware circuitry and software.  
         [0035]    As stated above, the computer system  1201  includes at least one computer readable medium or memory for holding instructions programmed according to the teachings of the invention and for containing data structures, tables, records, or other data described herein. Examples of computer readable media are compact discs, hard disks, floppy disks, tape, magneto-optical disks, PROMs (EPROM, EEPROM, flash EPROM), DRAM, SRAM, SDRAM, or any other magnetic medium, compact discs (e.g., CD-ROM), or any other optical medium, punch cards, paper tape, or other physical medium with patterns of holes, a carrier wave (described below), or any other medium from which a computer can read.  
         [0036]    Stored on any one or on a combination of computer readable media, the present invention includes software for controlling the computer system  1201 , for driving a device or devices for implementing the invention, and for enabling the computer system  1201  to interact with a human user (e.g., print production personnel). Such software may include, but is not limited to, device drivers, operating systems, development tools, and applications software. Such computer readable media further includes the computer program product of the present invention for performing all or a portion (if processing is distributed) of the processing performed in implementing the invention.  
         [0037]    The computer code devices of the present invention may be any interpretable or executable code mechanism, including but not limited to scripts, interpretable programs, dynamic link libraries (DLLs), Java classes, and complete executable programs. Moreover, parts of the processing of the present invention may be distributed for better performance, reliability, and/or cost.  
         [0038]    The term “computer readable medium” as used herein refers to any medium that participates in providing instructions to the processor  1203  for execution. A computer readable medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical, magnetic disks, and magneto-optical disks, such as the hard disk  1207  or the removable media drive  1208 . Volatile media includes dynamic memory, such as the main memory  1204 . Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that make up the bus  1202 . Transmission media also may also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications.  
         [0039]    Various forms of computer readable media may be involved in carrying out one or more sequences of one or more instructions to processor  1203  for execution. For example, the instructions may initially be carried on a magnetic disk of a remote computer. The remote computer can load the instructions for implementing all or a portion of the present invention remotely into a dynamic memory and send the instructions over a telephone line using a modem. A modem local to the computer system  1201  may receive the data on the telephone line and use an infrared transmitter to convert the data to an infrared signal. An infrared detector coupled to the bus  1202  can receive the data carried in the infrared signal and place the data on the bus  1202 . The bus  1202  carries the data to the main memory  1204 , from which the processor  1203  retrieves and executes the instructions. The instructions received by the main memory  1204  may optionally be stored on storage device  1207  or  1208  either before or after execution by processor  1203 .  
         [0040]    The computer system  1201  also includes a communication interface  1213  coupled to the bus  1202 . The communication interface  1213  provides a two-way data communication coupling to a network link  1214  that is connected to, for example, a local area network (LAN)  1215 , or to another communications network  1216  such as the Internet. For example, the communication interface  1213  may be a network interface card to attach to any packet switched LAN. As another example, the communication interface  1213  may be an asymmetrical digital subscriber line (ADSL) card, an integrated services digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of communications line. Wireless links may also be implemented. In any such implementation, the communication interface  1213  sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.  
         [0041]    The network link  1214  typically provides data communication through one or more networks to other data devices. For example, the network link  1214  may provide a connection to another computer through a local network  1215  (e.g., a LAN) or through equipment operated by a service provider, which provides communication services through a communications network  1216 . The local network  1214  and the communications network  1216  use, for example, electrical, electromagnetic, or optical signals that carry digital data streams, and the associated physical layer (e.g., CAT 5 cable, coaxial cable, optical fiber, etc). The signals through the various networks and the signals on the network link  1214  and through the communication interface  1213 , which carry the digital data to and from the computer system  1201  maybe implemented in baseband signals, or carrier wave based signals. The baseband signals convey the digital data as unmodulated electrical pulses that are descriptive of a stream of digital data bits, where the term “bits” is to be construed broadly to mean symbol, where each symbol conveys at least one or more information bits. The digital data may also be used to modulate a carrier wave, such as with amplitude, phase and/or frequency shift keyed signals that are propagated over a conductive media, or transmitted as electromagnetic waves through a propagation medium. Thus, the digital data may be sent as unmodulated baseband data through a “wired” communication channel and/or sent within a predetermined frequency band, different than baseband, by modulating a carrier wave. The computer system  1201  can transmit and receive data, including program code, through the network(s)  1215  and  1216 , the network link  1214 , and the communication interface  1213 . Moreover, the network link  1214  may provide a connection through a LAN  1215  to a mobile device  1217  such as a personal digital assistant (PDA) laptop computer, or cellular telephone.  
         [0042]    The present invention includes a user-friendly interface that allows individuals of varying skill levels to search numerous digital media archives and archive types as well as allows users to design produce and print statistical reports about information stored within these archives. The interface allows users to optionally enable virus checking and duplicate checking as well as to determine and display the file types number of files and estimate number printed pages of printable files. The interface also allows individuals to easily identify and tag duplicates, infected files, and encoded and encrypted files. The interface also allows individuals to create a time stamp for digital authentication for each file processed. The present invention allows for such files to be sent to another device for further processing.  
         [0043]    The present invention also includes software and computer programs designed to enable electronic legal discovery as described previously.  
         [0044]    Obviously, numerous modifications and variations of the present invention are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims, the invention may be practiced otherwise than as specifically described herein.