CA2164307A1 - Data retrieval system - Google Patents

Data retrieval system

Info

Publication number
CA2164307A1
CA2164307A1 CA002164307A CA2164307A CA2164307A1 CA 2164307 A1 CA2164307 A1 CA 2164307A1 CA 002164307 A CA002164307 A CA 002164307A CA 2164307 A CA2164307 A CA 2164307A CA 2164307 A1 CA2164307 A1 CA 2164307A1
Authority
CA
Canada
Prior art keywords
data
host
stored
block
memory
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
CA002164307A
Other languages
French (fr)
Inventor
Trevor John Burke
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.)
Phonelink PLC
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
Application filed by Individual filed Critical Individual
Publication of CA2164307A1 publication Critical patent/CA2164307A1/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/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90348Query processing by searching ordered data, e.g. alpha-numerically ordered data
    • 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

Abstract

A data retrieval system in which data to be retrieved is stored in the memory of a host computer and accessed from user terminals which transmit requests for data to the host.
Data is stored in the host computer in the form of a series of search terms arranged in a predetermined logical order, and each stored search term is stored with associated data to which users require access. Data retrieval requests are entered by users in the form of search terms corresponding in logical structure to the search terms stored in the host computer. The host computer memory is partitioned into a series of blocks in each of which is stored both search terms falling within a respective predetermined range of the logical order and the data associated with these search terms. Each user terminal has a memory in which is stored an index that cross references the memory address of each block in the host memory with the range of search terms stored within that block. Each user terminal responds to entry of a search term by identifying from the index the memory address of the block storing the range of search terms including the entered search term, and transmitting the identified memory address to the host. The host computer responds by transmitting the content of the block identified by a received memory address to the user terminal from which the received memory address was transmitted. Each user terminal displays data transmitted to it from the host to enable the terminal user to select the data of interest from the received block contents.

Description

wo ~8 2 1 6 4 3 0 7 PC~/GB94/0~21 D~TA RETRIEVAI~ SYSTt~1 The p~esent invention relates tO a data retrieval system.
~ ata retrieval systems a~e well Icnown which enable system users tO gain a~ss to clata stored on a centr~l ~lat~-q,~e t;om remote terminals One si~ple ~Y~mpl- of such a system is a convention~l lele'phone number directory system inwhich the name of a tflPrho~e ~.~l.sc..~r, the add~ss of that subscriber, the posl~ode of that sU~senh~ and the telephone number of that s~lb~cnber are st~od. Dala is P~ne~lly organised in sllch systems in alphabetical name order toenable simple access by entering a subscriber's name and scar~hillg th,~ ugh thestored names for a match with the entered name. If a match is loc~t~d~ or a sin~ilar name is l~qt~, tlle qcso~iqr~d address and lel.,~Jhone number data can be ed. ~t will of course be a~,~.ec;dted that on s~h a d~t~b~se the dat~ could be s~r~l~able in for c ~ ple ~elephone number order, or po~ o 1~ order, A~ d;n~ on what u~ers requ;red. However the dat~ is org~nisefl~ it is ~U..rl,..,.~"l~l to such systems that search t~rms (for exa~nple narnes) a~e o,~in a logical o~der (for eA~ le alph~hetical order) so that the d~t~b~s~ ~n be ~apidly and reliably searched to find a match with an entered search term.
It is conventional practice with da~a retrieval systems exemplified by the l~lephone d~r~t~l~ service mentioned above lo provide a single cent~ 'host"
c~ r which stores all of the relevanl data, and a distributed series of subscriber ~i.,.,nals fron~ which access to the host cornputer ~an be g~ined to obtain the data r~ d. 'rhe host c~ puter is a sophisticated I-a--lrl~...e COI~put~l capable of rapidly seai~l)ing ~hrough the stored da~a in recipon~e to a large n-~n~e of simultaneous reqllests. w~ereas the subs~riber terrninals are rela~ively "dum~" machines which so far as thc searching ptocess is ~oncerned act as simple input and OUtpUL devices. This system structure has been adopted for two very ~ood reasons. Firstly, il is vjtai to be able tO update A~t~ ~5 on a regular basis, and this means that ~ alin~ must be controlled at a central lo~a~ion. lt is simply not practical to distribute updated intormation to a large number of terminals in a reliable manner. Secondly. as the e~onomics of data retrieval ~stems are generally based on the principie of charging users in ,~n~ol~ion to their use of the system. it is very importantthat the system operator re~ains fu~l control of access to the stored data For this reason it is highly l-n~e~ le to provi~e subscriber terminals with copies ot significant portions the dat~ ee -WO 94/298~8 PCTIG~94/01211 Thus, in the cnnventional data rctrieval systems. the user keys in a scarch term. th~l search term is trdn$mit~e~ tO the host computer, ~he hosl compu~er then ~alch~s through its ~ bacc ft)r an exact or close match ~o the keyed in se~rch lerm, and the host computer then Iransmits to the subscriber terminal ~ny data - -which has been located. As the size of d~haces has tncreas~, and the rlumber of access requests wh~ch d~t~b~ses have to handte has increased, it has been cc~ry to enhance the p~rformance of the host complltin~ sys~em to keep pace with demand. The tin~ taken for a request t`or data to be process~d i5 fundamental to the economi~s of such sys~ems. Accordingly system designers have conce~ ted on reducing the time uken for each data retrieval re~uest to bc y~c~ss~d so as to keep pac~ with llsers demands~ and many sophistic~ted solutions to ~he problerns encountered in ~his developmenl process have ~een pos~. Vn~ortunately, a~ f~sL a~ sohware ~nd h~rdware syslem improvements arc discovered, the demands on Ihe system increase.
lt is an object of the present invention to obviate or mitigale the prbblems outlined abo~e.
According to the present invention, there is provided a data retrieval systen~ comprising a host ~omputer in the rnemory of which data to be retrieved is stored, and a piurality of user termin~ls from which req~lests for data are t~)5nlit~d tO the host and tO which da~a retrieved in response to such requests is tr~nsmitted from the host, wherein data is stored in the host compu~er in the form of a series of scarch terms a~ranged in a predetermined logical order, each stored c~rch term being stored with respective associated dara ~o ~hich users require access, and da~ retrieval re~uests are entered by ~Isers in the form of se~rch terms co~es~onding in logic~l 5truCture to the search lerms stored in the hosl computer. characterised in that the h~st ~omputer mem~ry is parlitioned inlo a series of blocks in each of which is stored search terms hlling within a respeclive predctci-"incd range of the Ivgical ~rder an~ the d~t~ associa~ed ~vith ~he search t~rms ~lling ~ithin the predetermined ran~e, each user terminal cornprises a memory in which is stored an index th~t cross re~erences ~he memory address of each block in the- host mernory with ~he rang~ ot search [erms stored wilhin ~hat block, each user terminal comprises rneans responsi~/e ~o enlrv of a ~earch lerm ~o identify frorn Ihe index the memory address of the block storing the range ~f search terms includin~ the entered search term~ each user termin~l comp~ises means for l~ansnlitting an identified memory address tc~ ~he hos~, the host computer con-pri~es means ~or transmitting the conlent of the block identified by a received ~nemory address to the user terminal from which the received Inemory w~ ~08 2 1 6 4 3 0 7 ~T/~B94~0~21 address was transmitt,ed, and each user terminal comprises means ~or displaying da~ ~ ;ued lo it ~rom the host.
As a data ac~ess request transmi~ed lo the host fron~ a user ter~t)inal dir~ctly id~tifi~s the addresses of the hos~ memory from which da~ is to be l~itlic~red, the host computer does not have to be capa~le of cofidtl~in~
su~h;cl;~ sea~ch rolltines. The host simply reads out the data from the a,pp,vF~iat~ block of memory and transmits all that data~to the lær terl~inal. This can ~e done very quicldy"vhich means that the time that the host col,.y~ r and the c~ n~ icætion s~stern linking the host to the user terrninal is oceu~ie~ can be rnjnimi~ All that is ~equi~d in the host is a menlO~y that is o~n-~d in a ., z ,r,e~ that ensl-res that repartitioning of the memory will either never or very rarely be required.
~ n a typical example in which the search terms are nan~es and the ~cs~-;~ d~a is in the form of addresses and the like, the host memory wil1 be ..~i on a simple al~,ha~li.,dl basis. Each. bloc); of memory will be ~e~ d to storing a ~spec~ e Tan~e of names~ for example one ~lock will sto~e all the names beginning with the lette~ combinalion ABÇ~. When the system is first set up, the then available d~t~b~e to be accoln~odated on the sy~tem will be reviewed t~ deci~e on the ~ iate partitioning ot the host Illcllloly. It may be as~i,l~l from this review that there are say 20 names within the ~nge of names ~ .E with the letters ABB. A block of memory is allocated to that range sufficien~ ~o accommoda~e say 40 names and the data ~c~ci~ted with 40 narnes. Thus initially half the memory allocated to a particular memory range will be "red~ nt". The host memory allocated to a par~icular block wi~l ba~e a host l~lc.~ start address and a host memory address length cull~sl.onding to thea",ount of the block occupied by data. Each user tern~inal index is then set up to store the c~ la~ion b~tween the se~r~h ten~ r~nge (all the names star~ing with the Jette~s A~B), and the ~elated host melno~y address data, that is the sta~t address and address length As the d~t~h~se is n~odit;ed over time by adding to or removing na~nes frnm the system. the number of names within any one pred~t~n~incd search ~ernl address range will v~ry but e~cept in extraor~ina~y cir~nmCP~lCes will never ex~oed the space ~v~ilable ~v ~eceive those names. Thusthe host memo~y parlilioning an~ngen~enl does no~ have tO be modified ~rld the user tc~n~indl ind~lt¢s do no~ k~ve to be modifie~.
1~ over time something c~tlO.orJinary does happen and the .avail~ble space in any one block of host memory becomes insuftlcient to re~eive all the search terms ~llo~t~d to it, one option would be IO provide an "expansion" b~o~k of -wo 9~129808 P~T/G~94/0~21 memory in the host pointed to by data stored in the block that has "overflowed".It would be undesirable to have to adop~ ~his approach ~requently, and in pr~ctice given that mernory is cheap the systern ope~a~or will ensure that there i~; sufficien~
mcmory capacity in cach block tO make the provision of expansion blo~l~s of memoly unnecessary in any fores~ea~le circ~lmstances When a user ~vishcs to access data related to for example an individual with the name ~ohn Ab~ott, the use~ would key in ~he letters ABBOTI'.J. The use;r t¢~ in~l wou~d execute a simple searci routine which would follow a tree stnlcture ~Jn[il it reached a br~nch of the tr~e identifying a parti~ul~r block of host memory. In this case whe~ one block is al30cated to ~11 names s~ar~ng with the 1e~ters ABB. the tree branch would termina~e after the f!rs~ ~hree letters of the name had been entcred with the host n~emory address information appropriat~ to the particular block. Thus as soon as the user had keyed in the first three le~ers of the namc the search te~n~inal w~uld be in a position 10 Iransmit the relevanthost melnoly block address informalion ~o ~he host. Once all the content vf ~he a~lO~l~atC block had been re~eived by the user 1ermi~al all of the names conta~ned in that blocl; would be displayed on the tetmin~l screen The user would then look through the 3ist of names and selecl that which appeared to be of interest. The fulI dzta ~Ccoci~t~d with a selected indi~idua! name would then bedisplayed.
In the eY~mple ~given above. it i5 assumed that only about twenty of the nanles to he entered on the database ini~ially begin with the le~ters AB~3, and Ihis simple three letter "key word" is sufficient to identify the relevant host memory block. lt will be a~ylcc;ated that Ihe number ot` characters rcquired to identify a particul~r host memory block will depend on l10W common a particuiar name is and tlle nu~nber of names to be accommodated. assuminp, that each blo~k stores roughiy the sarne nurnber of name~. For exalnple~ the name "Smith' can occur very frequently and in such cases the leng~h of "key word" required to identify a host rnemory b~ock m~y be large for e~tample fifteen charac~e-rs in~luding foren~mes ~nd Slreet address details. It is for the system operalc)r to p~ition the host mcmory in s~uch a m~nner that eaeh block of mem~ry stores only a relati~elysmall number of names and provides sufficient spare capacily ~o accommodatc a r~asonabie expansion of the initial nulllber o~` names.
An en~bodiment of ~he present invention will now be described~ by w~y of exanlple. with reference to the accompanying drawings in whiCh:
Fig. I is a sehematic block diag.ram of the ~enera~ layoul of an embo~iment uf the present inven~ion:

wo ~808 2 1 6 4 3 0 7 PCIIG~94/01221 Fig. 2 is a s~ tic Je~ sentation of the distnbution of data i~ the d~b~ of the syste~n ilh~s~P~ in Fig. I;
Fi~,. 3 is a scl~c,na~ic ,ep~esentation of the routines followed to lo~ate a key worcl in the system illustrated in F~ig. I;
Fig. 4 is a flo~ diagraln illus~rating the routines followed in e~ n~g a sing~e request ~or info,-llation made by a user in the system illustrated in Fig. l;
and Fig. S illustrates an on-screen display tllat can be produced on a systen in acco~d~ce with the present invention.
Refernng to Fig. 1, the basic c~ nts of the system in accordal~ce with ~e invention are illuskaled. ~ host computer l stores information to be ~ess~d in a largc capacity ~at~ 2 ~vhich can communicate with the outside world thrw~:h a ~ot~ n~ C module 3 link~ to a tclephone network 4. ~ user tclll~,al S is also ~4~ to that network. It wlll be ap~r~,ated that there will be many user t~-lul,als all able to con-municate with the single host.
Each user ~minal inco.~rates 2 communic~tions mod~ . 6 which int~C~ccs with a local l-r~ssor 7. The local processor is linked to a first memory 8 in whlch an index of the in~ormation stored in the host d~h~ 2 is rcLain~ Tl e lucl~o~y 8 operates a~ a Tead~nly memory, the detail of the index which it stores ~ein~ fixed. A second memory 9 is provided IO enable the storageof data sllppli~d to the user terminal from lhe host. Thus the second memor~ 9 is a land~ access memory. The processor 7 is also linked t~ a keyboard 10 and a visual disp~ay unit 11.
In the illustrated case the ~l~t~h~ce 2 storés a telephone directory, that is a series of names each ~scoci~t~ with respective address data and a ~s~i~fe t~I~phone num~e~. The system is inlended to enable an operalot at the user ~C~JIIil~ to rapidly ac~ess the telephone n~ er of any individu~ sted in the host d~t~c~ Thus the nature of the da~ slo~ed in the database is no different from ~at stored in conventional paper or con-pu~r directory systems. The ar~nE,~ c.ll of that data is however fLIndamentally different from conventional systems.
ln setting up the ~taba~. the hos~ operator first sorts all Ihe names into alphabetical order using a standard approach which for example omits words such as "andn, "the" and the like. The particular rules applicd are not of i~
lmportance providing they are applied consistently. In the present case the n~mes are a~l~ulged in alphabetical ~rder, the order bein~ applied no~ only to the ch~a~t~a making up the individual surnames but also ~ the characters making up wv ~ou~ 2 1 6 4 3 0 7 P~Gs~4/o~ ~t .

the individua~'s initials and stree~ addresse~. Thus the enrry "Smi~h. J. 1 London Road" ~ill appear before "Smith. J. I Manchester Road . C)nce this order has been established the listing of narnes Is broken up into blocks each incorporating only 20 entries. This is illustrate~ in ~:ig. '.
~ efe~ring to Rig. 2~ the host data ~ile in which all the name, address and telephone numbcr information is stored is represented by the space defined belwecn )ines 12 and 13. This spacc is partitioned as ,'c~Jr~:scnted by the lines 14, 15 and 16. A black of rnemory is ~hus defined between lines 14 and 15 and this will be referred to as the "nth" block. a further block is defined between l~nes l~
and 16 and this will be referred to as the "n~ I " block and further blocks are of c~ur~e defined in the space represented above iine 14 and ~elow line 16. Bloc3; n ~vil1 store data in ~Iphabetical order, and block n + I will also store data in alphabetical order, the lasl entry in bloc}; n being immediately before ~he first entry in block n+l in the predeternined alphabetical order.
Each entry in the ~ b~se, that is the combination of a name, an address and a telephone number. is brokeJl into two componenls. that is a componen~
l~y~e~n~ed ~y a re~tangle, ror example rectangle 17, and a component rcprescnted by the do~ted iine toilo~ g each rectangle in Fig. ~. The data r-_~J~sented by each rectangle 17 is the data that will be incorpor~ted in a list of all of the items included in e~ch blocl; ot host memory that is displayed on thet,ser tcrrninal tO enablc the uscr lo ~nake a seleetion from those entries. Typically this will be no m~re than a name and initials. bul where ~here are rt;~t~d entries showing the sane na~ne and initlals the item 17 will incorporate some of the address information to enable the user to discrimina~ between the differen~
entries. It will ~e noted tha~ lhe bloclis of memory rep~csented in Fig. 2 are shown as only being about half ~lled. When the d~t~hace is first set llp, 20 entries will be incorporated inlo eaeh biocli~ but each biock will have enough sp~ce ~o incorporate twice tha~ number of entries. This built in re~undancy is ,~ep~sented in Fig. ~ simply by leaving halt~ of each ~lock blank. Although in Fi~. 2. only fo~lr en~ries ~re shown hI each illl~strated bkxk~ ~his is done simpl~
to s~rnplify ~he iliustration. In lhe described arrangemelIt as mentioned above e~ch block will in2tially receive 20 emries.
The inilially redun~anl space ls provid~d to ~nable upd~ing of Ihe d~b~se to take account o~ for cxarnple tlIe ~ddition of new s~lbscribers to a telephone~ervice The arnount ot redundant spæe should be sufficient to enable e~¢h block to a~sorb all additions to ~he directory llsing the previously established alphabetical ordering syslem and ~vlthout it being necess~ry ~o re-arran~e ~he . ~
wo ~ 2 1 6 4 3 0 7 ~/GBg4/0~

content of any of the blocks exoept to add ne~ entries and delete detaiis of individ~ls or coln~ies who ~re no longer subscribers ~ the system. St~iSt znalyses have re~tealed that, for established systems, it is probable that providin~
50% redl~nd~ncy (i.e. space for 40 a~erage entries when only 20 entnes are ~lloc~te~ per block init~ally) ~ill be suffic;ent to deal with system e~p~nsionc and alt~alions.
Once the host memory has been established. each block of manory can be ~^~e~ed by direct reference ~o the offset address. For example, if a request ls made for the content of block n, this b~ock can be identif~ed simply b~
n);tl;n~ to the host computer the offset address ot` that block. The desclibed s~stem ~ t~s on the basis that the user terminal transmits to the host the offse~
address of a btock of data to be ~ce~ed and the host computer r~turns the whole content of that block to the user terminal.
ack to ~ig. 1, the index store of each user t.,.,llinal has stored ithin it an inde~t correlating ~he offset address of each blo~k with the l~,~cli~e range of name~ and addresses which are allocated to that block. By ~ay of eYample, let us ~csvTnc that there are on~y 1~ entries in the directo~y inf~ orlto be entered ini~lly which start with the letters ABBOTs~ For e~ ple, this section of th~ et;c~l number order could run as follows:
Abbot. A
Abbot. B
Abbot BB
Abbot. C
~bbot. E.D
~bbots. F
Abbotsford. A
Abbots, G
....... .
.. ......
~bbotswood. G
~ 11 of the above names and the associated address and telephone number d2ta would be stored in a single block of the host memory, say block n. Each llser terminal index would store the correlation belween a key word sufficient to identi~y the range of the alphabetica] order allocated to this bloc3c with the block offset. In the present ~ase the key word would be ABBOTS. If a name was entere~ by a ~ser which began ABE~Orr that would fall ou~side the range ~overed by the block of n-emory starting at offset address n. Thus the user ~rm~nal index wO 94~9808 2 1 6 4 3 0 7 Pc~lGB94lo~l correlates two sets of data. tha~ is lhc alphabetical range ot` n~mes ~llocated to any par~icular blocli. and the offset address allocated to each ot` those ranges.
The user terminal is provided with sol~ware lo enable a search of Ihe loc~l index store so ~s to determine which ran~e ot names an entcrcd name is ~lloc~tcdto The en~ered name i5 in effect a search term which is used as a basi~ .~or thesearch throu~h the index store. The search is conducted on the basis of the key words d~:t~ ,in~d during the establishnlen~ of the host ~l~r~b~se as bcing sufff~ient ~ uniqudy identify each of the ho~l database memory block~. Thus in the case of A~OTS. a six characler key word is sufficien~ to uniquely identi~y a particular rnemory block In the c~se of more common names. for example Smith or Williams. a much longer key word w~>uld ~e required~ experience indi~
that key ~ords up to 15 characters in len~lh might be re4uired. In the case of, fo~ exa nple, Sn~ith. these names would bc spread across a largc number of blocks and it wou~d be n~c~ s~ry to incorporatc not .only iniIial but also address informa~ion to adequately identify lhe bloc~;s. Accordingly the kev words wollldincorporate address infornlation if this was ne~essa, ~ ro provide ~he rcquired dis! ljr~);n~ri~n. Once the key words have been established, and this is done once the host dat~b~se has been partitioned in~o appropriate ~locks. the index ¢an bercadily set up and ~lcl.ed following a simple routine. Fig. 3 iilustrates such r~utine.
Fig, 3 il1ustrated the search routine that is followed when the user tern~inal has keyed into it the ~earch term ABBOTS. The entry of each cha~acter ta~es ~he search rou~ine to a ne~ branch in the searching tree. The Lin~e taken for the routine to run on c~en a sirnp~e coltlpu~er~ ~or example a convention~l PC, is s-~fficiently shor~ for the se~rch t~ ~e faster than the norn~ai Mte of data entry Once the user has keyed in ABBOTS. the in~ex points to the of~set address of the~r~ iate host memory block. th~t is of~se~ n. It will be scen from Fig. 3 that a number of blocks will incorpora~e names beginntng AE~OT but that a sin~le blo~k mi~ht st~re names with a range of sixth characters, for exampJe ABBOTA, ABBOTB. In such cases each o~ the di~erelll l;ey word~ allocated to a single block would poir~ lo a common blcck offse~. ~or example offset ~n-m).
Re~erring now to Figs. I an~ ~. the operation of the syslem in me case of a request to find the telephone numbe~ of a subscri~er Da~/id Abbots will be described. The ~)peralor of the user terminal is presented wi~h a screen ~e4ues~ing h~ entry of the search term, that is the ranle ~or which the telephone number isrequired. According~y the operator keys in the letters ot the name in the ~orm ABBOTs I~ s each character i5 e1~tered. the enlered cha~cter is displayed on the screen and the "key word" 50 t-ar entered. that is the string o~ ~haracters entered it that stage, is used as the basis tor a search of the local index. When the user has only keyed in ABB, the se~rch follow~ the index search t~ee as fsr as it ~an but does not find a pointer to a block address offset. Accordingly the search ~s re~ hen the next ~har.lcter is entered and this it~rative pro~ess is followed until a full l~ey word is entered, that being I ~co~.ised by the user t~r"lin~ as a result of the sea~ch tree pointing to a6 hos~ address blo~l~ offset value. Once 2 key word has been recognised, the ~s~-:~l~ address offset val~e is read out to the processor for mnsmission to the host. Tr~nsmission is delaye~for two seco~ds, h~ , to ena~le the l~ser to recognise having made an error in ~nt~lir.g the kcy word. ~or example. if the user had entered ABBOTA in error. the ~ser would not want to re~eive the contents of bloek n-m. The two second dehy provides the uSer with an opportunity to in ef~ect cou,-te~n~ d an earlier entry ~nd correct the sixth character from A to S.
AFte~ the t~o second delay, the offset address read out Froln the local index is ~n~ (ed tO the host. No searching through data at the host is r,l-cd whatsoever as the host computer simply looks to the block of ,--&n)o,~
idc~;fiPd ~y the offset, reads the whole contellt of tbat block, and tr~ncmit~ the whole ~ontent to the user l~.".indl. Typically this will involve the transmission of ap~rv~ t~ly 2k bytes of information. The process of reading the content of an identified address from the host memory and transmitting th~t information ~ uu~
th~ tcle~ho"c system takes very little time and accordingly the host ~s c~r~ble of ~r~ ;n~ a large number of ~eq~ests in any give~ inte~val.
The dat~ transrnitted to the user terminal is stored in Ihe loeal memory and the name infullnation included in tha~ da~a is displayed on the user l~niinal sc~een. The data displayed will cor,~s~,o~ o ~hat ~p~sented by ~ect~ngles 17 in Fig. 2. ~he user can then visually scan this intormation and Inalce an a,~ rOp~iate seloction. For ~mrl~ although tlle system ~ould transmil the content of the opliate host ,I.e.-~o.y blo~k once the l;ey word A~OTs had been entere~, tl~e resultant djsplay on the screen would include all Ihe nan es as sel out in gre~ter detail above. lt would the~efore be an easV matter for the operdtor of the user ter,l~inal to select A~BOTS. 1:~ by Movemenl o~ a cursor. Once this selection has been made, the address and ~elephone number data associa~ed with the sel~cte~
name, which is already stored in the 30cal memory 9, would ~e displayed on the sc~een.
~ -~ce no searching has to be condLlcted at the host tl~r~h~e, the host conlpllter is in effect liule more ~han a passive 1nen~0ry. The memory can be w~ ~ U~ BY41~
~o 21 64307 made as large i~s l~quired at re~atively liule expense. This is in stark contrast to Ihc cost of a mainfra~nc computer capablc of storing a large volume Or informaI~on ~n~ searchin~ ~tla~ information rapidly. Thus thc applic~tion of thepresent invention makes il poss~ble lo dramatically reduce the cost of the host computer. }~urthernnore, because ~he cornmunicated informaIion is in essence no more than an addrcsc responded to by the transmission ot~ a lirnited volume of dat2 cor-~ined at that addrcss, thc lime tor which the'communications e~uirrn~ntis occ~lpied i5 relatively small Utilisation of the communications resources is thus far more efficient than In the case of conventional systems where the user is online for the relatively lon~ periods required tor ~he host cnmpu~er tO conduct~cl~s. As corlpared u~ith convenlional syslems. the user terrninal is relativelycomplex and re~uires a relatively larpe melnory capacity. ~o~vever, memory is cheap and the pru~ in~ power of standard personal computers is now such that standard e~ui~ .cllt c~n be use~ to pertorm the necessary operations. Overa11, Ihe system is far cheaper to set up and operate ~han a conventional online dat~b~ce s~ste~n.
It will be appre~iated that each uscr terminal requires an iden~ic~l copy of the index. It would be ~n~oceptable if ~his index had to be updated on a regularbasis. The provision of redundant memory a~ ~he host compu~er. however, means thal it will not be necessary to u~pdatc the users index store excep~ in ext~aordinary circumstances or except a~ very infrequent intervals, for example intervals of years rather than months~ lf an extraordinary event was to occur~ for example the arrival in an area covere~l by lhe directory of ~ large number of individuals all ~ith the same name. il ~ould be possible ~o accommodate such an event ~oy n~ainlaining the same index but replacin~ the da~a stored in ~he ~ .ro},-iate host memory biock by a pointer to a series of sl~b-blocks. The conten~ of those blocks could be ~ransmiltcd lo ~he user terminal sequentially.
Such an approach to dealing with extraordinary eventualities would be acceptabl~bu~ clearly the system operator would make e~ery effon to ensure that there was suf~lcient redundant rnernory to cover ~ll f~reseeable circulnstances. Given that memory is so cheap, the systen~ operator co~lid be fairly profligate in providing redundant memory.
In the simple description gi~el) a~ovc. reference has be~n made to transmil~ing ~he full content of each block to the user terminal ~hen ~hal bloclc is re~uested. To conserve communlcatio-l capacity. it would be preferable to ensurethal comrnunicalions time is no~ occupied ~y reading out the conten~ of all the block of mernory even if half tha~ block is empty. Accc)rdin"ly appropri~e wO 94~9808 ~crJGs94lo~

routines wo~ be provided tO flag ~he length of each block of memory storing usefill data and terrninating a transmission of data once the final useful entry has be~n read out.
The s~luclule descnbed above pro~ides huge eeon.".,ies as ~o"~ d with ConY~t;Qn~l online searching structures. Th;s opens new opportunitiçs ~or the pro~ision of inÇ~ lion online. If a user Icnows that an cnquiry is going to co~tsay $50 the user will be cautious about usin~ the servi~. lf a use~ tmows ~hat an is going to cost say $2 utilisation of the services wilt expand dpm~ti~lly Given that the structl}re of sy5tems in accordance with the invention is not han~strung by a hardware ~ot~lPne~k as with conventional systems relyin~ upon a m~infi~-ne host, coping with extra demand does no~ require massive furthe~
in~ ent in equi~ nt Accoldingly, a pricing structure can be adopt~ ~vhich is ~asod on charging a re~atively small amount for many enquiries ~tber ~han a rel~tively large amount for a limited number of enquiries. This will le~d to a s~ l e,-p~sion in the online searching Inarlcet which in nlrn will make it worthwhile for system operators to otter ~ n~uch wider ~ange of services. For ~:..r ~'e, d~t~b~C~C are available which incorporate extensive cc~n.l~any data, for sl~ hol~in~, turnover, profit. fixed assets, etc. The system in a~co,~.cc with the present invention would make the in~tial loc~tion of the appn:~p~ co~ y infor~ ~ion a simple operation as once again one would be dealing wi~ a simple Jil~lory operation. On~e ~he ap~ p~.~te c~ ~ny had bcen jrl~ntifi~i the relev~nt f,nancial in~onnation could be downlo~ in ex~ctly the same way as it is done at present. Gh~en that each user t~,.,i,.al wo~lld have a significant Il~Llllv~y and ~ ,s~in,~ capacity, howeve~. i{ would be possible for that inf~Jll,.ation to be locally pro~essed and presented in ~raphical form. Such a r~ ~ .t~tion of financial informa~iol~ is lnuch more easily digested by the userand would be of immense value to or~anisations involved in researching fin~
tnforrr.~-ion.
- Pi~. S is a .epresenta~ion tal;~n lrom Ihe screen of a systen in accor~an~
with the present in~ention based on intormatioll related to company number 01~41957, that company being Mercury C0mmunicalions Limite~. The p~cular graphical r~r,_scl.~ation ~ollld of coursc be a fllnction of the software provided at the user te~rninal and could be tailored to meet hldividual user requirements. The cr~al factor is that the system user recei~es the basic information from the host rl~h~e quickly and cheaply and has the processin~ capac}ty within the user terminal to rc~t~r~scnt that information in whatever way is d~m~d a~ iate by the user.

~0 ~4~9808 2 1 6 4 3 PC~IGB94/0~21 Another example of an appropriate application of a sySten~ in accordance with the present invention is Ihe provision o~ a holel directory. For examplc.
supposing Ihat one is inlending IO visit a ~usiness al a particular ~ddr~ss. It wnuld be ~ery useful to have a locai map to enable the visilor lo find that address and to lo~ate an ~l~y~ ely priced hotel closc to thal address. lf the price o~
su~h a service can bc rnadc sufficiently io~. i~ would be used almosl as a matter of course. Thc present invention enables the provis'lon of such a service at a markctable pnce. For example~ the database referred to above enables comp~ny in~rmation to be located on the ba~is of the company name. That co~npany information will include the company`s address. including its postcode. A
Separa(e ll~r~h~e can be sel up correlatino the poslcode to ho~el information inciiJding cost, basic sundard, services availahle ir~ each room~ etc. The system operator cou~d for example decidc that in each postcode area lO ho~els covenng four price ranges would be allowed to in effecl advertise on ~he system in relUrn for an a~ opliate payment. The system user co~lld ~erefore make 2 rational ~P~ision as to ~here fo stay in any particular area. II1 addition to ~he d~r~ha~e corrclatino postçodes to hotels, a further database could correla~e the streel information to mzp informa~ion, the search term in this case being the S~reet name. Given that onc had access to a con~pany s address and postcode, the database would correlate that infomlatioll ~i~h a Inap reference. The user ~ouldthus get a map of the roads in ~he vicinity o~ the tar~,et address. with generatdirections as to how lo ge[ there from lo~al major roads. a dehiled stree~ map of the imme~iate vjcjnity, and a map of the local ci~y centre. Thus ~ businessnlan could for rela~ively small expenditure. ~( out towards ~ customers premises withfull set of information lo en~ble him to locate his destinalion wi~h certainty.
It will be appreciated that many other s~rvices coulld be offered oncc the present invention has enabled the fllndamen~al cost of online searching to be dramati~lly reduc~d.

Claims (7)

CLAIMS:
1. A data retrieval system comprising a host computer in the memory of which data to be retrieved is stored, and a plurality of user terminals from which requests for data are transmitted to the host and to which data retrieved in response to such requests is transmitted from the host? wherein data is stored in the host computer in the form of a series of search terms arranged in a predetermined logical order, each stored search term being stored with respective e associated data to which users require access, and data retrieval requests are entered by users in the form of search terms corresponding in logical structure to the search terms stored in the host computer, characterised in that the host computer memory is partitioned into a series of blocks in each of which is stored search terms falling within a respective predetermined range of the logical order and the data associated with the search terms falling within the predetermined range, each user terminal comprises a memory in which is stored an index that cross references the memory address of each block in the host memory with the range of search terms stored within that blcok, each user terminal comprises means responsive to entry of a search term to identify from the index the memoryaddress of the block storing the range of search terms including the entered search term, each user terminal comprises means for transmitting an identified memory address to the host, the host computer comprises means for transmitting the content of the block identified by a received memory address to the user terminal from which the received memory address was transmitted and each user terminal comprises means for displaying data transmitted to it from the host.
2. A data retrieval system according to claim 1, wherein the search terms are organised in the manner of an alphabetical directory, and the host computer memory is partitioned into blocks each of which is allocated a unique portion ofthe alphabetical directory such that any entered search item can be allocated toone and only one block.
3. A data retrieval system according to claims 1 or 2, wherein each block of memory is allocated a range of search terms selected such that a substantial portion of each block of memory will be unoccupied by useful data to provide forexpansion of the volume of data to be stored.
4 A data retrieval system according to claim 3 wherein the portion of each block which is occupied by useful data is flagged, and the host computer transmitting means is arranged to transmit only that portion of a selected blockwhich is occupied by useful data.
5. A data retrieval system according to any preceding claim, wherein the user terminal data displaying means comprises means for displaying the search terms included in the content of the block transmitted from the host computer, means for selecting one search term from the displayed terms. and means for displayingthe data associated with the selected one search term.
6. A data retrieval system according to any claim, comprising means for delaying the transmission of an identified memory address to the host for a predetermined period after entry of the search term associated with the identified memory address.
7. A data retrieval system substantially as hereinbefore described with reference to the accompanying drawings.
CA002164307A 1993-06-04 1994-06-03 Data retrieval system Abandoned CA2164307A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB939311580A GB9311580D0 (en) 1993-06-04 1993-06-04 Data retrieval system
GB9311580.6 1993-06-04

Publications (1)

Publication Number Publication Date
CA2164307A1 true CA2164307A1 (en) 1994-12-22

Family

ID=10736656

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002164307A Abandoned CA2164307A1 (en) 1993-06-04 1994-06-03 Data retrieval system

Country Status (9)

Country Link
US (1) US5727201A (en)
EP (1) EP0701719B1 (en)
AT (1) ATE161112T1 (en)
AU (1) AU682868B2 (en)
CA (1) CA2164307A1 (en)
DE (1) DE69407287T2 (en)
GB (1) GB9311580D0 (en)
NZ (1) NZ266518A (en)
WO (1) WO1994029808A1 (en)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6385312B1 (en) * 1993-02-22 2002-05-07 Murex Securities, Ltd. Automatic routing and information system for telephonic services
US5682525A (en) 1995-01-11 1997-10-28 Civix Corporation System and methods for remotely accessing a selected group of items of interest from a database
JP2888188B2 (en) * 1996-03-12 1999-05-10 松下電器産業株式会社 Information retrieval device
US5901214A (en) * 1996-06-10 1999-05-04 Murex Securities, Ltd. One number intelligent call processing system
US5873078A (en) * 1996-07-19 1999-02-16 Bay Networks, Inc. Radix tree search logic
US6415281B1 (en) * 1997-09-03 2002-07-02 Bellsouth Corporation Arranging records in a search result to be provided in response to a data inquiry of a database
US6018733A (en) * 1997-09-12 2000-01-25 Infoseek Corporation Methods for iteratively and interactively performing collection selection in full text searches
DE19804793A1 (en) * 1998-02-06 1999-08-12 Paul Dr Harten Telephone for direct connection to data networks
US8407595B1 (en) 2000-02-11 2013-03-26 Sony Corporation Imaging service for automating the display of images
US7058903B1 (en) 2000-02-11 2006-06-06 Sony Corporation Image database jog/shuttle search
US7136528B2 (en) * 2000-02-11 2006-11-14 Sony Corporation System and method for editing digital images
US7810037B1 (en) 2000-02-11 2010-10-05 Sony Corporation Online story collaboration
US7262778B1 (en) 2000-02-11 2007-08-28 Sony Corporation Automatic color adjustment of a template design
US20020073143A1 (en) * 2000-08-31 2002-06-13 Edwards Eric D. File archive and media transfer system with user notification
US20020091879A1 (en) * 2000-12-21 2002-07-11 James Beriker System, method and apparatus for dynamic traffic management on a network
US6942413B2 (en) * 2001-10-17 2005-09-13 Bradley P. Lane Disc management system
US8554794B2 (en) * 2004-05-17 2013-10-08 Hoover's Inc. System and method for enforcing privacy in social networks
WO2006015237A2 (en) * 2004-07-28 2006-02-09 Visible Path Corporation Systems and methods for using social networks for the distribution of communications
US7966323B2 (en) 2004-09-13 2011-06-21 Research In Motion Limited Enabling category-based filtering
US20080162166A1 (en) * 2006-12-30 2008-07-03 Sandra Naroian System for simply and directly providing local information based solely on zip code information
US9237294B2 (en) 2010-03-05 2016-01-12 Sony Corporation Apparatus and method for replacing a broadcasted advertisement based on both heuristic information and attempts in altering the playback of the advertisement
US9832528B2 (en) 2010-10-21 2017-11-28 Sony Corporation System and method for merging network-based content with broadcasted programming content
US9223789B1 (en) 2013-03-14 2015-12-29 Amazon Technologies, Inc. Range retrievals from archived data objects according to a predefined hash tree schema
US10567460B2 (en) * 2016-06-09 2020-02-18 Apple Inc. Managing data using a time-based directory structure

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4771385A (en) * 1984-11-21 1988-09-13 Nec Corporation Word recognition processing time reduction system using word length and hash technique involving head letters
JPH0682370B2 (en) * 1987-05-26 1994-10-19 シャープ株式会社 Character processor
US5303361A (en) * 1989-01-18 1994-04-12 Lotus Development Corporation Search and retrieval system
ATE155269T1 (en) * 1989-08-14 1997-07-15 Centillion Data Systems Inc COST ACCOUNTING SYSTEM
US5333313A (en) * 1990-10-22 1994-07-26 Franklin Electronic Publishers, Incorporated Method and apparatus for compressing a dictionary database by partitioning a master dictionary database into a plurality of functional parts and applying an optimum compression technique to each part
CA2067633C (en) * 1991-07-24 1996-10-01 Eric Jonathan Bauer Method and apparatus for accessing a computer-based file system
US5375235A (en) * 1991-11-05 1994-12-20 Northern Telecom Limited Method of indexing keywords for searching in a database recorded on an information recording medium
EP0624965A3 (en) * 1993-03-23 1996-01-31 Us West Advanced Tech Inc Method and system for searching an on-line directory at a telephone station.

Also Published As

Publication number Publication date
ATE161112T1 (en) 1997-12-15
WO1994029808A1 (en) 1994-12-22
DE69407287D1 (en) 1998-01-22
US5727201A (en) 1998-03-10
EP0701719B1 (en) 1997-12-10
AU6804894A (en) 1995-01-03
AU682868B2 (en) 1997-10-23
EP0701719A1 (en) 1996-03-20
DE69407287T2 (en) 1998-06-10
NZ266518A (en) 1996-10-28
GB9311580D0 (en) 1993-07-21

Similar Documents

Publication Publication Date Title
CA2164307A1 (en) Data retrieval system
CN101777057B (en) Methods and systems for storing customer fields for multiple tenants in multi-tenant database system
US7890460B2 (en) Method and apparatus for performing real-time update transactions between a database system and remote database clients
US7228335B2 (en) Method of automatically populating contact information fields for a new contract added to an electronic contact database
KR100256594B1 (en) Method and apparatus to secure distributed digital directory object changes
EP0443038B1 (en) Temporary center system in a decentralized data base system
CA2324543C (en) Common data model including field interdependencies
US5799307A (en) Rapid storage and recall of computer storable messages by utilizing the file structure of a computer's native operating system for message database organization
CN101216897A (en) A coding and preparation method for the multiple cross-validation of RFID compounding labels and its system
CN101488955B (en) Method and devices for handling access privileges
US7395276B2 (en) Systems and methods for resolving telephone number discrepancies en masse
EP0614159B1 (en) Ic card
US7689569B2 (en) Systems and methods for managing large data environments
EP1781005B9 (en) Centralized personal directory scheme for communications networks
WO2007068279A1 (en) Method and computer system for updating a database from a server to at least one client
EP0948219A2 (en) Method and apparatus for creating and modifying similar and dissimilar databases
CN110213225A (en) Gateway configuration method, device and computer equipment based on data analysis
US7162495B2 (en) Systems and methods for clearing telephone number porting assignments EN masse
EP0601254A1 (en) Method for allowing the access of a database by an application program
US20040193509A1 (en) Systems and methods for managing telephone number inventory
GB2341250A (en) Database structure avoids duplication of stored data
JP2875131B2 (en) Information display device and brand selection method therefor
JP2988442B2 (en) Home location register and subscriber data management method for mobile communication system
US20040193604A1 (en) Systems and methods for restricting a telephone number's availability for assignment
CN111552841A (en) Personnel-visible address book permission setting method, electronic equipment and storage medium

Legal Events

Date Code Title Description
EEER Examination request
FZDE Discontinued