|
|
|
Query processing (i.e., searching) |
Non-linear database set searching apparatus and method6070160
Abstract
A method and apparatus for creating, storing, identifying, transferring, managing and searching databases of information related to subjective works, such as art, music, film, dance, theater or other fields generally recognized as requiring subjective human judgment by an "expert" to make subjective, objective, or mixed decisions regarding value, interest, and relationships one to another. The invention may be embodied in a general purpose digital computer programmed to host routines operating by deterministic logic, fuzzy logic, or both. A user may input information related to the nature or type of item requested and receive identification of a subjective match for the item. The routines may utilize a thesaurus and processes for relaxing search requirements to assure a match. In one embodiment, an expert system resident in a computer may create, manage and rapidly search databases of subjectively characterized items, such as art works, music, or real estate, for example, by unique characteristics. The invention may include a method for securely transmitting data corresponding to a result, to prevent storage by a recipient computer. For example, an image may be represented in a self-executing, self-destructive, standard 7 bit ASCII text E-mailable packet without attachments.
Claims
I claim:
1. An apparatus for searching a set of databases, the apparatus comprising:
a processor programmed to execute a search engine for conducting a search, the search engine being programmed to selectively control interaction and sequencing of sub-engines during the search, the sub-engines comprising:
a standard search sub-engine for performing a deterministic search,
a key-word search sub-engine for performing a textual search, and
a query search sub-engine for performing a fuzzy logic search, the sub-engines substantially simultaneously loaded to run in the processor to search the set of databases;
a storage device operably connected to the processor for storing a plurality of searchable databases from the set of databases, each of the searchable databases comprising a plurality of fields containing data;
a memory device having a plurality of blocks of memory, the memory device being operably connected to the processor to store selected data selected from the plurality of searchable databases; and
an input device operably connected to the processor for providing inputs to the processor in response to actuation of the input device by a user.
2. The apparatus of claim 1 further comprising a network interface device for communicating transferable data between the processor and a remote computer.
3. The apparatus of claim 2 wherein the transferable data further corresponds to digital image data representing a visual image recognizable by a user.
4. The apparatus of claim 3, wherein the processor is further programmed to operate a security process effective to transfer the digital image data to the remote computer in a format effective to be displayed by the remote computer and effective to prohibit retention of a copy of the digital image data within the remote computer.
5. The apparatus of claim 4, wherein the digital image data is transferable as an ASCII text file directly executable by the remote computer as assembled source code.
6. The apparatus of claim 5, wherein the ASCII text file is self destructive during successful execution.
7. The apparatus of claim 1, wherein each searchable database of the plurality of searchable databases is not directly related to any other searchable database of the plurality of searchable databases.
8. The apparatus of claim 7, wherein each searchable database of the plurality of searchable databases is not directly relatable to any other searchable database of the plurality of searchable databases.
9. A memory device programmable by a programmer, and operable by a user to be operably connectable to a processor for storing and accessing information corresponding to articles sought by a user, the memory device comprising:
a first memory block programmed to store a first database comprising at least one first record comprising at least one first field containing first field data;
a second memory block programmed to store a second database, unrelated to the first database, and comprising at least one second record comprising at least one second field containing second field data;
a third memory block programmed to store at least one index comprising at least one index record linking the at least one first record to the at least one second record according to a fuzzy logic relationship identified by the processor and corresponding to a subjective observation programmed into the processor by the user; and
a fourth memory block containing a search engine for execution by the processor for conducting a search, the engine being programmed to selectively control interaction and sequencing of sub-engines during the search, the sub-engines comprising:
a standard search sub-engine for pefoming a deterministic search,
a key-word search sub-enginie for performing a textual search, and
a query search sub-engine for performing a fuzzy logic seach,
the sub-engines substantially simultaneously loaded to run in the processor to search the set of databases.
10. The memory device of claim 9, wherein the first database and second database are deterministically unrelatable to each other.
11. The memory device of claim 9, wherein the first database and second database are unrelatable to each other by objective criteria observable in the contents of the at least one first record and contents of the at least one second record.
12. The imemory device of claim 9, wherein the first memory block is programmed to store a plurality of databases, the second memory block is programmed to store a plurality of second databases, and the third memory block is programmmed to store a plurality of indices.
13. The memory device of claim 12, wherein each index record of the plurality of indices creates a correspondence between a record of the plurality of first records and a record of the plurality of second records, and wherein each index record relates exclusively by fuzzy logic the plurality of first databases to the plurality of second databases.
14. The memory device of claim 9 further comprising a fourth memory block programmed to store a pointer identifying a first location, in the memory device, of a first current record currently selected from the first database and a second location, in the memory device, corresponding to a second current record selected from the second database.
15. The memory device of claim 14, wherein changing the pointer to indicate a new first record in the at least one first database automatically changes the pointer to indicate a new second record in the at least one second database according to a correspondence of the new first record to the new second record in the at least one index.
16. The memory device of claim 9 further comprising a fourth memory block programmed to store a plurality of pointers, each pointer of the plurality of pointers identifying a location, in the memory device, of a currently selected record of the at least one record, and wherein the memory device is controlled by the processor to adjust every pointer of the plurality of pointers in response to a change of any pointer of the plurality of pointers.
17. A method for searching a set of non-linear databases, each non-linear database containing a plurality of records retrievable by the method, using a plurality of search processes relying on deterministic logic and fuzzy logic, the search processes operating on at least one processor simultaneously, and the method comprising:
providing at least one processor operable to receive digital data and programming instructions;
programming the at least one processor to operate a deterministic search sub-engine;
programming the at least one processor to operate a key-word search sub-engine;
programming the at least one processor to operate a query search sub-engine operable according to a fuzzy logic search methods; and
programming the at least one processor to operate a search engine for performing a search and selectively controling interaction and sequencing of the sub-engines during the search.
18. The method of claim 17, wherein the key-word search is operable according to a simplified fuzzy logic search method.
19. The method of claim 18, wherein the fuzzy logic search method contains a first series of steps, and wherein the simplified fuzzy logic search method comprises a second series of steps selected from the first series of steps.
20. The method of claim 17, wherein the fuzzy search comprises a degradation process effective to selectively increase the number of records retrievable by the fuzzy search.
21. The method of claim 20, wherein the degradation process comprises a process selected from a swapping process, truncation process, ignoring process, and a synonym process.
22. The method of claim 20, wherein the degradation process includes a plurality of search criteria, and comprises an optimization process effective to eliminate from consideration a search criterion of the plurality of search criteria according to a priority associated with the search criterion.
23. The method of claim 20, wherein each record of the plurality of records corresponds to an article of a plurality of articles, and wherein the degradation process further comprises a linking routine effective to identify a record corresponding to a substitute article of the plurality of articles when no record is found corresponding to the article.
24. The method of claim 23 further comprising a findlinks routine effective to provide additional information to a user when the degradation process fails to identify a substitute article.
25. The method of claim 17 further comprising a training routine comprising an index, a monitoring routine, and a modifying routine, the index relating a pair of non-linear databases of the set of non-linear databases, and the monitoring routine effective to monitor search results provided by the fuzzy logic search method and to provide a monitor output to the modifying routine, and the modifying routine providing a modifying output to the processor effective to limit the search results according to a limiting criterion.
26. The method of claim 17 further comprising an input process operable by a user to input at least one fuzzy relational operator for use by the fuzzy logic search method.
27. The method of claim 26 wherein a fuzzy relational operator of the at least one fuzzy relational operator is selected from the group consisting of phonetic, lexical, morphological, and syntactical operators.
28. The method of claim 17 further comprising an input process operable by a user to input search criteria into the fuzzy logic search method using natural language.
29. The method of claim 28 wherein the input process further comprises presenting an interactive display operable by a user to communicate data to the fuzzy logic search method.
30. The method of claim 17 further comprising an expert selection process for providing to the fuzzy logic search method a selection criterion in response to an input provided by a user.
31. An apparatus for searching a set of databases, the apparatus comprising:
a processor programmed to operate sub-engines controlled by a search engine, the sub-engine comprising:
a standard search sub-engine for performing a deterministic search integrated with an integrated sub-engine selected from a key-word search sub-engine for performing a textual search, and
a query search sub-engine for performing a fuzzy logic search, the standard sub-engine and integrated engine executing substantially simultaneously in the processor to search the set of databases, the search engine invokes a first sub-engine according to criteria reflecting the results of the search of a second sub-engine;
a storage device operably connected to the processor for storing a plurality of searchable databases from the set of databases, each of the searchable databases comprising a plurality of fields containing data;
a memory device having a plurality of blocks of memory, the memory device being operably connected to the processor to store selected data selected from the plurality of searchable databases; and
an input device operably connected to the processor for providing inputs to the processor in resonse to actuation of the input device by a user.
32. The apparatus of claim 31 wherein the memory device further stores at least one index comprising at least one index record linking at least one first record to at least one second record according to a fuzzy logic relationship identified by the processor and corresponding to a subjective observation programmed into the processor, and wherein the integrated process is programmed to use an index.
33. The apparatus of claim 31, wherein the memory device further stores data structures comprising:
a first memory block programmed to store a first database comprising at least one first record comprising at least one first field containing first field data;
a second memory block programmed to store a second database, unrelated to the first database, and comprising at least one second record comprising at least one second field containing second field data;
a third memory block programmed to store at least one index comprising at least one index record linking the at least one first record to the at least one second record according to a fuzzy logic relationship identified by the processor and corresponding to a subjective observation programmed into the processor by the user.
Description
BACKGROUND
1. The Field of the Invention
This invention relates to programmable digital computers and, more particularly, to novel systems and methods for programming computers to host databases and search engines for rapid storage and retrieval of information relating to non-deterministic or subjective data sets, such as art works, using both discrete and fuzzy logic to complete the searches using the search engines.
2. The Background Art
Art works, used in this description as an example of non-deterministic or subjective data sets, are created, bought, sold, brokered, stored, displayed, and otherwise moved in commerce throughout the world. Each piece of art is unique. Age, condition, artist, style, and a host of other factors serve to distinguish each piece of art. Albeit some prints may be very similar to other pieces of art, each piece has its own history and condition and, therefore, is unique. A serious difficulty for art collectors is locating works of art desired to complete collections, add a theme, match a decor, or to meet a fancy.
Printed catalogues of art work are sometimes produced by galleries and publishers of art works. Moreover, certain encyclopedias and indices exist for cataloging certain known works of general interest. Also, as with most collectable objects, art works may be listed according to condition, value, artist, or even individual piece, in various collector pricing guides.
The problem remains that an art collector or an ordinary purchaser (retail customer, wholesale buyer, etc.) cannot reliably locate a piece of art. Similarly, an individual seller cannot easily make available a work of art for sale. Moreover, art purchases are largely limited to individual transactions between individuals speaking face to face. For certain widely published works, art brokerages were developed to facilitate purchase and sale of art works. Unfortunately, the ability to track and locate works on demand is largely absent without a substantial investment of manual labor. A certain serendipity is often required, and generally dependent upon the written catalogues and individual contacts which are available to the individual person seeking a piece of art work.
In that various databasing techniques exist, a host of commercial products provide database systems for organizing information. However, the construction of a data structure for an individual database is still largely dependent upon a user's individual needs. Currently, a convenient system for databasing art works is not readily available.
Similarly, search systems and indexing systems exist for documents. However, those search engines typically index every word in a document. Such systems typically have particularly severe restrictions on the methods of search, the flexibility of the search, and a requirement for absolute matches between words sought. The current versions of many of the document storage and retrieval software for indexing text are not readily applicable to art works.
Art, by its very nature, is not easily categorized in absolute terms. Moreover, the lines between different categories of art work are not necessarily distinct in every case. Thus, a search system is needed for searching art works in such a way that a customer may locate an art work according to limited information. For example, a customer may only have an artist's name. Alternatively, a customer may only know that a certain style is appropriate and that certain artists may have art works of the desired style. Similarly, a customer may have a specific, previously seen, art work in mind but not know either the author's name or the name of the work. Thus, it is desirable to create a system that can use an expert's knowledge to search for art works. What is needed is a system for doing an indexed search, to the extent that such a search is feasible and useful, capable of using an expert system for searching based upon an art expert's opinion, and capable of operating using "fuzzy" logic which does not demand absolute mathematical precision in searching. It is also desirable to have a system that could learn, by continually being updated from the experience of users of the system. To facilitate such searching, a method for databasing and indexing selected information about art works is also very desirable.
BRIEF SUMMARY AND OBJECTS OF THE INVENTION
In view of the foregoing, it is a primary object of the present invention to provide a search method and apparatus for conducting both a deterministic search and a fuzzy logic search of databases, and to provide for high speed searching of databases identifying important parameters related to works of a non-deterministic, subjective nature which are generally recognized as requiring a human who is trained as an "expert" in a specific field to use that expert knowledge to make judgments about these traditionally subjective subjects. Art, in this case is used as an example of a non-deterministic or subjective data set, which would require such a system, particularly when a prospective purchaser may mis-identify or not be able to identify properly certain information in a database relating to such subjects.
It is another object of the invention to provide for a thesaurus of terminology and an expert system that can provide expertise by a digital computer for locating such non-deterministic works, particularly art works.
It is another object of the invention to provide creation, management, and rapid searching of databases identifying art, or other non-deterministic data sets, from a large number of sources.
It is another object of the invention to provide a system adaptable to continued learning and thus easily programmable to add realistic knowledge to an expert system hosted on a digital computer.
Consistent with the foregoing objects, and in accordance with the invention as embodied and broadly described herein, an art searching method and apparatus is disclosed in one embodiment of the present invention as including a plurality of databases containing information relating to potential publishers, buyers and sellers of art works, artists, specific art works, customer purchasing and billing statistics, market statistics, and marketing information.
In one embodiment of an apparatus and method made in accordance with the invention, a series of search engines is programmed for running on a digital computer. The search engines may rely on both deterministic and fuzzy logic. Search terms may be adapted by methods such as exchanging them with synonyms, truncation, swapping information between fields searched, searching by key words, use of complex indices to rapidly move between different databases, and to broaden the scope of a search and to find elusive relationships between otherwise unrelated fields in different databases, and to selectively ignore or modify search terms that narrow a search excessively.
BRIEF DESCRIPTION OF THE DRAWINGS
The foregoing and other objects and features of the present invention will become more fully apparent from the following description and appended claims, taken in conjunction with the accompanying drawings. Understanding that these drawings depict only typical embodiments of the invention and are, therefore, not to be considered limiting of its scope, the invention will be described with additional specificity and detail through use of the accompanying drawings in which:
FIG. 1 is a schematic diagram of a screen illustrating the menu selections for accessing routines programming a computer to search for art works;
FIG. 2 is a detailed view of the menus of FIG. 1;
FIG. 3 is a schematic block diagram of the hardware components for using the menus of FIG. 1 to search for art works;
FIG. 4 is a schematic diagram of a database structure for linking databases in the system of FIGS. 1-3;
FIG. 5 is a schematic diagram of the databases and the linking therebetween for the system of FIGS. 1-3;
FIG. 6 is a schematic diagram of the referral process for the system of FIGS. 1-3;
FIG. 7 is a schematic diagram of the authorization process for the system of FIGS. 1-3, and 6;
FIG. 8 is a schematic diagram of the standard search process for the system of FIGS. 1-3, and 6;
FIG. 9 is a schematic diagram of the indexed search process for the system of FIG. 8;
FIG. 10 is a schematic diagram of the single field select for the system of FIG. 9;
FIG. 11 is a schematic diagram of the multi-field select for the system of FIG. 9;
FIG. 12 is a schematic diagram of the deterministic search engine for the system of FIG. 8;
FIG. 13 is a schematic diagram of detailing the add work process for the system of FIG. 8;
FIG. 14 is a schematic diagram of the find similar pieces routine, a finding routine for finding similar pieces of art from the system of FIG. 12;
FIG. 15 is a schematic diagram of the smart search routine for the system of FIG. 12;
FIG. 16 is a schematic diagram of the standard truncation process for the system of FIG. 15;
FIG. 17 is a schematic diagram of the search links artist, fuzzy searching routine for the system of FIG. 15;
FIG. 18 is a schematic diagram of the search links publisher routine for the system of FIG. 15;
FIG. 19 is a schematic diagram of the find links routine for the system of FIG. 8;
FIG. 20 is a schematic diagram of the select one seller routine for the system of FIG. 8;
FIG. 21 is a schematic diagram of the key word search for the system of FIG. 6;
FIG. 21A is a schematic diagram of the input routine for the system of FIG. 21;
FIG. 22 is a schematic diagram of the fuzzy word select routine for the system of FIG. 21;
FIG. 23 is a schematic diagram of the fuzzy search for the system of FIG. 21;
FIG. 24 is a schematic diagram of the swap routine for the system of FIG. 22;
FIG. 25 is a schematic diagram of the synonym selection process for the system of FIG. 22;
FIG. 26 is a schematic diagram of the truncation process for the system of FIG. 22;
FIG. 27 is a schematic diagram of the ignoring process for the system of FIG. 28;
FIG. 28 is a schematic diagram of the select lowest priority information for the system of FIGS. 25 and 26.
FIG. 29 is a schematic diagram of the query search process for the system of FIG. 6;
FIG. 30 is a schematic diagram of the image packet creation process for the system of FIG. 2;
FIG. 31 is a schematic diagram of the image display process for the system of FIG. 3; and
FIG. 32 is a schematic diagram of the image packet structure for the system of FIG. 3.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
It will be readily understood that the components of the present invention, as generally described and illustrated in the Figures herein, could be arranged and designed in a wide variety of different configurations. Thus, the following more detailed description of the embodiments of the system and method of the present invention, as represented in FIGS. 1 through 32, is not intended to limit the scope of the invention, as claimed, but it is merely representative of the presently preferred embodiment of the invention.
The presently preferred embodiment of the invention may be best understood by reference to the drawings, wherein like parts are designated by like numerals throughout.
Reference is next made to FIGS. 6-32, which illustrate in more detail one preferred embodiment of a schematic diagram derived from the apparatus of the block diagram of FIG. 3 programmed with the menus and routines of FIGS. 1-2 to create, manage and search the databases of FIGS. 4-5. Those of ordinary skill in the art will, of course, appreciate that various modifications to the detailed schematic diagrams of FIGS. 2-32 may easily be made without departing from the essential characteristics of the invention, as described in connection with the block diagram of FIG. 1-5 above. Thus, the following description of the detailed schematic diagrams of FIGS. 1-32 is intended only as an example, and it simply illustrates one presently preferred embodiment of a schematic diagram that is consistent with the foregoing description of FIGS. 1-5 and the invention as claimed herein. The various functional blocks of FIGS. 1-5 are outlined in FIGS. 6-32 and are numbered with like numerals.
Referring to FIGS. 1-5, and more particularly to FIG. 3, system 50 may be configured in accordance with the invention to include a computer 52 connected to a network or inter network 54. In an alternative embodiment, the computer 52 may stand alone, with a user operating directly on the computer 52 of the system 50.
A client computer 56 may also connect to the network or inter network 54. The network 54 may be a local area network, but may also be configured to include wide area networks. Moreover, an inter network between multiple area networks may also serve as the network 54. Networks or inter networks 54 may be utilized by the system 50 to transmit text, images or other information in a secure or public fashion to the image display 53 (monitor, etc.), user system 60, the customer system 58 or the client system 56. The client computer 56, customer computer 58 and user computer 60 may have access to service the needs respectively of clients listing works, customers seeking art works and users operating the system 50 to conduct searches, update databases, operate the administrative functions of the system 50, and so forth.
In one presently preferred embodiment of the present invention, a client and a customer may access a user operating directly on the system 50 at the computer 52. The computer 52 may include an input device 62 for providing data to the processor 64. The computer 52 may also include a memory device 66 for temporary storage of applications (programmed, executable files) as well as data used by the processor 64. A storage device 68 may be included in the computer 52 for long term, non-volatile storage of applications and data. An output device 70 may include monitors, printouts or other devices. Such output may alternately be directed to a network or inter network 54 to facilitate "off line" information access by users not directly attached to the system 50. Images and other information may be directed to a user's monitor for "off line" viewing via the image display 53. Since a network interface 72 connects the computer 52 to the network 54, results may be output to any of the computers 56, 58, 60 over the network 54, as well. The results transmitted to the image display 53 in such a fashion may include data and software to control, protect and present results. Similarly, in one preferred embodiment, the system 50 may permit the computers 56, 58, and 60 to send input to the computer 52. A bus 74 may connect the input device 62, processor 64, memory device 66, storage device 68, output device 70 and network interface 72 to one another, and to a removable media device 76.
For reasons of computer security, as well as various incompatibilities existing between various computers 52, 56, 58, 60, removable media such as electromagnetic diskettes may be associated with a removable media device 76 for receiving inputs and providing outputs to the computers 52, 56, 58, and 60. A printer 78 and a fax/modem 80 may be connected to the network 54. Alternatively, the printer 78 and fax/modem 80 may be connected to the bus 74 as a part of the computer 52.
The system 50 may be configured to a host in the computer 52 to provide a program 200 comprising instructions for configuring the computer 52 to store, retrieve, search, and otherwise provide information regarding art works. The program 200 may be configured to include a menu bar 202 displayed on an output device 70 (such as a screen 198) of the computer 52 or on one of the computers 56, 58, 60. The menu bar 202 may include pull down menus 204. For example, a file block 206, an input block 208, a report block 210, a supplemental report block 212, and a system block 214, may form the menu bar 202. Each of the blocks 206, 208, 210, 212, 214 may correspond to a pull down menu 204.
The pull down menus 204, include a file menu 216, an input menu 218, a report menu 220, a supplemental report menu 222, and a system menu 224. Selection of the file menu 216, by a user provides access to routines for referring prospective buyers (customers) to prospective sellers (clients). Selection of the referral 226 from the file menu 216, provides searching capability in a variety of databases, by a variety of search methods, by a user seeking to find a work for a customer located in a client's inventory. In addition, the referral 226, may be selected to do numerous types of searches using a host of indexes across a series of databases.
The file menu 216 may also include menu selections for sellers 228, buyers 230, inventory masters 232, publishers 234, service and supply vendors 236, links 238, and incomplete referrals 240. A user may make a selection from the file menu 216 by any of several conventional means, including the clicking on a mouse, moving a cursor with a scrolling key on a keyboard, a touch screen, a button object on the screen, or the like through any input device 62 so configured. The file menu 216, thus may give access to a user for accessing the databases identifying search strategies, search engines, and their related databases in the storage device 68 or memory device 66 by selecting the referral 226 entry on the file menu 216. Similarly, a user may access for information or maintenance, a database of all potential sellers of art works, whether dealers, museums, galleries, collectors, etc., by selecting the sellers 228 entry in the file menu 216. Potential buyers may be identified in databases accessible to a user by selection of the buyers 230 entry in the file menu 216. Databases associated with an inventory master database may be selected by using the inventory master 232, while databases of publishers of art works may be accessed by the publishers 234. Vendors of supplies such as framing, art supplies, and related services, that an artist, purchaser, or seller may need may be identified through a database accessible through the service and supply vendors 236 by entry in the file menu 216.
Various databases may be created for the purpose of providing links or binding between particular fields of interest in different databases. A user may access these databases of binding information for maintenance or use by selection of the art links 238 entry. The image packet creation 239 may allow a user to create "E-mailable" ASCII files which, when received by a user, can be executed to display a multi-media presentation of available artworks in the form of an advertising presentation, sales presentation, etc. to an image display device 53. Such packets may be created in such a way as to not require a recipient to have any particular software and/or hardware in order to display the presentation on the image display device 53. In such an instance, the image display device 53 may be simply a VGA or SVGA or other high-resolution monitor connected to the client computer 56, the customer computer 58 or the user computer 60 attached directly or indirectly to the network or inter network 54 via the standard ASCII text (7 bit) E-mail system of any type.
Additionally, a customer who has requested an art work which was not available by a user conducting a search using the referral 226 selection, may nevertheless be provided with a potential seller of the requested work at a later date. Thus, a user may, through the incomplete referrals 240 selection in the file menu 216, provide information to a potential buyer regarding the availability of the desired work of art.
An input menu 218 may include several entries for conducting transactions with clients and customers. For example, a post 242 may post transactions manually to a client inventory database. An import 244 and update 246, in addition to a disk 248, read 250, update 252, update 254, update 256, and complete 258 may support the input and output of information passing from clients to users to customers.
The post step or post menu entry 242, or simply post 242 from the input menu 218, one of the pull-down menus 204 may mark transactions by year, month and day. Also, a transaction may be coded. The individual transaction code characters may be used to indicate the nature and status of the transaction. For example, "A" may indicate that the charge may be automatic and may be charged automatically to a credit card. In addition, the letter "P" may indicate that a payment has been received. Thus, a check which was received in advance would be posted as a "P" payment.
The "F" may indicate a fee. Fees marked by "F" may indicate that fees have been posted by hand by a user. "S" may indicate a special fee posted by the computer. For example, a fee may be generated automatically for subscription costs, if subscriptions are opened and continue until closed by a user. A "B" may indicate a renewal fee, which may also be generated automatically by the computer. Further, notes may be input for reference by a user. The user may input notes, but not show them on a statement. Similarly, a "B" may indicate billing. "B" may be a record of a billing and need not effect the transaction. It may merely record the information that may be sent out on a billing statement, having no affect on the cost of the subject transaction. The transaction code may be used to enable the system 50 to process such things as statements, billings, letters, renewal notices, delinquent and collection notices, and the like.
The import 244 entry may be used to import information into the databases of the system 50. Information may be imported from a file, a keyboard in which the information has been input by key stroke, an optical character recognition program reading an image, or the like. Information may be imported by the use of a text file or a rich text file or any suitable mechanism known in the art. After the use of import 244, a user may label columns in imported documents and link the data contained therein to a field in one of the databases of the system 50. Thus, imported data may be linked to an artist, publisher, and so forth, even if not imported in a form automatically recognized by the system 50.
A client database may actually be a list of more than just subscribers or even clients, but rather of all known art dealers, artists, museums, collectors and the like. In addition, a status code may tell a user whether or not a gallery may actually be a subscriber. For example, data may be imported from standard indices, directories, and catalogues provided by third-parties. Included in these catalogs and directories may be lists of galleries and dealers who deal with a specific art style, artist or publisher's works.
The import 244 routine or process may read a text file and break the text file text into fields which are then stored in a database. Thus, this input routine 244 may convert the text input file to a database. The import 244 process need only look at a column of text data and identify to the database what fields the entries in the columns should be assigned to.
The inventory routine may be provided to a client with a screen identical to that of the main user. Thus, a client desiring to input an inventory list may access the same screen, receive the same prompts, and create a database listing of all of the art in an inventory of the client. However, all titles, artist, gallery, museum and publisher information may be linked. Thus, any time one of these pieces of information occurs, such as, for example, an artist, each art work item may be given a unique item identification code, each artist may be given an artist code, and each publisher may have a publisher code input. Thus, any time a work is identified in a database, it may have an individual item ID code, as well as an artist ID code, and publisher ID code in order to be found in a database and located physically, as in the case of a customer (uniquely identified by an account number) seeking to purchase a work.
Linking may be done automatically by the system. The import 244 routine may first search for an artist's name, trying to match the artist's name that was input by a user for a client or by a database that was imported. The routine may first search for a proper artist match based on an exact match. If an exact match is not found, then the search engine may degrade the search to look for the closest match. The artist database may be searched first to find an exact match or the closest match for a newly input artist's name. The artist's name may be set by the routine, and the routine may begin to look for titles. The same process may be repeated for titles, first looking for an exact match and then for the closest match that would logically be the proper title.
The next database field to be searched may be the edition type. The type of the work may be a separate field. Thus, the type field may have an identifier indicating that it may be a print, a painting, a sculpture, cel art work, or may have similar identifiers. Numerous edition codes may be used to specify specific pieces of art (for example, prints), which may vary in value according to the nature of the edition. A link routine may next try to create a link with an edition type, following a linking of edition type. In some cases, for example when a work is an original, the edition type may simply be selected to be the medium. For example, a painting may be an oil, acrylic, or the like and may be on masonite, canvas, or some other underlying material. Similarly, a sculpture may be done in marble, bronze, or acrylic. If an artist is not located as a match by the routine, based on the input information, the routine may next display a browse window for a user to select an artist from a list of artists. This list shows all artists, but locates a pointer at the closest artist as determined by the routine. A user may then browse over other artists if the selected artist is not deemed correct.
In addition, every artist may be linked to a publisher. The user may then see a screen that lists the publishers who are linked to each given artist selected by a user. Thus, a user may select a publisher from a list of known publishers of an individual artist's work. On the other hand, if a user is persuaded that a publisher listed by the input data received from a client is incorrect, then a user may input a new publisher who carries the works of the listed artist.
In addition, every artist may be linked to a museum. The user may then see a screen that lists the museums who are linked to each given artist selected by a user. Thus, a user may select a museum from a list of known museums having an individual artist's work. On the other hand, if a user is persuaded that a museum listed by the input data received from a client is incorrect, then a user may input a new museum who displays the works of the listed artist.
Once the import 244 process has updated inventory from files received, it may thereafter link the title, artist, publisher and edition type for the work input. The disk 248 routine or process may not only provide to a requesting client a listing of the client's inventory, but provide also to the requesting client a copy of the ACIUM program, which permits the individual client to update a list of their inventory, to create a listing for themselves, and to maintain that listing for their own use. The disk 248 process provides a reconciliation list of all the inventory as known by the user for an individual client. Thus, by use of another routine, the client may update for the user the inventory of the client based on errors found between its known inventory and the reconciliation list provided by the user.
The read 250 routine may read data from a diskette of inventory data from a client, while the update 252 routine may prepare a new copy of the code (ACIUM) for return to the client. The update 252 routine may be used to make a copy of the latest code for a creation tool (ACIUM) used by a client to create database information for submission to the user. If the databases of the client are outdated, that is, the data structures are no longer those used by the program, then the update 254 routine may update those data structures by downloading information to the user.
The update 254 may open all databases corresponding to a client and verify that the correct fields exist. If the correct fields do not represent the data structure of the current ACIUM program, or are not usable by the current ACIUM program, then the user may return to the client a new copy of the ACIUM program accessing the correct database fields.
Moreover, the user may invoke the update 254 routine to download to the client the database as maintained by the user, and containing the newly received data from the client in the new, correct database formats. That is, the database information, although saved by a client in outdated field formats, may still be uploaded by the user and returned in the proper format to a client.
The update 256 routine may permit a user to deny entry of "suspicious" data into a database of the system 50. The word "suspicious," indicates that the system 50 (for example, via a housekeeping routine, or a referral routine) has been tracking all calls for a work and the number of callers repeating requests for the same item, or repeating referrals to a specific item. If a high rate of calls detected for a specific work or if a high rate of calling is detected for alternate works after a customer has been referred to a specific seller of a work, an entry for a work may be deemed "suspicious."
If an individual customer calls repeatedly for a piece, this may indicate that the entry may be incorrect and suspicious, since the customer has not been able to locate the piece. Also, if numerous customers have called for a piece and then each has called back requesting another number, this may indicate that other information in the database may be incorrect.
For example, a customer may call seeking a specific piece of art. The system may provide to that customer the information on where that particular piece of art may be obtained at the lowest possible price. However, if the client calls again seeking that same piece of art, then something in the database may be wrong. For example, the work may have been improperly listed as framed or unframed when it may be the opposite. In addition, a piece may have other data, such as the price, incorrectly listed, so that when a buyer calls a seller provided by the user, the information may be incorrect, and the sale may not be consummated.
The system may then create a "suspicious" file indicating entries that have appeared because of not moving promptly or receiving multiple calls from a single user or multiple calls by multiple users who have called back about other pieces. Thus, those items or entries which have appeared suspicious to the system and then thereby identified, are checked by input data clerks later to determine whether or not there are errors.
The complete 258 routine permits a user to complete a "wanter." A wanter may be a request for a piece that has been requested by a specific buyer, but no listing has been found within the system 50. For example, it may be the habit of some art dealers to use the system 50 as a resource for finding a piece for a buyer who was already in their shop (gallery). Thus, many subscribers actually are dealers who do not want to turn a customer away who has something specific in mind. As a practical matter, in marketing art, buyers may typically have a specific style, artist, piece (work), or the like in mind before coming to a gallery looking for something of that nature. Thus, a gallery operator may subscribe to the system 50, for the simple benefit of not having to ever turn a customer away. Any customer who has a request, can be satisfied by the gallery owner accessing pieces identified by the system 50. Thus, these types of subscribers may not always list the art in their own galleries.
Thus, when a piece has not been found by searching by the system 50, it may not be economically reasonable to continue searching for a low-cost work, such as a print, for example. Instead, a wanter list may be published periodically to all persons receiving mailings or downloading results from the system 50. Thus, an art dealer who may have an unlisted work may find that it may be wanted, providing an immediate sale for that gallery. Similarly, an art gallery owner may be aware of other galleries or owners within his own area or through which he has networked contacts who have an inventory including such pieces not listed in the database of the system 50. Thus, a wanter list, or wanter sheet, may provide a listing of these pieces and provide an instant sale.
The report 220 may include labels 260 for printing address labels for mailings, inventory 262 for inventory and client listing, invoice 264 for billing, statement 266 for providing current statements to clients, summary 268 for summarizing all receivable accounts, current 270 for reporting current receivable accounts, delinquent 272 for reporting delinquent, activity 274 for summarizing all account activities over a period of interest, including new accounts opened, renewals of subscriptions and the like.
Also, reports of interest may include referrals 276 identifying buying and selling facilitated by the system, demographics 278 identifying size, location, and sales volume of clients whose works are listed by the system.
Demographics 280 may identify customer demographics of buyers by geography, patterns and the like. Labels 282 may prepare address labels for advertising of services, or other labels actually generated and printed to go on outgoing mailings. Labels 282 differs from labels 260 in that labels 260 identifies a list of all labels for the information of the user. Thus, labels 260 may print out a listing of all labeling, and therefore communications outgoing, over a period of time, such as a day or a week or a month.
The report menu 220 may also include an entry that may be selected for referrals 284 for creating a report listing client referral activity rates and success rates in consummating sales. Mailing 286 may be selected by a user for generating leads from a database, based on a variety of decision parameters, such as activity rates and the like.
Telemarketing 288 may be selected for exporting a list of subscribers, while set 290 may permit a user to determine which telemarketing group may be invoked for a campaign. Groups may be selected by demographics, region, buying habits, location, interests, time zone or the like. Such groups represent lists of contacts or "leads" which may be exported to an output device 70 such as a screen, printer 78, or the like, or to a network or inter network 54 in order to facilitate access by a telemarketing organization or firm which may undertake such a telemarketing campaign. In the currently presented embodiment, such telemarketing firm or organization may be present within the company utilizing "in house" telemarketing systems as described above, and management systems which may include information produced directly by the set 290 routine to be used for organizational purposes. For example, the set 290 routine may also provide for various management of information including calendars, planners, logs, scheduling, calling lists, call-back lists, duplicate contact checking and the like.
The inventory 262 entry may also include numerous other features. The system 50 may maintain databases of numerous statistical parameters, such as the retail average, the wholesale average, the wholesale low, second low, and third lowest prices, as well as the wholesale high price. The system 50 may store for later use the daily, weekly, and monthly value for each of these parameters. However, each client may be provided with a published list giving these averages only for some period, such as for example, the previous 30 days.
In addition, the system 50 may use a standard deviation of all works except for a specific work. If the standard deviation of the averages, including the targeted work, is no different than the standard deviation of all works absent the targeted work, then the targeted work may not be figured into averages inasmuch as the targeted work caused too great an aberration in the standard deviation for all averaged prices. Standard deviation evaluation may be done for each piece of art each day. Thus, the routine may be run for every piece of art with and without itself included in the standard deviation, every day. This functional feature of the system is a protection against aberrations. For example, data improperly entered by a client may misrepresent the nature of a work. A plate may be listed as a print, a difference of several hundred percentages in value. Thus, the aberrational plate would not be allowed to depress the market averages for the prints.
Selection of the referrals 276 entry of the report menu 220 may enable a user to track the rate of success and the rate of sale for individual clients (potential sellers) who have works identified in databases, listed with the system 50. Those referrals received may be divided (characterized) by many significant parameters. These may be used to determine a specific referral rate. The number of galleries that submit changes in inventories that were originally listed, indicating that those works have been sold, may provide a rate of sale figure. The number of sales divided by the number of referrals may provide a rate of success. Thus, a seller's rate of success in selling may be maintained. Similarly, a buyer's rate of success may be calculated by dividing the number of purchases by a buyer by the number of requests for pieces.
Certain assumptions may be made in determining buying and selling patterns. If an art work listed in an inventory database of the system 50, has been removed from inventory and has received a referral, then the assumption may be made by the system 50 that a sale was made as a direct result of the referral for the listed piece now removed. If a buyer calls, specifically desiring a piece, and is given a referral, then the buyer may be assumed to have purchased such a piece, since the price quoted is the lowest listed price available. Moreover, if a referral is given for the next higher price for a piece, then the procedure would be equivalent.
However, in the event that a piece is requested, but no suitable piece has been found, then the wanter sheet may include a listing for that piece and an entry may be made when a seller calls identifying the availability of such a piece. In the case of a prospective buyer, who cannot find an inventory with the desired piece, a wanter may be created. Upon receipt of a wanter, a dealer (seller, broker, wholesaler, gallery) may respond to the system 50 that the piece may be available. The user may complete the wanter in a database of the system 50 indicating that the piece may be available for the buyer who desired the piece. The buyer may then be contacted to determine whether the piece may still be desired. If it is, then the user may provide to the buyer and the seller identification for each other and a contact may be made. A dealer may subscribe for a single search, or a dealer may subscribe for annual continued access.
The supplemental reports menu 222, also called simply supplemental reports, may include a number of entries 292-324. For example, an artist report 292 may be selected to identify works available, style, date of birth, death date, country of origin, and the like to uniquely identify an artist. An artist report 292 for a wholesale buyer may also include pricing information in addition to identification of artist. A style report 296 may provide a listing of art works indexed according to styles. Similarly, a medium report 298 may provide a listing of art works according to the type of medium in which they were created, while a range report 300 may identify art works by cost for comparable items. A hot sheet report 302 may include a top selling list for some previous period, while a bargain report 304 may identify art works currently listed by the system 50 at well below market prices. A market report 306 may provide a variety of marketing information according to style, artist, or other parameter of interest to a customer. A pricing report 308 may identify wholesale pricing information available to clients and may be useful as it may include a highest, average, as well as several of the lowest prices listed in the databases of the system 50. For example, the three lowest prices are oftentimes useful to provide a statistically significant sample, and to filter out aberrations in an individual price of a specific piece.
An auction report 310 may provide a listing of auction sales, with pricing information for the specific art works. The buyers guide 312 may print information on artists listed in the databases of the system 50. A quote report 314 may report the statistics identifying average market prices for works by any parameter stored in the database. For example, style, type, artist, size, and various other parameters may effect the value of an art work. Thus, a quote 314 may be printed for purposes of establishing an average market value. A registry report 316 may produce a report identifying art works and information relating thereto which are desired to be maintained in the system even after a work has been sold and would otherwise no longer be listed in inventory databases.
A wanter report 318 may be printed to send to clients so that those clients may fill the request for a specific piece that was not located by using the searches of the system 50. A suggested price report 320 may identify wholesale estimated prices and suggested price 320 for items in inventory. A billing report 324 may be printed for providing a customized report of billing histories or other information relating to client billings.
Each of the reports 292-324 may also be referred to as a report program or as a program. That is, an artist report 292 program creates a report corresponding to artists. Similarly, the suggested price routine 320 creates and provides a suggested price 320 report for consumption by clients.
For example, the suggested price report 320 may provide an estimated retail cost as a function of wholesale costs and may provide an estimated wholesale cost as a function of retail costs. The relationship between these numbers may be developed by an analysis of the style, edition, the rate of escalation of cost and other factors which are available in the databases. It is important to note that such relationships are not, strictly speaking, mathematical, but are, in effect, abstract relationships and vary according to variables which may not be known or readily discernible by the system 50. Thus, in order to ascertain such relationships, a "fuzzy" relationship must be established based upon actual observed ratios of wholesale to retail price, when many different factors are taken into account. The system 50 takes the parameter for style, or if this information may not be available, estimates a style characteristic. The system then references the database to determine what a base ratio for that style of art work may be.
It is assumed that, for purposes of the fuzzy logic system, every style of art, and edition type or medium, has a base ratio. The base may be set by style, and then adjusted according to other parameters of influence. Because of the law of supply and demand, editions which have larger publications (unlimited editions, very broadly distributed limited editions), have a smaller difference between wholesale and retail market value.
A painting, or the like may be treated differently. The system 50 may search for particular pieces of a specific artist's work, specifically the piece in question (e.g. a similar size of a print of a same edition of the same piece by the same artist) for which data may be known for both an actual wholesale and an actual retail. If this information is available in the database of the system 50, then it may be used and the retail to wholesale ratio may be calculated and a fuzzy relationship need not be used. If not, then the system 50 may search by style for a ratio. Adjustments may be made for edition size, edition type, issue date, (the more valuable, typically) and the like.
It is the nature of art prints, for example, that they issue at a certain wholesale value that may be immediately increased by a profit margin to a retail value. The longer a print has been in publication, the higher the value of the print may have become. This trend tends to continue until a maximum is reached. However, after a limited edition print has been available for some time, it tends to have the same retail value as wholesale value, the profit margin then coming from the framing, rather than from a mark-up of the print which has achieved its maximum market value.
The system 50 may determine a market wholesale and market retail value based upon the length of time that a print has been available. The system, may thus provide a suggested retail and a suggested wholesale for prints that have never been listed. Also, the actual averages and lows for individual pieces may be stored in the database as a reference. For the purposes of the estimation algorithm, indices and catalogs that have been imported into the system 50 may be used. These may be used, at least for the purposes of estimation of values, by the pricing 308 routine, although these numbers may not come from the actual user-client database.
The supplemental reports 222 and report menu 220, when accessed, may direct the system 50 to run the routines associated with each menu entry 292-324, and 260-290. The routines 260-290 and 292-324 may then produce output that may be sent to a printer 78 or fax/modem 80 connected to the system 50 to be controlled by the computer 52 or one of the computers 56, 58, 60.
The system menu 224 may include entries corresponding to processes including quit 330, housekeeping 331, security 332, defaults 333, fees and rates 334, codes 335, edit letters 336, edit reports 337, switch 1 338, switch 2 339, and switch 3 340.
The quit 330 routine may be used to exit the system 50 on the computer 52 and return to the operating system hosted by the computer 52. Housekeeping 331 may process data, accounts, transactions, letters, automatic letters, billings, and the like. The security 332 routine may provide passwords, change passwords, protect routines of the system 50 with passwords, access archival files, control deletions from the system 50, perform audits, add and delete users according to authorization, review logs, and the like. The security 332 routine may be heavily protected itself and be only available to very few individual users.
The defaults 333 routine may provide all the default data used by the system 50 to operate in the absence of other inputs. The fees and rates 334 routine may provide a user, having the proper security authorization, the ability to arrange special billing and payment schedules for clients. The codes 335 routine may enable a user to edit or add definitions to telemarketing lists, while the edit letters 336 routine may store all of the standardized letters for dealing with clients, particularly client accounts of those dealers (sellers) and brokers who have art works listed in the databases of the system 50. The edit letters 336 routine may provide standardized letters with access to any field variable in a database of the system 50. Thus, a user may provide a letter identifying specific data from a database, simply by typing in a code and a field name. The edit letters 336 routine may take advantage of links provided between the database of letters, and other databases in the system 50, in order to create mail merges and form letters, as needed. The edit reports 337 routine may function similarly to edit letters 336 routine in that it may allow the creation and editing of standardized reports, by authorized users, with mail merge and form letter capabilities. The edit reports 337 routine may store all of the standardized reports used by system 50 and which may be provided to clients or customers as requested or needed. The edit reports 337 routine may provide these standardized reports with access to any field variable in a database of the system 50. Thus, a user may provide a report identifying specific data from a database, simply by typing in a code and field name. Thus, the edit reports 337 routine may take advantage of links provided between the database of reports, and other databases within the system 50. The switch 1 338, switch 2 339, and switch 3 340 enable a user to move within the shell of an operating system to change applications to any application for which a path may be defined by a user.
Referring to FIG. 4, a database 552 may include a series of fields 553A, 553B, and 553C for containing data, each field 553A, 553B, 553C containing different data bound to data in another of the fields 553A, 553B, 553C by virtue of their relative locations as parts of a single record 554A, 554B, 554C. Similarly the database 556 contains fields 558A, 558B, 558C, and may have more if so defined, bound together in each record 560A, 560B, 560C.
A linking database 562 may be created for linking unrelated information from the databases 552, 556. Each field 553A, 553B, 553C, 558A, 558B, 558C may be identified by a register number 563A, 563B, respectively. The contents of each field 564A, 564B of a record 566A, 566B, 566C of the database 562 may contain reference numbers 563A, 563B, respectively, thus establishing a linking relationship between two records 554C and 560C, by virtue of their linkage by register number, containing no fields in common.
Indices 568, 570 may be created to establish a correspondence (link) between each database 552, 556 and the linking database 562. The indices 568, 570 are active. That is, a relationship has been set, such that moving, for example to a record 554C in the database 552, causes a corresponding move of the pointer 572A selecting a record 566C of the linking database 562. In turn, the pointer 572B shifts to indicate the corresponding record 560C in the database 556. Thus, in a system 50 constructed in accordance with the invention, a single search can identify commonly recorded information in unrelated fields of different databases, without a complete search of each database and a complete cross referencing. The invention thus provides a relatively rapid search, rather than multiple searches and cross-referencing across multiple fields in the multiple databases 552, 556.
Linking files permits the moving of a pointer in a linked file. When the pointer in the linked file is moved on a field, the pointer in the linking file for that field value may be moved likewise. Because the linking file links a field from a first file to a field in a second file, the pointer in the linking file necessarily moves from field to field among linked sets. The system 50 permits the user to move a pointer along a second linked database by merely moving the pointer in the first linked database. That is, through the linking file, the pointers are reset in the second linked file by a method transparent to a user moving along a first variable in the first linked file. Thus, a mapping between a first record in a first linked file and a second record in a second linked file may be accomplished by means of the linking file which permits the pointers to act instantaneously.
Referring to FIG. 5, databases 573-590 that may be created and related for implementing the invention in one embodiment where arrows 596 designate linkages 596 between databases 573-590 by indices. The appendix lists the abbreviated, descriptive, field titles of selected databases 580, 582, 586, and 590, containing respectively, inventory master file, artist information, client (potential seller) inventory-on-hand information, and client information. The field names (found in the appendix) from these databases, 580, 582, 586, and 590 are referenced in the flow charts of selected FIGURES. The reference titles, such as the STYCODE reference title 599 of the STYLE.DBF 587, indicate field names of the fields corresponding to fields 564A, 564B for storing register numbers in the linking database 562.
Referring to the INV.sub.-- MAS.DBF which may be a structure for the database of art pieces, an index of indices may include multiple fields of information in a single field. Thus, the information from an artist field, a work title field, a publisher field, etc. may all be included in a single string. Thus, a user may search individual indices, such as a name index or a title index, to find certain record numbers. Likewise, the user may search for other associated information. When a user has found sufficient information to completely request a search of the index fields, then all of the information from the individual database fields required to construct the string which may be searched in the index of indices is all present. The benefit of the index of indices is that a search may be nearly instantaneous as far as processor time. The difficulty may be that the index itself takes a tremendous amount of storage space. That is, to the extent that multiple works by a single artist exist, every time the artist's name appears it must be in a separate record with each individual work. Thus, much storage space may be devoted to what could be saved in a database in a listing of works by a single artist in which a single field identifies the artist's name. Therefore, the index sacrifices storage space in order to get instant retrieval of a specific work identified by the artist's name, the title of the work, and the edition type of the work.
Several indices are used, and in one database, eight indices are used. Also, multiple indices of indices may also be used. Some of the more useful indices include an index of item identification numbers, artist code numbers, publication code numbers, and so forth. By accessing any one of these index values, a user may locate all records having that field content. Each index identifies the records containing that index value in the named field.
The term index of indices may also be referred to as a standard index. Each database has at least one standard index. That standard index includes a list of fields each of which actually contains that data from several fields in the database. For example, the interest of a user may be in finding a match for a record which may be uniquely identified by several key fields. An example may be an artist's name, a title of a work, and an edition type of that work might be combined in a single field. Each field containing an entry comprising the information from the three fields from the main database, would have associated with is an item identification number. Thus, the field associated with each item ID number may be a unique record number.
Referring now to FIGS. 6-28, the flow charts use more-or-less conventional notation. The dashed block (symbol) at the beginning of a routine represents the starting point of the routine of the same name identified in a previous Figure, and in each case, the reference number of the encompassing routine may be applied to the entire routine contained in the block and described by subsequent symbols.
The referral routine 226 shown in FIG. 6, also referred to as the referral module 226, or simply as referral 226, first requires authorization 344. The authorization 344, includes a module to receive and process authorization codes received regarding a client calling into a user operating the system 50. The valid decision 346 determines whether the authorization is proper. If the client is authorized to access the system 50, the result decision 348 determines whether a search has been completed for an art work, with the work identified. If no result exists, the search decision 350 may be presented to a user to which a positive response may advance to the standard decision 352. The standard decision 352 and key word decision 353 present the choice of: a standard search process 354 (deterministic) as described in FIGS. 8-11 and 20, which includes the deterministic search engine 404, described in FIGS. 12-19; a standard key word search 356 (linear or simplified fuzzy search) as described in FIGS. 21-32; or a query search (relational or complex fuzzy search) constructed using the query search screen 1400 and process described in FIG. 32. Upon completion, a search may return a user to the result decision 348 again. Once a search result has been obtained, the services decision 358 may present to a user the opportunity to conduct a selection process 360 for selecting one of a number of services to be provided to a client. The selected service may then be executed in the execution process 362, returning the system to a search decision 350 to determine whether other searches are to be done. Each process 354, 356, 360, and 362, may return via a loop path 364 to the result decision 348 until no further searches are to be conducted, at which point the system 50 exits by the return 366. Similarly, if an authorization 344 results in a negative decision for the valid decision 346, the system exits via the return 366 to the main menu 216.
Referring now to FIG. 7, one may note a dashed line forming a box labeled "authorized" and corresponding to the authorize 344 box of FIG. 6. In general, a dashed line forming a box indicates that the entire figure being described is an expansion of the dotted line box from a previous logic flow chart.
The authorize process 344 includes an input 422 after which an authorized client yields a positive response to the input decision 424 and advances to the valid account decision 426. A valid account results in an input process 427 collecting a client account number, as well as the check process 428 checking the client account in the database. Next, a valid decision 430 yields a positive response to give a return 432 to the system 50. A negative response to the valid decision 430 returns to the valid decision 426.
Meanwhile, a negative response to the input decision 424 advances to the address decision 434 from which a positive response accepts inputs 435, and executes a valid decision 436. A negative response to the address decision 434 sends a return to the system 50 indicating invalid 444.
Meanwhile, a negative response to the valid decision 436 returns to the address decision 434, while a positive response advances to a check process 438 for checking a name, address, phone number and other possible information for matching to a wholesale dealer. Following the check process 438, a wholesale decision 440 continues 442 in response to a negative response while a dealer output 441 process may output a prompt advising a user of any inconsistency. Thereafter, the process continues 442 to return an invalid 444 response to the system 50.
Referring to FIGS. 8, 9, and 10, the standard search routine 354, search process 354, or search module 354, provides an input 372, a process by which selected inputs are entered by a user on behalf of a client. Upon completion of the input 372 process, the index search 446 (as shown in FIG. 9) prepares inputs to be used by a deterministic search engine 404. The index search 446 consists of an input decision 447 which yields a single field select process 450 in response to a positive decision output, and a multi-field select 448 in response to a negative output. In either event, a return 452 follows.
The single field select process 450, in FIG. 10, includes several decisions 453, 456, 459. The item decision 453, obtaining a positive response, advances to a set index process 454 setting an index to an item identification. A negative response advances to the next decision 456, a positive response to which executes a set process 458 designating an index setting to an artist's name.
A negative response to the decision 456 results in a decision 459 based upon the title of a work, a positive response to which begins a set process 460 setting an index to the title of a work. Meanwhile, a negative response to the decision 459 executes an off process 462 setting the index to an off position before returning 466 a fail message. In response to the set processes 454, 458, 460 the system 50 may execute a search 464, which, if not found 468, also returns 466 a fail message. A successful search 464 results in a return 469 indicating success.
The multi-field select process 448, shown in FIG. 11, first attempts to identify the requested input for completing the decisions 461, 471, and 482. If inputs supplied by a user are insufficient to generate complete search strings for a compound search index, then the system may generate a search string by a search 467, 475, or 488, or all of them. After a search string is generated from the outputs of individual searches or a complete portion of inputs supplied by a user, a compound index may be searched by a search 480, 496, 516, or 522.
In the multi-field select 448 process as shown evaluates whether or not an item identification has been used as a search criteria, which if it has not, the decision 463 inquires into whether an empty identification location in the database, or inputs, has been found. Again, a negative response advances to a process 465 to set the index to the item identification, after which a search 467 seeks an exact match for the input fields. If an exact match is found, then the decision 470 advances to a return 526 indicating success. A negative response to the decision 470, as well as a positive response to the decisions 461, 463 advances the system 50 to the decision 471 inquiring as to whether a search has been conducted by artist's name. If an artist search has not been done, the decision 472 inquires as to whether the artist field is empty, which, if it is not, advances to the decision 473 as to whether both first and last names are available for the artist. A positive response advances to a process 474 to set the index to the artist's name, after which a search 475 may be conducted to find an exact match. Again, if an exact match is found, then the decision 476 advances to the decision 478 as to whether the title may be empty.
Meanwhile, if the decision 476 yields a negative result, then the process 480 searches for a near match, after which the closest match may be stored 481. Similarly, a negative response to the decision 473 may also initiate a search 480.
Meanwhile, a positive response to the decision 471 or decision 472 advances the system 50 to the decision 482 inquiring as to whether a title has been tried or may be empty, a negative response to either one of which may advance to the process 486 to set the index to the title of the work. Meanwhile, a positive response to the decision 482 advances to a decision 484 as to whether the artist's name may be exact. If the artist's name is not exact, then the process feature returns a fail 528. If the artist's name is exact, then the process returns 526, a succeed.
Meanwhile, if the decision 482 yields a negative result, then the process 486 sets the index to the title of the work, after which the process 488 searches for a near match to the request. Afterwards, a process 490 stores the closest match corresponding to the title, and the process 492 adds the artist and the title to a search string. A process 494 sets the index to some standard search, searching for the compound of the artist and the title after which the process 496 searches for a near match to the search string as currently constituted. If the search process 496 results in a find, then the found decision 498 advances to a return 526 (succeed), whereas a negative result advances to the process 500 which may use the artist database file and set the index to the artist.
The decision 478 may have a negative response as to whether or not a title may be empty. A negative response to the decision 478 advances the system 50 to the process 492 combining the artist and title in a search string.
The process 500, after setting the index to the artist name, completes a search for an exact match in the process 502, after which a positive result, identified in the decision 504 advances to a return 526 (succeed). Meanwhile a negative result to the decision 504 advances to the process 506 which may store the total number of titles located for that particular artist. If the artist name is close to the string sought, then the decision 508 may advance to the process 512 to again combine the artist and title in the search string. If the artist is not close in the decision 508, then the name of an artist with the most titles may be used by the process 510 as the selection of an artist to be combined in the process 518 with the title as a search string.
Similarly, the positive response to decision 508 advances to a process 512 corresponding to the process 518, followed by a process 514 and a process 516 corresponding to the processes 520 and 522, respectively. However, the process 516 searches for an exact match, while the process 522 searches for a near match. Again, a successful search in the process 516 gives a positive response to the decision 517 and advances to the return 526 (succeed), while a negative response returns to the process 524 in which the artist database may be used again as the system 50 skips to the next artist and repeats the process 506.
As seen in FIG. 11, the decision 508, followed by the processes 512, 514, 516, decision 517, and processes 524, 506 form a loop. The loop may only be exited by a negative response to the decision 508 or a positive response to the decision 517. Similarly, the search process 522 may advance directly to the return 526 without regard to the success of a search.
Thus, the index search 446, in general, serves as a director for a search by determining whether an input requires multi-field or single field inputs in order to search the databases available through linking databases, to rapidly locate the work sought by the user. The successful decision 374 determines whether the index search 446 has identified a specific piece sought by the user. If the user has not identified a piece, the user may opt to abort the search, thus providing a negative response to successful decision 374 advancing to return 376 which returns to the menu 216 before a search has taken place. The browse 378 process then permits a user to browse in the vicinity of a selected work located by the index search 446 process. Thus, the user may browse 378 in a master file, wherein data may be ordered according to an index selected by the index search 446 process. After the browse 378, a found decision 380 determines whether a work located during the index search 446 or browse 378 may be found in the results presented. The duplicate decision 382 determines whether the piece found was duplicated and advances to a delete process 384 if more than one entry is found to have the identical information but different item identification numbers (a unique serial number or inventory number by which every art work in the world available on the database of the system 50 may be uniquely identified). Duplicated items located by the index search 446 or browse 378 may be deleted from appropriate databases and all links between information and records, for the deleted item identification number may be re-linked to the remaining item identification number for the specified work. A negative response to the duplicated decision 382 causes execution of the find seller 386, by which a potential seller such as a gallery, publisher, individual owner, or other person in possession of the selected item identified in a database managed by the system 50 may be found. The found decision 388 determines whether a potential seller has been identified by the find seller 386 process. If a potential seller has been located in a database, the wholesale decision 390 determines the nature of the buyer and completes a sort process 392 to prioritize the potential seller according to some preference parameter appropriate to the client. For example, a client may prefer the lowest price, the geographically closest location, a particular quality, quantity or edition. If a retail client has requested a work, the select process 394 may eliminate all but the geographically closest seller.
The term client may mean an actual client who subscribes to the services provided by the system 50, or a client may mean a customer (buyer). In databases, however, a client may be used to mean simply an owner of a work listed, whether or not that work may be available for sale, listed intentionally, or simply extracted from a catalogue or other source of information regarding art works.
The output process 396 may provide output information regarding potential sellers, and may present the output in any suitable medium to be printed to a printer 78, sent by fax modem 80, or downloaded on line to a network or inter network 54. The output process 396 then advances the system 50 to the return 398, by which the system 50 may return to the next highest menu bar 216 or the main menu block 202. That is, the standard search 354 may be accessed through the referral 226 in the file menu 216 of the menu block 202.
If the found decision 380 is answered negatively, the add decision 400 may be presented to determine whether a user desires to include the identification of the unfound art work in the databases of a master file. A positive response to the add decision 400 advances the system 50 to the add process 402 by which the identification provided by the customer seeking a work may be input into the database of a master file in the system 50. Once the information concerning the designated work is in the system, the deterministic search engine 404 may operate to locate the work using the links between the information provided by the customer, and other information relating to publishers, galleries, museums, artists, editions, and related styles and media, for example, that may be used to link the information from the desired work to a possible seller of the work. After the deterministic search engine 404 has completed its search, the found decision 406 may return the system 50 to the wholesale decision 390 directed to providing the output process 396 for the benefit of the customer. However, if the deterministic search engine 404 results in a negative found decision 406, then the find link 410 may attempt to link the information provided by the add process 402 to establish a more complete record for the desired work.
The find link 410 eventually returns the system 50 to an append decision 412. The append decision 412, determines whether the desired, but unfound, work should be added to a list of "wanters" that may be published periodically for review by potential sellers.
A negative response to the append decision 412 advances via the return path 416 to the return 398. A positive response instead begins the append process 414 by which a database containing a list of "wanters" desired by buyers, but not yet located among sellers' inventories may be stored. A newsletter, whether distributed in hard copy or electronically, may then be circulated to clients subscribing to the system 50 as well as other potential sellers of art work. A "wanter" may be regarded as a virtually certain sale by a potential seller who either has the desired work in stock or knows where and how to obtain it.
Referring now to FIG. 12, the deterministic search engine 404 includes a process 862 to find any similar pieces that might relate to the search inquiry. A decision 864 determines whether or not such similar pieces have been found, a positive response to which advances to a return 868. A negative response to the decision 864 results in a smart search process 866 being conducted. Whether or not a result is found, the process 870 assesses the output and advances to the return 868.
Referring now to FIG. 13, the add work process 402 adds a work to the inventory master file in the databases. As seen in FIG. 13, the process 402 begins with a process 874 to accept inputs, including a title, in response to a prompt given to a user. Subsequently, the process 876 and 878 request the artist's last name and artist's first name for a work of interest. Following inputs regarding an artist, the process 882 sets a relationship from the inventory master file from the data bases, based upon an artist code within the inventory master file, to the artist code for this particular artist by name corresponding to the inputs of the processes 876 and 878.
Next, the system 50 in the process 884 seeks the nearest artist or artist name corresponding to the artist's name as input. The process 886 provides an opportunity for a user to browse the closest set of matches to the artist's name sought, the result of which may be selected by a user and advances to the decision 888. The decision 888, if a result is found, inquires in the decision 890 as to whether any duplicates have been found. If duplicates are found, then the process 900 deletes those duplicates and conducts a re-linking operation. If no duplicates are found, then the system 50 advances to the process 902. Similarly, the process 902 follows the process 900.
Meanwhile, negative response to the decision 888 advances to the decision 892 that inquires into whether or not an artist's name should be added to the available databases. A negative response to the decision 892 returns the system 50 to the process 876 requesting an input for the name of an artist (last name).
A positive output to the decision 892 advances to a process 894 for creating a new record for an artist or publisher including links to information providers as well as a new identification number for the work of interest. A subsequent process 896 requests inputs for all the other relevant data fields in the appropriate databases, after which a return 898 may be output to return to the main system 50.
The process 902 sets a relationship found between an artist code and an art publisher database entry for an artist code. The art publisher entry being related to a publisher code from the art publisher database, and consequently, a publisher name from the publisher database. Thereafter, the process 904 again searches for the nearest artist or artist's name, after which a user may be allowed to browse at the process 906 for the closest match within the listing of artists. If an artist is found, the decision 908 advances to check for duplicates in the decision 912, which, if found, may be deleted in the process 914 which also updates the appropriate linkages or linking. Thus, a negative response to the decision 912, or a completion of the process 914 may advance the system 50 to the process 896 for collecting inputs on other appropriate data fields corresponding to the artist or publisher.
Meanwhile, a negative response to the decision 908 advances to the decision 910 which determines whether to add a new publisher to the appropriate database. A positive result in the decision 910 advances to the process 894 for creating a new record for the appropriate publisher. A negative response to the decision 910 returns to the process 880 for inputting a name of a publisher. Then, the system 50 returns to the process 894 for creating a new record for the publisher in the process 894.
Referring now to FIG. 14, the process 862 to find similar pieces, upon being selected by a user, or by the search engine operating under the user inputs, first uses a process 922 to copy from the inventory master file an artist name corresponding to the desired artist, corresponding to an input from a user, and sets the title to be searched at a value corresponding to the title desired by a user with other fields in a record possibly empty.
Next, a counter may be checked with the decision 924, which, if greater than 0, may advance the system 50 to return a successful output 948. If the count is not greater than 0 in the decision 924, then a decision 926 determines whether or not the second step has already been attempted. A positive response to the decision 926 advances to the decision 930 to determine whether a third has been attempted. Likewise, a positive response to the decision 930 advances to the decision 936 to determine whether or not a fourth step has been attempted. If a fourth step has been attempted already, then the decision 946 inquires as to whether a result has been found. If a result has been found, then a return success 948 results. A negative response, instead, prompts a return fail 950.
Meanwhile, a count greater than 0 at the decision 924 prompts an advance to a decision 926 for which a negative response advances to the process 928. The process 928 may copy from the inventory master files the information corresponding to the desired artist and use that information as the artist of interest during the search. After the process 928, the system advances again to the decision 924 regarding the count. Meanwhile, the positive response to the decision 926 advances to the decision 930, for which a negative response engages the process 932 for indexing on a field code and field content from the word location database file. Thereafter, the process 934 searches for the entire title input within the word location database file in a manner corresponding to the search for a key word. After the process 934, the system 50 returns again to the decision 924.
Meanwhile, the decision 936, following a positive response to the decision 930 may itself advance, in response to a negative output to the decision 936, to the decision 938. If a decision 938 is reached, a user may be presented with the opportunity to continue or to terminate the search. If the decision is to terminate, then the search engine of the system 50 returns a fail 950. A decision to continue, in response to the decision 938, advances to the process 940 to count the number of output "hits" resulting from a key word search 356.
Thereafter, the decision 942 determines whether or not the count may be greater than some number, such as 75%, for example, of the required total of matched information. If the criterion is not met, then the system advances again to the decision 952 to determine whether or not the artist total titles may be greater than some criterion, for example, such as a number 12. If instead, a positive output is received in response to the decision 942, the process 944 then selects items with the highest number of corresponding "hits."
Following the decision 952 as to whether or not an artist's total titles meet some criterion, the process 954 copies all records that match the search inquiry from the inventory master file. Next, the process 956 shortens titles by some parameter, in one embodiment, 50%, so that the string may not be as restrictive (long).
Next, the process 958 selects the closest item from the inventory master file and advances to the decision 960 as to whether the inventory master file contains other items left to try. If none are left, then the system 50 advances to the count decision 924. If other items are left to try, then the process 962 seeks a seller identification from the client inventory database. If a result is found in the process 962, then the decision 964 returns a positive result advancing again to the decision 924 for the count. Meanwhile, a negative response to the decision 964 returns to the process 958 for selecting the closest item match from the inventory master file. Thus, it can be seen from FIG. 14 that the process 862 to find similar art pieces to that originally designated by an input from a user may return a fail 950 or may return a success 948 as the output result.
Referring now to FIG. 15, the smart search 866 may be something of a loop, which may be executed more than once in order to obtain a return fail 1020 or return succeed 1022 to the system 50. The smart search 866 begins with a decision 972 for determining whether an artist has been identified before. A negative response engages a process 982 permitting a user to browse over an artist database file for an artist's name, which when selected, if selected, advances to a process 986 to identify artist's as any artist contained in hits from the search. If no artist is selected in the process 982, then the decision 984 returns to the beginning of the smart search 866.
A positive response to the decision 972 advances to the decision 974 inquiring as to whether or not the truncation process has been completed. If the truncation process has not been completed, then the standard truncation process 990 may be engaged before the system 50 advances to the decision 988, determining whether or not a substitute has been found. A negative response to the decision 988 returns to the beginning of the smart search 866, while a positive response advances to return a success 1022.
A positive response to the decision 974 indicates that a truncation has been completed, so a decision 976 inquires as to whether a phonetic search has been completed. If no phonetic search has been done, one will note that a hierarchical order of searching may be implied. Thus, the phonetic search may be directed first by a decision 992 inquiring as to whether a phonetic search by artist has been tried. If not then the process 998 creates a phonetic representation of an artist's last name and advances to the process 1000. The process 1000 selects, in one embodiment, a number such as 60% of the phonetic matches to an artist's name and then advances to the process 1002 which searches by the artist and the title combined. One will note that all of the processes 1002, 1008, 1014 corresponding to phonetic searches of an artist's name, phonetic searches for content of an input field, and phonetic searching of both, advance to the decision 988 as to whether a substitute for an exact match has been found.
Returning to the decision 992, a positive response advances to the decision 994 as to whether a phonetic match by content has been tried. If not, then the process 1004 selects a phonetic string for key words from the title and the description of the work of interest. Next the process 1006 selects, in one embodiment, a number such as 60% of phonetic matches found in the title or description and searches by key word in the process 1008. Thereafter, the system 50 advances to the decision 988 again.
A positive response to the decision 994 advances to the decision 996 inquiring as to whether both content and artist have been tried for a match. If not, the process 1010 selects hits from searching by artist, after which the decision 1012 selects, in the preferred embodiment, a number such as 60% of phonetic matches found for the title or description. Next, a search by key word 1014 may be conducted, after which the system 50 advances to the decision 988 once more.
Meanwhile, a positive response to the decision 996 advances to the decision 978 inquiring as to whether an artist linkage search has been completed. If the links have not been searched, then the process 1016 search returns the probable artist name and advances to the decision 988. A positive response to the decision 978 advances to the decision 980 as to whether a publisher linkage search has been completed. If not, then the process 1018 locates the probable publisher before returning to the decision 988. A positive response to the decision 980 advances to the return fail 1020 indicating that no appropriate result has been found.
Referring now to FIG. 16, the standard truncation 990 begins with the decision 1028 inquiring as to whether the title truncation process has been attempted. If the title truncation has not been attempted, then the process 1036 selects a key word search from the title. The process 1038 truncates the key word by some appropriate amount, such as by 2/3 or a corresponding percentage, after which the process 1040 searches all key words and artists. Finally, a return 1060 returns back to the point in the system 50 following the standard truncation 1036. Likewise, the end result of a positive output to the decision 1034, the process 1046, the process 1052 and the process 1058, also advances to the return 1060.
Meanwhile, the decision 1030 follows a positive response to the decision 1028. The decision 1030 inquires as to whether or not common words have been tried, which if they have not, may be selected as key words from the title in the process 1042. Thereafter, the process 1044 selects the two key words with the most "hits" from the process 1042 to be combined in the process 1046 with the artist for a search based upon the key words and artist.
A positive response to the decision 1030 advances to the decision 1032 inquiring as to whether artist truncation has been used. If truncation has not been used, then the truncation process begins with the process 1048 in which the last name of an artist may be truncated by some appropriate percentage, such as, in the preferred embodiment, 20% of the characters in a name string. Thereafter, matches may be sought in the process 1050 and a search 1052 may be conducted using the artist and title.
The decision 1034 follows a positive response to the decision 1032. The decision 1034 inquires as to whether dual truncation has been tried, which if not, may be conducted beginning with the process 1054 selecting all hits from two key word searches. Thereafter, the process 1056 selects all hits from a truncated artist search, and a process 1058 is used as cross-referencing to attempt to find a piece based on linkages of the information between various databases. Thus, the standard truncation process 990 results in a return 1060 after a cascade of searches 1040, 1046, 1052, and 1058.
Referring now to FIG. 17, the search links artist process 1016 begins with the process 1066 which sets the relation from key word hits from the item identification to the inventory master file item identification.
Thereafter, the decision 1068 determines whether any items are left, which if not, may advance the process 1016 to the process 1078.
If instead, items are left, then the process 1070 searches for a near equivalent from the inventory master or title file. That is, the title or description is used to search for the piece in question. Next, the process 1072 attempts to match the results of the process 1070 using the word location database file, moving within some range of parameters in the word location database file. Thereafter, the decision 1074 determines whether a similar artist or a near artist has been located. If none has been located, then the decision 1068 is next encountered once more. If the result of the decision 1074 is a positive response, then the process 1076 saves the artist code, after which the following step is the decision 1068 again.
Meanwhile, the process 1078, following the decision 1068 with a negative result, may set a relation from a client inventory database file account number and from an art gallery's account number to be the art galleries associated with the artist code and the inventory master file entry corresponding to the artist code for the artist found. Next, the decision 1082 determines whether or not a title was available previously. If it was not, then the process 1084 may sort the results achieved previously (when searching by artist) by the number of hits that each received and stored in a hits file. If the response is positive to the decision 1082, then the process 1080 sorts the hits file by the number of hits found thusfar (by artist and title). Either the process 1084 or the process 1080 may next advance to the process 1086 which selects the next item to be evaluated, after which the decision 1088 determines whether any items are left. If no items are left, then the process 1016 returns a fail 1102. If there are items left, then the process 1090 seeks a new item from the inventory master file, and uses that item id., advancing to the decision 1092 as to whether this entry is not the end of a file or the end of a client inventory list. If this is not the end of the list, indicating a piece is currently available with a seller, then the decision 1094 is encountered in which the inquiry focuses on whether this entry has any hits. If hits exist, then the decision 1098 inquires as to whether the piece has been found, which, if it has, may sort the result in process 1096 according to the highest number of hits, after which a return succeed 1100 is returned to the system 50. Meanwhile, the negative result to the decision 1092 returns, corresponding to no end of file or no last entry, and selects the next item. A negative response to decision 1094 Or 1098 similarly return to the select 1086 to be processed again. Thus, the process 1016 results either in a return fail 1102, or a return succeed 1100 for the system 50.
Referring now to FIG. 18, the search links publisher process 1018 begins with the process 1108 to restore the relation between the inventory master file and the hits that have been found from the most recent search. Next, the decision 1110 inquires as to whether any items are remaining. If no items remain, then a return fail 1152 is sent to the system 50.
A positive output for the decision 1110 results in a process 1112 for setting a relationship between the inventory master database file, and the publisher database file. The relationship is between the publisher code and the inventory item publisher field, identified by a publisher code. This code is related to a client account number and, consequently, to a client inventory account number. Next, the process 1114 selects the next item identification number from the list of hits. Thereafter, the decision 1116 determines whether any items remain. If no items remain, then the system 50 returns to the decision 1110 and advances therefrom. If items remain in response to the inquiry 1116, then the process 1118 seeks the designated item in the inventory master file according to the item identification number therein.
Next, the decision 1120 inquires as to whether the end of a file has been reached in the client inventory database. If so, then the system 50 returns to the process 1114, and continues to loop. Otherwise, the negative response advances to the decision 1122 for determining whether or not the result is linked. If the result is not linked, then the decision 1132 determines whether or not the number of saved entries is zero. If the number of saved entries is zero, then the system 50 returns to the decision 1110. Meanwhile, if the decision 1122 yields a positive response, the process 1124 attempts to match the results within some arbitrary item number, for example, in this embodiment, + or - three items, using the query data base file. The decision 1126 determines whether a match has been found. If it has, the item identification number is saved in the process 1128. If no match was found, the decision 1126 advances to the process 1130, which skips to the next match in the appropriate list. Meanwhile, if the decision 1132 yields a negative output, then the process 1134 sets a relationship between the artist code in the results file, and the artist code in the inventory master file. Next, the process 1136 sorts all of the hits resulting from the search according to the number of hits for the artist code in question. Next, the process 1138 selects the next item identification number in order, and the decision 1140 determines whether any items are left. If items remain, then the system 50 advances to the process 1142 which seeks the desired item according to the item identification number in the inventory master database file. Thereafter, the decision 1144 determines whether or not the end of the result file has been reached. If the end of the file has been reached, then the system 50 returns to the process 1138 indicating that no results exist with a match to the selected item. Meanwhile, if the end of the file has not been reached, the process 1146 saves the results for similar artist's names, exact last names, names which sound like the name in question, those which are near the last and the first names, or which might match to some percentage, such as a 75% match of a last name, in this embodiment. Thereafter, the system 50 advances to the decision 1148.
Meanwhile, if the decision 1140 results in a negative response, the system 50 provides a return fail 1152. Likewise, if the decision 1148, following the process 1146, does not result in a found match, then the system 50 returns a return fail 1152. However, if the loop comprising the processes 1138, 1142, and decisions 1140, 1144 results in saved results found during the process 1146, then a positive response is output from the decision 1148. Thus, a return succeed 1150 is returned by the system 50.
Referring now to FIG. 19, the find links process 410 begins with a decision 1158 that determines whether or not a user desires to find link information. A negative response may advance the system to return fail 1196, indicating that a user has no wish to attempt to identify linkages. If the response is positive, then the decision 1160 determines whether the artist in question has been identified before. If the artist has not been identified before, then the process 1162 permits browsing of the artist database file for the name of the artist. Next, a decision 1164 determines whether or not an artist's name has been found. If a name has been found, then the process 410 advances to the decision 1168. If no artist has been found, then the procedure 1166 identifies the artists in question as any artist contained in the hits being processed.
Next, either from the decision 1160, the decision 1164, or the process 1166, the decision 1168 is encountered. The decision 1168 determines whether the work type is of type "O" or of type "S." If the work is of one of the proper types, then the process 1170 counts the number of active gallery links. If the number of links is greater than zero, the decision 1172 advances to a return succeed 1194.
If at any point any of the decisions 1172, 1176, 1180, 1184, 1188, or 1192 finds that a count is greater than zero, then the process 410 may return succeed 1194. Meanwhile, the process 1170 counts active gallery links, the process 1174 counts active item-publisher links, the process 1178 counts active artist-publisher links, the process 1182 counts active item-publisher links, the process 1186 counts active artist-publisher links, and the process 1190 counts active gallery links. If all the processes 1170, 1174, 1178, 1182, 1186, 1190 result in a count not greater than zero, then the process 410 returns a fail 1196. Incidentally, one will note that the process 1182 is only reached in the event of a negative response to the decision 1168.
Referring now to FIG. 20, the select one seller process 394 begins with a process 1202 to set the order to a zip code. Thus, the process 1204 searches by zip code, and the process 1206 selects the nearest zip code. The decision 1208 determines whether or not the nearest zip code is within a reasonable range, say 50 miles, for example, in this embodiment. If the zip code selected is not within reason, then the process 394 returns 1210 to the system 50. Meanwhile, if the zip code is within the criterion of the decision 1208, then a positive response advances the process 394 to the step 1212 where a standard priority flag is assigned for each customer. The decision 1214 then looks for the oldest listing of the art piece in question. If the found piece is not an oldest listing, the process 394 advances to the decision 1218. Meanwhile, if the listing found is the oldest, then the process 394 advances from the decision 1214 to the step 1216, at which point priority is adjusted in view of the oldest listing, such as by incrementing by some reasonable number such as two. Thereafter, the process 394 advances to the decision 1218, which determines whether the client in question has received few or no referrals according to some criterion. If the client has received few or no referrals, then the step 1220 may adjust the priority by incrementing again the priority number that was assigned.
Meanwhile, a negative response to the decision 1218 advances the process 394 to the decision 1222 for determining whether a client has received numerous referrals. If a client has received numerous referrals, then the step 1224 adjusts the priority of the client to account for the excessive referrals, such as by decreasing the priority number. Meanwhile, all of the processes 1220, 1124, and the decision 1222 then are followed by the decision 1226 for determining whether or not a client has an active account.
Once again, if a client account is not active, then the decision 1226 advances the process 394 to a series of decisions 1234, 1236, and 1238. In sequence, the delinquency of account is determined according to some series of criteria, such as 30 day, 60 day, and greater than 60 day overdue periods. If at any decision, 1234, 1236, 1238, a positive response results, then the priority is adjusted according to some predetermined criteria in the steps 1228, 1230, 1232, respectively. Thereafter, the process 394 advances to the decision 1240.
The decision 1240 determines whether no "bad" inventory items exist. If the bad inventory items are zero, then a priority adjustment may be made by way of increasing the priority number in the step 1242. A negative response to the decision 1240 may result in a decision 1244 that inquires as to whether a client is prompt in updating inventory. That is, bad inventory items mentioned in connection with the decision 1240 are items that are identified, and then found to be improperly remaining within the catalog or inventory list provided by a client. Meanwhile, early updating, referred to in connection with the decision 1244, indicates that a client is prompt in maintaining a list of the client inventory within the system 50.
Thus, if the client is an early updating client, then the decision 1244 advances the process 394 to the step 1246 adjusting the priority again, such as by adding to the priority number. Next, the system 50, or the process 394, selects a seller (client) by a random number from 1 to the total number of priority flags in the step 1248. Thus, sellers with a higher numerical value priority flag have a higher chance of receiving a referral. Thereafter, the process 394 advances to the return 1210.
Referring to FIG. 21, the key word search 356, the search 356, may operate by selecting the last filled field within the inputs. The inputs contain multiple strings and multiple words in whose strings multiple fields from multiple databases may be contained. For example, key word, artist, title, description, style, medium type, color, and so forth may all be contained as inputs. Thus, the extract 608 routine selects the last filled field, then, after conducting a search, returns and extracts another word, the last word, from that string, and progresses toward the beginning of that string, then returns after searching and again takes the last word from the previous string until all entries from that search (input) variable have been used. The extract 608 routine then selects the next previous input variable and begins with the last string and the last word on that string and progresses to the beginning of those variables until no entries are left for that variable. Thus, eventually, the first word for the first variable (input) may be reached. When no words, strings, or entries for input variables remain, the search has been completed.
Each entry in the word location database file has a code associated with the word entries. Therefore, when a match is found between the value of an input variable and a word in the word location database, the code in the word location database may identify whether or not the word was extracted originally from a field type which corresponds to the input variable type. For example, an artist's name may be input, and a match may be found in the word location database for that same word, then the system checks to determine from the code associated with that word to determine whether or not that word came from an artist field in the original database record.
The word location database may be indexed by code associated with each entry. The codes associated with each entry in the word location database may have more than one character, in one embodiment of the invention. The (ASCII) character or characters may be indexed according to the ASCII value of the code. Thus, "a" would be before "b" "b" would come before "c," etc.
The codes may also indicate database of origin. For example, in one embodiment of the invention, four basic databases are used, and thus code numbers from 1 through 4 indicate the database. Similarly, the most significant information includes the artist, the origin of a work, and an alias or other name by which an artist might commonly be known. Thus, the next three code numbers in order, 7, 8, and 9, may be assigned to those three fields.
An individual number 1, for example, may indicate an artist field in a specific database. 2 may indicate an artist field in a different database, 3 may indicate a source of a work from a specific database, and 4 may indicate a source of a work from another database. Thus, an individual, single character may be used to indicate both field and variable. This type of single character indexing may prevent the need for compound databases with multiple looping searches and cross-referencing logic. Thus, a search may be accomplished very rapidly by creating a one-dimensional array of codes rather than a 2 or 3 dimensional array for the various permutations and combinations.
If a search is done using only the key word input variable (field), then the word location database may be searched according to the content. Thus, all entries of a word may be found regardless of what field and what database the word may originally have appeared in.
The word location database entry may be a string comprising a code character followed by a space followed by the value (word) of the entry in the database. Because the codes are all single characters, or may be a single value (for example, a two-character value such as 10, 12, 45, etc.) they create a one-dimensional array. Therefore, each entry in the word location database may be more rapidly searched than other search engines which use two-dimensional arrays, multiple-fields, or the like.
In addition to the field code and the entry value in the word location database, each record in the word location database includes an item ID number. The item ID number may be thought of as the unique identifier for every work in the system. Thus, the binding between the code (field code) and the value of the variable (word) exists due to the fact that the two are grouped in a single string separated by a space as if they were two words. Corresponding then to each of these search entries is the item ID number corresponding to the work from which the word and the field code originated.
For each match found, the item identification number may be saved. As a search progresses from the very last field entry in the inputs, several item identification numbers may be located, progressing from the color up through the medium type to the style and eventually to the artist or key word. Each of the item identification numbers may be placed in a file of "hits." Because the searching may be conducted upon an indexed database, the search looks only for exact matches and then transfers a corresponding item identification number for any hit found. Thus, only exact matches are located, no processing occurs, and no numerical calculation occurs, merely a transfer of a value of an item identification number from one register to another register.
This search engine has several advantages. Speed is one. Common search engines, which search through multiple arrays, may take 2 minutes to locate a word and identify the field and the database from which the word was extracted. Such search engines must cross-reference and search multiple fields and then look for some indexing number to show that several key words have all occurred from the same record. By contrast, the engine made according to the invention does not require a match of a series of words assembled in a string in a given order. This search engine by virtue of the coding and indexing can identify a word as a proper word from a proper field. Also, an engine made in accordance with the invention intentionally does not order words within a specified search string. Thus, "a dog with a boy," "a dog and a boy," "a boy and a dog," or "a boy playing with a dog," might be located because the words "boy" and "dog" both appear within a title field or a description field corresponding to a particular work. Thus, an engine made in accordance with the invention is not only extremely rapid, but can locate an identification number for a piece of art that contains either a content or title or subject matter which may be identified by any word or combination of words in any order.
Part of the speed is derived from the fact that all databases do not have to be searched and a single database need not be searched before another database. Rather, the search may be indexed so that all references to all words which might be desired to be checked may be reviewed in a single search in a single database.
It is important to note that the "hit pool" which is generated by the search, is cumulative. That is, other search engines which do not use cumulative searching, must use multiple databases, creating lists from each database, and then cross-referencing each database to find out whether or not records match so that a multiple hit may be found for a single record of a particular item. Thus, the cumulative searching of the invention provides for immediate cross-referencing because all record numbers may be saved. All item identification numbers may also be saved, and the item identification number may be linked in a single index database to a record number for a work.
Referring to the process as shown in FIG. 21, the search as described above may be accomplished by using the key word search 356 process in conjunction with the word location database.
The key word search 356, as shown in FIG. 21, may begin with an input 602 process by which input fields may be received into the system 50. For example, a key word may be selected by which to search a field of a database containing information about a work of art. Fields may be stored in a single, massive, indexed database such as a word location database file configured as a complex database having multiple fields from other databases combined in a single field, certain characters of which then can be immediately recognized as identifying sources in the original databases. Fields may be kept separate by use of a field code containing a single letter designating which field a particular word originated from, including the location from which the record was taken. Each word may be coded so that a binding exists between a code number, letter, or combination of alphanumeric symbols associated with each word entry. Each word entry may be only given one appearance for one field of one database, regardless of how many times it actually might appear in any one field. Alternatively, a key word may not require a field code as it may be information from any field. A word location database may contain numerous records, each of which has both a word embedded therein, an item identification number, and one copy of each word. Thus single, massive file of binding data between words to be searched and codes can be used to locate the item number (item ID), the database of origin, the field within the database, and may have additional extractable information.
The input process 602, may be followed by a trim 604 process by which extraneous information, punctuation, double spaces and the like may be removed from the actual string of text and symbols input by a user. Following the trim 604 process, a field in a word location database may contain only significant words separated by single spaces and each occurring only once in the field. The set counter 606 process may be used to establish a looping procedure 605 for index selection. That is, the extract 608 process may operate to find the last word in a record. Thus, the last word in the last field may be selected from the input fields and further processed. That is, the copy 610 may extract a copy of the last word of the last field of the input field after which key word search 356 may attempt, during the delete 612 process, to remove the word so that it may not be used again. The preposition decision 613 may determine whether a removed word is a preposition, article, conjunctive, or other extraneous word. A positive response will return to extract 608 process to extract an additional word, thereby ignoring the extraneous word. A negative response to preposition decision 613 will advance to key word decision 614. The key word decision 614 determines whether or not the word selected may be from the key word input field. A negative output to the key word decision 614 may invoke the create 616 routine or process by which a search word may be created. Thereafter, a select 618 process selects which standard index may be used for the search. That is, different databases have different fields which may have their data extracted in turn as part of the input fields. Also, various indices exist for speeding up the processes of searching and for cross referencing related fields in different databases. If the result of the key word decision 614 is positive, the select 619 process may select the key word index in which to search.
The found decision 620 follows the extract 608 process. If a word was not found (extracted) the words in the input fields may be depleted. A positive output to the found decision 620 advances to the increment 622 process by which the counter which was set 606 is incremented. The search 624 process then searches the selected index, before advancing to the found decision 626 for evaluating whether or not a hit or record corresponding to the desired art work has been found in the database of the system 50.
A positive result to the found 626 advances to the create 628 process which creates a file, field, or other output identifying the item identification number unique to each work found by the search 624. A negative result from the found decision 626 advances the system 50 to a fuzzy 630 that may relax the requirements on the match needed to locate a work.
The retry decision 632 may provide for a return to the search 624 routine, following a positive result from the decision 632, or may simply return via the return path 634 to the extract 608 routine.
A negative response to the found decision 620 may advance the system to a set 636 routine for setting a loop counter for the loop 648, distinct from the counter of the set 606 routine. After a set 636, an index 638 process may set an unique index to search for an extracted word in a pool of hits generated by the 624 process. Unique indicates that an index only references the first occurrence of a unique hit. Only the first occurrence will appear when referenced. Thus, a hit that appeared several times as a result of the extract 608 routine, may be indexed only on its first occurrence.
A turn on 640 process turns indexing on for all those designated first occurrences in the result file. A delete 642 process then deletes all the indexed records which are turned on during the turn on 640. The turn off 644 may then turn the indexing off to be indexed again at a later time. After the turn off 644, a counter decision 646 determines whether the loop counter is less than one less than the counter set in the set counter 606 process.
If the result is positive from the counter decision 646, the return path 635 returns control to the index 638 process. A negative response to the counter decisio |