CA2216719A1 - Method and apparatus for improved information storage and retrieval system - Google Patents

Method and apparatus for improved information storage and retrieval system Download PDF

Info

Publication number
CA2216719A1
CA2216719A1 CA002216719A CA2216719A CA2216719A1 CA 2216719 A1 CA2216719 A1 CA 2216719A1 CA 002216719 A CA002216719 A CA 002216719A CA 2216719 A CA2216719 A CA 2216719A CA 2216719 A1 CA2216719 A1 CA 2216719A1
Authority
CA
Canada
Prior art keywords
column
row
rows
oid
record
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA002216719A
Other languages
French (fr)
Inventor
Clay Gordon
Scott Wlaschin
Louise J. Wannier
Robert M. Gordon
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Enfish Inc
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=23514567&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CA2216719(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Individual filed Critical Individual
Publication of CA2216719A1 publication Critical patent/CA2216719A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/912Applications of a database
    • Y10S707/917Text
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/954Relational
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Abstract

The information management and database system of the present invention comprises a flexible, self-referential table that stores data. The table of the present invention may store any type of data, both structured and unstructured, and provides an interface to other application programs. The table of the present invention comprises a plurality of rows and columns. Each row has an object identification number (OID) and each column also has an OID. A row corresponds to a record and a column corresponds to a field such that the intersection of a row and a column comprises a cell that may contain data for a particular record related to a particular field, a cell may also point to another record. To enhance searching and to provide for synchronization betweem columns, columns are entered as rows in the table and the record corresponding to a column contains various information about the column. The table includes an index structure for extended queries.

Description

WO 96/3084S PCT/US96~01260 METHOD AND APPARATUS FOR Il\IPROV~3D
INFQRMATION STORAGE AND RETRIEVAL ~iYS

BACKGROUND OF THE INVENTION

1. Field of the Invention S The present invention relates generally to a method and a~paud~u~ for storing, retrieving, and di,LIibuLilJg various kinds of data, and more particularly, to an improved d~t~ba~e arcllitectllre and method for using the same.
2. Description of the Related Art Over the past 30 years, co~ JuLe.~, have become increasingly important in storing and m~naging hl~u~ alion. During this time, many database products have been developed to allow users to store and manipulate hlrullllaLion and to search for desired h~rull~ldLion. The contin--ing growth of the h~ro~ aLiOn industry creates a demand for more powerful databases.
The ~l~t~ha~e products have evolved over time. Initially, databases comprised a simple "flat file~ with an associated index. Application programs, as opposed to the ~l~t~bace prograîn itself, managed the relationships between these files and a user typically performed queries entirely at the application program level. The introduction of relational ~t:~h:l~e systems shifted many tasks from applications programs to ~i~t~l~a~e programs. The ~;ull~llLly existing ~l~t~h~ce management systems comprise two main types, those that follow the relational model and those that follow the object oriented model.
The relational model sets out a number of rules and g~lidelin~s for u-ga~ i..g data items, such as data norm~li7~tion. A relational d~t~ba~e management system (RDBMS) is a system that adheres to these rules. RDBMS
25 ~l~tab~ps require that each data item be uniquely classified as a particular instance of a 'relation'. Each set of relations is stored in a distinct 'table'. Each row in the table represents a particular data item, and each column represents an aLIIibule that is shared ûver all data items in that table.
The pure relational model places number of restrictions on data items.
30 For example, each data item cannot have alllibules other than those columns W O 96/30845 PCTrUS96/01260 described for the table. Further, an item cannot point directly to another item.Instead, 'primary keys' (unique identifiers) must be used to ,ere.ence other items. Typically, these restrictions cause RDBMS d~t~bacçs to include a large number of tables that require a relatively large amount of time to search.
5 Further, the number of tables occupies a large amount of computer memory.
The object oriented ~l~t~h:lce model, derived t'rom the object-oriented programming model, is an alternative to the relational model. Like the relational model, each data item must be rl~ccifed uniquely as belonging to a single class,which defines its aU~ibuLes. Key features of the object-oriented model are: 1) 10 each item has a unique system-generated object identification number that can be used for exact retrieval; 2) different types of data items can be stored together, and 3) prrAefined functions or behavior can be created and stored with a data item.
Apart from the limitations previously described, both the relational and 15 object oriented models share important limitations with regard to data structures and searching. Both models require data to be input according to a defined fieldstructure and thus do not completely support full text data entry. Although somedatabases allow records to include a text field, such text fields are not easilysearched. The structural requi~ s of current databases require a 20 programmer to predefine a structure and subsequent date entry must conform tothat structure. This is inefficient where it is difficult to determine the structure of the data that will be entered into a rl~t~hace.
Conversely, word and image processors that allow unstructured data entry do not provide efficient data retrieval merh~ni.cm.s and a separate text 25 retrieval or data ...anage..lent tool is required to retrieve data. Thus, the current hlru~ dlion ll-~lage~ "L systems do not provide the capability of h,~eg,à~illg full text or graphics data entry with the searching merh~ni.cm.c of a database.
The separation of database from other programs such as word processors has created a large amount of text and other files that cannot be h.~ld~ed with 30 current d:~t~h~ s. Various d~t~bace, spre~lcheet image, word processing, electronic mail and other types of files may not currently be ~ecessed in a single database that contains all of this hlr(~ dlion. Various programs provide i~,leg,alion between spre~-lcheet word processing and database programs but, as previously described, current ~~t~bacPc do not support effective searching in 35 unstructured files.

WO 96~3084S PCT~US96/01260 The present invention overcc~mei~ the limit~tions of both the relational d~t~h~e model and object oriented d~t~baie model by providing a (l~t~h~e with increased flexibility, f~ter search times and smaller memory requirements and that supports text attributes. Further, the database of the present invention does 5 not require a programmer to preconfigure a structure to which a user must adapt data entry. Many algo-iLlll~,s and techniques are required by applications that deal with these kinds of hlro-",aLion. The present invention provides for the h~L~.aLion, into a single database engine, of support for these terhni~es, and shifts the prog.a~ "illg from the application to the d~t~ e, as will be described 10 below. The present invention also provides for the i"Leg,aLion, into a single~i~t~ba~e, of prePxi~ting source files developed under various types of application programs such as other ri~t~b~c~s~ spreadsheets and word processing programs.
In addition, the present invention allows users to control all of the data that are relevant to them without sacrificing the security needs of a centralized data 15 repository.

BRIEF SUMMARY OF THE INVENTION
The present invention improves upon prior art hlru....àLion search and retrieval systems by employing a flexible, self-,ere-el,Lial table to store data.
The table of the present invention may store any type of data, both structured 20 and unstructured, and provides an interface to other application programs such as word processors that allows for integration of all the data for such applicationprograms into a single r~t~h~e The present invention also supports a variety of other features including hypertext.
The table of the present invention comprises a plurality of rows and 25 columns. Each row has an object identific~tion number (OID) and each column also has an OID. A row co..c~yonds to a record and a column corresponds to an aLLlibuLte such that the intersection of a row and a column comprises a cell that may contain data for a particular record related to a particular aLLIibuLe. A cell may also point to another record. To enhance searching and to provide for 30 syn.,Lrolli,aLion between columns, columns are entered as rows in the table and the record coll~yondhlg to a column contains various i~ru~ dlion about the column. This renders the table self r~,r~,e"Lial and provides numerous advantages, as will be ~ c~ ed in this Specific~ti--n.

W 096/30845 PCTrUS96/01260 The present invention includes an index structure to allow for rapid searches. Text from each cell is stored in a key word index which itself is stored in the table. The text cells include pointers to the entries in the key word index and the key word index contains pointers to the cells. This two way S association provides for extended queries. The invention further includes weights and filters for such extended queries.
The present invention includes a thesaurus and knowledge base that enhances indexed searches. The thesaurus is stored in the table and allows a user to search for synonyms and concepts and also provides a weighting 10 merh~nicm to rank the relevance of retrieved records.
An application support layer includes a word processor, a password system, hypertext and other functions. The novel word processor of the present invention is integrated with the table of the present invention to allow cells to be edited with the word processor. In addition, the table may be interfaced with 15 external documents which allows a user to retrieve data from external documents according to the çnh~nced retrieval system of the present invention.
These and numerous other advantages of the present invention will be appa,enL from the following description.

W 096130845 PCT~US96~01260 BRIEF DESCRIPTION OF THE DRAWINGS
~ G. 1 is a functional block diagram illustrating one possible computer system incorporating the te~ching~ of the present invention.

~ G. 2 is a block diagram illustrating the main components of the ~ 5 present invention.

FIG. 3 illustrates the table structure of the database of the present invention.

FIG. 4 is a flow chart for a method of computing object identification numbers (OID's) that define rows and columns in the table of Fig. 1.

FIG. ~ is a part of the table of Fig. 2 illustrating the column synchronization feature of the present invention.

FIG. 6 is a flow chart for a method of searching the table of Flg. 2.

FIG. 7~ is a flow chart for synchronizing columns of the table of Flg. 2.

FIG. 7b illustrates the results of column synchronization.

FIG. 8~ illustrates a reference within one column to another column.

FIG. 8b illustrates an alternate embodiment for referring to another column within a column.

FIG. 9 illustrates a "Record Contents" column of the present invention that indicates which columns of a particular record have values.

~G. 10 illustrates a folder structure that organizes records. The folder structure is stored within the table of Fig. 2.

W 096/30845 PCTrUS96/01260 FIG. 11 illustrates the correspondence between cells of the table of Fi~. 2 and a sorted key word index.

~ G. 12 illustrate the "anchors" within a cell that relate a word in a cell to a key word index record.

FIG. 13 illustrates key word index records stored in the table of Fig. 2.

FIG. 14 illustrates the relationship between certain data records and key word index records.

FIG. 15 illustrates the relationship of Fi~. 14 in graphical form.

FIG. 16a illustrates an extended search in graphical form.

FIG. 161) illustrates a further extended search in graphical form.

FIG. 17 illustrates the thesaurus structure of the present invention stored inthetableofFig.2.

FIG. 18 illustrates prior art hypertext.

FIG. 19 illustrates the hypertext features of the present invention.

FIG. 20a illustrates a character and word box structure of the word processor of the present invention.

FIG. 201~ illustrates the word and horizontal line box structure of the word processor of the present invention.

FIG. 20c illustrates the vertical box structure of the word processor of the present invention.

FIG. 21 illustrates the box tree structure of the word processor of the present invention.

FIG. 22a illustrates the results of a prior art sorting algorithm.

FIG. 22b illustrates the results of a sorting alogrithm according to the 5 present invention.

FIG. 23 illustrates the corresr)ondence between cells of the table of F.~. 2 and a sorted date index.

W 096/30845 PCTrUS96/01260 NOTATION AND NOMENCLATURE

The detailed descriptions which follow are presented largely in terms of algorithms and symbolic representations of operations on data bits within a co~ u~er memory. These descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art.
An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. These steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, 10 these quantities take the form of electrical or magnetic signals capable of being stored, l~alls~e-led, combined, compared, and otherwise manipulated. It proves convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. It should be borne in mind, however, that all of these and similar terms 15 are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities.
Further, the manipulations performed are often referred to in terms, such as adding or comparing, which are commonly associated with mental operations performed by a human operator. No such capability of a human operator is 20 necessary, or desirable in most cases, in any of the operations described herein which form part of the present invention; the operations are m~chine operations.Useful machines for performing the operations of the present invention include general purpose digital computers or other similar digital devices. In all casesthere should be borne in mind the distinction between the method operations in 25 operating a computer and the method of computation itself. The present invention relates to method steps for operating a computer in processing electrical or other (e.g., mech~nical, chemical) physical signals to generate other desired physical signals.
The present invention also relates to apparatus for performing these 30 operations. This apparatus may be specially constructed for the required purposes or it may comprise a general purpose computer as selectively activated or reconfigured by a computer program stored in the computer. The algorithms presented herein are not inherently related to a particular computer or other apparatus. In particular, various general purpose machines may be used with WO 96130845 PCT~US96/0~260 programs written in accordance with the te~chin~s herein, or it may prove more convenient to construct more specialized apl)alaLus to perform the required method steps. The required structure for a variety of these m~rhin~s will appearfrom the description given below.

I)ETAILED DESCRIPI'ION OF THE INVENTlON
The present invention discloses methods ând à~)pâlaluS for data storage, manipulation and retrieval. Although the present invention is described with reference to specific block diagrams, and table entries, etc., it will be ~.eci~led by one of ordinary skill in the art that such details are disclosed simply to provide a more thorough underst~nding of the present invention. It will therefore be ~p~,.lL to one skilled in the art that the present invention may be practiced without these specific details.

Rerer~..ce to A,~ ..di~es and CI~P~ Notice Although the detailed description provides a complete disclosure of the 15 invention, Appendices including source and object code disks of the inventionand a sample database printout accol,lpâny this Specification. The appendix contains material protected under copyright law. The material in the appendices may be reproduced as it appears in the Patent and Trademark Office patent file or records but the owner reserves all other copyright rights in the appendices.

System II~rd~.. ~
Referring to Flgure 1, the hardware configuration of the present invention is conceptually illustrated. Flgure 1 illustrates an inrollllalion storage and retrieval system structured in accordance with the te~rhing~ of the present invention. As illustrated, the inro..,.dion storage and retrieval system includes a 25 computer 23 which comprises four major components. The first of these is an input/output (I/O) circuit 22, which is used to communicate hlr~ alion in d~,p-up-iately structured form to and from other portions of the co--.pu~ 23. Inaddition, col--~uLer 20 includes a central processing unit (CPU) 24 coupled to the I/O circuit 22 and to a memory 26. These elements are those typically found in 30 most colll~lle-~ and, in fact, com~ Ler 23 is intended to be representative of a broad càLegol~ of data processing devices.

W 0,96/30845 PCTrUS96101260 Also shown in Flgure 1 is a keyboard 30 for inputting data and co.. ;~ lc into co~ le, 23 through the I/O circuit 22, as is well known.
Similarly, a CD ROM 34 is coupled to the l/O circuit 22 for providing additional pro~.al~,."i~g capacity to the system illustrated in Fl~ure 1. It will be 5 appreciated that additional devices may be coupled to the computer 20 for storing data, such as magnetic tape drives, buffer memory devices, and the like. A
device control 36 is coupled to both the memory 26 and the I/O circuit Z2, to permit the cc,.,.pu~e. 23 to co-"~l-. nicate with multi-media system .esoufces. The device control 36 controls operation of the multi-media resources to interface the 10 multi-media resources to the co",pul~, 23.
A display monitor 43 is coupled to the computer 20 through the I/O
circuit 22. A cursor control device 45 includes switches 47 and 49 for signally the CPU 24 in accordance with the te~hingc of the present invention. A cursor control device 45 (collllllollly referred to a "mouse") permits a user to select15 various co~"~"and modes, modify graphic data, and input other data utilizing switches 47 and 49. More particularly, the cursor control device 45 permits a user to selectively position a cursor 39 at any desired location on a display screen 37 of the display 43. It will be a~,precialed that the cursor control device 45 and the keyboard 30 are examples of a variety of input devices which may be 20 utilized in acco,da"ce with the te~hing.c of the present invention. Other input devices, including for example, tracl~ballc, touch screens, data gloves or othervirtual reality devices may also be used in conjunction with the invention as disclosed herein.

System Ar~l,;t~lu. e Flgure 2 is a block diagram of the h~ro""alion storage and retrieval system of the present invention. As illustrated in the Figure, the present invention includes an internal ~l~t~h~ce 52 that further includes a record oriented d~t~hace 74 and a free-text d~t~bace 76. The database 52 may receive data from 30 a plurality of external sources 50, including word processing documents 58, sp,eadsl-eets 60 and ~l~t~h~ce files 62. As will be described more fully below, the present invention includes an application support system that interfaces theexternal sources S0 with the database 52.

W 096/30845 PCTAUS96~01260 To efficiently retrieve information stored in the ~l~t~h~e 52, a plurality of indexes 54 including a keyword index 78 and other types of indexes such as phonetic, special sorting for other languages, and market specific such as chemical, legal and medical, store sorted hl~u~ aliOn provided by the d~t~ha~e 52. To organize the hlru~ àlion in the indexes 54, a knowledge system 56 links i"~""alion existing in the indexes 54.
The orga~ ion illustrated in Flgure 2 is for conceptual purposes and, in actuality, the database 52, the indexes 54 and the knowledge system 56 are stored in the same table, as will be described more fully below. This Specification will first describe the structure and features of the database S2.Next, the Specification will describe the index 54 and its implement~tion for searching the database S2. The Specification will then describe the knowledge system 56 that further enh~nres the index S4 by providing synonyms and other elements. Finally, the Specification will describe an interface between the external application prograrns 50 and the database 52, including a novel structured word processor and a novel password scheme.
Fl~ure 3 illustrates the storage and retrieval structure of the present invention. The storage and retrieval structure of the present invention comprises a table 100. The structure of the table l00 is a logical structure and not necl~$~rjly a physical structure. Thus, the memories 26 and 32 configured acco,dhlg to the te~rhings of the present invention need not store the table 100contiguously.

The table 100 further comprises a plurality of rows 110 and a plurality of columns 120. A row co"~,~ollds to a record while a column corresponds to an attribute of a record and the defining characteristics of the column are stored in a row 108. The intersection of a row and a column comprises a particular cell.
Each row is assigned a unique object identification number (OID) stored in column 120 and each column also is ~ gned a unique OID, indicated in brackets and stored in row 108. For example, row 110 has an OID equal to 1100 while the column 122 has an OID equal to l01. As will be described more ~ fully below, the OID's for both rows and columns may be used as pointers and a W 096/30845 PCTrUS96/01260 cell 134 may store an OID. The method for assigning the OID's will also be ~liccucse~l below.
As illustrated in Flgure 3, each row, corresponding to a record, may include illru~lllalion in each column. However, a row need not, and generally 5 will not, have data stored in every column. For example, row 110 corresponds to a co",~any as shown in a cell 130. Since companies do not have titles, cell 132 is unused.
The type of h~ru....alion associated with a column is known as a 'domain'. Standard domains supported in most database systems include text, 10 number, date, and Boolean. The present invention includes other types of domains such as the OID domain that points to a row or column. The present invention further su~l)ol~ 'user-defined' domains, wherehy all the behavior of the domain can be determined by a user or programmer. For example, a user may configure a domain to include writing to and reading from a storage 15 medium and handling operations such as equality testing and comparisons.
According to the present invention, individual cells may be ~ccesse~
according to their row and column OID's. Using the cell as the unit of storage improves many standard data management operations that previously required the entire object or record. Such operations include versioning, security, 20 hierarchical storage management, appending to remote partitions, printing, and other operations.
. .
Column definition~
Each column has an associated column definition, which determines the properties of the column, such as the domain of the column, the name of the 25 column, whether the column is required and other properties that may relate to a column. Tbe table 100 ~ Jpoll~ columns that include unstructured, free text data.
The column definition is stored as a record in the table 100 of F~ure 3.
For example, the "Employed By" column 126 has a corresponding row 136.
30 The addition or rows that co,r~olld to columns renders the table 100 self-r~r~l~;nlidl. New columns may be easily appended to the table 100 by creating a new column definition record. The new column is then imm~ tely available for use in existing records.

WO 96130845 PCT/US96~01260 Dat~s Dates can be specified numerically and textually. An example of a numerical date is " 11/6/67" and an example of a textual date is "November 6, 1967." Textual entries are converted to dates using standard algorithms and lookup tables. A date value can store both original text and the associated dateto which the text is converted, which allows the date value to be displayed in the format in which it was originally entered.

Numbers Numeric values are classified as either a whole number (Integer) or 10 fractional number. In the preferred embodiment, Integers are stored as variable length structures, which can represent arbitrarily large numbers. All data structures and indexes use this format which ensures that there are no limits inthe system.
Fractional numbers are represented by a < numerator/denominator > pair 15 of variable length integers. As with dates, a numeric value can store both the original text ("4 1/2 inches") and the associated number(4.5). This allows the numeric value to be redisplayed in the format in which it was originally entered.

Type d~r."ili~s A record can be associated with a 'record type'. The record type can be 20 used simply as a category, but also can be used to determine the behavior of records. For example, the record type might specify certain columns that are required by all records of that type and, as with columns, the type definitions are stored as records in the table 100. In Fl~ure 3, column 122 includes the type definition for each record. The column 122 stores pointers to rows defining a 25 particular column type. For example, the row 136 is a "Field" type column andcontains a pointer in a cell 133 to a row 135 that defines "Field" type columns.The "Type Column" 122 of the row 135 points to a type called "Type," which is defined in a row 140. "Type" has a type column that points to itself.
Record types, as defined by their corresponding rows, may constrain the 30 values that a record of that type may contain. For example, the record type 'Person' may require that records of type 'Person' have a valid value in the 'Name' column, the 'Phone' column, and any other columns. The type of a record is an attribute of the record and thus may change at any time.

W 096/30845 PCT~US96/01260 Cre~tin~ a unique OID
As previously described, the system must generate a unique OID when columns and rows are formed. Flgure4is a flow chart of the method for ~csigning OID's.
At block 200 of Flgure 4, the CPU 24 running the d~t~ ce program stored in the memory 26 requests a tim~stSlmr from the operating system. At block 210, the system determines whether the received timest~mp is identical to 5 a previous tim~ct~mr). If the tim~st:~mps are identical, block 210 branches to block 220 and a tiebreaker is incremented to resolve the conflict between the identical time~st~mrc. At block 222, the system determines whether the tiebreaker has reached its limit, and, if so, the system branches to block 200 to retrieve a new time stamp. Otherwise, the system branches to block 214 where the system requests a session identification which is unique to the user session.
In the preferred embodiment, the session identification is derived from the unique serial number of the application installed on the users m~ hine. For certain OID's which are independent of any particular m~-~hine, the session identification may be used to determine the type of object. For example, dates are independent of any particular m~-~hine, and so an OID for a date may have a fixed session identification.
Returning to block 210, if the timest~mps are not identical, control passes to block 212 where the tiebreaker is set to zero and control then passes to block 214. As previously described, at block 214, the system requests a session identification which is unique to the user session. Control then passes to block216 where the session identification, timPst~ml) and tiebreaker are combined into a bit array, which becomes the OID. Since the OID is a variable length structure, any number of bits may be used, depending on the precision required, the resolution of the operating system clock, and the number of users. In the pl~r~l-ed embodiment, the OID is 64 bits long where the timest~mr- comprises the first 32 bits, the tiebreaker comprises the next 10 bits and the session identification comprises 22 bits.
The particular type of OID and its length is constant throughout a single ~l~t~ ce but may vary between databases. A flag indicating which type of OID
to be used may be embedded in the header of each database.

WO 96130845 PCT~US96~0~260 OID Doma;ns OID domains are used to store OID's, which are pointers to other records. An efficient query can use these OID's to go directly to another record, rather than searching through columns.
If a user wishes to search a column to find a record or records with a certain item in the column, and does not know the OID of the item, the present D , invention includes a novel technique for determining an OID from the textual description. Conversion from text to an OID may also he necessary when a user is entering i~lÇo.~lldtion into a record. For exmaple, in Figure 3, the user may10 be entering hlru..l'dtion in the "Employed By" column 126, and wish to specify the text "DEXIS" and have it converted to OID #1100. For this purpose, special columns are required that provide a definition for how the search and conversionis performed.
Figure 6 is a flow chart for searching the table 100 configured according 15 to the structure illustrated in Fgure 5. At block 150, a user enters text through the keyboard 30 or mouse 45 for a particular column that the user wishes to search. At block 152, the system retrieves the search path for the column to be searched from the hlru''''dLion stored in column 146 as illustrated in Figure 5.Continl-ing with the above example, a cell 146 in the row 136 contains the 20 search path hlroll~ion for the "Employed By" column 126 of Flgure 3. The search path h~ro~.~ld~ion for the "Employed By" field indicates that the folderscalled "\contacts" and "\departments" should be searched for a company with the dabel "DEXIS. "
Returning to Fgure 5, the system searches the table 100 according to the 25 retrieved search path h~rulllld~ion. For each folder specit'ied in the search path, the routine searches for a record that has an entry in the label column 124 of Flgure 2 that is the same as the text being searched for, and is of the same class, as indicated in column 122 of Fgure 3. Folders will be further described below.
At block 156, the system determines whether it has found any items m~t~hing the user's search text. If no items have been found, at block 158, the system pl'l~lllyt7 the user on the display screen 37 to create a new record. If the user wishes to create a new record, control passes to block 162 and the system creates a new record. At block 164, the OID of the new record is returned. If W 096130845 PCTrUS96/01260 the user does not wish to create a new record, a "NIL" string is returned, as shown at block 160.
If the system has located at least one item, the system determines whether it has found more than one item, as illustrated in block 166. If only one 5 item has been located, its OID is returned at block 168. If more than one itemhas been located, the system displays the list of items to the user at block 170and the user selects a record from the list. At block 172, the OID of the selected record is returned, which, in the above example, is #1100, the OID of the record for the co,.-pally "DEXIS."
In alternate embo~lim~nt.c7 various features may be added to the search m~(h~ni.~m as described with reference to Figure 6. For example, further restrictions may be added to the search; the search may be related by allowing prefix m~trhing or fuzzy m~t(~hing instead of strict matching; and the search may be widened by using the 'associative search' techniques described below.

Two way ~.. l.ro~.i,,~d link~
Records may have interrelationships and it is often desirable to m~int~in consistency between interrelated records. For example, a record including data for a company may include h~ro~ ion regard employees of that company, as illustrated in row 110 of F~ure 3. Similarly, the employees that work tor that 20 colll~ally may have a record that indicates, by a pointer, their employer, asillustrated by row 138 of Figure 3. Thus, the employee column of a company should point to employees whose employer column points to that company. The present invention includes a synchronization technique to ensure that whenever interrelated records are added or removed, the interrelationships between the 25 columns are properly updated.
The system synchronizes interrelated records by adding a "Synchronize With" column 144 to the table 100 as illustrated in Figure 5. Since the value inthe columns defines the rel~t~An~ between records, the rows 136 and 139 corresponding to columns contain hl~lllldlion within the "Synchronize With"
30 column 144 that in~lic~tes which other columns are to be synchronized with the columns corresponding to rows 136 and 139. With l~l'elence to Figure 5, the "Employed By" column 126 is synchronized with the "Employees" column by an OID pointer in the "Synch-o~ With" column 144 to the "Employees" column, WO 96/30845 PCT/US96~01260 represented by row 139. Similarly, the "Employees" column is synchronized with the "Employed By" column 136 by a pointer in the "Synchronize With"
column 144 to the "Employed by" column 134, represented by row 136. Thus, whenever an employee changes companies, such that the employee's "Employed 5 By" column changes, the "Employee" column of the previous employer is updated to elimin~te the pointer to the ex-employee and, correspondingly, the addition of the employee in the "Employed By" field of the new employer.
Sy~l~,hlu~ alion may need to occur whenever a column is changed, whether by addition or subtraction of a reference to another column, or when entire records10 are added or elimin~ted from the table 100.
Figure 7a is a flow chart for synchronizing records when a user adds or deletes a record. At block 180, the system makes a backup of the original list of references to other rows, which are simply the OID's of those other rows, so that it can later determine which OIDS have been added or removed. Only these 15 changes need to be synchronized. At block 182, the system generates a new list of references by adding or deleting the specified OID. At block 184, the system determines whether the relevant column is synchronized with another column. If it is not, then the system branches to block 186 and the update is complete. If the column is synchronized with another column, the system determines whether 20 it is already in a synchronization routine. If this were not done, the routine would get into an endless recursive loop. If the system is already in a synchronization routine, the system branches to 190 and the update is complete.
Otherwise, the system performs actual synchronization. At block 192, the system finds an OID that has been added or subtracted from the column (C1) 25 of the record (R1) being altered. The system retrieves the record (R2) corresponding to the added or subtracted OID at block 194. The system determines the syn.;hlo~ dlion column (C2) of the column (Cl) at block 196 and locates that field in the added or subtracted OID. For example, if an employer is fired from a job, and the employer's "Employed By" field changed 30 accordingly, the system would look up the value of the "Synchronize With"
column 144 for the "Employees" column which is contained in the cell 147 as illustrated in Flgure 5. Since cell 147 points to the "Employed By" field, the system locates the "Employed By" field of the record for the fired employee. At block 198 of Flgure 7a, the located cell, (R2:C2), is updated hy adding or W 096/30845 PCTrUS96/01260 .
~ub~la~;Lillg ~e OID. Continuing with the above example, the "Employed By"
field of the employee would be changed to no longer point to the previous employer by simply removing the employer's OID from that field. The system branches back to block 192 to update any other OID additions or subtractions.
5 If the system has processed all of the OID's, then the routine exits as illustrated at blocks 200 and 202.
Figure 7b illustrates the results of column synchronization of the "Employed By" field and the "Employees" field. As shown, the pointers in the records of these two columns are consistent with one another.

Columns within columns A column may contain within it a reference to another column in the same record. For example, a 'name' column may contain a reference to both a 'first name' and a 'last name' column. The value of the 'name' co1umn can then be recon~ cted from the values of the other two columns. Figures 8a and 8b 15 illustrate two possible implçment:ltions for reconstructing a value t'rom one or more columns within the same record.
Figure 8a illustrates a table 210 that includes a "First Name" column 220, a "Last Name" column 222 and a "Name" column 224. A record 226 for "John Smith" has the first name "John" in the "First Name" column 220 and the 20 last name "Smith" in the column 222. The name field 224 returns the text "Thename is John Smith" by referencing the fields in brackets, according to the format < fieldRef field = 'Column Name' > as shown in column 224.
Figure 8b employs a variant of the referencing scheme illustrated in Fgure 8a. Figure 8a illustrates a table 230 that includes a "First Name"
25 column 232, a "Last Name" column 234 and a "Name" column 236. A record 238 for "John Smitb" has the first name "John" in the "First Name" column 232 and the last name "Smith" in the column 234. The name field 236 returns the text "The name is John Smith" by referencing the fields by defined variables 'fn' and 'In' as shown in column 236. The variables are defmed according to the 30 format variable := fieldAt (palalllele~, 'Column Name') and the variables may be referenced in a return statement as shown in column 236.

W 096130845 PCTAUS9610126n Record Contents As previously described, a given row may contain values for any column. However, to determine all of the columns that might be used by a record would involve scanning every possible column. To avoid this problem, 5 in the preferred embodiment, the table 100 illustrated in Figure 3 includes a "RecordContents" column that inrlic~tec those columns within which a particular record has stored values.
Figure 9 illu~l,aLes the table 100 with a "RecordContents" column 127 that includes pointers to the columns containing values for a particular record.10 For example, the "RecordContents" column 127 for row 110 has pointers to the column 124 and a column 125 but does not have a pointer to the column 126 because the row 110 does not have a value for the column 126. As previously described, since every column has a corresponding row that defines the column, the "RecordContents" column 127 has a defining row 129. Like any cell, the 15 cell CO~ -i"g the record contents can be versioned, providing the ability to do record versioning.

~olders To provide increased efficiency in managing h~ ,,,alion~ the table 100 includes a data type defined as a folder. Figure 10 illustrates the structure of a 20 folder. As illustrated in the Figure, the table 100 includes a "Parent Folder"
column 240 and a "Folder Children" column 242. A folder has a corresponding record. For example, a folder entitled "Contacts" has a corresponding row 244 as illustrated in Figure 10. The "Folder Children" column 242 of the "Contacts" folder inl~lud~c pointers to those records that belong to the folder.25 Similarly, those records that belong to a folder include a pointer to that folder in the "Parent Folder" column 240.
The folder structure illustrated in Flgure 10 facilitates searching. As previously described, a column may be searched according to a folder specified in the column definition. If a folder is searched, the system ~cc~-ccçs the record 30 colle~l,ollding to the folder and then searches all of the records pointed to by that folder.

W 096/3084~ PCTrUS96/01260 Further, the syl,cl.,ol1i~a~ion feature described above may be used to ge"e,dLe the list of items in a folder. For example, in Figure 10, the 'Folder Parent' and 'Folder Children' columns may be synchronized. When the 'Folder Parent' field 240 for record 138 is set to reference the 'Contacts' folder 5 represented by row 244, the list of items in the 'Contacts' folder ('FolderChildren') is ...ILOlllaLically updated to store a reciprocal reference to record represented by row 138 by including its OID, 1100, in the "Folder Children" column 242.

Text in~Yin~ systern The present invention includes an indexing system that provides for rapid searching of text included in any cell in the table 100. Each key phrase is extracted from a cell and stored in a list format according to a predefined hierarchy. For example, the list may be alphabetized, providing tor very rapid searching of a particular name.
Flgure 11 illustrates the extraction of text from the table 100 to a list 2S0. The list 2S0 is shown separately from the table 100 for purposes of illustration but, in the preferred embodiment, the list 250 comprises part of the table 100. The list 250 stores cell identification numbers for each word in the list where a cell identification number may be of the format < record OID, 20 column OID>. For example, the word "Ventura" occurs in cells 252, 2S4 and 256 that col-~olld to different rows and different columns. The word "Ventura" in the list 2S0 contains a pointer, or cell identification number, to cells 2S2, 254 and 2S6.
Similarly, each cell stores the references to the key phrases within it 25 using 'anchors'. As illustrated in Flgure 12, an anchor contains a location (such as the start and stop offset within the text), and an identification number. Both the text and the anchor are stored in the cell 252. Other kinds of domains also support anchors. For example, graphical images support the notion of 'hot spots' where the anchor position is a point on the image.
As previously described, each key phrase is stored as a record in the d~t~h~e and the OID of the record equals the identification number described with reference to Flgure 12. One column stores the name of the key phrase and anotber stores the list of cell identification numbers that include that phrase.Key phrases may have col~lllle~ of tbeir own, which may also be indexed.
The sorted list 250 as illustrated in Fi~ure 11 is stored as a Folder, as illustrated in Flgure 13. A cell identification field 274 m~int~in.~ the cells that S include the term collt;sponding to tbat record. The "Parent Folder" column 240for each of the terms on the list 250 indicates that the parent folder is an index witb a title "Natural." Tbe "Natural" folder has a row 276 tbat has pointers in the "Folder Children" column 242 to all of the terms in the list 250.
The "Natural" folder corresponds to an index sorted hy a specific type of 10 algorithm. Colllpule~ programs generally sort using a standard collating sequence such as ASCII. Tbe present invention provides an improvement over this type of sorting and the improved sorting technique corresponds to the "Natural" folder. Records in the "Natural" folder are sorted according to tbe following rules:

1) A key phrase may occur at more than one point in the list. In particular:
la) Key phrases may be permuted and stored under each permutation. For example: 'John Smith' can be stored under 'John' and also under 'Smith'. Noise words such as 'a' and 'the' are ignored in the permutation.
lb) Key phrases which are numeric or date oriented may be stored under each possihle location. For example: '1984' can be stored under tbe digit '1984' and also under 'One thousand, nine hundred...', and 'nineteen eighty four'.
2) Numbers are sorted naturally. For example, '20' comes after '3' and before '100'.
3) Prefixes in key phrases are ignored. For example, 'The Big Oak' is sorted under 'Big'.
4) Key phrases are st~mmed, so that 'Computers' and 'Computing' map to tbe identical key pbrase record.

W O 96/30845 PCTrUS96/01260 The preferred embodiment of the routine for generating positions for entering the key phrases into the ~Natural' folder is as follows:

1) Capitalize the key phrase to avoid case sensitivity problems. For example: 'John Smith the 1st' becomes 'JOHN SMITH THE
lST'.

2) Each word in the key phrases is stemmed using standard techniques. Eg "COMPUTERS" becomes "COMPUT".

3) Permute the key phrase. This results in a new set of multiple keyphrases based on the original key phrase. For example 'JOHN
SMITH THE lST' produces the set {'JOHN SMITH THE lST';
'SMITH THE IST JOHN'; 'THE IST JOHN SMITH'; ' lST
JOHN SMITH THE'}.

4) Noise prefixes are elimin~ted. In the example ahove, the third entry, 'THE IST JOHN SMITH', is elimin~ted. If no phrases are left after elimination, the original phrase is used. For example, an entry for 'TO BE OR NOT TO BE" would be preserved even if all noise words were elimin~ed.
5) Por each result, numbers and dates are expanded to all possible text representations, and text representations are converted to numeric. For example: ' lST JOHN SMITH THE' generates the set: {'lST JOHN SMITH THE'; 'FIRST JOHN SMITH THE'}
6) Finally, each modified key phrase is used to determine the position of a reference to the main key phrase record, and an entry is made in the folder accordingly. For example, 'IST
JOHN SMITH THE' is stored between 'I' and '2', while 'FIRST
JOHN SMIT THE' is stored after 'FIR' and before 'FIS.' W 096/30845 PCTnUS96J~126 Figure 22a illustrates the results of a prior art sorting algorithm while Flgure 22b illustrates the results of a sorting alogrithm according to the present invention.

FY l r~ the key phr~ses To generate a sorted list, the system must first extract the key phrases or words from the applicable cells. The combination of structured inro~ ion and text allows various combinations of key phrase extraction to be used. In full text extraction, every word is indexed, which is typical for standard text retrieval systems. In column extraction, the whole contents of the column are indexed which co.~ onds to a standard database system. According to a third type of extraction, duLomaLic analysis, the contents of the text are analyzed and key phrases are extracted based on m~t(~lling phrases, semantic context, and other factors. Finally, in manual selection extraction, the user or ap p lication explicitly marks the key phrase for indexing.

D~lte InslP,Yin~ System The date indexing scheme is very similar to the text indexing scheme as previously described. Important dates are extracted from the text and added to an 'Illl~o~L~ulL Date' list. Each important date is represented by a 'Important Date' record. The 'I~ o.~llL Date' records are stored in a 'I",po,LanL Dates' folder, which is sorted by date.
The h"po~L~,l dates are extracted from the text. The system may search for numeric dates, such as '415194' or date-oriented text, such as "Tomorrow", "next Tuesday" or "Cl~ ,L"las". Fgure 23 illustrates the correspondence between cells of the table of Fgure 2 and a sorted date index.
I~ L~lL Date records are ~ccigned special predetermined OIDS since they always have the same identity in any system. ~ignin~ predetermined OID's to dates allows Ill,POlL~U,L Dates to be shared across systems. The predeterminPd OID is generated by using a special session identification number that signifies that the OID is an Important Date. In this case, the timPst~mp represents the value of the Important Date itself, not the time that it was created.

W O 96/30845 PCTrUS96101260 ~ssoci~tive Oueries As previously described, a sorted key word list is generated from the text in cells and list stored in a folder whose records point to the text cells. The associations between the list of records with text and the list of key phrases is 5 two-way since the cells that include text point to the key words. Fi~ure 14 illustrates this two way correspondence. Each record can point to multiple key phrases, and each key phrase can point to multiple records.
Flgure IS is a graphical representation of the two way association between records and the key word list. Each record in a plurality of records 29810 through 300 may point to one or more important word entries 310 through 312.
Similarly, each important word entry may point to one or more records. A
single level search involves starting at one node (on either side of the graph) and following the links to the other side. For example, a user may wish to find the records including the word "Shasta." First, the important word index would be 15 accessed to find the word "Shasta" and the records p ointed to by this word would then be retrieved. This search is indic~ted by the arrows 314 and 316 where word "Shasta" corresponds to cell 318. Similarly, a user may wish to locate all of the important words included in a particular record, indicated by the arrows 320 and 322 in Figure 1~.

The search can be extenried by repeatedly following the links back and forth to the desired level. F~ure 16~ illustrates this concept. As an example, the term "Shasta" may c()~ .olld to a dog with extraordinary intelligence such that in one record, "Shasta" is described as a dog and another record, 'Shasta' is described as a genius. If the user wishes to find the words associated with 25 'Shasta', the system locates "Shasta" in the "Important Words" folder which points to the records including the word "Shasta." In turn, the records pointed to contain pointers to the "Ir,ll,c"~nl Words" list for each indexed word in therecord. Since "Shasta" appears with "dog" and "genius" in the records, these words are retrieved by the system.
This type of searching may be extended indefinitely. Fi~ure 16b illustrates an additional level of searching. Continuing with the above example,the word "genius" may occur in records referring to Dirac, and the word "dog"

WO 96/30845 PC'r~US96~0~260 associated with "Checkers," such that the multilevel search illustrated in Flgure 16b results in a retrieval of "Dirac" and "Checkers" when provided with the word "Shasta."
A relevance ranking can be created based on weights associated with each link and type of key word, and the records can be displayed in order of desc~n-lin~ relevance. In the preferred embodiment, if two or more nodes are used as the starting point, the relevance is based on the distance t'rom all nodes.
In this way, only nodes which are near all the initial nodes will have a high relevance. Many other relevance rankings apart from distance may be used.
To refine the search, filters can be used to constrain the links that are followed. For example, the search may be filtered such that only the type "Person" is listed such that, in the above example, Shasta will be associated with Dirac but not Checkers.

Kl~led~e base and thesaurus The present invention includes a knowledge base and thesaurus to further improve searching capabilities.
Each important word record (term) included within the thesaurus contains a pointer to a 'concept' record. Each concept record contains pointers to other concept records, and to the terms that are included within the bounds of that concept. Flgure 17 illustrates the structure of the thesaurus. The table 100 includes a "Parent Concept" column 352, a "Concept Name" column 354, a "Synonyms" column 356, a "More Specific Terms" column 358, a "More General Terms" column 360 and a "See Also" column 362. A concept record 350 defines the concept "IBM" and the Synonyms column 356 points to records that are s~llonylllous with IBM, a record 364 with a label field with the value "IBM" and a record 366 with a label field with the value "International Ru~.i...~s.~
M~fhines." The records 364 and 366 have pointers in the "parent concept" field that point to the parent concept record 350.
The thesaurus structure illustrated in Fgure 17 provides for greater 30 flexibility than exact synonyms. The "More Specific Terms" column 358 of the concept record 350 associated with "IBM" points to a concept record 368 associated with the IBM PC with an ~ignecl weight of 100%, where the weight percentage reflects the similarity between the initial term "IBM" and the related -2~-W 096130845 PCTrUS96101260 term "IBM PC." Similarly, the "More General Terms" column 360 of the concept record 350 associated with "IBM" points to a concept record 372 associated with Co~pu~er Companies with an a~igned weight of 60%. The "See also" column points to a record associated with the concept "Microsoft"
5 with a weight of 70%, where the weight percentage reflects the similarity between the initial term "IBM" and the related term "IBM PC."
The Thesaurus illustrated in Flgure 17 enh~ncçc the searching merh~ni~m~ previously described with reference to Fi~ur~s 14-161). The system first locates the record associated with a key word and locates the parent concept 10 record pointed to by the key word record. The system may then follow some or all of the pointers in the columns 356, 358, 360 and 352 and return of the OID'sstored in the 'Concept Name' column 3C,4 Since key phrases and concepts are stored as records in this system, any other columns may be used to extend the knowledge and hll'ol~"alion stored 15 therein. In particular, through the use of OID's, the system can store any kind of relationship, including relationsihps other than thesaural relationships, between key phrases, concepts and other records .

Application Support The ~t~h~ce of the present invention has been described without 20 reference to its h,lel~ce with applications that may use the invention as their primary storage and retrieval system. As previously described with ret'erence toFi~ure 2, the present database includes an interface to supl-ort applications programs. Components in the application support system include external document support, hypertext, document management and workflow, calendaring 2~ and scheduling, security and other features.
Further, the present invention includes various user interface co~ o~ 7 that allow have been developed to provide full access to the structure of the database of the present invention. In particular, a new kind of structured word processor will be presented. The Specification will descrihe each component of 30 the application support system separately.

WO 96/3084S PCT~US96J01260 External dO..~ r~s The present invention supports indexing of external documents. The table 100 stores the filenames of doc--m~nt~, such as word processor documents, where the contents of the files are not directly stored in the database. The S docum~ntc names may be stored in a column with a specialized "External Document" domain. The external documents may reside in the mass memory 32 or on a multi-source that interfaces with the system through device control 36.
To index documents external to the table 100, prior to processing, an external document is converted into a plain text format. Key phrases are then 10 extracted as previously described. In particular, fields in the text can be determined and mapped to fields within the d~t~h~ce. For example, a 'Memo' document may contain the text: 'To: John Smith. From: Mary Doe'. This text can be mapped to the fields called 'to' and 'from', and the values of these fields set accordingly. The analysis of the text in this way can be changed for different 15 types of external documents such as memos, legal documents, spread sheets, co~ ulel source code and any other type of document. For each extracted key phrase, a start and stop point within the text is determined. A list of anchors of the format previously described, < start, stop, key phrase> is generated by the parser and stored within the table 100 under the external document domain.

Viewin~ external do~
When a user views an external document on the display screen 37, the stored anchors are overlaid on top of the document such that it appears that theexternal document has been marked with hypertext. When the user clicks the switches 45 or 47 of the mouse 50 on a section of the external document display,25 the corresponding anchor is determined from the various start and stop cooldinales. The OID of the key phrase corresponding to the anchor is stored within the anchor, and can be used for the purposes of retrieving the key phraserecord or initi~ting a query as previously described.

Pynamic hypertext The present invention s. ppoll~ Hypertext. Hypertext systems typically associate a region of text with a pointer to another record, as illustrated in Flgure 18. This creates a 'hard-coded' link between the source and the target.
When s user clicks on the source region, the target record is loaded and W 096/30845 PCTrUS96/01260 displayed. If the target record is absent, the hypertext jump will t'ail, possibly with serious con~equçnces.
The present system uses a new approach based on a dynamic association between records. In the preferred embodiment, each hypertext region is associated with a key phrase, not a normal record. When the user clicks the switches 45 or 47 of the mouse 50 on the source region, all the records associated with the key phrase are retrieved and ranked using any of the associative search techniques previously described. As illustrated in Fi~ure 19,the application can then display on the display screen 37 either the highest ranked item, or present all the retrieved items and allow the user to pick the one to access.
In certain applications, the user may want to access a single 'default' item. This item can be determined automatically, by picking the item at the top of the dynamically generated list, or manually, by letting the user pick the item explicitly and then preserving this choice in the anchor itself.

The ~eneric word processor The database of the present invention includes a novel Structured Word Processor that may be used in conjunction with the table 100.
The structured word processor of the present invention uses the "boxes and glue" paradigm introduced by Donald Knuth in TEX. According to this paradigm, a page of text is created by starting with individual characters and con~ Pl., lh~g the characters to form larger units, called "boxes," and then combining these boxes into yet larger boxes. Fi~ure 20~ illustrates three cha ac~er boxes 400, 402 and 404 con~t~n~ted to form a word box 406. Figure 20b illustrates four word boxes 410, 412, 414 and the word box 406 combined to form a horizontal line box 408. Horizontal boxes are used for words and other text tokens that are spaced horizontally inside another box, such as a line (or column width). Fl~ure 20c illustrates the combination of the horizontal linebox 408 with another horizontal line box 4242 to form a vertical box 420.
Vertical boxes are used for palaglaphs and other objects that are spaced vertically inside other boxes, such as page height.
Boxes may be attached to other boxes with "glue." The glue can stretch or shrink, as needed. For example, in a justified sentence, the white space WO 96130845 PCT/US96/0~260 between words is stretched to force the words to line up at the right edge of the column. Glue can be used for between-character (horizontal) spacing, between-word (horizontal) spacing including "tab" glue, that ~sticks" to tab .l.a.hi..~.Glue may also be used for between-line (vertical) spacing and between-paragraph ~ 5 (vertical) spacing.
When a record of the table 100 is edited, each word and field definition is converted into boxes. The system organizes these boxes into a tree structure of line boxes and paragraph boxes, as illustrated in Figure 21. Shown there is arecord hierarchy 460, corresponding to the hierarchy of a record, and a layout hierarchy 470, corresponding to the hierarchy of a layout such as a document ge~e~dled according to the word processor described with reference to Figures 20~ - 20c. The record structure hierarchy 460 represents the record structure ofthe table 100 where a record 462 corresponds to a row in the table lO0 and the record 462 includes a plurality of attributes, including attribute 464, that correspond to the columns of the table 100. In turn, the attributes may include a variety of items. For example, the attribute 464 includes text, represented by block 466, field references represented by block 468 and other items as shown.
The layout hierarchy 470 comprises a document 472 which in turn comprises a plurality of pages, including page 474. The page 474 comprises a plurality of paldgld~hs including paragraphs 430 and 431 and the paragraph 430 comprises a plurality of lines, including lines 432 and 434. The paragraph 431 includes line 436.
The word processor of the present invention allows the document 472 to be inserted into the record 462 by providing a plurality of hoxes, including boxes 438, 440 and 442, COIllllIOll to both the record structure hierarchy 460 and thelayout hierarchy 470. For example, the box 438 corresponds to part of the line 432 and comprises part of the text of attribute 464 as illustrated by block 466.Similarly, the box 440 corresponds to part of the line 434 and may comprise a field reference as indicated by block 468. Thus, the shared box structure as illustrated in Flgure 21 allows any type of word processing document to interface with any record in the table 100.
Conceptually, each box is kept as a bitmap, and its height and width are known, so the system displays the tree structure 450 by displaying all of the bitmaps corresponding to the boxes in the tree. If the tree is changed, for W 096/30845 PCTrUS96/01260 example, by adding a new word, only the new word box and a relatively small number of adjacent boxes need he recalculated. Similarly, line breaks or restructuring of a pa~ ayh does not alter most of the word boxes, which may be reused, and only the lineboxes need be recalculated.
To edit the tree structure 450 as illustrated in Fi~ure 21, a user may click a cursor on a part of the text. The system locates the word hox or glue that is being edited by a recursively descçnding through the tree structure 450.The word processor supports multiple fonts and special eft'ects such as subscripts, dropcaps and other features including graphic objects. A word in a different font than a base font is in a different box and may have a different height from other boxes on a line. The height of a linebox the height of the largest wordbox within it. Effects within a word can he handled by breaking a word into subboxes with no glue between them. Again, the height of a wordbox is the height of the largest box within it. Graphic ohjects, such as bitmaps, may be treated and r~,.,.laued as a fixed width box.
The word processor of the present invention may he used to edit records in the table 100. The text associated with each field in a record can be considered a "paragraph" for the purposes of inter-field spacing, text flow within a field, and other rulll'aUi,,g palallle~ . Storing all the fields in the same way during text-editing allows the movement of text and "flow" to appear natural.
As previously described, the text being edited is divided into fields, with each field corresponding to a column in the underlying datahase. Unlike a traditional static data entry form, the positions and sizes of the attributes are not fixed but are dynamic and all the features of a word-processor such as fonts andembedded graphics are available to edit the record fields.

Similarly, all of the features of a datahase such as lookups and mailmerge are available to the word processor. All of the attrihutes that apply to data entry for a particular field are enforced by the word processor. Such alllil)ul~s might include a mask (such as ~h' h'~ff), existence requirements, range and value cons~-~i--~, etc. The fields can be explicitly lahelled, or hidden and implied.
The word processor of the present invention allows existing fields to be added by typing the prefix of a field name and pressing a button. The system then completes the rest of the field name automatically.

WO 96/30845 PCT/JJS96/1~12fil>

The word processor of the present invention supports other d:lt~h~e features. For example, new fields can be created by a user by using a popup dialog box. Similarly, rt;r~lences to other records or important words can be added by a dialog box. With particular regard to the tahle 100 of the present 5 invention, OID references may support fields within other tields and a particular field within other fields 7U~JpOllS the use of 'templates,' where a template is a list of field references embedded in text. For example, the template "Enter the firstname here <fieldref id=frstName> and the last name here<fieldref id=lastName> " would appear to the user as "Enter the first name here: John 10 and the last name here: Doe." Templates allow a user to build dynamic forms quickly and easily without having to use complicated torm drawing tools.
The user interface for the word processor of the present invention allows a user to switch between two modes of data entry. The word-llrocessor of the present invention is used for flexible entry into one record at a time, while a 15 columnar view is used for entering data in columns. The user can switch back and forth between these two views with no loss of data and switching trom the word processor to the columnar view will cause the fields that were entered in the single item to become the columns to be displayed in the columnar view.
Finally, the 'fields within fields' that are dl~pdlenl in the word processor 20 view become separated into columns in a columnar view. The user can then make changes in columnar mode, and then, when switching back to the word processor view, the columns become combined once again.

W 096/30845 PCTrUS96/01260 rd~ ds It is often required that access to particular data items be restricted to certain users. In order to apply these restrictions, an information management system must deterniine the identity of the user requ~cting access. This is 5 currently done in two ways, physically measuring a unique quality of the uses of requçsting i~lru""aLion from the user, most current h~r(.,~llalion management systems rely on the second approach, by using 'passwords' However, to avoid security problems with a pas~.wold system, three guidelines are applied to pa~.~wol~s:
a) the pas~.w()rd should not be made of common words, because an aggressor can use a brute force approach and a dictionary to guess the password;
b) the pas~wo-d should be longer rather than shorter; and c) the password should be changed often, so that even if is stolen it 1~ will not be valid for long.
Finally, a pas..w~JId should never be written down or embedded into a login script and should always be h.le.d~i.te.
According to the present paS~WOld system, a user's identity is determined through an extensive question and answer session The responses to 20 certain personal questions very quickly identify the user with high accuracy.Even an accurate mimic will eventually fail to answer correctly if the question and answer session is prolonged.
For example, sample questions might be: 'What is your t'avorite breakfast cereal?'; 'Where were you in April 1990?' 'What color is your 25 toothbrush?'. These questions are wide ranging and hard to mimic.
Furthermore, tbe correct responses are natural English sçntences, with an ~AI.~...ely large solution space, so that a brute force approach is unlikely to be S-lcce~.cfi,l.
To improve the effectiveness of the response, an exact m:~tl~hing of user 30 response and stored answer is not required and 'fiuzzy' and 'associative' m~trhing can be used accolding to the synonym, thesaurus and other features of the present invention.
According to the p~.w~ .d system of the present invention, the user creates the list of questions and corresponding answers, which are then stored.
35 Because the user has complete control over the questions, the user may find the W 096/3084S PCTAUSg6/01260 process of creating the questions and answers enjoyahle, and as a result, changethe questions and answer list more frequently, further enh~ncing system security.
According to the p~re~red embodiment, a user creates a list of 50-100 questions and answers that are encrypted and stored. The questions can be S entirely new, or can be based on a large database of hl~e~ g questions. When the user logs on the system, the system randomly selects one of the questions related to that user and presents the question to the user. The user then types in a response, which is m~t~hed against the correct answer. The m~tching can be fuzzy and associative, as described above. If the response matches correctly, 10 access is allowed.
In an alternate embodiment, more security may be provided by repeatedly asking questions until a certain risk threshold is reached. For example, if the answer to 'What color is your toothhrush?' is the single word 'Red', then brute force guessing may be effective in this one case. In this 15 scenario, repeatedly asking questions will (liminish the probability of brute force success.

r~
While the invention has been described in conjunction with the p-~r~ d embodiment, it is evident that numerous alternatives, modit'ications, variations20 and uses will be a~.pa-G--I to those skilled in the art in light of the foregoing description. Many other adaptations of the present invention are possible.

W 096130845 PCTrUS96/01260 ~ ~ - - - o '~
U U U U , ~J U ~ U U ~ U ~ _ U , U
O -- = _ _ u, . E
o ~ u ~ '' ' E c ~
.: , . .. , ~
~ Z

,, ' ' ~ _ , _ ~, ! ~ -- . ,. :

=! e U ' -, ~, ' o 1.
.

b ¦ ~ b ~I Y , , ~ b y g ~ ~ E E ~ O ~ n ~ N ~~ ~ -- r~ ' ~ u ~~ ~ ~ ~ l No ~ o ~o SUBSTI-rUTE SHEET t~ULE 26) o , o _ o .~ ~ ~

_ . .
. ~ -: r , - R

~ ; - 5 ~ N ~ ~ ~ ~ ~ ~ ~ o O ~ ~

SUt:lS 11~ ~1TE SHEET (RULE 26) W 096130845 PCTrUS96/01260 ~: o C ~ : o - C : : o ' C
o o , _ o -- _ o o . ! . !
. ~, . --' ,,' o ~
! ,- . . ' ' , . , - ~ _ 0 :. - ', ,,, , I ! _ 9 ' ~ ,~ i U ~ 9 ~ ~j Y ~ 2 _ ~. u ~ ~ O ,~ O ~ g ~ O ' ~ ~ ~ O ~ E
~q 3 ~, ~ O ~ N ' N ~ 3 i o O ~ ' NO C~ ~; ~ ~ -- 3 ~ E -- ~ '-- ~ ,~;

SUe~ 111 IJTE SHEEl (RULE 26) WO 96130845 PCT~US96~01260 . .
E . j~ _ -- _ E E E E
o ~ o -- --~o -- o o -- o o o -- o ~
~ N; N = = ~ = ~r N N N N N

C _ ~ ~
1~ ; ' r , ~ , _ ~:
' ' 7 , _, ,' ';

~ ~ J ,, - ijC iU~ ~f-~ f- _; f . .
' .

Y : ~ Y ~ ~

,z S ~ E '5 .~ 3 ~ z z ~z ~ Q ~ Z ~ i'~ 0 i~ Q ~ ;
o ~~ ~ , o ~; o ~ ; . g oN ~ _ _ _, _ _ _ _ _ _ _ SUBSTITUTE SHEET (RULE 26) W 096/3084~ PCTrUS96/01260 .. .. .. _ _ .. .. .. _ .. ~ . _ ,, , ~ ' ~ 8 ' ~ ~7 - ~ o - ~ C
_ o = ~ -! = -o _ , , . _ , . . _ . ~, . . . _ ~, . . ~, _ , . ~ .. ' ~ ; ., ._ _ , ! i . . ~
o o ~ - !,3 ~ - -, .

t ._ . .
f ~

--m ~ C~ 0 ~ ~ ~ ~ ~7 C ~ ~ ~ ~ O X
C~7 CO~ ION O ICO~ ~~7 e7 I~ 10 O i0 ~0 0 !o lo ;o '~ o' ~o o 'o lo o o o o ~Os X ~
_ ._ _ ._ ,_ _ _ ~_ _ -- ~C -- _ _ -- _ -- _ -- -- -- -- ~ -- -- -- -- Uf SU~;~ TE SHEFr (RULF 26) WO 96130845 PCTnUS96/01260 . . C ~ ~ _ 3~; .z ~ u u z 1 Z ' ' ' ' ~ Z ! Q
o OI ~ ~ ~ ~ ~;; o ~-~

~1 ,.
C
t _ ~

E
o ~ ' Y I ' ~E

, C o ~ G
y c ' a~ s N r~ 0 ~ . O -- I N
_ _ _ ._ ._ _ -- -- -- . _ _ _ ._ _ _ _ = _ _ . 39 SU~ .JTE SHEET (RULE 26) W 096/30845 PCTrUS96/01260 __ _ o ~.

~ , -, . .. . ...
- . . ........ . .. C .

~i j E
r , ~ ~1 0 ~ ~ o m 1 8 ~ a N 30 1o' ~o~o-oo 30 0 SlJts~ JTE SHEET ~RULE 26) W 096J30845 pCTAUS96/01260 ~. .. .. .... _ _ . _ .. _ ~ E t_ t~ t_ :t_ ~ :_ t_ t_ t t_ ~
-- t . . , ,~ . . ,, ~ _ o ~

:~ , n C '~
x ~5~ C C~ 3~Ei~ ;' ~
, _ N ~ ~ ~ O ~ ! ~ _ _ o SU~S ~ ITE SHEET (F'~ULE 2~) W 096/30845 PCTrUS96/01260 . -- .

-- _ _ ~ o o ~_. _ ~ = . . .

c C ~ .c O ~ 'O 0,~ ~ ~ m ~ O i~

~ _ O

-- ~

'C

m _ N t~ ~ ; O ~ ~ ~ ' N ~ ' ~ ; ~ '-- ~ ~ '-- ~ ~ ~

- SUBSTITUTE SHEET (RU~E 26) PCTAUS96~126 L_ C

Q ~ c -- . E L ~ ! E

S~ - ; E E X ' ~!~ c ~ ~ ~ ~; 8 8 ~ ~ ,~ ~

. ~

N _ ' C.

_ ~ , ,, __, ,_ _ _ , ___, _ _ __ . . .. _ N
'C C
'--_ y _ . ~ ,~ n ~; ~! Y ~ ~:
~ t~ ~ ~~~ ~ ~ o - co~"~; o ~ o _ ~ ~q SU~:; 111 IJTE SHEET (RULE 2B) W 096/30845 PCTrUS96/01260 ~3, __, _ , _ _, , ,, = .

. _ _ _ , . . . .

~ ~ O ~O ~ c O ~ -. .
' ~T = -o ~ ~
C ,~ o ~ -- & ~ g ~ ~ ~ ~ ~ ~ ~~o o ~ ~~ ~ ~; ~

SlJt~ E SI~EET (~VLE 26) WO 96130845 PCTnJS96J0126~) ~ . .
'~

~; ~ E ~- E - ~
?

~ _ # ~

. .. _ . . . = = .

!5 -. o E

~ ._ . . .
, C
,~ o _ o - -- ~ ~ .I ~ ,~ o ~ ~ 8 8 ~ ~ -- ~ ~ . ~ ~D ~ c o~

SlJt~ 111 UTE SHEET (RULE 26) W O 96/30845 PCTrUS96/01260 .

~3~
,, = , ~J ~ ' ~ i~

- ~ ' O _ N~ -- N ' ~ , O -- . N 1~ ~ ~ O ~-- N ~ I ~ . U7 ~ ~ o -- . N 01 110 8 o No ~1 No ~ o ~ ' 2 2 I 2 o: 2 o o, o o o ~ _ _ _ _ _ o "~ _ 8UBSTITUTE SHEET (RULE 26) WO 96/30845 PC'rJUS96/0126f~

R ___ _ . _ __ _ __ R

R

~{o O ~0 O~ .~0 ~ 0 ~
. = = = . _ . _ _ _ _ _ _ _ _ _ _ SUt~ 111 lJTE SHEET (RULE 2~) W 096/30845 PCTrUS96/01260 t ~C

~ ~ _ . _ . .. __ _ _. . .. . .

~~
h ~ .
.... . . . .. ._ . . .
T
. . .

~
~ -- N N N ' N N N ; N N i N r~ ~ 0 N

Sl~ JTE SHEEr (R~JLE 26) WO 96/30845 PCT/US96~0126 .

. _ . _ _ _ _ _ . =

,, , , _ ~
G ~ ~ ~ ~ ~ ~ ~ 2 ~ ~ ~ ~ ~ ~ C~ 0 SUBSTITUTE SHEET (RVLE 26) CA 022l67l9 l997-09-29 W 096/30845 PCTrUS96/01260 O ~ ' ~L N ,U
c 3 ~ _ .r -- -- ---- -- .. ... .. ..
.. . _ . . . . .. . . . . .
cnC ~ ;, , , ~ ~~ . . .

N N N ~ N N ~; t~ ' I tq ' n . .
f I ; E
Z ~
' ~
N ~ c _ _ . . .. . . _ _ _ _ _ _ _ . _ _ _ _ _ . _ .
~ !~ .
. _ . . .. . . . . _ . . . .

.. . . _ . . . _ . . .

;~ E E

. 2 -- N ~ O ~ o I ~ ~~ ~ ~~~ ~ ~ ~ ~ ~ ~ s O


SUBSTITUTE SHEE~T (RUL~ 26) WO 96/30845 PCT~lJS96/l~1261) _ L_ .

o o _ _ ~ '~ '-~ '- ' ~ ' '- ~ ~ ' . . ~ LJ ~

.. . ~~' ,, , -= _ ~ C~t N I N I N N ~ ~,t; ~ N N

~; O _ _ _ _ _ _ , _~ , _ ,_, , ,_ _. __ _ .. . . .

f ~_ , _ .
Z_ . .... . _. ._ . . ~

~ , _ , _,, , ,~

~ ~ ._ ' _ ~ ~ _ . _ . . .. .. . . . . . _ _ =

' ~ 2 ~ --SU~ 111 I~TE SHEET (RULE 26) W O 96130845 PCTrUS96/01260 ' ~ o ._ ,~, o _ ,~ O -c~ - , ,o o ~r in 5 : . , ' 5 ' '' V

._ _.. .. . ~ . . _._ . _ , .
-~ ~ . _ . . .. .. . ... . .
~ .
-- . _ _ . .
. . .

~ ~ . . . . . . . . . . .
. . .
-o ~ ~ O ' ~ ~ ~ ~ O ~; N ~ ~ ~ ' ~~ i ~ ~ ~ ¦ NO ' ~ ~ ~ ~ ~ ~ ~ ~ E ~ - ~ ~ ~ ~ ~

SUBSTITUTE SHEET (RULE ~6) o ,~ _ _ ~ 8 o O -- ~

~ ~3 ~ _ ~
, ;N ~oE2 N . ,_ _ _ _ . . . . _ . ~ _ .
,, : - ;, .~ . ' r_ .r~ .~ _ ,r_ r_ r_ r_ r_ r_ r_ .r_ r_ .r_ r~
~ ;N _ . r.~ r~ N N IN ~ N . ~N IN . ~N ;N

o~
- il' , I . o . . . -- _ , , , _ o o ~ !
~~
~ ~~
..
;.

L O ~,_,~,~ o 8 ~ - Y ~ 8 ~'8 8'8 ~ ~'_ N _ , ~ ~ ~ ~

SUBSTITUTE SHEET (RULE 2~) CA 022l67l9 l997-09-29 W 096/30845 PCTrUS96/01260 ?

y 2 E E

~ -- -- -- -- _ .. .. .. .. .. _ _ _ _ ..... .... _, ...... .. .. .
~ ~ -- . _ , ! ' . . .
! : - - : . :': . . . ~': . ......... . .
~, r_ .r_ r_ r_ r_ .r_ ~ .r_ .r_ Ir_ .~_ r_ ~r_ .r_ r_ r-- r_ r_ .r_ r_ ~_ .r_ r_ r_ 'r_ r_ -- ~ ~ N N N -- ~; N N N ~2 _ ~ N N N ~ ~ N: N N N -- ~ N ' N

.

. ~ 8, r-c j~

_ _ .. .. ___ . . ___ ._ . _ . .. . . . .

._ ~ ~ -- -- -- - . _ .__ _. . _ . , , O -- N ~ _ N ' ~ 0 ~ N ~ . O ~ _ ~ N ~ O _ N ~ ~ O
~ o o O O ! o 8 o o o o o o ~ o o o o o ~ o o o o o o o, o o g o "~ _ SUBSmU~E SH~ET (RULE 26) ,, ~ .

_ _ _ __ -~ ~~ ~~ ,~ ,ot ~, ,;, , ~o _, ~o . ~o~ ~o~ ~ o o o o o o o o ~,, rgt ~ ~ c~ ~ ~ rgt g C, g t, ~ ~ ~t ~
t ~ ,rt t t~t t ~ t rt ' t ~F
. . _ . ~
t~

2 -- -- -- -- - -- -- -- - . _ _ . . .

t-- _ , , _ _ _ _ .

_ _ _ ~ -- ~ ~. _ ! _ _ _ _ 8 = _ _ _ _ _ _ _ _ . _ . _ _ _ _ . _ . _ _ _ . _ . _ SUBSTITUTE SHEET (RULE 26) W 096/30845 PCTrUS96/01260 S
_, r C _F :~

0 , ~ _ ~ .E
~ g ~ .- ; C N 2 ~ C ._ ~ C C .~
~ ' ' r ! '~ c~ n .

~ ~_ . . . __ ___ _ _ . ._ . . . _ . _ . = _ ~_ _ . ._ _ _ . _ . . . _ . _ _ _ _. . . _. .

. . . . _ _ _ ~

~OO -- N ~ ~ ; O ~1 0 -- N C'~ ~ -- N t'~ ~
-- N N NN N N N N I N ~ o r_ r-- ' r~ I 1~ 1' K e~ K

SVBSTITUT~ SHFET ~RULE 26~

WO 96130845 PCT~US96~01261) ~ , ,..... .
. ,' ,' .
~ 2,2 N 3E _ _ _ __ _ _ ~ _ _ _ '~
N ~ _ , __ _ ,_, , __ __ _ __ __ _____ _ _ O ---- - --- ---- -- ' -- ' -- ; ---- -- - . _ .
~,_ ~ ~ .__ . .. , _ _. . . , ._ .~

~-- N ~ ; 2 ~n ~ ~ o ; o _ fi 5 o o~'O

SU~S 111 L~TE SHFET (RUI F 26) W 096/30845 PCTrUS96/01260 _ i~ 8 o ~ O ~ N . N N 58 - ~ ~ ~ ~ ~ N ~ O

SUBSTITUTE SHEET (RULE 26) WO 96130845 PCT~US96/01260 t,~

. _ .. . _ . .. _ _ . , _ . . __ _ .. . . . . . .

~ ~

~ N N ~ N ~g N; N ID 3~ 0 ~; o, ~,~ o , o ~, o ~ ~; o r~ ~ N e~) SUt~ 11 LITE SHEET (RULE 26) W 096/30845 PCTrUS96/01260 -_ _ . . . _ . . _ . _ _ _ . _ _ . ~ = .

~ ~ ~ ~ 3 ~ o ~ N ~ ~; ~ ~ ~ ~ ~ ' N ~ J~; ~ ~ ~ ~ ~ O ' O ' ~ ~ ~;' ~

~UBSTITUTE SHEET (RULE 26) .

~F

.

~ ' , G. 8 ~ ~ ~ ~o 8 ~ ' _ ,~ o~ . o o; 8 ~ ~ ~ g g g ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

SU~ 111 L~TE SHEEr (RVLE 26) W 096/30845 PCT~US96/01260 . ~;, , .
- -, _, _ . 8, g, _ _ O O O

~o o o l o ,~ o o 8 8 1~ ~ 8 ~ g .~ ~ o ~ ,~Y r) g ~ ' oO

SU~S 111 ~JTE SHEET (RULE 26) . CA 02216719 1997-09-29 WO 96/30845 PCI'JUS96/OlZ60 _ _ _ ~8 ~ , ~ O O O ~ n , O O ~ g O _ N

SUE~STITUTE SHEET (RULE 26) W 096/30845 PCTrUS96J01260 .~

_ .~

_ _ . . . _ . . .

u ~ ' .
. _ .. , . . _ ; . .

~ ~ ~ ~ ~ ! "' ~ . ~ _ _ _ ~~ ~ ''' . ~ ' ~ -- _ o Sl.t~ 111 ulTE SHEET (RULE 26) ~ , ~

_ ~ N

~ _ ~ _ _ ~ ~1 ~ 3~ ~

r ~ 8 ~

o g ~ . No !_ ~ O O
~; _ ~ _ . _ ~ . ~ _ . ~ j _ . ~ ~ _ _ I

N N 2 i2 2 N ~2 2 ~ 2 ~ ~ ~ ~ ~ ~,~

SlJt~ i 11 ulTE SHEET (RULE 2~) W 096130845 PCTrUS96/01260 o ~c ~
o~ ~

~o ~
$ ~
~C

.

iE , ,,, _ : , _ __ . ~ , . . . ; . . .

8 ~ ~ o ~ ~ . N N N 6~--~ --'~~ ~ ' ~ ~ ~

SIJ~ 111 ~ITE SHEET (RULE 26~

WO 96/30845 PCT~US96~0~260 -i N N ~C N ~C N ¦ N N 3~ N ~ . N ~ N IL 1~ ~ N 1~ ~ 2 e.

SUBSTITUTE SHEET (RULE 26) W096/30845 PCTrUS96/01260 , _ , . _ . . . . . ~, . _ . _ _ . _ . , . _ _ ~ ~, o o ~ ~ o ~ ~ N ~ ~ ~ ~ ~~ ~ ~~r ~ ~ ~ ~ -- O O ~ -- N _ O -- ~ O

SU~S 111 UTE SHEET (RULE 263 W 096130845 PCT~US96/01260 o o o o ~ ~ o~ ~ o g I 8 ~!~ ~ ~ ~ -- -- -- -- --SUBSTITUTE SHEET (RULE 26) CA 022l67l9 l997-09-29 W 096/30845 PCTrUS96/01260 -~ ' C

~, ..

. . , . , _ . __ . . _ . . . _ _ . ... . ~ ..

O O o o N ~ ~ g ~ o -- N ~~ Ql O

1~ SUBSTmJTESHEtl (~ULE2S) WO 96130845 PCT/US96~01260 T E
- o .: .
a ~
r ~! tD , ;C LLI, i N ' ~5 ' O O ' . ~5 O O O ' O
O L ~- L_ ~ _ G L'' , ~ , ~ ~
~ ~ '. i_ .. ~ oN ~ ~ , rO~
~ S--Q ~' S ~ ~ ' ~' ~ '; --S-- ~.~ ~ S S

o o~ o o ~lo 8o o3 o ~, O O, I oo o ~o 8 o o o 3~

:

~o!o~') ooooog'=~
_ _ _ _ _ ._ _ _ _ ._ _ _ . _ . _ _ _ _ _ _ tl SU8STITUTE SHEET (RULE 26) W 096/30845 PCTrUS96/01260 c~
. 3 ';~) o c~ o ,~ _ _ . _ _ c; _, ~ 0 c ,c L o ~ o lo 3~, 0 '--~ '--N '--N t N ' ' N '--N --~ '--~ o o oo o oio o o 8 o loo oo o o . . ~
. .

~ .

;' ~ 1 2 ; N I N N N i~ N ' ~ ~ N ~ j ~ 0 -- ! N ~

SlJ13SrlTlJTE SHEET (RULE 26) W 096130845 , PCTAUS96~0126 ;~ '.

. _ _ . . _ . _ . __ .

.. .. .

._ ID ~
~ ~
~ ~r O _ ~ ~ o 0 i O -- ~ o _ c~
3;~ N ~ C~J ~ ~ N ~ o~ ~o ~ N ~, X ~i~ r~~ ' ~~ ' ~ !

SlJ~;j 111 IJTE SHEET (RlJLE 26J

W 096/30845 PCTrUS96/01260 ~ ;Z~ .

,. . ~
o 2 __ ~ _ _. _ ' _ _ . . ~

~ _ _ ,. . . . .

, o 2~ ~ -- ~ o ~ ~ ~ ~ N

SUEISTITUTE SHEET (RULE 26) CA 022l67l9 l997-09-29 PCTtUS96/01260 W 096t30845 _ . , . _ _ . _ _ . . _ _ . . _ . . . . _ .

c .

o ~
o~ .
__ _ _ . . __ _ _ . . . . . .
o ~
o ~. _ _ _ . _ .. _ = . . . . =
.,. ~ , o ~ , . . ...
. ~
.

_ .

-,o , ~j 7~ ~ ~ ~ & ~ - o o 2 8UE~STITUTE SHEET (RULE 26) W O 96130~45 PCT~US96J01260 e F _ _ __ _ _ --0 ~ _ _ _ _ _ _ . , .
O ~
o l _ _ ~

_ . . _ . , e .

o O ~ O ~ ~7 0 u ,~; O ~ ~ O ~ 8 8 ~ ~ -- -- -- -- ~

SUBSTITUTE SHEET (RULE 26 W O 96/30845 PCTrUS96/01260 ~ o _ _ _ __ _ _ _ _ __ _ _ o ;~

o ~ = ~
_ j~ ; _ _ , . ~

, ~ ; o O ' G
. _ . _ . . _ .. . . _ _ . _ . _ , _ _ . , . , ~ .. . _ .
~I ~o .. . .. . . . . . . . .

~ o o i~ o o ~ g ;0 ~0 ~0 0 0 ~!o o o io O ~ 0~ j~ O 0 ,;2; u~ ~o~ ~ ~ 0~
~C _ _ _ . _ _ . _ . _ _ _ _ _ U~ _ _ . _ _ 1~ _ SUBSTITUTE SHEET (RlJ5 E ~6' -W096/30845 PCTAUS96~01260 Il. Y
.u , ~ ~ C .
o~ ~ _ .-C U~
~ X X
C ~
o ~ ~

_ ~ 0 ~ - - o o ~ < e _ ~ C

!C ,, _ _, _ _ , , o o~
~ o o ~ O ' O , ~D o o ' en o -- N ~q ~ ~ ID ~ ~
-- _ _ _ _ _ _ _ _ _ _ _ . 79 SU~ 111 ~Jl~ SHEET (RULE 26) W 096/30845 PCTrUS96/01260 ~ .
. . _ .. _ . .

_ ;~ _._ - ~E . . .
o _ ._ o o X
O ;~ ~
,g .
O .

- tO - ' _ N N N . N N NN N N 3 o o o ~ o o o o o x SU~S 111 UTE SHEET (RULE 26) W 096130845 PCT/US96~01260 -o ~
o~ ! __ _ ~ _ _ _ _, . . ... __ .. . _ . _ _ .
. ~ , ..
~, .

o ~ ~ ~ 2 1 2 8 ~ o _ ~ ~ _ N

SUBSTITUT~ SHEET (RULF 26 W 096/30845 PCTrUS96/01260 _ , _ _ _ _ . . . .. .

_, _ . . ~ . =

~ ~ _ _ _. _. ._ _ ._ . ... _. . . ...

~ ~ . __. ~ _ . . . . _ _ . _ .. ___. _ . . _ . . . ..

~ ~ . . . . . . __.. . . . .

~ - O ~ I N ~ 1~ ~ ~ ~ '-- ~ r~~ ~ ~ O O O O ~ ~

8UBSTITUTE SHEET (RUL~ a6) WO 96/3084!i PCT/US96/01260 _ ~

_~

_, _ _ _ ~ 0 ~ ~ ~ ~ 2 ,5~ ~ ~ ,~ ~ ~ ~~ ~ ~ r SU~S 111 ~ITE SHEET (RUI E 26) W 096/30845 PCTrUS96/01260 -- . . . . _ . .

_ _ , _ _ _ . . _ . , .. . _ . ~ . . _ ~ ~ . _ . . . _. _ _ . . . . ., .. _ , . . .. ... .. _ . . .

~~ ~ t~ o . S ~ c~ ~ ~ ~~" ~ ~ ~~~ S i c~ o O ~~ -- O o ~ u S ~ ~ ~; O

~ SUE3STITUTE SHEET ~RULE 26) WO 96/30845 PCT~US96~012C(~

_ _ ,, _ . _, . . . . .

__ _ , _ _ , . .. . . .

..

. ~
~ ~ .

.

, .

o ~ o _ o ~ O O ~ O O ~.; o 8 ~ ~ 8 8 ~ -- -- -- -- -- -- -- -- -- -- ~

. 85 SUBSTITUTE SHEET (RIJLE 26~

W 096/30845 PCTrUS96/01260 _ _ . . _ _ . . _ , _ _ . _ . _ ~ . . .

_ ~ ,. . _ . , . _ _ . .

., . . . , . _ _ _. _ . . __ , . . . . .

. __ _ . _, _ .. . ..

~ ~ _ _ ,_ . _. _ . . .. .. . . .
I

.

o _,~ ~,, o:o -~ ~'-~ g o -l~ ~ . E o _ N 1~ '~ ~ i ~ O - ~ ~ ~ O
o ~ ~ ~ ~ ~ !~ o ,g g O 0 ~,: O 10 0 0 0 . ~ O O O .0 ~ ~ ~ ~o ~ O ~0 ~ =0 ~SUBSTITUTE SHEET (RULE 26) . ~

_ ~ _ _ _ , _,_ _ _ ,_ . _ _ _ _ , , _ _ _ . . . =
~ _......... . , _ . .__ .

~, _ _ _ _ _ _ _ _ -- _ _ _ _ _ _ _ _ _ _ _ SUBSTITUTE SHEET lRULE 26) W 096/30845 PCTrUS96/01260 _ _ _ . . _ . , _ _ . . . ~ . ; ~ . _ , . . _ _, . . . . _ _ ~ _ 1~ _ I
N C~ l N C~ e ~ ~ X o o o o o o ~ o o O
-- -- -- -- ---- -- '-- -- -- -- 111 -- -- -- -- -- -- U.~ -- _ -- U.~

SU~:sS 111 LlTE SHEET ~ULE 26) _ .. . _ . .. .

~ ~ _ _ . _.. _._ __ _._. _.. _ _____ . . _ ,, _ _ . ~ _ . _ . _ . . . .

~ ~ _ _ ' ._ . . . . __ . _ . .

-- . . . . . . . . = . .

.. . _ . . _ _ ~ . . ..
8 -- N ~ C> ~ 2 ~ I ~ ~ 8 SlJ~ JTE SHEET (RlJI E 26)

Claims (56)

What is claimed is:
1. A storage and retrieval system for data in a computer system including a memory, a central processing unit and a display, said storage and retrieval system including:
memory configuring means for configuring said memory according to a logical table, said logical table including:
a plurality of rows, each said row including an object identification number (OID) to identify each said row, each said row corresponding to a record of information;
a plurality of columns intersecting said plurality of rows to define a plurality of cells, each said column including an OID
to identify each said column; and wherein at least one of said rows has an OID equal to the OID to a corresponding one of said columns, said at least one row including information defining said corresponding column.
2. The system of claim 1 wherein said information defining said column includes information for searching said column.
3. The system of claim 2 wherein said information for searching said column includes a search path that references a folder, said folder including a group of rows of a similar type.
4. The system of claim 1 wherein:
said information defining said column includes information for synchronizing said column with a different column; and said system further includes synchronizing means for synchronizing said column with a different column.
5. The system of claim 4 wherein said information for synchronizing said column with a different column includes a pointer to said different column.
6. The system of claim 1 wherein:
at least one of said plurality of rows includes information defining the type of a different row; and at least one of said plurality of rows includes a cell that contains a pointer to said row including row type information.
7. The system of claim l wherein at least one of said columns defines cells that include a plurality of pointers to other columns within the same record, said pointers indicating those columns within the same record that contain defined values.
8. The system of claim l wherein at least one of said rows is a folder type row, said folder type row including at least one cell that contains a plurality of pointers to a plurality of other rows included within said folder.
9. The system of claim 8 wherein said plurality of other rows included within said folder each includes a cell that contains a pointer to said folder type row.
10. The system of claim l wherein said OID's are variable length and include data related to a session identification number and a timestamp.
11. A storage and retrieval system for data in a computer system including a memory, a central processing unit and a display, said storage and retrieval system including:
memory configuring means for configuring said memory according to a logical table, said logical table including:
a plurality of rows, each said row including an object identification number (OID) to identify each said row, each said row corresponding to a record of information;
a plurality of columns intersecting said plurality of rows to define a plurality of cells, each said column including an OID
to identify each said column; and wherein at least one of said rows contains a cell that contains a pointer to a different row; and searching means for searching said table for said pointer.
12. The system of claim 11 wherein at least one of said plurality of rows includes information defining the type of a different row.
13. The system of claim 11 wherein at least one of said columns defines cells that include a plurality of pointers to other columns within the same record, said pointers indicating those columns within the same record that contain defined values.
14. The system of claim 11 wherein at least one of said rows is a folder type row, said folder type row including at least one cell that contains a plurality of pointers to a plurality of other rows included within said folder.
15. The system of claim 14 wherein said plurality of other rows included within said folder each includes a cell that contains a pointer to said folder type row.
16. The system of claim 11 wherein said OID's are variable length.
17. A storage and retrieval system for data in a computer system including a memory, a central processing unit and a display, said storage and retrieval system including:
memory configuring means for configuring said memory according to a logical table, said logical table including:
a plurality of rows, each said row including an object identification number (OID) to identify each said row, each said row corresponding to a record of information;
a plurality of columns intersecting said plurality of rows to define a plurality of cells, each said column including an OID
to identify each said column; and indexing means for indexing data stored in said table, said indexing means further including:
searching means for searching a plurality of cells within said table for at least two key words, said searching means capable of searching a column containing unstructured text and a column containing structured data; and inserting means for inserting into said table rows corresponding to said at least two key words.
18. The system of claim 17 wherein:
each of said inserted rows includes a cell that contains a pointer to a searched cell that contains the keyword corresponding to said inserted row; and said searched cells that contain a keyword corresponding to said inserted row contain a pointer to said inserted row.
19. The system of claim 18 wherein said pointer to said searched cell includes the OID's of the column and row defining said searched cell.
20. The system of claim 18 wherein said searched cells include anchors that mark said key words.
21. The system of claim 17 wherein one of said plurality of rows of said table includes a folder type row that includes a plurality of pointers to said key words.
22. The system of claim 17 wherein said searching means further includes:
means for searching for every word in a text cell;
means for searching for every entry in a column;
means for searching for data based on automatic analysis; and means for searching for data marked by a user.
23. A storage and retrieval system for data in a computer system including a memory, a central processing unit and a display, said storage and retrieval system including:
memory configuring means for configuring said memory according to a logical table, said logical table including:

a plurality of rows, each said row including an object identification number (OID) to identify each said row, each said row corresponding to a record of information;
a plurality of columns intersecting said plurality of rows to define a plurality of cells, each said column including an OID
to identify each said column; and wherein at least one of said cells includes a pointer to an index record; and indexing means for indexing data stored in said table, said indexing means further including:
searching means for searching said table for at least two key words; and record creation means for creating index records for at least two key words, said index records including one or more pointers to cells in said table that contain said key words.
24. The system of claim 23 further including querying means, said querying means further including:
index look-up means for locating one of said index records according to the query of a user;
record retrieval means for retrieving at least one cell in said table pointed to by said located index record.
25. The system of claim 24 wherein said index look-up means further includes means for locating at least one of said index records pointed to by said at least one retrieved cell.
26. The system of claim 25 wherein said index look-up means and said record retrieval means each contain weighting means for weighting key words and retrieved cells according to pre-defined search criteria.
27. The system of claim 25 wherein said index look-up means and said record retrieval means each contain filtering means for filtering key words and retrieved cells according to pre-defined search criteria.
28. The system of claim 23 wherein said indexing means further includes means for indexing external documents.
29. A method for storing and retrieving data in a computer system including a memory, a central processing unit and a display, said method including the steps of:
providing an element for configuring said memory according to a logical table, said logical table including:
a plurality of rows, each said row including an object identification number (OID) to identify each said row, each said row corresponding to a record of information;
a plurality of columns intersecting said plurality of rows to define a plurality of cells, each said column including an OID
to identify each said column; and wherein at least one of said rows has an OID equal to the OID to a corresponding one of said columns, said at least one row including information defining said corresponding column.
30. The method of claim 29 wherein said information defining said column includes information for searching said column.
31. The method of claim 30 wherein said information for searching said column includes a search path that references a folder, said folder including a group of rows of a similar type.
32. The method of claim 29 wherein:
said method further includes the step of providing a component for synchronizing said column with a different column; and said information defining said column includes information for synchronizing said column with a different column.
33. The method of claim 32 wherein said information for synchronizing said column with a different column includes a pointer to said different column.
34. The method of claim 29 wherein:
at least one of said plurality of rows includes information defining the type of a different row; and at least one of said plurality of rows includes a cell that contains a pointer to said row including row type information.
35. The method of claim 29 wherein at least one of said columns defines cells that include a plurality of pointers to other columns within the same record, said pointers indicating those columns within the same record that contain defined values.
36. The method of claim 35 wherein at least one of said rows is a folder type row, said folder type row including at least one cell that contains a plurality of pointers to a plurality of other rows included within said folder.
37. The method of claim 36 wherein said plurality of other rows included within said folder each includes a cell that contains a pointer to said folder type row.
38. The method of claim 29 wherein said OID's are variable length and include data related to a session identification number and a timestamp.
39. A method for storing and retrieving data in a computer system including a memory, a central processing unit and a display, said method including the steps of:
providing an element for configuring said memory according to a logical table, said logical table including:
a plurality of rows, each said row including an object identification number (OID) to identify each said row, each said row corresponding to a record of information;
a plurality of columns intersecting said plurality of rows to define a plurality of cells, each said column including an OID
to identify each said column; and wherein at least one of said rows contains a cell that contains a pointer to a different row; and providing an element for searching said table for said pointer.
40. The method of claim 39 wherein at least one of said plurality of rows includes information defining the type of a different row.
41. The method of claim 39 wherein at least one of said columns defines cells that include a plurality of pointers to other columns within the same record, said pointers indicating those columns within the same record that contain defined values.
42. The method of claim 39 wherein at least one of said rows is a folder type row, said folder type row including at least one cell that contains a plurality of pointers to a plurality of other rows included within said folder.
43. The method of claim 42 wherein said plurality of other rows included within said folder each includes a cell that contains a pointer to said folder type row.
44. The method of claim 39 wherein said OID's are variable length.
45. A method for storing and retrieving data in a computer system including a memory, a central processing unit and a display, said method including the steps of:
providing an element for configuring said memory according to a logical table, said logical table including:
a plurality of rows, each said row including an object identification number (OID) to identify each said row, each said row corresponding to a record of information;
a plurality of columns intersecting said plurality of rows to define a plurality of cells, each said column including an OID
to identify each said column; and providing an element for indexing data stored in said table, said step of providing an element for indexing data further including the steps of:

providing an element for searching a plurality of cells within said table for at least two key words, said searching element capable of searching a column containing unstructured text and a column containing structured data; and providing an element for inserting into said table rows corresponding to said at least two key words.
46. The method of claim 45 wherein:
each of said inserted rows includes a cell that contains a pointer to a searched cell that contains the keyword corresponding to said inserted row; and said searched cells that contain a keyword corresponding to said inserted row contain a pointer to said inserted row.
47. The method of claim 46 wherein said pointer to said searched cell includes the OID's of the column and row defining said searched cell.
48. The method of claim 46 wherein said searched cells include anchors that mark said key words.
49. The method of claim 45 wherein one of said plurality of rows of said table includes a folder type row that includes a plurality of pointers to said key words.
50. The method of claim 45 wherein said step of providing said searching element further includes the steps of:
providing an element for searching for every word in a text cell;
providing an element for searching for every entry in a column;
providing an element for searching for data based on automatic analysis;
and providing an element for searching for data marked by a user.
51. A method for storing and retrieving data in a computer system including a memory, a central processing unit and a display, said method including the steps of:

providing an element for configuring said memory according to a logical table, said logical table including:
a plurality of rows, each said row including an object identification number (OID) to identify each said row, each said row corresponding to a record of information;
a plurality of columns intersecting said plurality of rows to define a plurality of cells, each said column including an OID
to identify each said column; and wherein at least one of said cells includes a pointer to an index record; and providing an element for indexing data stored in said table, said step of providing an element for indexing data further including the steps of:
providing an element for searching said table for at least two key words; and providing an element for creating index records for at least two key words, said index records including one or more pointers to cells in said table that contain said key words.
52. The method of claim 51 further including the step of providing an element for querying said table, said step of providing an element for querying said table further including the steps of:
providing an element for locating one of said index records according to the query of a user;
providing an element for retrieving at least one cell in said table pointed to by said located index record.
53. The method of claim 52 wherein said step of providing an element for locating one of said index records further includes the steps of providing an element for locating at least one of said index records pointed to by said at least one retrieved cell.
54. The method of claim 53 further including the step of providing an element for weighting key words and retrieved cells according to pre-defined search criteria.
55. The method of claim 53 further including the step of providing an element for filtering key words and retrieved cells according to pre-defined search criteria.
56. The method of claim 51 further including the step of providing an element for indexing external documents.
CA002216719A 1995-03-28 1996-02-01 Method and apparatus for improved information storage and retrieval system Abandoned CA2216719A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/383,752 US5729730A (en) 1995-03-28 1995-03-28 Method and apparatus for improved information storage and retrieval system
US08/383,752 1995-03-28

Publications (1)

Publication Number Publication Date
CA2216719A1 true CA2216719A1 (en) 1996-10-03

Family

ID=23514567

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002216719A Abandoned CA2216719A1 (en) 1995-03-28 1996-02-01 Method and apparatus for improved information storage and retrieval system

Country Status (5)

Country Link
US (4) US5729730A (en)
EP (1) EP0818010A1 (en)
AU (1) AU4910496A (en)
CA (1) CA2216719A1 (en)
WO (1) WO1996030845A1 (en)

Families Citing this family (232)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6182121B1 (en) * 1995-02-03 2001-01-30 Enfish, Inc. Method and apparatus for a physical storage architecture having an improved information storage and retrieval system for a shared file environment
US5729730A (en) * 1995-03-28 1998-03-17 Dex Information Systems, Inc. Method and apparatus for improved information storage and retrieval system
EP0840970A1 (en) * 1995-07-25 1998-05-13 BRITISH TELECOMMUNICATIONS public limited company Telecommunications network interface
US6067552A (en) * 1995-08-21 2000-05-23 Cnet, Inc. User interface system and method for browsing a hypertext database
JPH09128466A (en) * 1995-10-26 1997-05-16 Casio Comput Co Ltd Method and device for processing table
US5799297A (en) * 1995-12-15 1998-08-25 Ncr Corporation Task workflow management system and method including an external program execution feature
JPH09233458A (en) * 1996-02-28 1997-09-05 Toshiba Corp Method and device for selecting image
JP3952518B2 (en) * 1996-03-29 2007-08-01 株式会社日立製作所 Multidimensional data processing method
AU3214697A (en) * 1996-06-03 1998-01-05 Electronic Data Systems Corporation Automated password reset
US20030164856A1 (en) * 1996-06-28 2003-09-04 Randy Prager Desktop, stream-based, information management system
US6006227A (en) 1996-06-28 1999-12-21 Yale University Document stream operating system
US6457004B1 (en) * 1997-07-03 2002-09-24 Hitachi, Ltd. Document retrieval assisting method, system and service using closely displayed areas for titles and topics
DE19627472A1 (en) * 1996-07-08 1998-01-15 Ser Systeme Ag Database system
US5832500A (en) * 1996-08-09 1998-11-03 Digital Equipment Corporation Method for searching an index
US5745890A (en) * 1996-08-09 1998-04-28 Digital Equipment Corporation Sequential searching of a database index using constraints on word-location pairs
US5809502A (en) * 1996-08-09 1998-09-15 Digital Equipment Corporation Object-oriented interface for an index
JP3747525B2 (en) * 1996-08-28 2006-02-22 株式会社日立製作所 Parallel database system search method
US6209005B1 (en) * 1996-12-23 2001-03-27 Apple Computer, Inc. Method and apparatus for generating and linking documents to contacts in an organizer
US6067540A (en) 1997-02-28 2000-05-23 Oracle Corporation Bitmap segmentation
US5890147A (en) * 1997-03-07 1999-03-30 Microsoft Corporation Scope testing of documents in a search engine using document to folder mapping
US7111009B1 (en) * 1997-03-14 2006-09-19 Microsoft Corporation Interactive playlist generation using annotations
JPH10333953A (en) * 1997-04-01 1998-12-18 Kokusai Zunou Sangyo Kk Integrated data base system and computer-readable recording medium recording program for managing its data base structure
CA2329345A1 (en) * 1997-04-22 1998-10-29 Greg Hetherington Method and apparatus for processing free-format data
US5924100A (en) * 1997-05-06 1999-07-13 International Business Machines Corp. Flexible object representation of relational database cells having nontraditional datatypes
US5974413A (en) 1997-07-03 1999-10-26 Activeword Systems, Inc. Semantic user interface
US6012057A (en) * 1997-07-30 2000-01-04 Quarterdeck Corporation High speed data searching for information in a computer system
US6006223A (en) * 1997-08-12 1999-12-21 International Business Machines Corporation Mapping words, phrases using sequential-pattern to find user specific trends in a text database
US6065003A (en) * 1997-08-19 2000-05-16 Microsoft Corporation System and method for finding the closest match of a data entry
US5983368A (en) * 1997-08-26 1999-11-09 International Business Machines Corporation Method and system for facilitating hierarchical storage management (HSM) testing
US5929857A (en) * 1997-09-10 1999-07-27 Oak Technology, Inc. Method and apparatus for dynamically constructing a graphic user interface from a DVD data stream
US6134563A (en) * 1997-09-19 2000-10-17 Modernsoft, Inc. Creating and editing documents
US6915265B1 (en) * 1997-10-29 2005-07-05 Janice Johnson Method and system for consolidating and distributing information
US6134558A (en) * 1997-10-31 2000-10-17 Oracle Corporation References that indicate where global database objects reside
US6108664A (en) * 1997-10-31 2000-08-22 Oracle Corporation Object views for relational data
US6058391A (en) * 1997-12-17 2000-05-02 Mci Communications Corporation Enhanced user view/update capability for managing data from relational tables
US6374256B1 (en) * 1997-12-22 2002-04-16 Sun Microsystems, Inc. Method and apparatus for creating indexes in a relational database corresponding to classes in an object-oriented application
US6345258B1 (en) * 1997-12-30 2002-02-05 William E. Pickens Information system for new home builders
US6219670B1 (en) * 1998-02-18 2001-04-17 International Business Machines Corporation Method and apparatus for filtering a table list before opening with a graphical user interface
US6247018B1 (en) 1998-04-16 2001-06-12 Platinum Technology Ip, Inc. Method for processing a file to generate a database
US6134582A (en) * 1998-05-26 2000-10-17 Microsoft Corporation System and method for managing electronic mail messages using a client-based database
US6330589B1 (en) * 1998-05-26 2001-12-11 Microsoft Corporation System and method for using a client database to manage conversation threads generated from email or news messages
US6532475B1 (en) * 1998-05-28 2003-03-11 Increment P Corporation Map information providing system and map information searching method
US7162689B2 (en) * 1998-05-28 2007-01-09 Oracle International Corporation Schema evolution in replication
GB2341250A (en) * 1998-09-04 2000-03-08 Balaena Limited Database structure avoids duplication of stored data
WO2000016541A1 (en) 1998-09-15 2000-03-23 Microsoft Corporation Annotation creation and notification via electronic mail
US6956593B1 (en) 1998-09-15 2005-10-18 Microsoft Corporation User interface for creating, viewing and temporally positioning annotations for media content
US6226650B1 (en) * 1998-09-17 2001-05-01 Synchrologic, Inc. Database synchronization and organization system and method
US6363389B1 (en) * 1998-09-24 2002-03-26 International Business Machines Corporation Technique for creating a unique quasi-random row identifier
US6523028B1 (en) * 1998-12-03 2003-02-18 Lockhead Martin Corporation Method and system for universal querying of distributed databases
US6279003B1 (en) 1998-12-22 2001-08-21 International Business Machines Corporation Self-describing multiple key format database index
US6279004B1 (en) 1998-12-22 2001-08-21 International Business Machines Corporation Database index key versioning
US6334122B1 (en) * 1998-12-23 2001-12-25 Advanced Micro Devices, Inc. Method and apparatus for translating variable names to column names for accessing a database
US6711624B1 (en) * 1999-01-13 2004-03-23 Prodex Technologies Process of dynamically loading driver interface modules for exchanging data between disparate data hosts
US6457014B1 (en) * 1999-03-26 2002-09-24 Computer Associates Think, Inc. System and method for extracting index key data fields
US6370534B1 (en) * 1999-06-01 2002-04-09 Pliant Technologies, Inc. Blocking techniques for data storage
JP3914662B2 (en) 1999-06-30 2007-05-16 株式会社日立製作所 Database processing method and apparatus, and medium storing the processing program
US6463439B1 (en) * 1999-07-15 2002-10-08 American Management Systems, Incorporated System for accessing database tables mapped into memory for high performance data retrieval
US20020029217A1 (en) * 1999-08-09 2002-03-07 Raycam System Technology Telephone number inquiry method and database for all residents
US7099898B1 (en) 1999-08-12 2006-08-29 International Business Machines Corporation Data access system
US6532476B1 (en) 1999-11-13 2003-03-11 Precision Solutions, Inc. Software based methodology for the storage and retrieval of diverse information
US6633879B1 (en) 2000-01-04 2003-10-14 International Business Machines Corporation Method and system for optimizing direct tables and trees
US6742035B1 (en) * 2000-02-28 2004-05-25 Novell, Inc. Directory-based volume location service for a distributed file system
US20020029207A1 (en) * 2000-02-28 2002-03-07 Hyperroll, Inc. Data aggregation server for managing a multi-dimensional database and database management system having data aggregation server integrated therein
US7363290B1 (en) 2000-04-14 2008-04-22 Wachovia Corporation Item capture research system
US6684202B1 (en) * 2000-05-31 2004-01-27 Lexis Nexis Computer-based system and method for finding rules of law in text
GB0015896D0 (en) * 2000-06-28 2000-08-23 Twi Interactive Inc Multimedia publishing system
US9038108B2 (en) * 2000-06-28 2015-05-19 Verizon Patent And Licensing Inc. Method and system for providing end user community functionality for publication and delivery of digital media content
US8126313B2 (en) * 2000-06-28 2012-02-28 Verizon Business Network Services Inc. Method and system for providing a personal video recorder utilizing network-based digital media content
AU2001277855A1 (en) * 2000-06-30 2002-01-14 Information Bionics, Inc. System for linking data cells through permutation
US7272783B2 (en) 2000-07-13 2007-09-18 International Business Machines Corporation Method and system in an electronic spreadsheet for managing and handling user-defined options
US7178098B2 (en) * 2000-07-13 2007-02-13 International Business Machines Corporation Method and system in an electronic spreadsheet for handling user-defined options in a copy/cut—paste operation
US7146561B2 (en) 2000-07-13 2006-12-05 International Business Machines Corporation Method and system in an electronic spreadsheet for comparing series of cells
US6973456B1 (en) * 2000-08-10 2005-12-06 Ross Elgart Database system and method for organizing and sharing information
WO2002021257A1 (en) * 2000-09-08 2002-03-14 Btg International Limited Customizing a legal document by extracting components from a database
EP1189148A1 (en) * 2000-09-19 2002-03-20 UMA Information Technology AG Document search and analysing method and apparatus
US6718336B1 (en) * 2000-09-29 2004-04-06 Battelle Memorial Institute Data import system for data analysis system
JP2002117074A (en) * 2000-10-04 2002-04-19 Hitachi Ltd Information retrieving method
US7233940B2 (en) * 2000-11-06 2007-06-19 Answers Corporation System for processing at least partially structured data
US6898592B2 (en) 2000-12-27 2005-05-24 Microsoft Corporation Scoping queries in a search engine
US20020152064A1 (en) * 2001-04-12 2002-10-17 International Business Machines Corporation Method, apparatus, and program for annotating documents to expand terms in a talking browser
US6904428B2 (en) * 2001-04-18 2005-06-07 Illinois Institute Of Technology Intranet mediator
US7219094B2 (en) 2001-05-10 2007-05-15 Siemens Medical Solutions Health Services Corporation Method and system for providing an adaptive interface for use in interrogating an application
DE50101548D1 (en) 2001-05-17 2004-04-01 Presmar Peter Virtual database of heterogeneous data structures
US8972862B2 (en) 2001-06-27 2015-03-03 Verizon Patent And Licensing Inc. Method and system for providing remote digital media ingest with centralized editorial control
US7970260B2 (en) * 2001-06-27 2011-06-28 Verizon Business Global Llc Digital media asset management system and method for supporting multiple users
US20070089151A1 (en) * 2001-06-27 2007-04-19 Mci, Llc. Method and system for delivery of digital media experience via common instant communication clients
US20060236221A1 (en) * 2001-06-27 2006-10-19 Mci, Llc. Method and system for providing digital media management using templates and profiles
US8990214B2 (en) * 2001-06-27 2015-03-24 Verizon Patent And Licensing Inc. Method and system for providing distributed editing and storage of digital media over a network
US7461077B1 (en) 2001-07-31 2008-12-02 Nicholas Greenwood Representation of data records
US20030115082A1 (en) * 2001-08-24 2003-06-19 Jacobson Vince C. Mobile productivity tool for healthcare providers
US7747943B2 (en) * 2001-09-07 2010-06-29 Microsoft Corporation Robust anchoring of annotations to content
US7158994B1 (en) 2001-09-28 2007-01-02 Oracle International Corporation Object-oriented materialized views
US7480854B2 (en) * 2001-10-02 2009-01-20 International Business Machines Corporation Data conversion system and method
US7680817B2 (en) * 2001-10-15 2010-03-16 Maya-Systems Inc. Multi-dimensional locating system and method
US8316306B2 (en) * 2001-10-15 2012-11-20 Maya-Systems Inc. Method and system for sequentially navigating axes of elements
US7606819B2 (en) 2001-10-15 2009-10-20 Maya-Systems Inc. Multi-dimensional locating system and method
US6907422B1 (en) * 2001-12-18 2005-06-14 Siebel Systems, Inc. Method and system for access and display of data from large data sets
US20030144800A1 (en) * 2001-12-31 2003-07-31 Lockheed Martin Corporation Methods and system for hazardous material early detection for use with mail and other objects
US8086720B2 (en) * 2002-01-31 2011-12-27 International Business Machines Corporation Performance reporting in a network environment
US7269651B2 (en) * 2002-09-26 2007-09-11 International Business Machines Corporation E-business operations measurements
US7412502B2 (en) * 2002-04-18 2008-08-12 International Business Machines Corporation Graphics for end to end component mapping and problem-solving in a network environment
US8527620B2 (en) 2003-03-06 2013-09-03 International Business Machines Corporation E-business competitive measurements
US20030149698A1 (en) * 2002-02-01 2003-08-07 Hoggatt Dana L. System and method for positioning records in a database
US20030154197A1 (en) * 2002-02-13 2003-08-14 Permutta Technologies Flexible relational data storage method and apparatus
US6996558B2 (en) 2002-02-26 2006-02-07 International Business Machines Corporation Application portability and extensibility through database schema and query abstraction
US7111020B1 (en) * 2002-03-26 2006-09-19 Oracle International Corporation Incremental refresh of materialized views containing rank function, and rewrite of queries containing rank or rownumber or min/max aggregate functions using such a materialized view
US7243301B2 (en) 2002-04-10 2007-07-10 Microsoft Corporation Common annotation framework
US20030196116A1 (en) * 2002-04-15 2003-10-16 Todd Troutman Electronic mail blocking system
US7568151B2 (en) * 2002-06-27 2009-07-28 Microsoft Corporation Notification of activity around documents
US7240046B2 (en) 2002-09-04 2007-07-03 International Business Machines Corporation Row-level security in a relational database management system
US20040049473A1 (en) * 2002-09-05 2004-03-11 David John Gower Information analytics systems and methods
US20080058106A1 (en) * 2002-10-07 2008-03-06 Maya-Systems Inc. Multi-dimensional locating game system and method
US7133885B2 (en) * 2002-11-26 2006-11-07 International Business Machines Corporation Database management system using offsets in entries with at least one varying-length column
US7146356B2 (en) * 2003-03-21 2006-12-05 International Business Machines Corporation Real-time aggregation of unstructured data into structured data for SQL processing by a relational database engine
AU2003901968A0 (en) * 2003-04-23 2003-05-15 Wolfgang Flatow A universal database schema
AU2004232862B2 (en) * 2003-04-23 2005-05-26 Certainedge Pty Ltd A universal database schema
US7765211B2 (en) * 2003-04-29 2010-07-27 International Business Machines Corporation System and method for space management of multidimensionally clustered tables
US7103588B2 (en) * 2003-05-05 2006-09-05 International Business Machines Corporation Range-clustered tables in a database management system
US7349918B2 (en) * 2003-06-30 2008-03-25 American Express Travel Related Services Company, Inc. Method and system for searching binary files
US7363581B2 (en) * 2003-08-12 2008-04-22 Accenture Global Services Gmbh Presentation generator
US7899843B2 (en) * 2003-09-19 2011-03-01 International Business Machines Corporation Expanding the scope of an annotation to an entity level
US7620624B2 (en) * 2003-10-17 2009-11-17 Yahoo! Inc. Systems and methods for indexing content for fast and scalable retrieval
US7174353B2 (en) * 2003-10-24 2007-02-06 International Business Machines Corporation Method and system for preserving an original table schema
US7900133B2 (en) 2003-12-09 2011-03-01 International Business Machines Corporation Annotation structure type determination
US7424467B2 (en) 2004-01-26 2008-09-09 International Business Machines Corporation Architecture for an indexer with fixed width sort and variable width sort
US7293005B2 (en) * 2004-01-26 2007-11-06 International Business Machines Corporation Pipelined architecture for global analysis and index building
US7499913B2 (en) * 2004-01-26 2009-03-03 International Business Machines Corporation Method for handling anchor text
US8296304B2 (en) * 2004-01-26 2012-10-23 International Business Machines Corporation Method, system, and program for handling redirects in a search engine
US7976539B2 (en) 2004-03-05 2011-07-12 Hansen Medical, Inc. System and method for denaturing and fixing collagenous tissue
US20060100610A1 (en) 2004-03-05 2006-05-11 Wallace Daniel T Methods using a robotic catheter system
US7890497B2 (en) * 2004-04-14 2011-02-15 Oracle International Corporation Using estimated cost to schedule an order for refreshing a set of materialized views (MVS)
US7734602B2 (en) 2004-04-14 2010-06-08 Oracle International Corporation Choosing whether to use a delayed index maintenance depending on the portion of the materialized view (MV) changed
US8478742B2 (en) * 2004-04-14 2013-07-02 Oracle Corporation Using estimated cost to refresh a set of materialized views (MVS)
US7814096B1 (en) * 2004-06-08 2010-10-12 Yahoo! Inc. Query based search engine
US20060004725A1 (en) * 2004-06-08 2006-01-05 Abraido-Fandino Leonor M Automatic generation of a search engine for a structured document
US7428535B1 (en) * 2004-06-25 2008-09-23 Apple Inc. Automatic relevance filtering
US7971186B1 (en) 2004-06-25 2011-06-28 Apple Inc. Automatic execution flow ordering
US7886264B1 (en) 2004-06-25 2011-02-08 Apple Inc. Automatic conversion for disparate data types
US20060053171A1 (en) * 2004-09-03 2006-03-09 Biowisdom Limited System and method for curating one or more multi-relational ontologies
US20060053172A1 (en) * 2004-09-03 2006-03-09 Biowisdom Limited System and method for creating, editing, and using multi-relational ontologies
US7496593B2 (en) 2004-09-03 2009-02-24 Biowisdom Limited Creating a multi-relational ontology having a predetermined structure
US20060074833A1 (en) * 2004-09-03 2006-04-06 Biowisdom Limited System and method for notifying users of changes in multi-relational ontologies
US20060074836A1 (en) * 2004-09-03 2006-04-06 Biowisdom Limited System and method for graphically displaying ontology data
US7505989B2 (en) 2004-09-03 2009-03-17 Biowisdom Limited System and method for creating customized ontologies
US20060053173A1 (en) * 2004-09-03 2006-03-09 Biowisdom Limited System and method for support of chemical data within multi-relational ontologies
US20060053382A1 (en) * 2004-09-03 2006-03-09 Biowisdom Limited System and method for facilitating user interaction with multi-relational ontologies
US7493333B2 (en) * 2004-09-03 2009-02-17 Biowisdom Limited System and method for parsing and/or exporting data from one or more multi-relational ontologies
US20060053174A1 (en) * 2004-09-03 2006-03-09 Bio Wisdom Limited System and method for data extraction and management in multi-relational ontology creation
US20060053175A1 (en) * 2004-09-03 2006-03-09 Biowisdom Limited System and method for creating, editing, and utilizing one or more rules for multi-relational ontology creation and maintenance
US7461064B2 (en) 2004-09-24 2008-12-02 International Buiness Machines Corporation Method for searching documents for ranges of numeric values
US7606793B2 (en) * 2004-09-27 2009-10-20 Microsoft Corporation System and method for scoping searches using index keys
US20060085470A1 (en) * 2004-10-15 2006-04-20 Matthias Schmitt Database record templates
US7610272B2 (en) * 2004-11-29 2009-10-27 Sap Ag Materialized samples for a business warehouse query
US7363306B1 (en) * 2005-01-27 2008-04-22 Hewlett-Packard Development Company, L.P. Method and system for graphical representation
US7565217B2 (en) * 2005-04-01 2009-07-21 International Business Machines Corporation Traversal of empty regions in a searchable data structure
EP1886239A1 (en) * 2005-05-31 2008-02-13 Siemens Medical Solutions USA, Inc. System and method for data sensitive filtering of patient demographic record queries
US8161005B1 (en) 2005-06-30 2012-04-17 Emc Corporation Efficient index processing
US8156079B1 (en) 2005-06-30 2012-04-10 Emc Corporation System and method for index processing
US7966292B1 (en) 2005-06-30 2011-06-21 Emc Corporation Index processing
US7849048B2 (en) 2005-07-05 2010-12-07 Clarabridge, Inc. System and method of making unstructured data available to structured data analysis tools
US7849049B2 (en) 2005-07-05 2010-12-07 Clarabridge, Inc. Schema and ETL tools for structured and unstructured data
US8417693B2 (en) * 2005-07-14 2013-04-09 International Business Machines Corporation Enforcing native access control to indexed documents
US7567973B1 (en) * 2005-08-05 2009-07-28 Google Inc. Storing a sparse table using locality groups
US7428524B2 (en) * 2005-08-05 2008-09-23 Google Inc. Large scale data storage in sparse tables
US7668846B1 (en) 2005-08-05 2010-02-23 Google Inc. Data reconstruction from shared update log
US8631226B2 (en) * 2005-09-07 2014-01-14 Verizon Patent And Licensing Inc. Method and system for video monitoring
US9401080B2 (en) 2005-09-07 2016-07-26 Verizon Patent And Licensing Inc. Method and apparatus for synchronizing video frames
US9076311B2 (en) * 2005-09-07 2015-07-07 Verizon Patent And Licensing Inc. Method and apparatus for providing remote workflow management
US20070107012A1 (en) * 2005-09-07 2007-05-10 Verizon Business Network Services Inc. Method and apparatus for providing on-demand resource allocation
US7752211B1 (en) * 2005-09-30 2010-07-06 Emc Corporation Adaptive index processing
US7627609B1 (en) 2005-09-30 2009-12-01 Emc Corporation Index processing using transformed values
US7698325B1 (en) 2005-09-30 2010-04-13 Emc Corporation Index processing for legacy systems
US7954049B2 (en) 2006-05-15 2011-05-31 Microsoft Corporation Annotating multimedia files along a timeline
US20070276852A1 (en) * 2006-05-25 2007-11-29 Microsoft Corporation Downloading portions of media files
US7801856B2 (en) * 2006-08-09 2010-09-21 Oracle International Corporation Using XML for flexible replication of complex types
US20080114733A1 (en) * 2006-11-14 2008-05-15 Microsoft Corporation User-structured data table indexing
US8826123B2 (en) * 2007-05-25 2014-09-02 9224-5489 Quebec Inc. Timescale for presenting information
CA2601154C (en) 2007-07-07 2016-09-13 Mathieu Audet Method and system for distinguising elements of information along a plurality of axes on a basis of a commonality
US8601392B2 (en) 2007-08-22 2013-12-03 9224-5489 Quebec Inc. Timeline for presenting information
US20090106221A1 (en) * 2007-10-18 2009-04-23 Microsoft Corporation Ranking and Providing Search Results Based In Part On A Number Of Click-Through Features
US9348912B2 (en) * 2007-10-18 2016-05-24 Microsoft Technology Licensing, Llc Document length as a static relevance feature for ranking search results
CA2657835C (en) 2008-03-07 2017-09-19 Mathieu Audet Documents discrimination system and method thereof
US8812493B2 (en) * 2008-04-11 2014-08-19 Microsoft Corporation Search results ranking using editing distance and document information
US20090287693A1 (en) 2008-05-15 2009-11-19 Mathieu Audet Method for building a search algorithm and method for linking documents with an object
US8893017B2 (en) 2008-05-29 2014-11-18 Adobe Systems Incorporated Tracking changes in a database tool
US8607155B2 (en) 2008-09-12 2013-12-10 9224-5489 Quebec Inc. Method of managing groups of arrays of documents
US8484351B1 (en) 2008-10-08 2013-07-09 Google Inc. Associating application-specific methods with tables used for data storage
US20100169348A1 (en) * 2008-12-31 2010-07-01 Evrichart, Inc. Systems and Methods for Handling Multiple Records
US8250026B2 (en) 2009-03-06 2012-08-21 Peoplechart Corporation Combining medical information captured in structured and unstructured data formats for use or display in a user application, interface, or view
US8140517B2 (en) * 2009-04-06 2012-03-20 International Business Machines Corporation Database query optimization using weight mapping to qualify an index
US8738635B2 (en) 2010-06-01 2014-05-27 Microsoft Corporation Detection of junk in search result ranking
US9058093B2 (en) 2011-02-01 2015-06-16 9224-5489 Quebec Inc. Active element
US20120317104A1 (en) * 2011-06-13 2012-12-13 Microsoft Corporation Using Aggregate Location Metadata to Provide a Personalized Service
US11341166B2 (en) 2011-09-01 2022-05-24 Full Circle Insights, Inc. Method and system for attributing metrics in a CRM system
US10621206B2 (en) * 2012-04-19 2020-04-14 Full Circle Insights, Inc. Method and system for recording responses in a CRM system
US10289657B2 (en) 2011-09-25 2019-05-14 9224-5489 Quebec Inc. Method of retrieving information elements on an undisplayed portion of an axis of information elements
US9069748B2 (en) 2011-10-04 2015-06-30 Microsoft Technology Licensing, Llc Selective generation and display of data items associated with a spreadsheet
US8990675B2 (en) 2011-10-04 2015-03-24 Microsoft Technology Licensing, Llc Automatic relationship detection for spreadsheet data items
US9430114B1 (en) 2011-11-03 2016-08-30 Pervasive Software Data transformation system, graphical mapping tool, and method for creating a schema map
US9495462B2 (en) 2012-01-27 2016-11-15 Microsoft Technology Licensing, Llc Re-ranking search results
US10372741B2 (en) 2012-03-02 2019-08-06 Clarabridge, Inc. Apparatus for automatic theme detection from unstructured data
US8938428B1 (en) 2012-04-16 2015-01-20 Emc Corporation Systems and methods for efficiently locating object names in a large index of records containing object names
US9519693B2 (en) 2012-06-11 2016-12-13 9224-5489 Quebec Inc. Method and apparatus for displaying data element axes
US9646080B2 (en) 2012-06-12 2017-05-09 9224-5489 Quebec Inc. Multi-functions axis-based interface
US9836759B2 (en) 2012-08-06 2017-12-05 Randolph Ken Georgi Universal transaction associating identifier
US9811579B1 (en) * 2012-11-21 2017-11-07 Christopher A. Olson Document relational mapping
US9141669B2 (en) * 2013-01-22 2015-09-22 Go Daddy Operating Company, LLC Configuring an origin server content delivery using a pulled data list
US10372842B2 (en) * 2013-03-14 2019-08-06 Xerox Corporation Method and device for calibrating and updating a power model
EP3182304A1 (en) 2013-03-29 2017-06-21 Pilab S.A. Computer-implemented method for storing unlimited amount of data as a mind map in relational database systems
EP2819030A1 (en) 2013-06-30 2014-12-31 Pilab S.A. Database hierarchy-independent data drilling
EP2843568A1 (en) 2013-08-30 2015-03-04 Pilab S.A. Computer implemented method for creating database structures without knowledge on functioning of relational database system
ES2636758T3 (en) * 2013-08-30 2017-10-09 Pilab S.A. Procedure implemented by computer to improve query execution in standardized relational databases at level 4 and higher
US10210050B1 (en) * 2013-12-23 2019-02-19 EMC IP Holding Company LLC Consistency group driven backup
US10089380B2 (en) * 2014-01-07 2018-10-02 Samsung Electronics Co., Ltd. Method and apparatus for operating electronic device
US9460174B2 (en) 2014-05-20 2016-10-04 IfWizard Corporation Method for transporting relational data
US10402759B2 (en) * 2015-01-22 2019-09-03 Visier Solutions, Inc. Systems and methods of adding and reconciling dimension members
US11636408B2 (en) 2015-01-22 2023-04-25 Visier Solutions, Inc. Techniques for manipulating and rearranging presentation of workforce data in accordance with different data-prediction scenarios available within a graphical user interface (GUI) of a computer system, and an apparatus and hardware memory implementing the techniques
US10614478B1 (en) 2015-02-26 2020-04-07 Randolph Georgi Directed digital currency system, method, and apparatus
US10157400B1 (en) 2015-02-26 2018-12-18 Randolph Georgi Interoperable reward currency system, method, and apparatus
US20210319172A1 (en) * 2015-04-30 2021-10-14 Workiva Inc. Computing device for multiple cell linking
WO2017186774A1 (en) 2016-04-26 2017-11-02 Pilab S.A. Systems and methods for querying databases
US10068207B2 (en) * 2016-06-17 2018-09-04 Snap-On Incorporated Systems and methods to generate repair orders using a taxonomy and an ontology
US20180032552A1 (en) * 2016-08-01 2018-02-01 Georgia Tech Research Corporation Configurable Hyper-Referenced Associative Object Schema
US9843974B1 (en) 2016-10-13 2017-12-12 Qualcomm Incorporated Communication beam soft handover
RU2650032C1 (en) * 2017-03-20 2018-04-06 Алексей Петрович Семенов Electronic database and method of its formation
US10671266B2 (en) 2017-06-05 2020-06-02 9224-5489 Quebec Inc. Method and apparatus of aligning information element axes
US11100281B1 (en) 2020-08-17 2021-08-24 Workiva Inc. System and method for maintaining links and revisions
US11443108B2 (en) 2020-08-17 2022-09-13 Workiva Inc. System and method for document management using branching
US11681734B2 (en) 2020-12-09 2023-06-20 International Business Machines Corporation Organizing fragments of meaningful text
CN112699094B (en) * 2021-03-23 2021-07-13 中国信息通信研究院 File storage method, data retrieval method, corresponding device and system
US11354362B1 (en) 2021-05-06 2022-06-07 Workiva Inc. System and method for copying linked documents
US11762668B2 (en) 2021-07-06 2023-09-19 Servicenow, Inc. Centralized configuration data management and control

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4918593A (en) * 1987-01-08 1990-04-17 Wang Laboratories, Inc. Relational database system
US5226161A (en) * 1987-08-21 1993-07-06 Wang Laboratories, Inc. Integration of data between typed data structures by mutual direct invocation between data managers corresponding to data types
JPH07104868B2 (en) * 1988-04-08 1995-11-13 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン Data storage retrieval system
JPH0370048A (en) * 1989-08-09 1991-03-26 Hitachi Ltd Dictionary generating method
US5201046A (en) * 1990-06-22 1993-04-06 Xidak, Inc. Relational database management system and method for storing, retrieving and modifying directed graph data structures
US5295256A (en) * 1990-12-14 1994-03-15 Racal-Datacom, Inc. Automatic storage of persistent objects in a relational schema
JPH04271443A (en) * 1991-02-27 1992-09-28 Canon Inc Method and device for data base constitution
JP3177999B2 (en) * 1991-04-25 2001-06-18 カシオ計算機株式会社 System configuration diagram creation device
US5305389A (en) * 1991-08-30 1994-04-19 Digital Equipment Corporation Predictive cache system
JP2711204B2 (en) * 1992-03-09 1998-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション How to generate a relational database user interface
US5359724A (en) * 1992-03-30 1994-10-25 Arbor Software Corporation Method and apparatus for storing and retrieving multi-dimensional data in computer memory
US5459860A (en) * 1992-10-05 1995-10-17 International Business Machines Corporation Computerized system and process for managing a distributed database system
US5557787A (en) * 1993-02-18 1996-09-17 Fuji Xerox Co., Ltd. Table generating apparatus employing heading, layout, and table script data
JPH06251007A (en) * 1993-02-23 1994-09-09 Fuji Xerox Co Ltd Table data input device
US5303146A (en) * 1993-03-11 1994-04-12 Borland International, Inc. System and methods for improved scenario management in an electronic spreadsheet
US5560005A (en) * 1994-02-25 1996-09-24 Actamed Corp. Methods and systems for object-based relational distributed databases
US5729730A (en) * 1995-03-28 1998-03-17 Dex Information Systems, Inc. Method and apparatus for improved information storage and retrieval system
US5630005A (en) * 1996-03-22 1997-05-13 Cirrus Logic, Inc Method for seeking to a requested location within variable data rate recorded information

Also Published As

Publication number Publication date
US5729730A (en) 1998-03-17
WO1996030845A1 (en) 1996-10-03
AU4910496A (en) 1996-10-16
EP0818010A1 (en) 1998-01-14
US6163775A (en) 2000-12-19
US5893087A (en) 1999-04-06
US6151604A (en) 2000-11-21

Similar Documents

Publication Publication Date Title
CA2216719A1 (en) Method and apparatus for improved information storage and retrieval system
US6182121B1 (en) Method and apparatus for a physical storage architecture having an improved information storage and retrieval system for a shared file environment
US5499359A (en) Methods for improved referential integrity in a relational database management system
US6704739B2 (en) Tagging data assets
US5835912A (en) Method of efficiency and flexibility storing, retrieving, and modifying data in any language representation
US5991776A (en) Database system with improved methods for storing free-form data objects of data records
Zloof Office-by-Example: A business language that unifies data and word processing and electronic mail
Stonebraker et al. Document processing in a relational database system
Chu Information representation and retrieval in the digital age
US7487154B2 (en) Method and apparatus for generating page-level security in a computer generated report
US5953006A (en) Methods and apparatus for detecting and displaying similarities in large data sets
US8626756B1 (en) Tagging data assets
WO2003098477A1 (en) Search and presentation engine
Ellis et al. In search of the unknown user: indexing, hypertext and the World Wide Web
Porter Implementing a probabilistic information retrieval system
Fattahi Super records: an approach towards the description of works appearing in various manifestations
WO2000026839A9 (en) Advanced model for automatic extraction of skill and knowledge information from an electronic document
KR890016474A (en) Database object analysis method and system
JPH0744579A (en) Logical structure sentence retrieval system
Chen et al. The Sequoia 2000 object browser
EP1101176A1 (en) Method and apparatus for a physical storage architecture having an improved information storage and retrieval system for a shared file environment
Wentz Museum information systems: The case for computerization
Fuller et al. Hyperbase systems: A structured architecture
Kambayashi et al. New indices for bibliographic data and their applications
EllIEEEEElllm EEEmhEEohhEshI IllllE EEEEI EllIEEEEElllm. ElllEllEEEEEEI

Legal Events

Date Code Title Description
FZDE Discontinued