throbber
O I
`
`— LO 9‘
`0- CO ’3;
`5
`“3. CO -—-—_:;0
`-_-; g g:
`c v- Eco
`a: £0
`i ‘— “g
`
`REISSUE PATENT APPLICATION TRANSMITTAL
`
`‘ ddress to:
`
`9 "
`
`Assistant Commissioner for
`‘ Patents
`0 PD. Box 1450
`Arlington, VA 223134450
`
`Attorney Docket No.
`.
`Flrst Named Inventor
`.
`.
`Orlglnal Patent No.
`Original Patent Issue Date
`
`83145
`
`Doktor
`
`5 826 259
`October 20 1998
`
`Ex-ress Mail Label No.
`
`V70048737$i7
`
`,7
`
`llllllilliillililllllll
`
`APPLICATION FOR REISSUE OF:
`Check a olicable box
`APPLICATION ELEMENTS 37 CFR 1.173
`
`Plant Patent
`Design Patent
`L Utility Patent
`ACCOMPANYING APPLICATION PARTS
`
`1. A Fee Transmittal Form (PTO/SB/56)
`(Submit an original and a duplication for fee processing)
`
`2.
`
`X Applicant claims small entity status. See 37
`CFR 1.27.
`
`.
`
`.
`
`Statement of status and support for all
`changes to the claims. See 37 CFR 1.173(c).
`
`Original US. Patent for surrender
`Ribboned Original Patent Grant
`Statement of Loss (PTO/SB/55)
`
`12. _ Foreign Priority Claim (35 use 119)
`if applicable)
`ountry:
`Application No.:
`Filing Date:
`The certified copy has been filed in
`prior application Serial No.
`filed
`on
`
`_ Information Disclosure Statement
`(lDS)/PTO-1449 and Copies of IDS
`Citations
`
`14.
`
`15.
`
`English Translation of Reissue
`Oath/Declaration (if applicable)
`
`Preliminary Amendment
`
`16. X
`
`Return Receipt Postcard (MPEP 503)
`(Should be specifically itemized)
`
`Other: Please associate this application
`17. X
`with Customer No. 27975
`
`
`
`3. L Specification and Claims in double column
`copy of patent format (amended. if
`appropriate)
`
`4. X_ Drawing(s) (proposed amendments. if
`appropriate)
`
`5. L Reissue Oath/Declaration (original or copy)
`(37 CFR 1.175) (PTO/SB/51 or 52) (3 items)
`
`6. _ Power of Attorney
`
`7. X_ Original US. Patent currently assigned?
`X
`Yes
`No
`(If Yes, check applicable box(es))
`X
`Written Consent of all Assignees (PTO/$8153)
`X
`37 CFR 3.73(b) Statement (PTO/SB/96)
`
`8.
`
`9.
`
`CD-ROM or CD-R in duplicate, Computer Program
`(Appendix) or large table
`
`Nucleotide and/or Amino Acid Sequence
`submission (if applicable. all of the following
`are necessary)
`a.
`Computer Readable Form (CFR)
`b.
`Specification Sequence Listing on:
`I.
`CD ROM or CD—R (2 copies) or
`ii.
`paper
`
`_.. ||||I||l|I||llllllllllllll||l| 27975
`
`above copies
`
`PATENT TRADEMARK OFFICE
`
`Respectfully submitted,
`
`DAVID L. STEWART
`
`Reg. No. 37,578
`Allen, Dyer, Doppelt, Milbrath
`& Gilchrist, PA.
`255 S. Orange Ave., Suite 401
`Post Office Box 3791
`
`Orlando. Florida 32802
`Phone: 407-841-2330
`
`001
`
`IBM EX. 1015
`
`001
`
`

`

`REISSUE APPLICATION FEE
`TRANSMITTAL FORM
`
`PTO/SB/56
`
`Attorney Docket No.
`
`83145
`
`Claims
`in Patent
`
`(A)
`(C)
`
`Total
`
`Claims
`Indep.
`Claims
`
`Claims as Filed — Part 1
`
`Number Filed in
`Reissue
`Ao olication
`
`(3)
`Number
`Extra
`
`Large Entity
`
`_
`
`“3’ 18’20‘ — “8’
`_
`_
`(D)
`23—
`X84—
`BASIC FEE
`
`_
`
`$700.00
`
`
`
`TOTAL FEE
`
`$700.0.
`
`Claims as Amended — Part 2
`
`(1)
`Claims
`Remaining After
`Amendment
`
`(3)
`(2)
`V
`Highest Number Number Extra
`Previously Paid
`For
`
`Large Entity
`
`Total
`
`Indep.
`
`_m—nu
`-_-——m
`
`_
`
`TOTAL ADDITIONAL FEE
`
`* If the entry in (D) is less than the entry in (C), Write “0" in column 3.
`** if the “Highest Number of Total Claims Previously Paid For" is less than 20, Write “20" in this space.
`*** After any cancellation of claims.
`**** If “A” is greater than 20, use (B-A); if “A" is 20 or less, use (B-20).
`***** “Highest Number of Independent Claims Previously Paid For" or Number of Independent Claims
`in Patent (C).
`
`X
`
`X
`
`Please charge the attached credit card payment form in the amount of $700.00 .
`A duplicate copy of this sheet is enclosed.
`
`The Commissioner is hereby authorized to charge any additional fees under
`37 CFR 1.16 or 1.17 which may be required, or credit any overpayment to
`Deposit Account No. 01-0484.
`A duplicate copy of this sheet is enclosed.
`
`JUN 14 2005
`
`Date
`
`David L. Stewart
`
`Reg. No. 37,578
`
`002
`
`002
`
`

`

`I)
`
`IN THE UNITED STATES PATENT AND TRADEMARK OFFICE
`
`In re Patent Application of:
`DOKTOR
`
`Serial No. NOT YET ASSIGNED
`
`Filing Date: HEREWITH
`
`Attny. Docket No.
`83145
`
`VVVVVVVV
`
`vv
`
`For: EASILY EXPANDABLE DATA
`PROCESSING SYSTEM AND METHOD
`
`TRANSMITTAL OF FORMAL DRAWINGS
`
`Commissioner of Patents
`P.O. Box 1450
`
`Alexandria, VA 22313-1450
`
`Sir:
`
`Enclosed are nineteen (19) sheets of formal drawings filed concurrently with
`
`the above identified patent application
`
`Respectfully submitted,
`
`@—
`
`DAVID 'L. STEWART
`
`Reg. No. 37,578
`
`
`
`|||||ll||
`
`
`
`|||
`
`
`
`||lll||||| ||||
`
`
`
`
`- PATENT TRADEMARK OFFICE
`
`27975
`
`Telephone: (321) 725-4760
`
`003
`
`003
`
`

`

`n
`
`Attorney Docket No. 83145
`
`US. PATENT APPLICATION FOR
`
`REISSUE OF US. PATENT 5,826,259 ENTITLED
`
`EASILY EXPANDABLE DATA PROCESSING SYSTEM AND METHOD
`
`********************************
`
`INVENTOR:
`
`Karol Doktor
`
`29 Belinda Cresent
`
`Wheelers Hill, Australia 3150
`
`Citizenship: Australian
`
`PREPARED BY:
`
`David L. Stewart
`
`.
`
`Allen, Dyer, Doppelt, Milbrath
`& Gilchrist, PA.
`255 South Orange Avenue
`Suite 1401
`
`Orlando, Florida 32801
`
`004
`
`004
`
`

`

`1 .
`EASILY EXPANDABIE DATA PROCESSING
`SYSTEM AND METHOD
`
`5,826,259 ,
`
`2
`
`This application is a continuation of application Ser. No.
`' 08/439,207, filed May 11, 1995. now US. Pat No.'5.675.
`
`779, which is a divisional of Ser. No. [08/083,361] 08/083 861,
`
`filed Jun. 28, 1993, now [issued;] US. Pat. No. 5 604 899 which:
`. issued on Feb. 18, 1997, which is a continuation of Ser. No.
`07/526,424, filed May 21, 1990, now abandoned
`BACKGROUND OF THE INVENTION
`
`5
`
`10
`
`Cross Reference to Microfiche Appendix
`
`This application includes a plurality of computer program
`listings (modules) in the form of a Microfiche Appendix
`which is being filed concurrently herewith as 1162 frames
`(not counting target and title fi'ames) distributed over 20
`sheets of microfiche in accordance with 37 C.F.R. § 1.96.
`The disclosed computer program listings are incorporated
`into this quecification by reference but it should be noted that
`the source code ‘and/or the resultant object code of the
`disclosed program modules are subject to copyright protec-
`tion. The copyright owner has fro-objection to the facsimile
`reproduction by anyone of the patent document (Or
`the
`‘ patent disclosure as it appears’in the files or records of the
`' US. Patent and Trademark Ofiice) for the sole purpose of
`studying the disclosure but otherwise reserves all other
`rights to the disclosed computer program modules including
`the right to reproduce said computer program modules in
`machine-executable form.
`
`Field of Invention
`
`The present invention relates generally to computer data—
`base management systems and more @ecifically to appara—
`tus and methods for modifying and searching through large
`scale databases at high speed.
`'
`'
`
`Description of Related Art ,
`
`15
`
`30
`
`35
`
`positioned such that each card is directly adjacent to no more
`than two others (for each typical examination there is a
`preceding card, the card under examination and a following
`card in the stack). On the fiont surface of each index card a
`librarian enters, in left to right sequence; the last name of an
`author, the first name of the author, the title of a single book
`which the author wrote and a shelf number indicating the
`physical location within the library where the one book may
`be found. Each of these four entries may be referred to as a
`“column” entry. Sufficient surface area must be available on
`each card- to contain the largest of conceivable entries.
`After the entries are made, the index cards are stacked one
`after the next in alphabetical order, according to the author’s
`last name and then according to the author’s first name and
`then by title. This defines a “key—sequenced” type of data-
`base Whose primary sort key is the author’s name. The
`examination position of each card is defined relative to the
`contents of preceding and following cards in the stack. That
`is, when cards are examined, each intermediate card is
`examined immediately after its alphabetically preceding
`card and immediately-before its alphabetically succeeding
`card. When a new book is acquired,
`the key-sequenced
`database is easily “updated” by inserting a new card between
`two previously created cards. Similarly, if a book is removed
`from the collection, its card is simply pulled from the card
`stack to reflect the change.
`If a hbrary user has an inquiry respecting the location of
`a particular book or the titles of several books written by a
`named author, the librarian may quickly search through the
`alphabetically ordered set of index cards and retrieve the
`requested information. However, if a library user has an
`inquiry which is not keyed to an author’s name, the search
`and retrieval process can require substantially more time; the
`worst case scenario being that for each inquiry the librarian
`has to physically sift through and examine each card in the,
`entire catalog. As an example of such a scenario, suppose
`that an inquiring reader asks for all books in the library
`where the author’s first name is John and the title 'of the book
`contains the word “neighbor” or a synonym thereof.
`Although it is conceptually possible to answer this inquiry
`using the information within the catalog, the time for such
`a search may be impractically long, and hence, while the
`information is theoretically available, it is not realisticall
`accessible,
`.-
`To handle the more common types of inquiries, libraries
`often keep redundant sets of index cards. One set of cards is
`sorted according to author names and another set is sorted
`according to the subject matter of each book. This form of -
`redundant storage is disadvantageous because the size of the
`card catalog is doubled and hence, the cost of information
`storage is doubled. Also, because two index cards must be
`generated for each new book added to the collection the cost
`of updating the catalog is also doubled.
`The size of a library collection tends to grow over time as
`more and more books are acquired. During the same time,
`more and more index cards are added to the catalog. The
`resulting stack of cards, which may be viewed as a kind of
`“database”, therefore grows both in size and in worth. The
`“worth” of the card-based system may be defined in part as
`the accumulated cost of all work that is expended in creating
`‘ each new index card and in inserting the card into an
`appropriate spot in the stack
`As time- goes by, not only does the worth and size of the
`database grow, but new technologies, new rules, new
`services, etc., begin to emerge and the information require—
`ments placed on the system change. Some of these changes
`
`Modern computer systems are capable of storing volumi—
`nous amounts of information in bulk storage means such as
`magnetic disk banks. The volume of stored information can
`be many times that of the textual information stored in a
`conventional encyc10pedia or in the telephone directory of a
`large city. Moreover, modern computer systems can- sift
`through the contents of their bulk storage means at
`extremely high speed, accessing as many as one million
`bytes of informan'on or more per second (a byte is a string
`of eight bits, equivalent to approximately one character of
`text in layman’s terms). Despite this capability, it may take
`an undesirably long time (i.e., hours or’ days) to retrieve
`desired pieces of information. In commercial settings such
`as financial data storage facilities, there will be literally
`billions of pieces of information that could be sifted through
`before the right one or more pieces of information are found.
`Thus, even at speeds of one million examinations per
`second, it can take thousands of seconds (many hours) to
`retrieve a desired piece of information. Efficient organiza-
`tion of the stored information is needed in order to minimize
`retrieval time.
`i
`
`60
`
`The methods by which pieces of information are orga—
`nized within a computer, searched through or reorganized,
`.often parallel techniques used by older types _of manual
`information processing systems. Awell known example of
`a manual system is the index card catalog found in public _
`libraries. Such a card catalog consists of a large number of 65
`uniformly dimensioned paper cards which are serially
`stacked in one or more trays. The cards are physically
`
`45'
`
`50
`
`$5
`
`-
`
`005
`
`005
`
`

`

`5,826,259
`
`3
`may call for a radical reorganization of the card catalog
`system. In such cases, a great deal of work previously
`expended to create the catalog system may have to be
`discarded and replaced with new work.
`For the sake of example, let it be supposed that the library
`acquires a new microfilm machine which stores copies of a
`large number of autobiographies. The autobiographies dis-
`cuss the life and literary works of many authors whose books
`are kept in the library. Let it further be supposed that the
`original, first card catalog system is now required to cross
`reference each book to the microfilm location (or plural
`locations) of its author’s (or plural authors’) autobiogra-
`phies. In such a case, the card catalog system needs to be
`modified by adding at least one additional column of infor-
`mation to each index card to indicate the microfilm storage
`locations of the relevant one or more autobiographies.
`We will assume here that there is not enough surface area
`available on the current index cards for adding the new
`information. Larger cards are therefore purchased, the infor-
`mation from the old cards is copied to the new cards, and
`finally, the new microfilm cross referencing information is
`added to the larger cards. This type of activity will be
`referred to here as “restructuring” the database.
`Now let us suppose,
`that as more time goes by, an
`additional but previously unanticipated, cross indexing cat-
`egory is required because of the introduction of a newer
`technology or a new government regulation. It might be that
`the just revised and enlarged second card system does not
`have the capacity to handle the demands of the newer
`technology or regilation. In such a situation, a third card
`system has to be constructed from scratch. The value of
`work put into the creation of the just-revised second system
`is lost. As more time passes and further changes emerge in
`technology, regulations, etc., it is possible that more major
`organizational changes will have to be made to the catalog
`system. Time after time, a system will be built up only to be
`later scrapped because it fails to anticipate a new type of
`information storage and retrieval operation. This is quite
`wasteful.
`
`Although computerized database systems are in many
`ways different
`from manual systems,
`the computerized
`information storage and retrieval systems of the prior art are
`analogous to manual systems in that
`the computerized
`databases require similar restructuring every time a new
`category of information relationships or a new type of
`inquiry is created.
`At a fundamental level, separate pieces of information are
`stored within a computerized database system as a large
`number of relatively short strings of binary bits where each
`string has finite length. The bit strings are distributed spa-
`cially within a tangible medium of data storage such as an
`array of magnetic disks, optical devices or other information
`representing means capable of providing mass storage. Each
`bit is represented by a magnetic flux reversal, an optical
`perturbation and/or some other variance in the physical
`attributes of a data storage medium. A transducer or ampli-
`fier means converts these variances into signals (e.g.,
`electrical, magnetic, or optical) which can be processed on
`a digital data processing machine. Each string of bits is often
`uniquely identified by its physical location or by a logical
`storage address. Some bit strings may function as address
`pointers, rather than as the final pieces of “real” information
`which a database user wishes to obtain. The address pointers
`are used to create so-called “threaded list” organizations of
`data wherein logical
`links between a first
`informational
`“object” (first piece of real data) and a second informational
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`“object” (second piece of real data) are established by a
`chain of direct or indirect address pointers. The user-desired
`objects of real information themselves can be represented by
`a collection of one or more physically or logically connected
`strings.
`Typically, “tables” of information are created within the
`mass storage means of the computerized system. A horizon-
`tal “row” of related objects, which is analogous to a single
`card in a card catalog system, may be defined by placing the
`corresponding bit strings of the objects in physical or
`address proximity with each other. Logical interconnections
`may be defined between dilferent rows by using ancillary
`pointers (which are not considered here as the “real” data
`sought by a database user). A serial sequence of “rows”
`(analogous to a stack of cards) is then defined by linking one
`row to another according to a predefined sorting algorithm
`using threaded list techniques.
`linking “threads” may be
`A vast number of different
`defined in this way through a database table having millions
`or billions of binary information bits. Unlike manual
`systems,
`the same collection of rows (which replaces the
`manual stack of cards) can be simultaneously ordered in
`many difierent ways by utilizing a multiplicity of threaded
`paths so that redundant data storage is not necessary.
`Searches and updates may be performed by following a
`prespecified thread from one row to the next until a sought
`piece of information (or its address) is found within a table.
`A threaded-list type of table can be “updated" in a manner
`similar to manual card systems by breaking open a logical
`thread within the list, at a desired point, and inserting a new
`row (card) or removing an obsolete row at the opened spot.
`Tables are often constructed according to a “key-
`sequenced” approach. One column of a threaded-list table is
`designated as the sort-key column and the entries in that
`column are designated as “sort keys”. Address pointers are
`used to link one row of the table to another row according
`to a predefined sequencing algorithm which orders the
`entries (sort-keys) of the sort column as desired (i.e.,
`alphabetically, numerically or otherwise). Once a table is so
`sorted according to the entries of its sort column, it becomes
`a simple task to search down the sort column looking for an
`alphabetically, numerically or otherwise ordered piece of
`data. Other pieces of data which are located within the row
`of each sort key can then be examined in the same sequence
`that each sort key is examined. Any column can serve as the
`sort column and its entries as the sort keys. Thus a table
`having a large plurality of columns can be sorted according
`to a large number of sorting algorithms.
`The key-sequencing method gives tremendous flexibility
`to a computerized database but not without a price. Each
`access to the memory location of a list-threading address
`pointer or to the memory location of a sort-key or to the
`memory area of “real” data which is located adjacent to a
`sort-key takes time. As more and more accesses are required
`to fetch pointers and keys leading to the memory location of
`a piece of sought-after information (“real data”),
`the
`response time to an inquiry increases and system perfor-
`mance sufiers.
`
`There is certain class of computerized databases which
`are referred to as “relational databases". Such database
`systems normally use threaded list techniques to define a
`plurality of key-sequenced “tables”. Each table contains at
`least two columns. One column serves as the sort column
`while a second or further columns of the table store either
`the real data that is being sought or additional sort—key data
`which will ultimately lead to a sought-after piece of real
`
`006
`
`006
`
`

`

`‘1
`
`5,826,259
`
`5
`data. The rows of the table are examined in an ordered
`fashion according to the contents of the sort column. Target
`data is located by first threading down the sort column and
`thus moving through the chain of rows within a table
`according to a prespecified sort algorithm until a specific
`sort-key is found. Then the corresponding row is examined
`horizontally and the target data (real data or the next key) is
`extracted from that row.
`
`An example of “real” data would be the full-legal names
`of unique persons such as in the character strings, “Mr.
`Harry W. Jones”, “Mrs. Barbara R. Smith”, etc. The sort-key
`can be a number which is stored adjacent to the full name
`and which sequences the names (real data) according to any
`of a wide variety of ordering patterns including by age, by
`height, by residential address, alphabetically, etc. Because
`the real data (e.g., full name of a person) is stored in a
`separate column, it is independent from the sort key data. A
`large variety of dilferent relations can therefore be estab-
`lished between a first piece of real data (e.g., a first person’s
`name) and a second piece of real data (e.g., a second
`person’s name) simply by changing the sort keys that are
`stored in the separate sort column (e.g., who is older than
`whom, who is taller, etc.). Plural orderings of the real data
`can be obtained at one time by providing many columns in
`one table, by storing alternate keys in the columns and by
`choosing one or more of these columns as the primary sort
`key column.
`Relational database systems often include tables that do
`not store real data in a column adjacent to their sort-key
`column, but rather store a secondary key number which
`directs a searcher to a row in another key-sequenced table
`where a matching key number is held together with either a
`piece of sought~after real data or yet another forward refer-
`encing key number (e.g., an entry which in effect says “find
`the row which holds key number x of yet another table for
`further details”). With this indirect key-sequenced approach,
`a large number of tables can be simultaneously updated by
`changing one entry in a “base” table.
`Relational database tables are normally organized to
`create implied set and subset “relations” between their
`respective items of pre-stored information. The elements of
`the lowest level subsets are stored in base tables and higher
`level sets are built by defining, in other tables, combinations
`of keys which point to the base tables. The implied relations
`between elements cannot be discerned by simply inspecting
`the raw data of each table. Instead, relations are flushed out
`only with the aid of an access control program which
`determines in its randomly-distributed object code, which
`table to examine first and what column to look at before
`beginning to search down the table’s column for a key
`number and, when that key number is found, what other
`column to look at for the real data or a next key number.
`Relations between various “entities” of a relational database
`are implied by the sequence in which the computer accesses
`them.
`
`By way of a concrete example, consider a first relational
`table (Names-Table) which lists the names of a large number
`of people in telephone directory style. Each name (each
`separate item of real data) is paired to a unique key number
`and the rows of this Names-Table are sorted sequentially
`according to the key number. Asecond relational table may
`be provided in the database (Cars-table) which lists auto-
`mobile (vehicle) identification numbers (VIN) each paired in
`its row with a second key number. If the second key number
`is matched by a corresponding key number in the first table,
`then a relationship might be implied between the entries of
`the two separate tables (Names-Table and Cars-Table). The
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`“implied" relationship might be one of an infinite set of
`possibilities. The relationship could be, for example, that the
`car listed in the second table is “owned” by the person whose
`name is found next to a matching key in the first table. On
`the other hand, it might be implied that the matched person
`in the first table “drives” the car, or “cleans” the car or has
`some other relation to the car. It is left to the access control
`program to define what the relationship is between entities
`in the first table and entities in the second table.
`
`It can be seen that relational database systems offer users
`a great deal of flexibility since an infinite number of relations
`may be defined (implied). Economy in maintaining
`(updating) the database is also provided-since a change to a
`base table propagates through all other tables which refer-
`ence the base table. The access control program of the
`database system can include information-updating modules
`which, for example, change the key number in the second
`table (Cars-Table) whenever ownership of a car changes. If
`the name of the new owner is already in the first table
`(Names-Table), it does not have to be typed a second time
`into a new storage area and thus, extra work and storage
`redundancy are avoided. The vehicle identification number
`(VIN) remains unchanged. Minimal work is thus expended
`on updating the database.
`Despite these advantages, relational database systems
`sufier from expandability and restructuring problems similar
`to those of the above—described manual system. Sometimes
`the rows within a particular table have to be altered to add
`additional columns. This is not easily done. Suppose for
`example, that a new government regulation came into being,
`mandating that vehicles are to always be identified not only
`by a vehicle identification number (VIN) but also by the
`name and location of the factory where the vehicle was
`assembled. If spare columns are not available in the Cars-
`Table, the entire database may have to be restructured to
`create extra room in the storage means (i.e. the disk bank)
`for adding the newly required columns. New key numbers
`will have to be entered into the new columns of each row
`(e.g., a new “factory of assembly” key number) and sorted
`in order to comply with the newly mandated regulation. New
`search and inquiry routines will have to be written for
`handling the newly structured tables.
`In the past, much of this restructuring work was done by
`reprogramming the computer at the object code or source
`code level. This process relied heavily on an expert pro-
`gramming staff. It was time consuming, costly and prone to
`programming errors. Worst of all, it had to be redone time
`and again as new informational requirements emerged just
`after a last restructuring project was completed. There is a
`need in the industry for a database management system
`which provides quick responses to inquiries and which can
`also be continuously updated or restructured without repro—
`gramming at the source or object code level.
`SUMMARY OF THE INVENTION
`
`It is an objective of the present invention to provide a
`database system which is capable of storing voluminous
`amounts of information, sifting through the information at
`high speed, and is at the same time easily expandable or
`restructurable to take on new forms of entities and relation-
`ships.
`In accordance with a first aspect of the invention, an entity
`definition table (ENTDEF) is defined within the memory
`means of a computer system to store the name of an allowed
`entity type (class) and the name of a single other table
`(Entity-instances Table or “EiT” for short) where instances
`
`007
`
`007
`
`

`

`ll
`
`5,826,259
`
`7
`of the allowed entity type may be stored. A separate rela-
`tionships definition table (RELDEF) is defined in the
`memory means to list in each row of the table: (a) the name
`of an allowed relations type, (b) the name of a single
`Relation-instances Table (RiT) where instances of the
`allowed relationship type may be stored, (c) the name of a
`primary (head) entity type to which the relation type may
`apply and (d) the names of one or more secondary (tail)
`entity types to which the named relationship may apply.
`Each row of the Relation-instances Table (RiT) is provided
`with at least one primary pointer which points to the storage
`location of a first instance of the primary entity type and at
`least one secondary pointer which points to the storage
`location of a corresponding first instance of the secondary
`entity type. Each row of the Relation—instances Table (RiT)
`further includes a pointer to a relationship-defining row in
`the RELDEF table. The pointer can be the name of an
`applicable relation type as recorded in the RELDEF table.
`Relationships between instances of a primary entity and a
`secondary entity are thus expressly defined by entries in the
`Relation-instances Table (RiT). Adding new rows to this
`Relation-instances Table (RiT) allows for the addition of
`new relations. Adding new rows to the RELDEF table
`allows for the creation of new classes (types) of relation-
`ships. Since relation-defining tables can be updated using a
`fixed set of update modules, reprogramming at the source or
`assembly level is not needed for restructuring the schema of
`the database.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`The invention will be described with reference to the
`following figures in which:
`FIG. 1A is a block diagram of a conventional database
`system.
`FIG. 1B is a timing diagram showing the delay between
`the addressing and the delivery of storage data.
`FIG. 2A is a block diagram of a conventional key-
`sequenced table organization.
`FIG. 2B is a block diagram of a conventional relative-
`record table organization.
`FIG. 3 diagrams a multiple table system whichis based on
`a conventional relational database approach and which has
`key-sequence organized tables.
`FIG. 4A is a conceptual diagram illustrating an entity-
`relation schema in accordance with the invention.
`
`FIG. 4B is a further conceptual diagram of an entity-
`relation schema according to the invention.
`FIG. 5 is a block diagram of an entity definition
`(ENT.DEF) table in accordance with the invention.
`...:
`.I. 2-::.._ In")! nnm ...L1.. _ ......._.I.._....
`FIGS. 6A and 6B are block diagrams of a relationship
`
`8
`carrying out the invention. It is to be understood that these
`modes are merely exemplary of the invention. The detailed
`description is not intended to be taken in a limiting sense.
`Referring to FIG. IA, the block diagram of a conventional
`database system 100 is shown. The database system 100
`comprises a central processing unit (CPU) 110 which is
`operatively coupled so as to be controlled by an access
`control program (object code) 120d stored in a first memory
`means 120 (i.e., read-only-memory, ROM, or random access
`memory, RAM). The CPU 110 in combination with the first
`memory means 120 can be viewed as one or more machine
`means for performing functions specified by the object code
`120d. The CPU 110 is further operatively coupled to access
`the data 130d of a “bulk storage” second memory means 130
`also included in the database system 100. Individual strings
`of digital information are represented by wiggled lines (e.g.,
`120d, 130d ) in FIG. 1A. The bulk storage means 130
`typically takes the form of a large array of magnetic disk
`drives,
`tape drives, or other mass storage devices (e.g.,
`arrays of Dynamic Random Access Memory [DRAM]
`chips). The first (control) memory means 120 usually takes
`the form of high speed RAM and/or ROM.
`To access a particular string of data 130d stored within the
`bulk storage means 130,
`the CPU 110 must provide a
`corresponding address signal 1315 (FIG. 1B) in the form of
`logic highs (H) and lows a.) to the bulk storage means 130
`over an address bus 131. As seen in the time versus
`logic-level graph of FIG. 1B,
`the address signal 131:
`(usually an electrical signal) comprises a set of logic high
`and logic low levels (H and L) transmitted in a first time
`period to—tl. There follows a second time period,
`t1—t2,
`which is often referred to as an‘‘access delay", during which
`. addressing circuits attempt to access the addressed memory
`location. Depending on whether a memory read or memory
`write operation is occurring, data signals 1325 are then
`transferred over a data bus 132 (FIG. 1A) from the addressed
`location within the bulk storage means 130 to the CPU 110
`or vice versa during a following third time period, tz—ta.
`Referring still to FIG. 1A, the object code 120d of the
`access control program determines when and how the CPU
`110 will access information 130d stored in the bulk storage
`means 130. The CPU 110 issues address signals 1215 (not
`shown) over an address bus 121 to the first memory means
`120, and in response, the first memory means 120 supplies
`instruction signals 1225 (not shown) over a data bus 122 to
`the CPU 110. Information signals 1223 can be exchanged
`bidirectionally over data bus 122 between the CPU 110 and
`the first memory means 120. FIG. 1B may represent the
`timing relation between address signals 1215 and first
`memory information signals 1225 by replacing reference
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`008
`
`008
`
`

`

`5,826,259
`
`9
`through a first translation machine which may

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket