Source: http://www.google.com/patents/US6834276?dq=5,884,272
Timestamp: 2016-08-30 08:34:12
Document Index: 792369369

Matched Legal Cases: ['art 2', 'art 2', 'art 2', 'art 2', 'art 1', 'art 1', 'art 2', 'art 3', 'art 3']

Patent US6834276 - Database system and method for data acquisition and perusal - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inPatentsA data acquisition and perusal system and method including a database selection module, a database index generator module and a search module. The database selection module enables selection of a plurality of files for inclusion into at least one selectable database. The database index generator module...http://www.google.com/patents/US6834276?utm_source=gb-gplus-sharePatent US6834276 - Database system and method for data acquisition and perusalAdvanced Patent SearchPublication numberUS6834276 B1Publication typeGrantApplication numberUS 09/257,714Publication dateDec 21, 2004Filing dateFeb 25, 1999Priority dateFeb 25, 1999Fee statusPaidAlso published asUS7836043, US8396856, US20050027702, US20110106813Publication number09257714, 257714, US 6834276 B1, US 6834276B1, US-B1-6834276, US6834276 B1, US6834276B1InventorsRobert Leland Jensen, Daniel Victor SmithOriginal AssigneeIntegrated Data Control, Inc.Export CitationBiBTeX, EndNote, RefManPatent Citations (31), Non-Patent Citations (24), Referenced by (190), Classifications (20), Legal Events (7) External Links: USPTO, USPTO Assignment, EspacenetDatabase system and method for data acquisition and perusal
US 6834276 B1Abstract
A data acquisition and perusal system and method including a database selection module, a database index generator module and a search module. The database selection module enables selection of a plurality of files for inclusion into at least one selectable database. The database index generator module enables generation of a searchable index of the data contained in the selectable database. The search module enables a search to be performed of the searchable index according to search criteria. The data acquisition and perusal system and method may also allow users to view, acquire, and generate single- or multiple-data sources locally or remotely, and allow users to compile, index, modify, and append the data sources according to default or user defined criteria. The data acquisition and perusal system and method may also selectively acquire and display data contained within remote databases depending upon the user's access permissions to such databases. Such a system allows for the capture of hypertext data which is automatically indexed without human intervention and has the ability to automatically and accurately locate or “pinpoint,” and highlight specific text or groups of text designated by the user within the resulting database. Such a system contains a link module that enables custom links to be defined between selected terms of selected files of the selectable database including the custom links so that the searchable index includes only valid links.
What is claimed is: 1. A data acquisition and perusal system, comprising:
a database selection module that enables selection of a plurality of files for inclusion into at least one selectable database; a link module that enables custom links to be defined between selected terms of selected files of the at least one database; wherein the link module enables association of any link term with any of the plurality of files in the at least one selectable database; and wherein the link module enables at least one alias term to be defined for the any link term to enable a link to be established between the at least one alias term and the any of the plurality of files; a database index generator module that enables generation of a searchable index of the data contained in the at least one selectable database, including the custom links, the generator module enabling only valid custom links to be added to the searchable index; and a search module that enables a search of the searchable index to be performed according to a search criterions. 2. A data acquisition and perusal system, comprising:
a database selection module that enables selection of a plurality of files for inclusion into at least one selectable database; a link module that enables custom links to be defined between selected terms of selected files of the at least one database; wherein the link module enables designation of a pattern that corresponds to one or more text strings, and wherein the link module is operable to link instances of the one or more text strings in the selected files with other of said selected files having identification data that matches the text strings; a database index generator module that enables generation of a searchable index of the data contained in the at least one selectable database, including the custom links, the generator module enabling only valid custom links to be added to the searchable index; and a search module that enables a search of the searchable index to be performed according to a search criterion. 3. The data acquisition and perusal system of claim 2, wherein the link module enables designation of a pattern that includes wildcard characters.
4. A data acquisition and perusal system, comprising:
a database selection module that enables selection of a plurality of files for inclusion into at least one selectable database; a link module that enables custom links to be defined between selected terms of selected files of the at least one database; the link module enabling association of at least one selected link term with any of the plurality of files in the at least one selectable database; at least one selected link term including at least one alias; a database index generator module that enables generation of a searchable index of the data contained in the at least one selectable database, including the custom links, the generator module enabling only valid custom links to be added to the searchable index; a search module that enables a search of the searchable index to be performed according to a search criterion; at least one input device; and a display utility including a graphic user interface that enables graphic interaction with the database selection, the link and the search modules via the at least one input device, wherein the display utility displays at least portions of files in the selectable database that meet the search criterion, indicates terms in the displayed file portions that meet the search criterion, indicates any of the at least one selected link term in the displayed portions of files in the selectable database that meet the search criterion, enables interaction with any indicated selected link terms via the at least one input device to enable perusal of linked files in the at least one selectable database; the display utility further indicating the at least one alias; and the display utility enabling interaction with the at least one alias via the at least one input device to enable perusal of linked files in the at least one selectable database. 5. A data acquisition and perusal system for finding, storing and retrieving useful information, comprising:
means for locating a plurality of accessible computer files according to a selected search criteria; means for selecting files containing relevant information from the located files for inclusion into at least one selectable database; means for enabling user defined custom linking relationships among selected terms of said selected files of the at least one database; wherein said link means enables association of any link term with any of the plurality of files in the at least one selectable database; wherein said link means enables at least one alias term to be defined for the any link term to enable a link to be established between the at least one alias term and the any of the plurality of files; means for generating a searchable index of the data contained in the selected database including the custom links so that the searchable index includes only valid links; means for searching the searchable index to be performed according to a search criterion to locate words and phrases in the selected database; and means for accurately highlighting the located words and phrases in the display from the search results. 6. A data acquisition and perusal system, comprising:
means for locating a plurality of accessible computer files according to a selected search criteria; means for selecting files containing relevant information from the located files for inclusion into at least one selectable database; means for enabling user defined custom linking relationships among selected terms of said selected files of the at least one database; wherein the link means enables designation of a pattern that corresponds to one or more text strings, and wherein the link means is operable to link instances of the one or more text strings in the selected files with other of said selected files having identification data that matches the text strings; means for generating a searchable index of the data contained in the selected database including the custom links so that the searchable index includes only valid links; means for searching the searchable index to be performed according to a search criterion to locate words and phrases in the selected database; and means for accurately highlighting the located words and phrases in the display from the search results. 7. The data acquisition and perusal system of claim 6 wherein the link means enables designation of a pattern that includes wildcard characters.
8. A data acquisition and perusal method for finding, storing and retrieving useful information, comprising the steps of:
locating a plurality of accessible files according to a selected search criteria; selecting a plurality of the located files containing relevant information for automatic inclusion into at least one selectable database; defining custom linking relationships between selected terms and designated files of the selected database; wherein said link definition step includes defining at least one alias term for at least one of the selected terms to establish linking relationships between the at least one alias term and one of the designated files; verifying the validity of the custom linking relationships; generating a searchable index of the data contained in the selected database including the custom linking relationships so that the searchable index includes only valid custom linking relationships; and searching the searchable index according to a selected search criterion to locate words and phrases in the data and accurately highlighting the located terms and phrases. 9. A data acquisition and perusal method for finding, storing and retrieving useful information, comprising the steps of:
locating a plurality of accessible files according to a selected search criteria; selecting a plurality of the located files containing relevant information for automatic inclusion into at least one selectable database; defining custom linking relationships between selected terms and designated files of the selected database; wherein the step of defining the linking relationships includes designating a pattern that corresponds to one or more text strings and linking instances of the one or more text strings in the selected files with other of said selected files having identification data that matches the text strings; verifying the validity of the custom linking relationships; generating a searchable index of the data contained in the selected database including the custom linking relationships so that the searchable index includes only valid custom linking relationships; and searching the searchable index according to a selected search criterion to locate words and phrases in the data and accurately highlighting the located terms and phrases. 10. The data acquisition and perusal method of claim 9 wherein the step of defining the linking relationships includes designating a pattern that includes wildcard characters.
11. A data acquisition and perusal method for finding, storing and retrieving useful information comprising the steps of:
locating a plurality of accessible files according to a selected search criteria; selecting a plurality of the located files containing relevant information for automatic inclusion into at least one selectable database; defining custom linking relationships between selected terms and designated files of the selected database; verifying the validity of the custom linking relationships; generating a searchable index of the data contained in the selected database including the custom linking relationships so that the searchable index includes only valid custom linking relationships; searching the searchable index according to a selected search criterion to locate words and phrases in the data and accurately highlighting the located terms and phrases; displaying a graphic user interface that enables graphic interaction with the database selection, the link and the search means via the at least one input device; displaying at least portions of files in the selectable database that meet the search criterion; indicating terms in the displayed file portions that meet the search criterion; identifying at least one alias of at least one of the selected terms for which custom linking relationships with designated files are defined; displaying the at least one alias; and enabling interaction with the at least one alias via at least one input device to enable perusal of linked files in the at least one selectable database. 12. A data indexing and perusal system comprising:
an index module that enables generation of an index of a plurality of selected source files; a custom link module that enables a user to create links between two of the plurality of selected source files; and a search module that enables a search to be performed according to a search criterion to locate words and phrases in the plurality of selected source files; wherein the link module enables designation of a link term and designation of one of the plurality of selected source files to be linked to the designated link term; the link module being operable to automatically link multiple instances of the designated link term in the plurality of selected source files with the designated file; wherein the link module further enables identification of a plurality of alias terms to be associated with the designated link term, the link module being operable to automatically link instances of the alias terms in the plurality of selected source files with the designated file. 13. A data indexing and perusal system, comprising:
an index module that enables generation of an index of a plurality of selected source files; a custom link module that enables a user to create links between two of the plurality of selected source files; and a search module that enables a search to be performed according to a search criterion to locate words and phrases in the plurality of selected source files; wherein at least some of the plurality of selected source files have predefined fields containing identification data; wherein the link module enables designation of a link field pattern, including wild card characters, that correspond to one or more text strings; and the link module being operable to automatically link instances of the one or more text strings in the plurality of selected source files with source files having identification data that match the text strings. 14. A method of linking, indexing, and searching a plurality of selected source files, the method comprising:
enabling users to create custom links between two or more of the plurality of selected source files; enabling designation of a link term and designation of one of the plurality of selected source files to be linked to the designated link term; automatically generating links between all instances of the link term within the plurality of selected source files and the designated file; enabling identification of a plurality of alias terms to be associated with the designated link term; automatically generating links between all instances of the alias terms in the plurality of selected source files and the designated file; generating a searchable index of the plurality of selected source files; incorporating any user-created custom links into the index; and searching the searchable index according to a search criterion to locate words and phrases in the plurality of selected source files. 15. A method of linking indexing, and searching a plurality of selected source files, the method comprising:
enabling users to create custom links between two or more of the plurality of selected source files, wherein at least some of the plurality of selected source files have predetermined fields containing identification data; enabling designation of a link term and designation of one of the plurality of selected source files to be linked to the designated link term; automatically generating links between all instances of the link term within the plurality of selected source files and the designated file; enabling designation of a link field pattern, including wild card characters, that correspond to one or more text strings; automatically linking instances of the one or more text strings in the plurality of selected source files with source files having identification data that match the text strings; generating a searchable index of the plurality of selected source files; incorporating any user-created custom links into the index; and searching the searchable index according to a search criterion to locate words and phrases in the plurality of selected source files.
Computers were intended to provide an effective and efficient way for humans to manage, locate, peruse and manipulate data or objects. For example, a first, basic system and method is that demonstrated by modern word processor applications which have some search and text access capabilities; however, as far as is known, they are limited to the current file that is open. Employing this method, the user can request the location of a word in the text. Within an individual file, the computer will then take the user sequentially to each location of that text. Only string searches are allowed. By repeatedly running the search, the user can sequentially move from result to result. While it might be possible to open, many files simultaneously, the available resources and memory make this impractical.
Using the current art in the third system and method above, users can add electronic bookmarks to enable them to quickly return to any part of any volume of an encyclopedia, referred to in the example above, and they can copy portions for insertion into other documents of their own creation. By use of hypertext links appearing within the database, a user is able to instantly view related data for which he had not searched. The links are generated according to a rationale applied when the database index was prepared. Adding hypertext links usable within a database is generally a more complex process. The links are intended to appear to the user in a color or format distinguishable from other data, and when activated, the computer is directed to display another highlighted portion of the database. By naming the instructions to the computer within links as “pointers” and what they link to as “targets”, the process will be facilitated. A database can theoretically have an unlimited number of identical pointers (even though what the user sees can be different for some or all of them), but any pointer can generally only have one target (a specific area of the database to display), and targets are invisible to the user. Links must be sensitive to the context of the document and context sensitivity requires intelligence. Thus, adding links to a database requires human intervention because current computers inherently lack any intelligence. Although simple linking based upon discernible patterns within text and targeted toward files matching those patterns can easily be done programmatically, human intervention is still required to design and initiate the process. Further, such favorable linking circumstances rarely exist within typical, disparate data and even greater human intervention is required. Consequently, search/retrieval engine vendors essentially leave linking up to the creator of the search engine software or electronic publisher to do manually, and the links are generally not customizable by the user. Thus, the vendors commonly provide technical specifications on how to craft pointer and target codes for the software and how to write programs to link their unique databases. However, some word processing and other applications permit users to craft links among compatible files using manual processes.
Referring to the drawings, FIG. 1A is a block diagram an exemplary computer system 100 that could be used to illustrate various aspects of a data acquisition and perusal system implemented according to the present invention. The computer system 100 is preferably a conventional IBM brand compatible, personal computer (PC) system or the like, and includes a motherboard and bus system 102 coupled to at least one central processing unit (CPU) 104 and a memory system 106. The motherboard and bus system 102 include any kind of bus system configuration, such as any combination of a host bus, one or more peripheral component interconnect (PCI) buses, an industry standard architecture (ISA) bus, an extended ISA (EISA) bus, micro-channel architecture (MCA) bus, an AGP bus, a universal serial bus (USB), etc., along with corresponding bus driver circuitry and bridge interfaces, etc., as known to those skilled in the art. The CPU 104 preferably incorporates any one of several microprocessors, such as the 80486, Pentium™, Pentium II™, Pentium II™, etc. microprocessors from Intel Corp., or other similar type microprocessors such as the K6 microprocessor by Advanced Micro Devices, and supporting external circuitry typically used in PCs. The external circuitry preferably includes an external or level two (L2) cache or the like (not shown). The memory system 106 may include a memory controller or the like and be implemented with one or more memory boards (not shown) plugged into compatible memory slots on the motherboard, although any memory configuration is contemplated. The invention is also applicable to other microprocessors, other architectures and other operating systems.
Database source files (or documents) are typically divided into fields or areas when they are created. These fields may result from word processing application that is used to create the documents. For example, WordPerfect� formatted files/documents contain both hidden and visible fields in almost every document that is created. Likewise, Microsoft� Word (hereinafter MS-Word) formatted files/documents contain certain fields. In addition, internet or HTM (or HTML, HyperText Markup Language) type format files, objects or documents contain many hidden and unhidden fields. Thus, the files/documents/objects referred to herein should be understood to contain fields.
The file database 171 includes one or more files of type A, shown as files AF1, AF2 . . . AFn, where “n” is any positive integer. The file database 171 may further include one or more files of type B, shown as files BF1, BF2 . . . BFn, one or more files of type C (not shown), etc. Examples of file types include internet or HTML format (or simply HTM), word processor format including DOC files generated by MS-Word, or similar word processing files generated by WordPerfect�, text format, RTF (Rich Text Format) files, drawing files, database files, etc. The incompatibilities and between various formats has become less since several type of formats may be included in a single file, object, or document. In this manner, the present invention contemplates any number of files or documents of any type. It is noted that any one or more of the files may be copied into local storage or may be simply accessed via an existing link to that file. For example, in a default mode, internet files are copied locally. However, the user may choose to simply access the file via a valid link or address.
The system 170 may further include a display/input utility 185 that interfaces one or more of the modules of the system 170, such as the database selection module 173, the link module 177 and the search module 183. For the computer system 100, the display/input utility 185 may be implemented using the display devices such as the video card 110 and corresponding display 112, and input devices including the mouse 114 and mouse interface 115 and the keyboard 116 and the keyboard interface 116. Further, the display/input utility 185 includes one or more software programs or drivers executed from the memory system 106 by the CPU 104 to interface the respective modules. Such programs or drivers may be separate or integrated into a single application including the modules.
In operation, the search module 183 first compares each term of the search query against “words” contained in a stop word list 201 of the database index 200. The stop word list 201 is a file containing a list of “noise words”, or words that frequently occur in a file/document that do not contain distinguishable characteristics. For example, stop words are “words” such as “and”, “as”, “the”, “a”, “I”, “for”, certain punctuation, etc. Although a default stop word list is provided for each database index that is to be generated, a user may edit the stop word list 201 for a particular database index that is to be generated and include additional stop words or remove unwanted stop words from the default stop word list. If a stop word is found among the terms of a It search query, the search for that term is terminated because the search module 183 considers that term to be a noise word and does not allocate further resources toward searching the files for that term. However, the length of the term is stored in the search engine's dynamic buffers for future phrase analysis. For example, if the search query contains the terms “big for tall”, the word “for” is considered a stop word and a length of the stop word, i.e., five (three letters plus two white space delimiters), is stored in place of the spaces and the word “for”. Thus, as described in greater detail herein, the search query becomes a search for files/documents that include the words “big” and “tall” with five spaces/characters between the words. If the search had been the search query “big as tall”, where the word “as” is considered a noise word, the search query becomes a search for the words “big” and “tall” with four spaces/characters there between.
(i) the first four of the twelve bytes encode the word's word number as a long is integer.
If first long
integer (x)
(y) is:
First number (x) is the
database containing the
Second number (y) is an
index to the file position in
this word. The list of
x indicates the number of
files that DO NOT contain the
given word. This number is
determined by subtracting
the number of files in the
database from x.
y is an index to the file
x is the file number of the
word. (No entry is needed in
All files in the database
The third index is a list of long integers that index words with alphabetical leading characters. The third index is of variable length depending on whether the index is a (two or a three dimensional index (to be described herein). The first 26 long integers in the third index are offsets for words in the Part 2 data that begin with the single letters “a” through “z”. If no words in Part 2 begin with a given letter, four ASCII 255's are written to the corresponding long integer. The next 676 (26 squared) long integers of the third index are offsets for words that begin with the pairs “aa”, “ab”, “ac”, etc., through “zz”, thus, creating a “two dimensional” index from the third index. Offsets for these words in the Part 2 data are recorded in the 676 long integers, but if no word begins with a given pair, four ASCII 255's are written to the corresponding long integer. If desired, the third index can be a “three dimensional” index, i.e., an index including references to single alpha characters (26), pairs of alpha characters (676), and three alpha characters. If the index is three dimensional, then 26 cubed (17576) long integers follow “zz”. These long integers index words beginning with the triplets “aaa”, “aab”, “aac”, etc., through “zzz”. Again, if no word begins with a given triplet, four ASCII 255's are written to the corresponding long integer for that triplet.
Following these three indices is a nine byte string. The string begins with a single character that is ASCII 2 if the third index is two dimensional, and ASCII 3 if the third index is three dimensional. Following this character is a long integer corresponding to the offset at which the Part 2 data begins, i.e. the first character following the Part 1 data, if there is any Part 1 data. The last four bytes are a long integer corresponding to the first byte that follows the last byte of the Part 2 data. This is the offset for the ASCII 5 in the ASCII 5, ASCII NULL pair that tags the beginning of At the three indices of Part 3. Because the size of the three indices of Part 3 can be computed exactly based on the known dimensions of the alpha locator string as coded in byte 1 of this 9 byte string, this final four-byte long integer is not strictly necessary.
With reference to FIG. 2A, the DSF file 205 for a database index 200 contains a sequence of word position tables 219 for each file in the database that contains searchable terms. Of note, some files of the database may be without searchable terms and, thus, not included in the DSF file 205. As stated, examples of files without searchable terms might include HTM pages that describe frame containers only, and thus have no searchable data of their own, or nonsense files which contain only stop lot words. The beginning and end of each word position table 219 in the DSF file 205 is coded in the companion DSI file 204. For each file which has a word position table 219, the table 219 is laid out in columns as shown by a single row view.
For file/document organization, the database index 200 also includes a contents table 209 to assist the search module 183 to organize files/documents for display when a search has completed. In this embodiment, the contents table 209 includes two files, a COI file 210 and a COF file 211. The contents table 209 operates in conjunction with fields list files 212. The COI file 210 is an index into the COF file 211. The COI file 210 contains a sequence of four-byte binary encoded long integers, one long integer for each file in the database. These long integers encode a start position in the COF file 211 at which information for the given file begins. For example, to find the field information for the thirteenth file in a twenty-file database, the software of the computer system 100 retrieves the thirteenth long integer encoded in the COI file 210. The system 100 retrieves the fourteenth long integer encoded in the COI file 210 to determine where the fourteenth file's information begins and the thirteenth file's information ends in the COF file 211. Using these two values, the system 100 then extracts the characters from the COF file 211 and thus obtains all the field information for file thirteen of the database. Of course, for file twenty in this example, the system 100 simply reads the twentieth long integer in the COI file 210 to find the start position 1D for the information in the COF file 211. Since no file follows the last file, the end position for the information is simply the end of the COF file 211.
When performing a search of a database, search results for a database may be ordered based on a number of different file fields taken from the fields list files 212, including title and date fields. The fields list files 212 aid in determining a proper sort order for files based on different fields. These different files are designated C01, C02, . . . CO# Files 213. Each of these files 213 is a list of four-byte binary encoded long integers. The long integers correspond to the numbers of each file in the database. The file numbers are presented in the order in which those files should be presented so that the files are sorted according to the given field order. For example, in a four-file database where field 1 is a title field and the files in the database are as follows:
the CO1 file contains the file numbers 3, 2, 4, 1 bin that order, because the alphabetical sort order for these files by title is Aardvarks (file 3), then Canaries (file 2), then Dogs (file 4), then Warthogs (file 1). In this example, the CO2 file is based on a date field in the files so that the file numbers are in a different order based on date. Thus, the files 213 each contain a presorted list of file numbers that assist the search module 183 to organize the files found in a search based on a selected field.
This is followed by a check of the third database, i.e., the four-file MS-Word DOC database, where the word number is 190 and the numeric values are x=6 and y=156. Again, according to Table I, the return values indicate that two (6−4=2) of the four files in the database do not contain the word “unique”, and those two files are recorded at position 156 of the master word index file 202. Reading the two four-byte binary encoded long integers at position 156 in the master word index 202 indicates that files 1 and 2 do not contain the word “unique”, and thus files 3 and 4 do contain the word “unique”. Thus, at this point, the user knows that each of the three databases has two as files that contain the word “unique”. These files include Files 2 and 3 of Database 1, Files 1 and 3 of Database 2 and Files 3 and 4 of Database 3.
In the case of file 1, a DSF 205 entry exists, so the first two long integers in the DSI file 204 indicate the beginning and ending ranges for this entry in the DSF file 205. The search module 183 temporarily extracts this segment into main memory 106 and examines it. The layout of information in this segment is determined by first examining the last four bytes of this segment, and translating it into a number. The number is the number of elements in the segment's locator string 224, which immediately precedes the last four bytes of the segment. The search module 183 knows that each locator string 224 entry is twelve bytes long, and thus the locator string 224 is 1200 bytes long if the number of elements is 100. The search module 183 then examines the first entry in the locator string 224. This entry, as is true of all the entries, codes three long integers in its twelve bytes. The first four bytes code the word number 228 for the first indexed word in the file. For example, the file may begin with the word “Zebra” and end with the word “aardvark”, but since “aardvark” lexically precedes “Zebra”, “aardvark” is considered the first indexed word in the file. The second four bytes indicate the 100 character position index 230 information for this first word, which should be 0, indicating the beginning of this DSF 205 segment. The third set of four bytes indicates the start of the slot position index 232 information for this first word, which will thus be the position in this DSF 205 segment at which the word slots list 222 information begins. Thus, the DSF 205 segment has been divided into four parts, including the character positions 220 addressed by the second byte of each locator string 224; the word slots list 222 addressed by the third byte of each locator string 224; the locator string 224, in this case containing 100 twelve-byte segments; and the number of elements in locator string 226, in this case 100.
With this information, plus the knowledge that “unique” is six characters long, the search module 183 is able to identify character positions 100 to 106 and 200 to 206 of by file 1 in database 2 as the location of the two instances of the search term in this file. These text ranges are indicated through operations such as highlighting, and the file is finally displayed for the user. Of course, the search module 183 treats the character positions in the remaining files in a similar fashion for indicating or highlighting the terms for a user.
When logged in to the program, a user may generate a database index. FIG. 4 is a flow diagram of an index generator processing sequence of the database application of FIG. 3. When the user starts the database application, a database generator initializes and loads previous settings at block 400. The database generator then generates a table of files to process at block 401 based on the generator settings when the user begins the index generation process. The database generator then extracts field information (or data) from the top file in the processing table at block 402 and proceeds to the next file in the processing table as indicated at block 404 until all of the files have had their field data extracted for later compilation into the content stable 209 as determined at decision block 403.
The next series of steps corresponds to producing data for creating the master word index 202 and the word lists 214. For each file that is processed, valid words are extracted from the file and inserted into a word table at next block 405, an index of the word locations in the file is generated at next block 406, and a table of link patterns and field matches among the files th at have been processed up to that point is then generated at next block 407 as described in conjunction with the jump link list 206. Each file in the table of files is sequentially processed in like manner as indicated by block 409 until the last file has been processed as determined at block 408. In particular, operation loops between blocks 405-409 until the last file is processed as determined at block 408.
FIG. 7 is a screen display of an exemplary index generator dialog of the GUI database application program introduced in FIG. 5 as it might appear after a user 1 presses the database generator button 501. The index generator dialog includes a source file location edit box 700, a database output directory edit box 701, a generator type selection box 702, a set link properties or Linking button 703, a New Database Name edit box 704, a Register New Database check box 705, an enable Pause feature button 706, a Run button 707, and an Exit button 708. The index generator dialog is used for registering a database or regenerating the database index 200 from a previously registered but changed database. Should the user press the Run button 707 without changing any of the FIG. 7 parameters, the database indicated is registered and appears as shown at 503 in the database display window 504. If the database has already been registered, the database index 200 is regenerated when the Run button 707 is pressed. Checking the register new database check box 705 causes the generator to register new databases or to reregister changed databases and add them to the database display window 504. A user might choose to regenerate a database index in this manner if any of the source files in the source file location edit box 700 have been changed or if any files matching the generator type selection box 702 were added or deleted. The Pause button 706 toggles a feature that allows the user to suspend database processing indefinitely. When the pause feature is disabled, the generator completes its tasks faster.
Since a database application program, in one embodiment, is configured to simultaneously search over two billion databases, each with over two billion files, and each file with over two billion characters, the user may want to stop a search after it has started. For that reason, a Stop button 808 is provided. Further, a Clear button 811 allows all data to be cleared from the search expression edit box 803, the search terms found window 809, and the documents found window 815. If the Enable Word Lists control 507 is enabled, a Word List button 814 is enabled. When pressed, the Word List button 814 causes a list of all words that appear in all selected databases 503 arranged in alphabetical order to be displayed. Words can be placed directly into the search expression edit box 803 from the word list. A Close button 816 closes the search/retrieval dialog and returns the user to the previous screen without taking any further actions that may be available. Finally, a Sort Again button 813 is used to repeat the above procedure after changing the terms in the search expression edit box 803.
A SmartScreen button 900 causes the system to display the same screen shown when the database application program is started (initialized) as in the example embodiment of FIG. 5. The first document in universe button 901, the “universe” including all files/documents in all selected databases, is not available and thus not highlighted because the document shown in the document display window 928 just happens to be the first document in all of the documents in the selected databases.
A find button 908 allows a user to search within the document currently displayed. A direct from text button 910 causes a phrase search to immediately be executed for all text that is selected by a user and highlighted. It is not available unless some text is selected. A bookmark button 917 allows a user to place an electronic q bookmark at any point in any document through a dialog that allows the user to name and manage bookmarks. A copy button 919 allows the user to copy any highlighted text to the computer's memory for insertion elsewhere. A print button 920 displays a print dialog which provides full print utilities to the user. A font change button 922 allows the user to toggle from a proportional pitch font to a fixed pitch font for ease of viewing text formatted with spaces and tabs for columnar alignment or back to the original font. A help button 923 displays information about the system. An exit button 924 causes the system to terminate and asks the user whether data about the session should be saved or not.
The link generator dialog of FIG. 11 also allows a user to instruct the database index generator to insert field links that are based on link field patterns. A field link based on a link field pattern is a pattern sequence found in a file that exactly matches the same pattern sequence that is found in the appropriate field in another file in the database source files. To create these types of field links, a pattern is entered into a New Link Pattern edit box 1106. When the pattern of the New Link Pattern edit box 1106 matches another pattern located in a certain field of another file, a field link can be created between the files. The “certain field” of a file that is linked to corresponds to a link field number that is selected in a Link Field Number edit box 1107. After the pattern is entered into the New Link Pattern edit box 1106 and the link field number is entered into the Link Field Number edit box 1107, in this case “1”, an Add New Link button 1108 is pressed and the database index is updated with the new information. The resultant field link pattern corresponding to the link field number then appears in the link field pattern window 1105.
Advantageously, a pattern entered into the New Link Pattern edit box 1106 can use “wildcard” characters. Wildcard characters are characters such as %, ?, *, and #, where each of the characters has a special meaning. In the embodiment shown, the “%” character substitutes for any digit, the “#” character substitutes for any integer greater than zero, the “*” character substitutes for any number of characters or digits between delimiters, and the “?” character substitutes for any single character. For example, a pattern “# s*d #” matches “9 sand 977”, “843 S.W.2d 955”, etc. An essentially unlimited number of field link pairs can be created. Of course, any number of wildcard characters may be defined depending on a particular embodiment.
Also of note, files/documents have many different file formats for their respective fields (e.g., WordPerfect� format). These formats provide for normally hidden fields to contain data about the file such as title, subject, author, etc. A system according to the present invention provides for placing visible fields in the first line of the file with each field separated by a delimiter such as a tab character.
In addition to the above described example embodiment, FIG. 14 is an example screen display of a Browser Mode Window showing an HTM document retrieved from the internet using the GUI database application program introduced in FIG. 5. The Browser Mode works in a similar manner as commonly used browsers, such as Netscape Navigator or Microsoft� Explorer. The internet address of the document is shown in an Address bar 1405. If the user puts the cursor (or focus) on the Address bar 1405 and presses the Return or Enter keyboard key, or presses a Refresh button 1404, the document would again be retrieved from its internet source. By pressing a Back button 1400, the Browser Mode Window displays the previous document that was viewed. By pressing a Forward button 1402, the Browser Mode Window displays the document that was previously viewed before the Back button 1400 was pressed to display the document shown.
A SpeedSave button 1411 immediately saves the displayed document, along with all of its pictures, graphics, images, hypertext links, and layout into the database named in the database name label 1412. The first time the SpeedSave button 1411 is 1Q pressed in a session of the software, the same dialog displayed by pressing the DB Name button 1409 is displayed to safeguard against the user inadvertently saving a file into a forgotten about database. Double clicking the database name label 1412 also displays the same dialog. Depending upon the settings for the database particulars accessible under the Options dropdown menu 1401, the file can be saved as a normal “Text” file, an HTM file without images, an HTM file with images linked to their internet source, or an HTM file with all images retrieved and saved on the local computer's hard drive. Pressing an Exit Browser button 1410 causes the software of the system 100 to create a fully indexed and searchable database of all files saved into the database name shown in the database name label 1412 according to the default behavior. The database is automatically registered and shown on the database display window 504. The default behavior can be changed to accommodate a variety of user preferences through the appropriate selection on the Options dropdown menu 1401. A document location label 1413 indicates to the user whether the source of the document being viewed is remote or local, and the label 1413 changes automatically when the viewed document changes its source. A status bar message 1414 changes as appropriate to give the user information about the status of the Browser Mode Window. A Browse Mode label 1420 indicates to the user whether the software is functioning in its Browser Mode or its Viewer Mode.
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS4955056 *Jul 16, 1986Sep 4, 1990British Telecommunications Public Company LimitedPattern recognition systemUS5544352 *Jun 14, 1993Aug 6, 1996Libertech, Inc.Method and apparatus for indexing, searching and displaying dataUS5678041 *Aug 25, 1995Oct 14, 1997At&TSystem and method for restricting user access rights on the internet based on rating information stored in a relational databaseUS5822539 *Dec 8, 1995Oct 13, 1998Sun Microsystems, Inc.System for adding requested document cross references to a document by annotation proxy configured to merge and a directory generator and annotation serverUS5832494 *May 17, 1996Nov 3, 1998Libertech, Inc.Method and apparatus for indexing, searching and displaying dataUS5832499 *Jul 10, 1996Nov 3, 1998Survivors Of The Shoah Visual History FoundationDigital library systemUS5842206 *Aug 20, 1996Nov 24, 1998Iconovex CorporationComputerized method and system for qualified searching of electronically stored documentsUS5875441 *May 6, 1997Feb 23, 1999Fuji Xerox Co., Ltd.Document database management system and document database retrieving methodUS5889958 *Dec 20, 1996Mar 30, 1999Livingston Enterprises, Inc.Network access control system and processUS5890172 *Oct 8, 1996Mar 30, 1999Tenretni Dynamics, Inc.Method and apparatus for retrieving data from a network using location identifiersUS5895461 *Oct 9, 1996Apr 20, 1999Telaric, Inc.Method and system for automated data storage and retrieval with uniform addressing schemeUS5920859 *Feb 5, 1997Jul 6, 1999Idd Enterprises, L.P.Hypertext document retrieval system and methodUS5924090 *May 1, 1997Jul 13, 1999Northern Light Technology LlcMethod and apparatus for searching a database of recordsUS5961602 *Feb 10, 1997Oct 5, 1999International Business Machines CorporationMethod for optimizing off-peak caching of web dataUS5987454 *Jun 9, 1997Nov 16, 1999Hobbs; AllenMethod and apparatus for selectively augmenting retrieved text, numbers, maps, charts, still pictures and/or graphics, moving pictures and/or graphics and audio information from a network resourceUS6012053 *Jun 23, 1997Jan 4, 2000Lycos, Inc.Computer system with user-controlled relevance ranking of search resultsUS6038668 *Jul 22, 1998Mar 14, 2000Science Applications International CorporationSystem, method, and medium for retrieving, organizing, and utilizing networked dataUS6092074 *Feb 10, 1998Jul 18, 2000Connect Innovations, Inc.Dynamic insertion and updating of hypertext links for internet serversUS6092080 *Nov 2, 1998Jul 18, 2000Survivors Of The Shoah Visual History FoundationDigital library systemUS6098064 *May 22, 1998Aug 1, 2000Xerox CorporationPrefetching and caching documents according to probability ranked need S listUS6101492 *Jul 2, 1998Aug 8, 2000Lucent Technologies Inc.Methods and apparatus for information indexing and retrieval as well as query expansion using morpho-syntactic analysisUS6112203 *Apr 9, 1998Aug 29, 2000Altavista CompanyMethod for ranking documents in a hyperlinked environment using connectivity and selective content analysisUS6122647 *May 19, 1998Sep 19, 2000Perspecta, Inc.Dynamic generation of contextual links in hypertext documentsUS6134584 *Nov 21, 1997Oct 17, 2000International Business Machines CorporationMethod for accessing and retrieving information from a source maintained by a network serverUS6138113 *Aug 10, 1998Oct 24, 2000Altavista CompanyMethod for identifying near duplicate pages in a hyperlinked databaseUS6163779 *Sep 29, 1997Dec 19, 2000International Business Machines CorporationMethod of saving a web page to a local hard drive to enable client-side browsingUS6199060 *May 12, 1998Mar 6, 2001Survivors Of Thw Shoah Visual History FoundationMethod and apparatus management of multimedia assetsUS6212527 *Nov 2, 1998Apr 3, 2001Survivors Of The Shoah Visual History FoundationMethod and apparatus for cataloguing multimedia dataUS6247018 *Apr 16, 1998Jun 12, 2001Platinum Technology Ip, Inc.Method for processing a file to generate a databaseUS6272534 *Jul 27, 1999Aug 7, 2001Storage Technology CorporationMethod and system for efficiently storing web pages for quick downloading at a remote deviceUS6292894 *Nov 23, 1999Sep 18, 2001Science Applications International CorporationSystem, method, and medium for retrieving, organizing, and utilizing networked data* Cited by examinerNon-Patent CitationsReference1 *Bethoney, H. "Folio Views Creates Info Databases", PC Week, vol. 11, No. 44, Nov. 7, 1994, p. 129.*2 *Bethoney, H. "Save it for Later with WebClip; Offline Browser Eases Organization of Downloaded Pages", PC Week, vol. 13, No. 33, Aug. 19, 1996, p. N3.*3 *Coombs, J.H. "Hypertext, Full Text, and Automatic Linking", Proceedings of the 13<th >International Conference on research and Development in Information Retrieval, Dec. 1989, pp. 83-98.*4Coombs, J.H. "Hypertext, Full Text, and Automatic Linking", Proceedings of the 13th International Conference on research and Development in Information Retrieval, Dec. 1989, pp. 83-98.*5 *Duncan, T. and McKell, M. "Making Network Information Accessible with FolioViews 4.11", Novell NetNotes, Apr. 1998, pp. 79 82.*6 *Ellis, D. et al. "On the Measurement of Inter-Linker Consistency and Retrieval Effectiveness in Hypertext Databases", Proceedings of the 17<th >Annual Int'l ACM-SIGIR Conference on Research and Development in Information Retrieval, Aug. 1994, pp. 51-60.*7Ellis, D. et al. "On the Measurement of Inter-Linker Consistency and Retrieval Effectiveness in Hypertext Databases", Proceedings of the 17th Annual Int'l ACM-SIGIR Conference on Research and Development in Information Retrieval, Aug. 1994, pp. 51-60.*8 *Folio Corporation, "Folio announces new lomegaReady software version of Folio Web Retriever is now available", press release, Dec. 5, 1996.*9 *Folio Corporation, "Folio Corporation announces Folio Web Retriever 2.0", press release, Jun. 17, 1996.*10 *Folio Corporation, "Folio Views 2.1 Infobase Users Guide", Jun. 1991. QA76.7555.F65 1991.*11 *Folio Corporation, "Folio Views 3.1 Infobase Management Software: Infobase Production Kit Version 3.1", Chapter 6, pp. 117-142, Sep. 8, 1994. QA76.755.F655 1994.*12 *Folio Corporation, "Folio Views 4.0: Getting Started", Oct. 25, 1996. QA76.755.F65 1996.*13 *Haskin, D. "Taming the Net", Computer Shopper, vol. 16, No. 12, Dec. 1996, pp. 576-583.*14 *Hastings, B. "WebEx: Download Now, Hyperbrowse Later", PC World, vol. 14, No. 10, Oct. 1996, p. 98.*15 *Heck, M. "Web Retriever Converts Sites into Editable Databases", InfoWorld, Oct. 7, 1996, p. IW4.*16 *Mendelson, E. "Off-Line Browsers", in The 1997 Utility Guide, PC Magazine, vol. 16, No. 7, Apr. 8, 1997, pp. 207-218.*17 *Rada, R. "Converting a Textbook to Hypertext", ACM Transactions on Information Systems, vol. 10, No. 3, Jul. 1992, pp. 294-315.*18 *Rus, D. and Subramanian, D. "Information Retrieval, Information Structure, and Information Agents", in "Intelligent Hypertext:Advanced Techniques for the World Wide Web", Nicholas, C. and Mayfield, J., eds., Berlin:Springer-Verlag, 1997, pp. 145-182.*19 *Seybold Publications Inc., "Editorial Aid-The Offline Browser", Seybold Report on Desktop Publishing, vol. 10, No. 11, Jul. 8, 1996.*20Seybold Publications Inc., "Editorial Aid—The Offline Browser", Seybold Report on Desktop Publishing, vol. 10, No. 11, Jul. 8, 1996.*21Sheryl Canter, Folio Web Retriever, PC Magazine "The 1997 Utility Guide", 1997, Ziff-Davis Inc., New York, NY.22 *Wang, W. and Rada, R. "Experiences with Semantic Net Based Hypermedia", International Journal of Human-Computer Studies, vol. 43, No. 3, 1995, pp. 419-439.*23 *Zheng, M., and Rada, R. "Text-Hypertext Mutual Conversion and Hypertext Interchange through SGML", Proceedings of the 2<nd >International Conference on Information and Knowledge Management, Nov. 1993, pp. 139-147.*24Zheng, M., and Rada, R. "Text-Hypertext Mutual Conversion and Hypertext Interchange through SGML", Proceedings of the 2nd International Conference on Information and Knowledge Management, Nov. 1993, pp. 139-147.** Cited by examinerReferenced byCiting PatentFiling datePublication dateApplicantTitleUS7051085 *Apr 19, 2000May 23, 2006Tae Gyu LeeRemote saving method of the search information on the internetUS7099902 *Dec 13, 2002Aug 29, 2006Sun Microsystems, Inc.Checkout and replace scriptUS7155427 *Oct 30, 2002Dec 26, 2006Oracle International CorporationConfigurable search tool for finding and scoring non-exact matches in a relational databaseUS7191436 *Mar 8, 2001Mar 13, 2007Microsoft CorporationComputer system utility facilitating dynamically providing program modifications for identified programsUS7340456 *Nov 19, 2004Mar 4, 2008Govers Property Mgmt Limited Liability CompanySystem, apparatus and method for using and managing digital informationUS7412478 *Jan 29, 2001Aug 12, 2008Marger Johnson & Mccollom, P.C.Rich media file format and delivery methodsUS7424471Jan 8, 2007Sep 9, 2008Lsr TechnologiesSystem for searching network accessible data setsUS7440964 *Aug 29, 2003Oct 21, 2008Vortaloptics, Inc.Method, device and software for querying and presenting search resultsUS7453379Mar 12, 2007Nov 18, 2008Citrix Systems, Inc.Systems and methods for identifying long matches of data in a compression historyUS7460038Mar 12, 2007Dec 2, 2008Citrix Systems, Inc.Systems and methods of clustered sharing of compression historiesUS7505956 *May 17, 2002Mar 17, 2009International Business Machines CorporationMethod for classificationUS7532134Mar 12, 2007May 12, 2009Citrix Systems, Inc.Systems and methods for sharing compression histories between multiple devicesUS7552395 *Apr 25, 2005Jun 23, 2009Neale Richard SGraphical user interface for building boolean queries and viewing search resultsUS7562104 *Jul 14, 2009Microsoft CorporationMethod and system for collecting contact information from contact sources and tracking contact sourcesUS7577641 *Sep 7, 2004Aug 18, 2009Sas Institute Inc.Computer-implemented system and method for analyzing search queriesUS7590647 *May 27, 2005Sep 15, 2009Rage Frameworks, IncMethod for extracting, interpreting and standardizing tabular data from unstructured documentsUS7593925Feb 25, 2005Sep 22, 2009Microsoft CorporationMethod and system for locating contact information collected from contact sourcesUS7619545Nov 17, 2009Citrix Systems, Inc.Systems and methods of using application and protocol specific parsing for compressionUS7620621 *May 1, 2001Nov 17, 2009General Electric CompanyMethods and system for providing context sensitive informationUS7630999 *Jul 15, 2005Dec 8, 2009Microsoft CorporationIntelligent container index and searchUS7653945 *Feb 22, 2006Jan 26, 2010Shield Security Systems, L.L.C.Interactive key control system and method of managing access to secured locationsUS7668888 *May 17, 2004Feb 23, 2010Sap AgConverting object structures for search enginesUS7702913Aug 29, 2005Apr 20, 2010Shield Security Systems, LlcInteractive security control system with real time activity reportsUS7711622Mar 5, 2008May 4, 2010Stephen M MarceauFinancial statement and transaction image delivery and access systemUS7734634Mar 3, 2008Jun 8, 2010Dirk RodenburgSystem, apparatus and method for using and managing digital informationUS7788293 *Mar 1, 2006Aug 31, 2010Google Inc.Generating structured informationUS7801942Sep 19, 2007Sep 21, 2010Marger Johnson & Mccollom, P.C.Rich media file format and delivery methodsUS7814134Jun 22, 2004Oct 12, 2010Leonardos Gustavo SSystem and method for providing integrated management of electronic informationUS7827237Mar 12, 2007Nov 2, 2010Citrix Systems, Inc.Systems and methods for identifying long matches of data in a compression historyUS7840010Dec 19, 2005Nov 23, 2010Shield Security Systems, LlcInteractive security control system with conflict checkingUS7844823Oct 28, 2005Nov 30, 2010Shield Security Systems, LlcInteractive security control system with conflict checkingUS7853586 *Dec 14, 2010Google Inc.Highlighting occurrences of terms in documents or search resultsUS7865585Mar 12, 2007Jan 4, 2011Citrix Systems, Inc.Systems and methods for providing dynamic ad hoc proxy-cache hierarchiesUS7872597Jan 18, 2011Citrix Systems, Inc.Systems and methods of using application and protocol specific parsing for compressionUS7895538 *Feb 22, 2011International Business Machines CorporationSystem and method for providing a common instruction tableUS7895578 *Jun 9, 2006Feb 22, 2011Business Objects Software Ltd.Apparatus and method for using connector components to provide connectivity to interactive graphics representative of input and output dataUS7916047Mar 29, 2011Citrix Systems, Inc.Systems and methods of clustered sharing of compression historiesUS7921365Apr 5, 2011Microsoft CorporationSystem and method for browsing tabbed-heterogeneous windowsUS7970768 *Jun 28, 2011Microsoft CorporationContent data indexing with content associationsUS7987189Aug 20, 2007Jul 26, 2011Microsoft CorporationContent data indexing and result rankingUS8020087 *Sep 13, 2011Sony CorporationProgram, information processing method, and information processing apparatus for indicating a search term in accordance with a user operationUS8050495Aug 31, 2007Nov 1, 2011Marger Johnson & Mccollom, P.C.Rich media file format and delivery methodsUS8051127Nov 1, 2011Citrix Systems, Inc.Systems and methods for identifying long matches of data in a compression historyUS8063799Mar 30, 2009Nov 22, 2011Citrix Systems, Inc.Systems and methods for sharing compression histories between multiple devicesUS8145654 *Mar 27, 2012Lexisnexis GroupSystems and methods for document searchingUS8161064Apr 17, 2012Lsr TechnologiesSystem for searching network accessible data setsUS8176027 *May 8, 2012Navteq B.V.Spatial index for data filesUS8176113Jul 16, 2008May 8, 2012Marger Johnson & Mccollom, P.C.Rich media file format and delivery methodsUS8182270 *Jul 31, 2003May 22, 2012Intellectual Reserve, Inc.Systems and methods for providing a dynamic continual improvement educational environmentUS8185432May 8, 2009May 22, 2012Sas Institute Inc.Computer-implemented systems and methods for determining future profitabilityUS8255570Aug 28, 2012Citrix Systems, Inc.Systems and methods of compression history expiration and synchronizationUS8321400Sep 8, 2009Nov 27, 2012Vortaloptics, Inc.Method, device and software for querying and presenting search resultsUS8326817 *May 13, 2009Dec 4, 2012Sas Institute Inc.Computer-implemented system and method for analyzing search queriesUS8346859Jan 1, 2013Google Inc.Method, system, and graphical user interface for dynamically updating transmission characteristics in a web mail replyUS8352605Dec 29, 2010Jan 8, 2013Citrix Systems, Inc.Systems and methods for providing dynamic ad hoc proxy-cache hierarchiesUS8364663Jan 29, 2013Microsoft CorporationTokenized javascript indexing systemUS8386464Feb 26, 2013National Instruments CorporationConfiguration of optimized custom properties in a data finder toolUS8396944Apr 16, 2012Mar 12, 2013Marger Johnson & Mccollom, P.C.Rich media file format and delivery methodsUS8473331Mar 29, 2012Jun 25, 2013Sas Institute Inc.Computer-implemented systems and methods for determining future profitabilityUS8489607 *Nov 10, 2009Jul 16, 2013General Electric CompanyMethods and system for providing context sensitive informationUS8522675May 21, 2010Sep 3, 2013Prince Castle, LLCHolding cabinet for separately heating food traysUS8533274Nov 13, 2009Sep 10, 2013Google Inc.Retrieving and snoozing categorized conversations in a conversation-based email systemUS8554852Oct 19, 2010Oct 8, 2013Google Inc.System and method for targeting advertisements or other information using user geographical informationUS8560559 *Dec 10, 2004Oct 15, 2013Google Inc.Highlighting occurrences of search termsUS8560615Jul 12, 2010Oct 15, 2013Google Inc.Displaying conversation views in a conversation-based email systemUS8583747Nov 13, 2009Nov 12, 2013Google Inc.Labeling messages of conversations and snoozing labeled conversations in a conversation-based email systemUS8600972Feb 23, 2012Dec 3, 2013Lexisnexis, A Division Of Reed Elsevier Inc.Systems and methods for document searchingUS8601004Dec 6, 2005Dec 3, 2013Google Inc.System and method for targeting information items based on popularities of the information itemsUS8601062Aug 6, 2004Dec 3, 2013Google Inc.Providing snippets relevant to a search query in a conversation-based email systemUS8607587May 19, 2010Dec 17, 2013Prince Castle LLCRefrigerated point-of-use holding cabinetUS8621022Sep 14, 2012Dec 31, 2013Google, Inc.Primary and secondary recipient indicators for conversationsUS8626851Sep 28, 2010Jan 7, 2014Google Inc.Email conversation management systemUS8667807Aug 6, 2012Mar 11, 2014Prince Castle LLCRefrigerated point-of-use holding cabinetUS8682859Oct 19, 2007Mar 25, 2014Oracle International CorporationTransferring records between tables using a change transaction logUS8700717Sep 28, 2010Apr 15, 2014Google Inc.Email conversation management systemUS8713444Mar 8, 2011Apr 29, 2014Microsoft CorporationSystem and method for browsing tabbed-heterogeneous windowsUS8738744Feb 14, 2013May 27, 2014Marger Johnson & Mccollom PcRich media file format and delivery methodsUS8775443 *Aug 6, 2004Jul 8, 2014Sap AgRanking of business objects for search enginesUS8782156Sep 14, 2012Jul 15, 2014Google Inc.Enhanced message displayUS8786473Oct 18, 2011Jul 22, 2014Citrix Systems, Inc.Systems and methods for sharing compression histories between multiple devicesUS8832300Aug 6, 2012Sep 9, 2014Citrix Systems, Inc.Systems and methods for identifying long matches of data in a compression historyUS8874023May 21, 2012Oct 28, 2014Intellectual Reserve, Inc.Systems and methods for providing a dynamic continual improvement educational environmentUS8972409Aug 29, 2011Mar 3, 2015Google Inc.Enabling search for conversations with two messages each having a query teamUS9002725Aug 29, 2005Apr 7, 2015Google Inc.System and method for targeting information based on message contentUS9003820Apr 20, 2010Apr 14, 2015Prince Castle LLCPoint-of-use holding cabinetUS9009142Aug 29, 2011Apr 14, 2015Google Inc.Index entries configured to support both conversation and message based searchingUS9015257Sep 14, 2012Apr 21, 2015Google Inc.Labeling messages with conversation labels and message labelsUS9015264Nov 22, 2013Apr 21, 2015Google Inc.Primary and secondary recipient indicators for conversationsUS9037601Aug 29, 2011May 19, 2015Google Inc.Conversation system and method for performing both conversation-based queries and message-based queriesUS9063989May 22, 2013Jun 23, 2015Google Inc.Retrieving and snoozing categorized conversations in a conversation-based email systemUS9063990Dec 2, 2013Jun 23, 2015Google Inc.Providing snippets relevant to a search query in a conversation-based email systemUS9068768Nov 30, 2012Jun 30, 2015Prince Castle LLCRefrigerated point-of-use holding cabinet with downloadable softwareUS9069852 *Oct 25, 2006Jun 30, 2015Facebook, Inc.Enabling a search for both local and remote electronic contentUS9071566Sep 14, 2012Jun 30, 2015Google Inc.Retrieving conversations that match a search queryUS9124543Sep 14, 2012Sep 1, 2015Google Inc.Compacted mode for displaying messages in a conversationUS9140484Feb 25, 2014Sep 22, 2015Prince Castle LLCRefrigerated point-of-use holding cabinet using chilled liquidUS9140485Feb 27, 2014Sep 22, 2015Prince Castle LLCRefrigerated point-of-use holding cabinet using peltier devicesUS9158786Oct 1, 2014Oct 13, 2015Bertram Capital Management, LlcDatabase selection system and method to automatically adjust a database schema based on an input dataUS9262455Oct 30, 2013Feb 16, 2016Google Inc.Indexing quoted text in messages in conversations to support advanced conversation-based searchingUS9275206 *Jan 23, 2013Mar 1, 2016International Business Machines CorporationManaging sensitive informationUS9356894Sep 14, 2012May 31, 2016Facebook, Inc.Enabled and disabled menu choices based on presence stateUS9360329 *Apr 24, 2008Jun 7, 2016Sony CorporationNavigation device and position registration methodUS9360996Feb 14, 2012Jun 7, 2016Facebook, Inc.Intelligently enabled menu choices based on online presence state in address bookUS9363213Sep 15, 2012Jun 7, 2016Facebook, Inc.E-mail integrated instant messagingUS9378190 *May 6, 2013Jun 28, 2016Google Inc.Word processor data organizationUS9395865Dec 26, 2012Jul 19, 2016Google Inc.Systems, methods, and graphical user interfaces for concurrent display of reply message and multiple response optionsUS9418105Apr 2, 2014Aug 16, 2016Google Inc.Email conversation management systemUS9418154 *Oct 19, 2007Aug 16, 2016Oracle International CorporationPush-model based index updatingUS20020038223 *Sep 25, 2001Mar 28, 2002Ryo NiitsumaApparatus, method and program for creating information to be providedUS20030028619 *Jul 31, 2001Feb 6, 2003International Business Machines CorporationLinking user-defined panels to existing product panelsUS20030042319 *Aug 31, 2001Mar 6, 2003Xerox CorporationAutomatic and semi-automatic index generation for raster documentsUS20030135430 *May 17, 2002Jul 17, 2003International Business Machines CorporationMethod and apparatus for classificationUS20030226116 *Mar 7, 2003Dec 4, 2003Katie KuwataMethod and system for implementing a historical bufferUS20040117412 *Dec 13, 2002Jun 17, 2004Sun Microsystems, Inc.Checkout and replace scriptUS20040205666 *Oct 5, 2001Oct 14, 2004Poynor Todd AllanSystem and method for anticipated file editingUS20040237037 *Jun 27, 2003Nov 25, 2004Xerox CorporationDetermination of member pages for a hyperlinked document with recursive page-level link analysisUS20050021542 *May 17, 2004Jan 27, 2005Klaus IrleConverting object structures for search enginesUS20050026131 *Jul 31, 2003Feb 3, 2005Elzinga C. BretSystems and methods for providing a dynamic continual improvement educational environmentUS20050050014 *Aug 29, 2003Mar 3, 2005Gosse David B.Method, device and software for querying and presenting search resultsUS20050080774 *Aug 6, 2004Apr 14, 2005Tatjana JanssenRanking of business objects for search enginesUS20050187949 *Nov 19, 2004Aug 25, 2005Dirk RodenburgSystem, apparatus and method for using and managing digital informationUS20050188300 *Jun 27, 2003Aug 25, 2005Xerox CorporationDetermination of member pages for a hyperlinked document with link and document analysisUS20050192953 *Apr 25, 2005Sep 1, 2005Kendyl A. Romah And Data Ace IncGraphical user interface for building boolean queries and viewing search resultsUS20060020817 *Aug 29, 2005Jan 26, 2006Shield Security Systems, L.L.C.Interactive security control system with real time activity reportsUS20060053095 *Sep 7, 2004Mar 9, 2006Koch Donald OComputer-implemented system and method for analyzing search queriesUS20060123486 *Oct 28, 2005Jun 8, 2006Shield Security Systems, L.L.C.Interactive security control system with conflict checkingUS20060137026 *Dec 19, 2005Jun 22, 2006Shield Security Systems, L.L.C.Interactive security control system with conflict checkingUS20060184508 *May 1, 2001Aug 17, 2006Fuselier Christopher SMethods and system for providing context sensitive informationUS20060195422 *Feb 25, 2005Aug 31, 2006Microsoft CorporationMethod and system for collecting contact information from contact sources and tracking contact sourcesUS20060195472 *Feb 25, 2005Aug 31, 2006Microsoft CorporationMethod and system for aggregating contact information from multiple contact sourcesUS20060195474 *Feb 25, 2005Aug 31, 2006Microsoft CorporationMethod and system for locating contact information collected from contact sourcesUS20060200478 *Mar 1, 2006Sep 7, 2006Egon PasztorGenerating structured informationUS20060206719 *Feb 22, 2006Sep 14, 2006Shield Security Systems, L.L.C.Interactive key control system and method of managing access to secured locationsUS20060268758 *Apr 28, 2006Nov 30, 2006Shield Security Systems, L.L.C.Interactive security control system with audit capabilitiesUS20060288268 *May 27, 2005Dec 21, 2006Rage Frameworks, Inc.Method for extracting, interpreting and standardizing tabular data from unstructured documentsUS20070006144 *Jun 9, 2006Jan 4, 2007Business Objects, S.A.Apparatus and method for using connector components to provide connectivity to interactive graphics representative of input on output dataUS20070016546 *Jul 15, 2005Jan 18, 2007Microsoft CorporationIntelligent container index and searchUS20070050346 *Oct 25, 2006Mar 1, 2007Aol LlcEnabling a Search for Both Local and Remote Electronic ContentUS20070088706 *Jan 27, 2006Apr 19, 2007Goff Thomas CMethods and devices for simultaneously accessing multiple databasesUS20070169035 *Sep 30, 2003Jul 19, 2007Siemens AgMethod and system for configuring the language of a computer programUS20070214491 *Feb 28, 2007Sep 13, 2007Shield Security Systems, L.L.C.Interactive security control system and method with automated order submission and approval processUS20070279431 *Apr 23, 2007Dec 6, 2007Sony CorporationProgram, information processing method, and information processing apparatusUS20070282822 *Aug 20, 2007Dec 6, 2007Microsoft CorporationContent data indexing with content associationsUS20080010277 *Sep 19, 2007Jan 10, 2008Marger Johnson & Mccollom, P.C. An Oregon CorporationRich media file format and delivery methodsUS20080016085 *Oct 9, 2007Jan 17, 2008Goff Thomas CMethods and Systems For Simultaneously Accessing Multiple DatabsesUS20080028286 *Jul 27, 2006Jan 31, 2008Chick Walter FGeneration of hyperlinks to collaborative knowledge bases from terms in textUS20080046457 *Mar 26, 2007Feb 21, 2008Andreas Peter HaubConfiguration of Optimized Custom Properties in a Data Finder ToolUS20080168035 *Jan 8, 2007Jul 10, 2008Lsr TechnologiesSystem for searching network accessible data setsUS20080195599 *Feb 14, 2007Aug 14, 2008Zh Computer, Inc.Hyperlink content abstractionUS20080215515 *Mar 3, 2008Sep 4, 2008Govers Property Management Limited Liability CompanySystem, apparatus and method for using and managing digital informationUS20080224902 *Mar 12, 2007Sep 18, 2008Allen SamuelsSystems and methods of using application and protocol specific parsing for compressionUS20080224903 *Mar 12, 2007Sep 18, 2008Allen SamuelsSystems and methods for sharing compression histories between multiple devicesUS20080224906 *Mar 12, 2007Sep 18, 2008Robert PlamondonSystems and methods for identifying long matches of data in a compression historyUS20080228850 *Mar 12, 2007Sep 18, 2008Allen SamuelsSystems and methods of clustered sharing of compression historiesUS20080256435 *Jan 25, 2008Oct 16, 2008Citation Technologies, Inc.Interconnection of Document Preparation, Document Viewing, and Alert Processing in Structured DocumentsUS20080275886 *Jul 16, 2008Nov 6, 2008Marger Johnson & Mccollom, P.C.Rich media file format and delivery methodsUS20080281511 *Apr 24, 2008Nov 13, 2008Sony CorporationNavigation device and position registration methodUS20080294673 *May 25, 2007Nov 27, 2008Microsoft CorporationData transfer and storage based on meta-dataUS20080319955 *Sep 2, 2008Dec 25, 2008John DouglassWeb browser page rating systemUS20090030896 *Jul 22, 2008Jan 29, 2009Autiq AsInference search engineUS20090106196 *Oct 19, 2007Apr 23, 2009Oracle International CorporationTransferring records between tables using a change transaction logUS20090106216 *Oct 19, 2007Apr 23, 2009Oracle International CorporationPush-model based index updatingUS20090106324 *Oct 19, 2007Apr 23, 2009Oracle International CorporationPush-model based index deletionUS20090106325 *Oct 19, 2007Apr 23, 2009Oracle International CorporationRestoring records using a change transaction logUS20090210387 *Feb 20, 2008Aug 20, 2009International Business Machines CorporationSystem and method for providing a common instruction tableUS20090222426 *May 13, 2009Sep 3, 2009Koch Donald OComputer-Implemented System And Method For Analyzing Search QueriesUS20090228382 *Mar 5, 2008Sep 10, 2009Indacon, Inc.Financial Statement and Transaction Image Delivery and Access SystemUS20090319510 *Jun 20, 2008Dec 24, 2009David James MillerSystems and methods for document searchingUS20100057799 *Nov 10, 2009Mar 4, 2010Christopher Scott FuselierMethods and system for providing context sensitive informationUS20100070493 *Nov 24, 2009Mar 18, 2010Lsr TechnologiesSystem for searching network accessible data setsUS20100076980 *Mar 25, 2010Microsoft CorporationTokenized javascript indexing systemUS20100131484 *Sep 8, 2009May 27, 2010Gosse David BMethod, device and software for querying and presenting search resultsUS20100287034 *Nov 11, 2010David Carter PopeComputer-Implemented Systems and Methods for Determining Future ProfitabilityUS20100293203 *Nov 18, 2010Henry Roberts WilliamsUser interface for graph database dataUS20100293242 *Nov 18, 2010Buchheit Paul TConversation-Based E-Mail MessagingUS20110114618 *Nov 16, 2009May 19, 2011Prince Castle, IncUniversal food holding cabinet with snap-in escutcheonsUS20110114624 *May 19, 2011Prince Castle, IncFood holding cabinet power supplies with downloadable softwareUS20110114625 *Nov 16, 2009May 19, 2011Prince Castle, IncFood holding cabinet with self-aligning and addressable power suppliesUS20110161828 *Jun 30, 2011Microsoft CorporationSystem and Method for Browsing Tabbed-Heterogeneous WindowsUS20110184813 *Jul 28, 2011Cbs Interactive, Inc.Targeting offers to users of a web siteUS20110314395 *Jun 17, 2010Dec 22, 2011Microsoft CorporationSequential and non-sequential access to records within a listUS20130066907 *Mar 14, 2013Surendra GoelEnabling a Search for Both Local and Remote Electronic ContentUS20130275526 *Mar 4, 2013Oct 17, 2013Facebook, Inc.Providing supplemental contact information corresponding to a referenced individualUS20140208225 *Jan 23, 2013Jul 24, 2014International Business Machines CorporationManaging sensitive informationUS20150193382 *May 6, 2013Jul 9, 2015Google Inc.Word Processor Data OrganizationCN101223517BJun 30, 2006May 19, 2010微软公司Intelligent container index and search method and systemCN103019514A *Dec 3, 2012Apr 3, 2013广东欧珀移动通信有限公司Method and device for arranging and displaying informationCN103019514B *Dec 3, 2012Apr 6, 2016广东欧珀移动通信有限公司一种信息排列显示方法及装置WO2007011527A2 *Jun 30, 2006Jan 25, 2007Microsoft CorporationIntelligent container index and searchWO2007044313A1 *Oct 2, 2006Apr 19, 2007Microsoft CorporationSimultaneously spawning multiple searches across multiple providers* Cited by examinerClassifications U.S. Classification1/1, 715/205, 707/E17.013, 707/E17.005, 707/E17.116, 709/217, 707/999.002, 707/999.01, 707/999.102, 707/999.006International ClassificationG06F7/00, G06F17/30Cooperative ClassificationY10S707/99943, Y10S707/99936, Y10S707/99932, G06F17/3089, G06F17/30882European ClassificationG06F17/30W5H, G06F17/30S, G06F17/30W7Legal EventsDateCodeEventDescriptionMar 12, 1999ASAssignmentOwner name: INTERGRATED DATA CONTROL, INC., TEXASFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:JENSEN, ROBERT L.;SMITH, DANIEL V.;REEL/FRAME:012750/0497Effective date: 19990224Mar 11, 2008FPAYFee paymentYear of fee payment: 4Oct 11, 2010ASAssignmentOwner name: INDACON, INC., TEXASFree format text: CHANGE OF NAME;ASSIGNOR:INTEGRATED DATA CONTROL, INC.;REEL/FRAME:025114/0436Effective date: 20070626Nov 30, 2010CCCertificate of correctionDec 21, 2011FPAYFee paymentYear of fee payment: 8Jan 17, 2012CCCertificate of correctionDec 22, 2015FPAYFee paymentYear of fee payment: 12RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services