Distribution or redemption of coupon, or incentive or promotion program

Automated interactive classified ad system for the internet

6253188

Abstract

A system and method for providing classified ads over the Internet. The system includes a plurality of regional newspaper World Wide Web servers, and associated newspaper classified ad generators; a central classified ad information collection and distribution facility, and a central World Wide Web application server facility, all connected to the Internet such that Internet users can connect to the Newspaper Web server and central Web application server facility to search for and obtain classified ads. The Web application server facility includes one of more application servers and one or more newspaper classified ad database servers. The system apparatus features elements which enable Internet users to enter the system at the newspaper Web server and subsequently search for classified ads held in the ad databases at the database servers thorugh the application servers at the central Wed application facility. Additionally, the system features elements to enable users to search for the newspaper classified ads at the database servers using a client-server method that includes a common gateway interface procedure. Additionally, the system ad generator includes elements for automatically generating ad records for inclusion at the database servers of the central Web application facility which are derived from the newspaper print ad feed. Still further, the system includes elements at the collection and distribution facility for automatically collecting ads produced at the newspaper ad generators and providing them to the database servers on a scheduled bases. The method features steps for supporting the common-gateway-interface searching procedures which can be carried out in multiple stages. Additionally the method features steps for automatically generating classified ad record information in substantially numerical form which is pre-sorted to support improved speed in search the ad record databases.


Claims

What we claim is:

1. A classified ad system provided in an interactive computer network, the computer network including one or more servers and a plurality of client terminals capable of communicating with the servers, the classified ad system for presenting classified ads to a user at a client terminal, the classified ad system comprising:

An application server including means for receiving a request for classified ads from a user at a client terminal, and means for generating request messages concerning the user' request for ads; and

A database server including a database having classified ad information, the database server further including means for receiving the request messages of the application server; means for comparing the request messages of the application server to the database classified ad information and identifying the results of the comparison, and means for generating response messages in reply to the request messages, the response messages including the results of the comparison of the request message with the database classified ad information.

2. The classified ad system of claim 1 wherein the database server includes means for sending the response messages generated in reply to the requests messages to the application server, and wherein the application server includes means for presenting a report to the user at the client terminal based on a response message received from the database server in reply to a request message.

3. The classified ad system of claim 2 wherein the application server includes means for enabling the user to submits a request for ads in multiple stages, and wherein the application server generates a request message at each stage of the request, each request message generated successively narrowing the range of ads that would satisfy the user's request for ads.

4. The classified ad system of claim 3 wherein the application server includes means for receiving requests to place classified ad information in the database of the database server.

5. The classified ad system of 3 wherein the ad information included in the ad server database is substantially numerically coded.

6. The classified ad system of claim 5 wherein the application server means for generating request messages includes a common gateway interface process.

7. The classified ad system of claim 6 wherein the classified ad system includes a plurality of different sources of classified ad information and wherein the database server includes a plurality of ad databases each having classified ad information provided by one of the classified ad sources.

8. The classified ad system of claim 7 wherein the classified ad system includes one or more application servers.

9. The classified ad system of claim 8 wherein the classified ad system includes one or more backup ad databases.

10. The classified ad system of claim 7 wherein the application server is common to all of the ad sources, and wherein each ad source includes means for enabling a user to initiate the request for ads.

11. The classified ad system of claim 3 wherein the system includes means for automatically generating classified ad information to be included in the database server.

12. The classified ad system of claim 11 wherein the system includes means for automatically collecting classified ad information to be included in the database server from the means for automatically generating the classified ad information.

13. The classified ad system of claim 12 wherein the system includes means for automatically distributing the classified ad information to the database server on a predetermined scheduled basis.

14. The classified ad system of claim 13 wherein the system includes means for pre-sorting the classified ad information included in the database server.

15. The classified ad system of claim 4 wherein the system includes means for automatically generating classified ad information from received request to place classified ad information in the database of the database server.

16. A method for presenting classified ads to users in an interactive network, the computer network including one or more servers and a plurality of client terminals capable of communicating with the servers, the users accessing the network from respective terminals, the method comprising the steps of:

Providing an application server;

Establishing communication over the network between a user at a client terminal and the application server;

Receiving requests for ads at the application server from the user at a client terminal and generating request messages at the application server concerning the user's requests for ads;

Providing a database server having a database including classified ad information, and establishing communication between the application server and the database server so that the application server may send request messages to database serve and so that the request messages may be compared with the database classified ad information;

Generating response messages at the database server in reply to the request messages and forward them to the application server;

Generating reports for presentation to the user at a client terminal based on the response messages.

17. The method of claim 16 wherein receiving a request for ads from the user includes receiving the request in multiple stages and wherein the application server generates a request message at each stage of the request, each request message generated successively narrowing the range of ads that would satisfy the user's request for ads.

18. The method of claim 17 wherein providing a database server having a database including classified ad information includes providing the classified ad information in substantially numerical form.

19. The method of claim 18 wherein generating the request messages includes use of a common gateway interface process.

20. A classified ad system provided in an interactive computer network, the classified ad system for presenting classified ads to a user, the classified ad system comprising:

An application server including means for receiving a request for classified ads from a user, and means for generating a search request concerning the user's request for ads;

A database server including a database having classified ad information, the database server further including means for receiving the application server search request; means for comparing the search request of the application server to the database classified ad information, and means for generating a search request response in reply to the search request;

A classified ad source for supplying classified ad text; and

Means for automatically generating the classified ad information to be included at the database server; the means for generating the classified ad information including a parser for interrogating the classified ad text and building substantially numerically coded classified ad information from the ad text.

21. The classified ad system of claim 20 wherein the parser includes means for introducing information for pre-sorting the classified ad information into the classified ad information.

22. The classified ad system of claim 21 wherein the parser includes means for defining the organizational structure of the database classified ad information, and means for identifying the ad text wording to enable encoding of the ad text; the means for identifying ad text wording being dependent on the structure and organization of the database classified ad information.

23. The classified ad system of claim 22 wherein the organizational structure of the database classified ad information includes multiple divisions, and the parser means for identifying ad text wording includes multiple elements referenced to the multiple divisions of the database classified ad information organizational structure, some of which elements are common to some of the divisions.

24. A classified ad system provided in an interactive computer network, the classified ad system for presenting classified ads to a user, the classified ad system comprising:

An application server including means for receiving a request for classified ads from a user, and means for generating a search request concerning the use request for ads;

A database server including a database having classified ad information, the database server further including means for receiving the search request of the application server; means for comparing the search request of the application server to the database classified ad information, and means for generating a search request response in reply to the search request;

A classified ad source for supplying classified ad text; and

Means for generating the classified ad information included at the database server from the ad text supplied by the classified ad source; and

Means for automatically distributing the generated classified ad information to the ad database server on a scheduled basis.

25. The classified ad system of claim 24 wherein the means for automatically distributing the classified ad information further includes means for pre-sorting the classified ad information.

26. The classified ad system of claim 25 wherein the means for pre-sorting the classified ad information includes elements for pre-sorting the ad information based on sorting data introduced into classified ad information.

27. The classified ad system of claim 26 wherein the means for generating the classified ad information is automated and includes elements for introducing pre-sorting information into the classified ad information.

28. The classified ad system of claim 24 wherein the means for automatically distributing the classified ad information to the database server includes a distribution processor having an ad information depository means for storing database classified ad information, and means for managing movement of ad information between the means for generating the ad information, the depository means and the database server.

29. The classified ad system of claim 28 wherein the distribution processor further includes means for generating statistical reports concerning usage of the database classified ad information.

30. The classified ad system of claim 28 wherein the information depository means is subdivided into multiple partitions, each partition including classified ad information having a different time reference, and wherein the means for managing movement of the classified ad information also manages movement of the ad information between the multiple partitions.


Description

FIELD OF INVENTION

This invention concerns a computerized, interactive classified ad system and method of operation for use on the Internet, the system and method featuring simple access, rapid response, and automated updating. Particularly, the system and method include elements and steps for maintaining the ad system database during operation in predominantly numeric form disposed in RAM of a database server which an Internet, World Wide Web user can interrogate with a preparatory, category/subcategory, pre-selection designation, the pre-selection designation narrowing the range of records to be examined, and a subsequent ad record selection sequence undertaken with a user-initiated, simplified message-based query. Yet additionally, the system and method of operation further feature elements and steps for interrogating the originally placed classified ad text feed to automatically build database records that can be transported over the Internet to update the ad database.

BACKGROUND OF INVENTION

Classified ads commonly appearing in local newspapers have long been the average person's first stop in attempting to satisfy just about any need that arises. Whether it be a matter of buying or selling, the "classifieds" not only provide a broad range of goods and services, but also, make the existence of the items they concern known to the public at ad costs which, typically, are at least reasonable. When looking to buy, classifieds with their broad range, enable one to find things as trivial as another putter to replace the one recently turned into a pretzel because of a triple bogey, or as important as a new house, job, or the right person to share them with. Additionally, in those situations where one wants to sell goods or services, classifieds can be the most economical and efficient way of letting others know what one has to offer.

Regrettably, however, conventional, newspaper, print classified ads can be difficult and time consuming to work with. Ads when published are often numerous, invariably in small print and commonly lacking in uniform descriptions. Accordingly, the ads become difficult to throughly search. Because of their small type, invariably items or their features are overlooked. Additionally, the newspapers, typically, are incapable of doing anything more than providing minimal classification for the items advertised. As a result, it becomes necessary to wade through many ads which, though in an appropriate category, lack one or more features required to make the thing advertised suitable for the desired purpose. Still, further, because of the need to maintain preparation cost low, classified ads tend to exhibit limited item-description standards, newspapers being unable to expend significant resources in preparing the ads in order to preserve narrow profit margins. As a result, item descriptions tend to vary depending on the particular person placing the ad and the newspaper representative taking it.

As yet another problem, if on looking for an item of interest, one is unable to find it on the first day of search, if the search is continued into the next day, all the ads for the second day, including those previously appearing, will likely be reviewed, thus duplicating a substantial portion of the prior days work, there typically being no way to distinguish one days ads from the next.

Still further, once ads of interest have been identified, it becomes necessary to either check or otherwise highlight them in the newspaper or prepare a list from which "follow-ups" can be undertaken to see if the items found appealing are still available and whether agreement on their sale can be reached.

These requirements and shortcomings affect not only the people who must wade through the ads to select those of interest, but also, the people who place the ads and who worry over whether they will be seen and responded to. Still further, these same requirements and shortcomings affect the newspapers that offer the classifieds, as the money newspapers are able to generate from them will depend on both the size and satisfaction of the audience that reads the classifieds and the audience that places them.

While in the recent past, a number of automated classified ad systems have been proposed to ease some of these requirements and problems, the systems recommend not only continue to exhibit difficulties previously known, but also, present entirely new problems not found with conventional, newspaper print classified ad systems.

As an illustration, in U.S. Pat. No. 5,283,731, issued to Lalonde et al., Lalonde et al. propose a hybrid, computer-telephone system that permits a would-be seller to call in a sell ad that will be loaded to a computer database and subsequently computer searched by the system; as for example, using Standard Query Language (SQL), against want ads previously loaded. In the event of one or more matches, the system subsequently performs a "call back" to the seller in which voice synthesis is used to relay the match information, the seller prompting playback of the match information with telephone keypad entries. Additionally, the system permits a would-be buyer to call in a want ad which, likewise, would be loaded in the computer database, but here, searched against sell ads. As in the case of sell ads, in the event of one or more matches, the system performs a call back to the buyer in which voice synthesis is used to relay the match information in response to the buyers prompts entered at the telephone keypad.

As proposed by Lalonde et al., in accord with their design, receipt of the sell or want ads is preferably undertaken with a human operator who loads the respective ad information to the computer database in accord with screen-driven database menus. Lalonde et al., however, suggest that the ads may also be taken with computerized voice-recognition equipment that may be optionally included in their system.

Regrettably, though the Lalonde et al. system addresses some of the shortcoming associated with print ads searching, a number of new problems are presented, and, certain of the old problems remain. Specifically, though Lalonde et al. would appear to reduce the burden of manual ad searching, it does so at the cost of a number of advantages associated with traditional print ad classifieds. By virtue of the reliance on automated telephone ad information entry and reporting equipment, the Lalonde et al. system has the tendency to be impersonal and restrictive. Further, the Lalonde et al. system discourages buyer browsing by compelling would-be buyers to be sufficiently certain about what they are looking for as to provide specifications. Additionally, because buyers do not see listings of ads, the opportunities for associated or alterative buyer selections are substantially reduced.

Yet further, by virtue of the Lalonde et al. system's use of operators for receiving and entering ad information, uncertainty is presented as to language standards and the subsequent relevance of reported match information. Yet further, though system call backs create the impression match information will lead to satisfaction of a placed ad, still follow-up calls are required with the attendant uncertainty of item availability. And, to the extent sellers are required to make calls to potential buyers, not only is the seller placed in an awkward bargaining position, but, the potentials for adding to the seller's costs with unsuccessful follow-up calls and associated disappointments are increased.

Additionally, because the Lalonde system relies on conventional database search techniques, the search process can be time consuming and expensive to perform, particularly as the size of the ad database is increased. And, still further, the Lalonde et al. system has the added disadvantage of requiring usage of sophisticated and expensive voice recognition and synthesis equipment, the convenience, reliability and public acceptability of which have yet to be confirmed in practice.

Yet another example of an automated classified ad system is presented in U.S. Pat. No. 4,429,385 issued to Cichelli et al. In their patent, Cichelli et al. describe a propriety system for broadcasting classified ads to the public. In accord with their design, Cichelli et al. require that for the sake of speed and simplicity, information be communicated in only one direction; i.e., non-interactively, from their system transmitter to a special, computerized reception system which the user who seeks to read the ads must maintain.

As required by Cichelli et al., since in accord with their design, information is communicated in only one direction, search requests can not be received from the user. As a result, the Cichelli et al. classified ads must be arranged in a sequential database, so that the entire content of the database can be streamed past the user's reception system and desired ad records pulled from the transmitted information each time the user seeks to undertake an ad search. More specifically, whenever a user desires to undertake a search for ads, he must navigate through a sequence of hierarchical menus presented at his reception system in which lists of various characteristics of the item searched for are presented. Following designation of the item characteristics in the sequence of menus, the user's reception system generates a recognition code that configures the user's reception system so as to capture select ads as they stream past in the transmitted ad broadcast.

As is immediately apparent, though the Cichelli et al. system provides some relief for the drudgery of ad searching, it does so at a substantial cost in flexibility and equipment expense.

While navigation of hierarchical menus provides an attractive alternative to manual searching for the identification of ads of interest, the Cichelli et al. approach, however, requires newspaper and user to make substantial investments in proprietary, limited purpose transmitting and reception equipment necessary for the Cichelli et al. design. Still further, as is also apparent, because the Cichelli et al. system is unidirectional and requires use of a sequential database which must be continuously recycled to enable search of all ad records, search response time must increase as the size of the database is increased. Accordingly, there comes a point where increases in database size needed to generate revenues sufficient to offset operating and equipment costs and maintain profit margins are foreclosed because of user dissatisfaction with unacceptable increases in system response time.

Still further, since the Cichelli et al. system is only broadcast, it is completely non-interactive. Accordingly, the user is not able to use his proprietary system to enter ads. Rather, where the user desires to enter an ad, a separate and independent telephone call must be made to the database broadcaster. As well, because the Cichelli et al. system requires navigation of multiple menus to formulate each search query and cycling of the database for search results, the system has the potential for being sluggish, thus discouraging ad browsing and diminishing the opportunity for associated or alterative ad selection.

Finally, a still further approach to automated classified ad systems is presented in U.S. Pat. No. 4,645,873 Chomet. As explained in his patent, Chomet proposes the public telephone network and personal computers be used for connecting to a proprietary host computer at which a plurality of resources can be provided, among which is included a computerized classified ad system. As taught by Chomet, the user is required to dial up the central host over public telephone network with a personal computer and modem, and once connected, enter an access code. Thereafter, and upon validation of the user's access code, the user is presented with menus having a variety of service, among which are included e-mail, catalogue purchasing, classified ads and gatewaying to third-party databases.

Upon electing the classified ad service, the user is prompted to indicate whether he is interested in entering an ad or viewing existing ads. Where the user elects to view ads, he is subsequently required to enter an ad category as might commonly be used in connection with print classified ads, and thereafter, is presented in newspaper fashion with ads in accord with the ZIP code associated with his access code. Subsequently, and as proposed by Chomet, the user's viewing of classifieds would be timed and charges applied based on the amount of ad viewing time consumed.

Alternatively, where the user upon being prompted as to whether he wishes to enter an ad, elects to do so, he is merely asked to enter the category and ZIP code for the ad and the ad text.

On review of the Chomet teaching, it is clear that by proposing use of an interactive, computer network for presenting classified ads Chomet has suggested a system that provides greater ease for presenting and viewing ads. However, it is also apparent from the description of his system that much of the search difficulty arising from limited ad organization and lack of standardization of item description associated with traditional classified ads remains in the Chomet system. Additionally, it is also apparent that because Chomet relies on conventional techniques for searching the ad database; for example SQL, his system is susceptible to time consuming and costly search processes which can become objectionable to users, particularly as the size of the ad database is increased. Still further, it is also apparent that in view of his suggestion that users be required to have access codes and be charged for ad viewing time, Chomet has proposed a system that departs from the long established and widely accepted practice of not charging for classified ad review beyond the cost of the newspaper that presents them.

SUMMARY OF INVENTION

Accordingly, it is an object of present invention to provide an interactive classified ad system and method of operation which integrate advances made in automated classified ad systems, while overcoming associated shortcomings previously encountered.

Additionally, it is an object of present invention to provide an interactive classified ad system and method of operation which reduce the burden of manual ad searching commonly associated with print classified ads.

Further, it is an object of the present invention to provide an interactive classified ad system and method of operation which provide rapid response to search queries.

Yet additionally, it is an object of the present invention to provide an interactive classified ad system that may be automatically updated.

Still further, it is an object of the invention to provide an interactive classified ad system and method of operation which is simple to use.

Yet additionally, it is an object of the present invention to provide an interactive classified ad system and method of operation that provide uniformity in the description of items advertised.

Additionally, it is an object of this invention to provide an interactive classified ad system and method of operation which are capable of receiving both requests to view classified ads and requests to place classified ads.

And, yet further, it is an object of the present invention to provide an interactive classified ad system and method of operation that is accessible and open to use by the public without need for proprietary equipment.

Briefly, the classified ad system in accordance with the present invention achieves the above and other objectives by including apparatus elements and method steps for permitting the system to be offered in either wide-area or local-area, interactive computer networks such as the Internet or intranets.

Particularly, the classified ad system and method of operation include and support:

One or more computer terminals at which, respectively, a user can request the selection of classified ads, view the ads selected, and/or additionally, request placement of classified ads authored by the user;

One or more computer application servers arranged to receive user requests for classified ads, return the classified ads selected to the user, and/or receive user requests for placements of classified ads;

A network for operationally connecting the user terminals to the application servers;

One or more databases including classified ads;

A record request message generator located at each of the application servers for generating classified ad request messages responsive to a user's ad selection desires for forwarding to the respective database at which the ads records are provided;

A search processor associated with the respective database at which the ad records are provided for receiving the request message and locating the desired ad records and returning them; and

A report generator at the respective application server that originated the request, for reporting the results of the database ad search back to the user.

Additionally, the system and method of operation include and support:

An ad generator for each of the respective databases for receiving classified ad text and automatically creating classified ad database records from the text for the respective ad databases;

A collection server for receiving the ad database records created; and

A distribution processor for sorting and organizing the database records created and making them available to the respective ad databases.

In preferred form, the classified ad system of the present invention is adapted for use on the World Wide Web (Web) of the Internet and supports an international classified ad system specialized for regional markets. In this form, the system includes a plurality of classified ad databases maintained for a plurality of regional newspapers located throughout the world. In accordance with this arrangement, each regional newspaper maintains an Internet Web site having a home page listing its classified ad service and a Hypertext Markup Language (HTML) linking to a central, application Web server facility at which all the respective regional newspaper classified ad databases for the system are kept. In preferred form, the application Web server facility includes multiple application servers and multiple ad databases, the application servers and databases, respectively, including redundancy to provide improved functional reliability and allow for load balancing. In operation, users interested in viewing the classified ads of a particular regional newspaper anywhere in the world connect to the Internet in conventional fashion and navigate with their Web browser to the newspaper's home page. On arrival, the user selects the classified service from the newspaper's home page and undertakes a two-part record search process. In accordance with the invention, the two-part search process includes a first phase in which the user navigates in Web fashion to a category menu at the newspaper Web site, where the user enters a record-narrowing, pre-selection subject-matter designation, followed by a navigation to a subcategory menu at the system application server where the user can enter a further subject-matter designation to additionally narrow the range of records to be reviewed. Additionally the search procedure includes a second search phase in which a record-request message is generated based on ad selection parameters entered by the user, the request message being submitted to the ad database for retrieval of the desired records which are subsequently reported to the user.

Also in preferred form, and relative to the method aspect of the invention, in order to effect rapid search of the respective ad databases so as to maintain system response time low in light of the time consuming nature of Internet communication, the respective ad databases are designed to have a substantially numeric form and be retained in RAM of the respective database server. Additionally, the respective databases are also designed to have field lengths for the ad record variables equal to the word length of the processing equipment so that field value comparisons undertaken during search steps can be executed in a single machine cycle.

Additionally, to further reduce search time and reduce machine resource overhead, the database query is undertaken as a message request to the respective databases rather than a conventional database query effected; as for example, with Standard Query Language (SQL). This has the effect of transforming the ad selection process into a client-server event rather than a resource-intensive database search event.

Still further, in order to further speed and simplify the ad record search process, the respective ad databases are divided into two principal parts. A first part including ad record category and subcategory identifier tables and a second part including tables having ad record identifiers associated with the field values for the respective ad database records. In preferred form, the record category/subcategory identifiers are indexed to the start and stop values for the ad record identifiers and associated field values. Accordingly, when records are searched for, the system performs a pre-selection designation of the category/subcategory in order to identify a much smaller work portion of the database which is defined by the record identification start-stop values for the records on which the record selection query will be performed.

Yet additionally, in the preferred form, the system includes elements and steps for providing and supporting automated ad record generation to both speed the database creation and update process and provide for uniformity in the ad item descriptions. Specifically, the system includes a parser located at each of the regional newspapers for receiving a feed of proposed classified ad text together with overhead information. Once initialized with data including configuration and ad text recognition information specific to a respective newspaper, the respective parser establishes a set of processing tables for the specific newspaper and compares the ad text to the tables in accordance with predetermined parsing rules to convert the ads operative terms into a set of standard field values which the parser uses to create a substantially numeric database record information.

Also in preferred form, each regional newspaper ad generator includes an Internet server for receiving the database record information created by its respective parser. The respective ad generators are connected to the Internet in conventional fashion and make the parsed ads available for Internet pickup and/or delivery.

Still further, the system in preferred form also includes a collection server connected to the Internet for collecting the newly created parsed ad records from the respective regional newspaper ad generator servers using a conventional Internet FTP/IP process.

Finally, the system yet further includes a distribution processor which in preferred form is locally connected to the collection server for transferring by means of an FTP/IP process the collected new ad record information and arranging it in a current-day directory of a multi-day directory system provided at the distribution processor for the respective newspapers. Following placement in the current-day directory, the ad record information is sorted by: category; subcategory; predetermined preferences; and a predetermined sort order for the ad selection parameters to create the respective database ad records. Thereafter, the sorted ad records are forwarded to the respective database servers which separately maintains the respective regional newspaper classified ad databases for access by the respective application servers.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects, features and advantages of this invention will become apparent upon reading the following detailed description with reference to the accompanying drawings in which:

FIG. 1 is a schematic block diagram of the international classified ad system in accordance with this invention;

FIG. 2 is a simplified schematic diagram of the classified ad system for a single ad source in accordance with this invention;

FIG. 3 is a schematic diagram of the database structure for the classified ad system in accordance with this invention.

FIG. 4 is a schematic diagram of the record classification organization for the classified ad system in accordance with this invention.

FIG. 5a is a schematic diagram of the system elements associated with a user's search for ad records of the classified ad system in accordance with this invention.

FIG. 5b is a schematic diagram of the CGI process functional elements employed in connection with a user's search for ad records of the classified ad system in accordance with this invention.

FIG. 6 is a generalized flow diagram of the steps associated with a user's entry into the system and the pre-selection sequence of the ad search process for the classified ad system in accordance with this invention.

FIG. 7 is a generalized flow diagram of the steps associated with the record selection Messaging and reporting steps of the ad search process for the classified ad system in accordance with this invention.

FIG. 8 is a schematic diagram illustrating the search process category designation menu for the classified ad system in accordance with this invention.

FIG. 9 is a schematic diagram illustrating the search process subcategory designation menu for the classified ad system in accordance with this invention.

FIG. 10 is a schematic diagram illustrating the search process record selection menu for the classified ad system in accordance with this invention.

FIG. 11 is a schematic diagram of the structure for the request message generated in connection with the record selection query of the ad search process for the classified ad system in accordance with this invention.

FIG. 12 is a schematic diagram of the structure for the response message generated in connection with the record selection query of the ad search process for the classified ad system in accordance with this invention.

FIG. 13 is a schematic diagram of the system elements associated with ad database record creation for the classified ad system in accordance with this invention.

FIG. 14 is a schematic diagram of the elements associated with operation of the parser used for creating ad database records for the classified ad system in accordance with this invention.

FIG. 15 is a flow diagram of the steps associated with operation of the parser used for creating ad database records for the classified ad system in accordance with this invention.

FIG. 16a is a flow diagram of a first series of steps in the process by which a user can place an ad in the classified ad system in accordance with this invention.

FIG. 16b is a flow diagram of a second series of steps in the process by which a user can place an ad in the classified ad system in accordance with this invention.

DETAILED DESCRIPTION

As noted above, while classified ads are an exceedingly valuable and helpful public resource, significant problems are associated with their use when in conventional, newspaper, print form. Due to their usually substantial numbers, lack of descriptive uniformity and generally poor classification layout, print classifieds are difficult and time consuming to work with and, in particular, a problem to search. While, computerization has made some progress in dealing with certain of these shortcomings, the systems thus far proposed, have failed to resolve a number of the traditional difficulties, and as noted, have introduced a whole series of new ones.

The system of the present invention, however, changes that, and for the first time offers an approach that simplifies and speeds the process of searching classified ads, and further, provides a facility for automatically creating and organizing classified ads and providing them with a more uniform set of searchable item descriptions. In accordance with the present invention, the design of the current system achieves this by integrating the convenience and international scope of the Internet's World Wide Web, the flexibility of a specially adapted classified ad database, the speed of a simplified database search protocol, and the uniformity associated with automated creation and supply of the ad database records.

SYSTEM OVERVIEW

More specifically, the classified ad system in accord with the present invention designated by the referenced numeral 10 is shown schematically in a first preferred form in FIG. 1. With reference to FIG. 1, ad system 10 is preferably configured for world-wide operation and includes a plurality of regional newspaper servers 12 shown differentiated one from another by indexing 1 to M. As illustrated, each of the newspaper servers 12 are respectively connected in conventional fashion, as for example, with dedicated telecommunication data lines, or dial-up telephone lines to the Internet designated 14. As will be appreciated, newspaper servers 12 may be located anyplace in the world where connection to the Internet may be effected. In accord with the invention, servers 12 are conventional Internet, World Wide Web (Web) servers, and thus, support the hypertext markup language (HTML) and the hypertext transport protocol (HTTP). Accordingly, in preferred form, servers 12 support client terminals equipped with a conventional Web browser; as for example, Navigator.RTM. available from Netscape Communications, Inc., or Moasic.RTM. from Spyglass, Inc., or the Web browsers respectively provided by certain of the propriety, commercial services such as the Prodigy.RTM. Network, and others. In preferred form, newspaper servers 12 are preferably able to provide access to the classified ad service as well as other newspaper on-line features and, accordingly, should be capable of supporting multi-processing and be able to manage on the order of a thousand concurrent users.

Continuing, ad system 10 is also seen to include a central ad application server 16 also connected in conventional fashion to the Internet 14. As shown, in the case of ad application server 16, a firewall 18 is provided at server 16's connection to the Internet to prevent unauthorized entry and to secure the application server environment. Like newspaper servers 1 to M, application server 16 also supports the HTML, HTTP protocols and clients running suitable Web browsers such as Navigator, Moasic, and others. In view of the capacity of the respective newspaper servers, application server 16 should also be capable of supporting multi-processing and able to manage at least several thousand concurrent users. Further, in preferred form, system 10 is seen to include an additional equivalent application server 16 to provide redundance for purposes of improving system operational reliability and to enable user load balancing. Still further, and as will be appreciated by those skilled in the art, where system reliability and user loading demands require, yet additional application servers 16 could also be provided.

As further shown in FIG. 1, system 10 also includes two, redundant newspaper ad database servers 20 for providing classified ad records on request to application servers 16.

In first preferred form, to provide backup for the ad record information, each of the two database servers 20 are the same and include an ad record database for each of the newspapers 1 to M carried by system 10. Additionally, while each database servers 20 is maintained active during operation of system 10, to minimize the adverse impact on performance, only complementary halves of the full set of newspaper databases are accessed by each server during normal operation. In the event of failure at either database server 20, the other assumes the burden of providing ad record information for all of the newspaper databases to application server 16.

As an alternative approach to improving load balancing and reliability, each of the database servers 20 may be arranged to have all its databases active, and the application servers permitted to access either of the databases as desired to distribute user request load.

And, as a yet further alternative, dedicated pairs of application servers 16 and multiple-newspaper database servers 20 could also be provided, and user load distributed between the two pairs in conventional manner to effect load balancing.

Continuing with reference to FIG. 1, a multiplicity of user terminals designated 22 and differentiated from one another by indexing 1 to N are additionally shown connected to Internet 14. However, in accord with practices currently prevailing, members of the public; i.e., "users", typically do not directly access the Internet. Rather, because of the prohibitive cost associated with maintaining personal, direct Internet connection, users commonly group their access by relying on Internet service providers 24, such as the Prodigy Network; Pipeline, Inc., etc., differentiated in FIG. 1 by indexing 1 to P, who offer and maintain Internet access along with other on-line information services such as e-mail, FTP/IP, Gopher and others for a nominal, monthly fee. As will also be appreciated by those skilled in the art, users terminals 22, like servers 12 may be located anyplace in the world were Internet connection can be effected.

In preferred form, user terminals 22 are conventional personal computers having sufficient resources; e.g., processor type, RAM, disk storage, and data communication facilities; e.g., a modem, for supporting the communications software supplied by their Internet service provider 24, and a Web browser such as Netscape for accessing Web newspaper servers 12 throughout the world.

Continuing with reference to FIG. 1, system 10 is also seen to include an ad generator 26 for each of the newspapers differentiated by indexing 1 to M. As shown, each newspaper ad generator 26 includes an ad generator processor 28 and an ad generator server 30. In accord with system design, each processor 28 includes a feed 32 for receiving classified ads from the respective newspapers. In accord with the preferred embodiment, in order to simplify support of system 10 for the newspapers, the ad files are fed to processor 28 in the same form as used by the newspaper in creating print classifieds. Further, each generator 28 includes elements for automatically transforming the newspaper ad feed into database record information having a primarily numeric form which may be thereafter, collected, sorted and converted into database records for supply to database server 20 for searching.

Still further and in accord with the invention, generators 26 also includes a server 30 for providing the newspaper ad information over the Internet to the rest of system 10. Ad generator servers 30 are connected to Internet 14 in conventional fashion; for example, preferably with dedicated telecommunication data lines or with dial-up lines, and, need only be able to support the Internet file transport protocol; i.e., FTP/IP, ad generator servers 30 not being available to the public for browsing and not a part of the Web. In this regard, it is to be noted that ad generator servers 30 also include fire walls 34, respectively, to prevent unauthorized access to ad generator 26 and secure its environment.

With continuing reference to FIG. 1, System 10 is additionally seen to include a collection server 36 connected to Internet 14. In accord with system design, collection server 36, as its name implies is provided to collect the classified ad database record information for the respective newspaper ad generator 26. Collection server 36 is again connected to Internet 14 in conventional fashion, but, is not available to the public for browsing, and as a result, need not be a part of the Web. Rather, server 36 is intended to be dedicated to the collection of classified ad database record information files by means of Internet 14, and need only support the TCP/IP protocol used to communicate files from ad generator servers 30 to collection server 36. Accordingly, collection server 36 is also provided with a fire wall 38 to prevent unauthorized access to collection server 36 from Internet 14 and provide security for the collection environment.

System 10 is yet further seen to include a system distribution processor 40 which manages supply of the collected ad database record information. As shown, distribution processor 40 is connected to and networked with system collection server 36 and the newspaper databases 20. In accord with system design, and as will be described in further detail below, distribution processor 40 receives the collected ad database record information of the respective newspapers 1 to M from collection server 36, arranges the record information by date in a specially provided directory system and sorts the record information by category and subcategory, predetermined preferences and by a predetermined sort order based on ad selection parameters to create the ad records. In this regard, the predetermined preferences typically provides for placement of ads at the beginning of any ad listing supplied to the user as a result of the party placing the ad having paid a premium or special fee for listing preference. In accordance with the invention, the predetermined sort order for the ads is established by the newspaper to provide a preferred fixed listing of ads presented to a user. For example, in the case of ads concerning real estate sales, the newspaper may wish to present properties listed in ads by type; for example, houses, and then by local and price, to simplify the user's review. Or, in the case of ads concerning automobiles, the newspaper may wish to present ads in the order of make, model and year to simplify user review.

Ad Searching

Record Structure and Organization

To facilitate explanation and understanding of the record search process, system 10 is presented in simplified form in FIG. 2, like elements being designated with like references numerals.

More specifically, in FIG. 2, system 10 has been re-drawn to illustrate the case of a plurality of users accessing the classified ads of a single newspaper. In this simplified form, a single newspaper server 12 is shown connected to Internet 14 along with classified ad application server 16, application server 16 being connected to Internet 14 through fire wall 18. As shown, a single newspaper ad record database server 20 is connected to application server 16 and users 22 are connected to Internet 14 through a plurality of respective Internet service providers 24.

For the following discussion, the focus will be on the ad search process. However, for sake of completeness, brief reference is made to the system ad generation and database management elements also shown in FIG. 2. Specifically, and as illustrated, in the case of a single newspaper classified ad source, system 10 includes ad generator 26 having ad processor 28 and ad generator server 30 connected in conventional fashion to Internet 14 through fire wall 34. Additionally, collection server 36 is seen connected to Internet 14, also in conventional fashion, through fire wall 38. Still further, system distribution processor 40 is shown connected to collection server 36 and database server 20.

Before describing the details of the search procedure, it may be helpful to provide a brief overview of that process. In accord with the present invention, to simplify and speed the search for and retrieval of classified ad records from the respective newspaper database servers 20, the search process, database structure, and the classified ad subject matter have been specially designed and organized.

To accelerate and simplify the search for ad records, the process is divided into two principal parts: a first, system entry and pre-selection designation sequence, and a second, record-selection sequence. Once the user has initialized his terminal 22 and establishes a communication session with system 10, a pre-selection sequence is begun which progressively leads the user to a point where specific ads of interest can be requested. As the user progresses from entry, the pre-selection sequence begins and continues to narrow the range of records eligible to be searched, thereby, immediately truncating the full ad database, so that when the user arrivers at the point of entering parameters for ads to view, only a small percentage of the ad database records need be accessed. As will be appreciated, this truncation of the number of records to be queried substantially reduces the machine resources and time required to search for and retrieve the ad records desired to be viewed.

More specifically, when the user first enters the system, he is able to specify the category of classified ads to be searched; for example, "real estate", "jobs", "personals", "vehicles", etc. Thereafter, as the user navigates to the respective selected category, he is further able to specify the subcategory for the particular category selected. For example, where the user wishes to search for items in the classified category "real estate sales", a subcategory of real estate sales such as "residential", "mobile", "farms/lots/acreage", etc. would then be selected. Once this hierarchy of category/ subcategory has been designated, a substantially narrowed range of database ad records is identified, and that narrowed population can then be searched by entering a formal record selection query containing the specific parameters for the records the user wishes to see.

To facilitate this expedited procedure, the classified ad record database has been specially structured. Particularly, and as shown in FIG. 3, the ad record database for the system has been arranged to include two sets of related information, specifically, a set of pre-selection designation tables 42, and a set of record selection tables 44.

As seen in FIG. 3, pre-selection tables 42, include a sequence of ad record identification numbers 46, one for each of the noted hierarchically arranged category/ subcategory designations for the database. As shown, each category/subcategory identification number 46 includes a first category identification component 48 and a second subcategory identification component 50. As further illustrated in FIG. 3, in preferred form, the category identification 48 and subcategory identification 50 are each binary numbers and are provided as single, eight bit binary bytes capable of representing 256 (0-255) different values. As will be described more fully hereafter, in preferred form, and in connection with search messaging, the single bytes 48 and 50 are each used to represent a two-place, ASCII designation for an ad category and subcategory. Accordingly, in preferred form, the system for purposes of search messaging recognizes up to 99 (01-99) categories and 99 (01-99) subcategories, the 00 values, respectively, being reserved to indicate no designation, which in the case of the subcategory identification, is a designation calling for the listing of all subcategories associated with a particular category. while this category-subcategory capacity has been found suitable for the current system, as will be appreciated, if greater numbers of categories and/or subcategories were desired, they could be readily provided either by employing a different radix; for example, alphanumeric, hexadecimal etc., in place of the numeric ASCII designation, or by providing additional data bits for the respective identifications. However, and as will also be appreciated, as the number of categories and/or subcategories is increased, system ease of use may be eroded, since explanation for the content of the added categories and subcategories may be necessary in order to maintain user understanding.

Continuing, and as seen in FIG. 3, indexed to each category/subcategory identification number 46 is a range of record identification numbers 52 which gives the start record identification number 54 and the stop record identification number 56 for the range of records corresponding to the associated category/subcategory identification 46. As shown, start record identification 54 and stop record identification 56 are each two, eight-bit, binary bytes having a numeral ranges of 0 to 65,535 respectively, Accordingly, in the preferred form shown, the system is designed to accommodate up to 65,536 record identification numbers and associated ad records. Again, as will be appreciated by those skilled in the art, in the event more ad records are desired, a greater bit length would be given to the record identification numbers.

With this arrangement, when a user first enters the classified ad system, he is presented a list of ad categories in a menu and asked to select a category of interest. Upon making the selection, the system generates the corresponding category identification number 48 for the category selected; as for example, with a simple lookup from a table that contains the identification numbers corresponding to the categories presented in the menu. Thereafter, the user is presented a second menu which includes a list of subcategories for the category selected, and is asked to designate the subcategory of interest. In response, the system generates a subcategory identification number with a table lookup in a fashion comparable to that used to generate the category identification. Once the subcategory of interest has been designated and an identification number generated, the system combines it with category identification number 48 to establish the category/subcategory identification number 46.

Following the user's designation of the category and subcategory of interest, the system accesses tables 42 and based on the category/subcategory identification number generated finds the range of corresponding ad record identification numbers 52. As will be appreciated, once this narrowed range of ad records has been identified, a subsequent record selection query detailing the specific features of the ads to be viewed can be submitted and quickly responded to. As will also be appreciated, as the user navigates to this point; i.e., is sequentially shown the category and subcategory menus, the system is able to report the number of ads available in each of the subcategories by simply noting and communicating the ad record ranges for the respective category/subcategory identifications.

Continuing, with reference to FIG. 3, the system database structures additionally features record selection tables 44. As shown, tables 44 include a record for each classified ad supplied by the newspaper, wherein each ad is characterized by a plurality of selection parameters. As seen in FIG. 3, each ad record includes an ad record identification number 58, a set of primary selection parameters 60, a set of secondary selection parameters 62, and an optional record header 64. As will be appreciated, while each record is shown for purposes of illustration to have an expressly included record identification number 58, each record could be identified by its position in the record order determined by a start or reference location and offset to the record position, as is well known in the art. Indeed, the latter approach would be preferred as it eliminates express inclusion of the record number in the record and thus reduces the record data size for purposes of storage and processing.

Still further, while the record text and record header fields, 72, 74 respectively, are indicated as included in the record, again for purposes of record compactness rather that inclusion of an express parameter identification number, a pointer to a suitable variable length memory location and associated length of the field would be provided in the record. Moreover, where position is used to identify parameters rather than an express character identification included in the record, since the variable length of the ad text and header fields would lead to uncertainty concerning the position of fields in the record, fixed length pointers and length values are required to be used instead.

As suggested above in connection with the description of start and stop record identification numbers 54, 56, in preferred form, record identification numbers 58 comprise two, eight-bit, binary numbers, and thus, have a value range of from 0 to 65,535. Continuing with reference to FIG. 3, primary selection parameters 60 include a plurality of fields. Though not included in the ad record, each field has an associated field number used for purposes of identifying the parameter in connection with the an ad search request as will be described hereafter. In the ad record itself, to maintain compactness of each record for storage considerations, each field is identified only by its respective position in the parameter listing, the record being established such that the specific selection parameters are arranged in a predetermined order. As will be appreciated, to facilitate selection, the position of the respective fields in the record are correlated with the respective field identification numbers in a manner well known in the art. For purposes of illustration, however, the respective fields have been referenced in FIG. 3 with index 1 to N. Additionally, and as also shown, each primary selection parameter includes and an associated field value 68. In accord with the invention, primary selection parameters 60 include a collection of features that serve to describe the item advertised and distinguish one item ad from another in the relevant category and subcategory. Further, and as will be appreciated, the type and number of features used to accomplish this for each subject matter category and subcategory will vary depending on the nature of the subject matter involved. For example, in the category "real estate sales" and subcategory "residential property," the primary selection parameters might include such features as: the type of property; e.g., house, condo; the location; e.g., county, town; minimum price; maximum price; minimum number of bedrooms; minimum number of baths; and number of car garage, etc.

On the other hand, in the case where the category is "vehicles"; i.e., automotive, and the subcategory is "cars", the primary selection parameters might include such features as: the make; model; minimum year; maximum year; minimum price; and maximum price.

In accordance with the invention, this flexibly and range of presentation is achieved by maintaining the primary selection parameters in numerical form; i.e., numbers, during internal processing to achieve compactness and ease of handling, but, by presenting the parameters to users in character form; i.e., words, when displaying them in the search menus. In this way, the system is able to achieve the speed and simplicity of numerical processing, while providing the ease of use and understanding associated with descriptive menus.

Continuing, in preferred form, the above-noted field identification number used to designate the primary selection parameters in connection with ad record search messaging, as will be described more fully hereafter, is a two-place, ASCII number, each place being represented by an eight-bit, binary byte. Accordingly, the field identification has a maximum of 99 values; the range being from 01 to 99, once again the 00 designation be reserved to identify designation of no primary selection parameters. In operation, it has been found adequate to have a maximum of 16 primary selection parameters, 16 being a number sufficient to provide enough selection parameters for the range of subject matter commonly encountered in traditional classified ads. According, "N" of the illustrative, reference index shown in FIG. 3 would be 16. As in the case of the category and subcategory identifications, if more field number identification values were desired, either a different radix could be used, or a greater bit length for the identification number could be provided.

As also seen in FIG. 3, each primary selection parameter has an associated record field value 68. The record field value 68 for each of the respective fields referenced with illustrative index 1 to N is a four byte binary value. In accordance with the invention, the field values, as the name implies are the numerical values for the primary selection parameters that characterize the item advertised. In the case of an ad offering a house for sale; for example, and as noted, the primary selection parameters in preferred form would include such features as the purchase price, the number of bedrooms, the garage capacity, etc., for each of the respective ads.

Further, in accordance with the invention, to speed processing of search requests, the primary selection parameters are required to be numerical values only. This approach enables a simplified search procedure. Specifically, the user's search request is taken as a group of primary parameters and a group of secondary parameters. At least the primary selection parameters are taken as specific numeric values which the user enters at the interactive search menus, and which values can then be simply numerically compared with the field values for ads in the database record range defined by the user's designation of category and subcategory. In accord with the invention, the user enters the numerical values for the primary selection parameter either by making write-ins at interactive fields provided on the selection menu or by selecting features presented at the selection menu; as for example, with lists, the list selections producing related fixed-coded numerical values. As will be appreciated the simple, numerical comparison of the user supplied primary selection parameter values with the ad primary selection parameter values held in the ad database enables the search procedure to be rapidly and simply performed.

Also in accordance with the invention, to further speed processing of search requests, the primary selection parameters are not only designed to have numerical values, but additionally, they are required to be of a predetermined, fixed length. In preferred form, field values 68 are selected to have a data length equal to the machine word length for the hardware used to implement the system. As will be appreciated by those skilled in the art, this enables the values for the respective primary selection parameters to be evaluated in one machine cycle. Accordingly, in the preferred embodiment shown, field values 68 are selected to be four bytes in length; i.e., 32 bits, to match the word length of the system's preferred 32 bit processor.

Continuing, in accordance with the invention, secondary selection parameters 62 also include a plurality of fields. As in the case of the primary selection parameters 60, secondary selection parameter fields also have an associated field number used for purposes of identifying the parameter in connection with the an ad search request to be described. However, once again, to maintain compactness, the identification number is not included in the ad record itself, each secondary selection parameter field being identified by its respective position in the record parameter listing, the fields record being arranged in a predetermined order. Once agin, to facilitate selection, the position of the respective fields in the record are correlated with the respective field identification numbers in a manner well known in the art. For purposes of illustration, however, the respective fields have been referenced in FIG. 3 with index N+1 and N+2 to indicate their sequential order after the primary selection parameter field reference 1 to N.

In accordance with the invention, secondary selection parameters 62 are designed not only to supplement primary selection parameters 60, but also, to provide the user additional convenience in entering desired selection parameters. In the preferred form, illustrated in FIG. 3, secondary selection parameters 62, include a mapped field 70 of "yes-no" secondary features for the ad subject matter and a text string 72 containing the entire text of the ad to enable ad-text, keyword searching. In accord with the invention, like primary parameters 60, secondary selection parameters 62 provide details concerning the ad subject matter. However, secondary selection parameters 62 additionally provide user-convenient, alternative ways of describing the ad subject matter. Specifically, yes-no field 70 in preferred form provides up to 32 features which the user can simply check off in a selection menu to further describe the ad to be viewed. As in the case of the primary parameters 60, yes-no field 70 of secondary parameters 62 are category and subcategory dependent. For example, and again with reference to the category "real estate sales" and the subcategory "residential property," yes-no field 70 preferably includes such features as whether or not the property has: a fireplace, family room; eat-in kitchen; formal dining room; pool, yard, etc. In the category "vehicles" and subcategory cars, on the other hand, yes-no field 70 might include things like: air conditioning; power steering and brakes; am/fm radio; CD; manual transmission; ABS; sunroof; low mileage; cruise control; one owner; warranty; leather interior; air bag, etc.

Yet additionally, secondary parameters 62 enable the user to also specify features that may be unique to the item being sought and not well suited to conventional classification. As will be appreciated, use of pre-defined yes-no fields can be restrictive both where one is seeking to find and/or to advertise somewhat unique items. Therefore to provide greater search latitude, secondary selection parameters 62 also include a text field 72 of the actual ad placed. Accordingly, when the user undertakes to enter a record selection query, in addition to specifying primary features 60 and a series of yes-no features, he may also enter a keyword which will be compared against the actual ad text in an effort to locate a match. This feature has the further advantage of providing the user an alternative approach to the search in the event use of the primary selection parameters and/or yes-no checkoffs do not provide the results desired. As will be appreciated, and as noted above, since the ad text is variable in length, in preferred form, field 72 in the ad record includes a pointer to a suitable location in a suitable storage area and a length designation to designate the length of the text rather that the ad text itself.

Finally, record-selection tables 44 are yet further seen to include a record header field value 74. Once again, and as in the case of the primary and secondary selection parameters, though the record summary field is provided with an identification number, for the sake of compactness, the number is not included in the ad record, identification being provided by field position alone, which is subsequently related to the field identification number in a conventional manner. Further, similar to the primary and secondary selection parameter fields, an illustrative, index, specifically N+3 is used to reference the record summary field. Additionally, because header 64 is variable length, its field includes a pointer to a suitable storage location and a lenght instead of the actual header text for the same reasons noted in connection with the description of ad text field 72. In accordance with the invention, record header 64 includes text extracted from the ad text supplied by the newspaper at the time the ad record information for use in the ad record is automatically generated, the header including words that characterize the ad.

Continuing, in accord with the above-noted search procedure, once the record selection parameters are entered, a record selection request message is generated and sent to the ad database server 20, where identification of the records satisfying the request query can be made. Thereafter, database server 20 returns the results of the search to application server 16 which, subsequently prepares a report and forwards it to the user.

In practice, for a typical newspaper classified ad database, on the order of several thousand ad records may be included at server 20. And, for those several thousand records there may be approximately several hundred category/subcategory record ranges and associated record range identification numbers 52 provided. Accordingly, upon entry and navigation to the record selection point, the system quickly accesses the limited number of pre-selection tables 42 and associated record ranges 52 to identify the range of ad records for the category/subcategory chosen. Thereafter, once the category/subcategory designation has identified the record range of interest, the user can subsequently complete the search with a record selection query request specifying primary and/or secondary selection parameters 60, 62, respectively, which may be asserted against the subset of the database ad records specified by the pre-selection designation and the associated search results reported.

As will be appreciated, the ad population distribution for the respective category-subcategory organization of the database may not be sufficiently uniform as to provide a pre-selection reduction in records to be searched equal to the total number of database records divided by the number of categories and subcategories. However, by undertaking the search in two-phases; i.e., first a per-selection designation based on a category/subcategory, then a record selection request query based on item features, a substantial reduction in the time and resources necessary to select a record is realized over what otherwise would be required if all records of the database were searched each time a selection query was entered.

Continuing, to further facilitate the simplicity and speed of the noted two-phase search strategy, and the implementation of the ad database structure, the ad subject matter has been specially organized. As shown in FIG. 4, the subject matter of the ad database has been organized in a compound hierarchical-relational fashion. Specifically, the database record organization 76 features a first level 78 and second level 80 of hierarchical subject matter based on the ad categories and subcategories, followed by a level 82 of quasi-relational organization based on primary selection parameters 60, and secondary selectional parameters 62.

As shown in FIG. 4, first level 78 of subject matter organization for the ad records concerns the ad categories and enables a straight forward entry into the stored records. In accordance with the invention, in order to retain the look and feel of a conventional newspaper print classified ad section, the subject matter categories are selected to be comparable to those commonly appearing in newspapers; for example, "real estate sales", "personals", "automotive" (cars, trucks etc.). While for the sake of simplicity only a few of the commonly encountered categories for classified ads have been shown in FIG. 4, as will be appreciated by those skilled in the art, a more complete set would be used in the implemented system.

Continuing, the second level of subject matter organization 80 concerns the subcategories for the respective ad categories of level 78. Here again, the subcategories are selected to be consistent with those well understood by the public and commonly encountered in conventional classifieds ads and with the categories noted at level 78, and, for example, as shown in the case of the real estate sales category, would preferably include subcategories such as: "residential"; "farms/lots/acreage"; "mobile"; etc. As would be appreciated, a group of suitable subcategories would likewise be provided for each of the other categories of level 78.

Since as noted above and as illustrated in FIG. 3, the category identification and subcategory identifications 48, 50, respectively, are numerically coded, it is possible, in accordance with the invention, to adjust the descriptions of the categories and subcategories presented to suit the tastes both of the newspaper and/or users of the system. Additionally, where multiple newspapers are provided in the system, use of numeral coding permits different category and subcategory descriptions to be employed for each of the respective newspaper databases without requiring significant change to the database structure. As will be appreciated, the respective newspapers may want to use category and subcategory descriptions of their own choosing to accommodate regional requirements or preferences. In such case, all that is needed are suitable lookup tables to relate the various descriptions presented in the search menus with the numerical coding used by the respective databases. Moreover, and as will be described hereafter, system 10 includes an automated ad generator for each newspaper, the respective ad generators having a parser which analyses the particular ad text supplied by the newspaper and automatically converts it into database records having a set of standard record variables and descriptions, the variables and descriptions for each newspaper being derived from a base set of variables for the system. Accordingly, not only is the system able to afford flexibility in the setup of the record organization for each newspaper, but also, once the respective newspaper standard set of variables is established, the system facilitates uniformity among ad records generated for common subject matter.

It is also to be noted that in the preferred form of the invention, subcategory level 80 shown in FIG. 4 may contain items which, while related to the noted category from which it depends, need not provide a further specification of the subject matter to be searched. Particularly, the subcategory may also provide associated items within the specific category; as for example, vehicle insurance within the vehicle category, or docking facilities within the marine category; or training services within the employment category and so on.

Following subcategory level 80, in accordance with the invention, the data structure provides for multiple, relational organization of the ad records. Specifically, beneath hierarchical level 80 the system provides for organization of the ad records in accord with the primary selection parameters 60, and secondary selection parameters 62 at level 82. As described, once the user designates the desired category and subcategory, ad records may be accessed by specifying a desired combination of primary and secondary selection parameters. Moreover, in a first preferred form and as shown, the combination of parameters may be conjunctive or alternative; that is, the parameters may be "anded" (dashed lined) or "ored" (solid lined). For example, when a record is to be selected, the user may specify one or more primary selection parameters and one or more secondary parameters. Further, the user may specify whether the selected parameters are all required to be present in the record; i.e., "anded", for the record to be selected, or whether it would be sufficient if any of the parameters were present in the record; i.e., "ored", in order for it to be to selected. It is to be noted that the system prevents "anding" of impossible conditions as might arise in the case of dependent (high-level, low-level) primary selection parameters of county and town in the category of "real estate sales" and make and model in the "automotive" category.

Accordingly, in the case of a residential real estate search, a user, with the aid of primary and secondary selection parameters can look for a very specific house; e.g., particular location, minimum number of bedrooms, price, and features like fireplace; family room; eat-in kitchen; etc., and as well add some keywords such as "mint" to further specify the "dream" house he is looking for. Or, in the alternative, the user can request to see a group of houses of different character, but, all sharing a common characteristic; e.g., located in a certain town, or on a cul-de-sac, or having a specific price, or some specific keyword word like "sacrifice."

However, while the ability to freely adjust the search by "anding" or "oring" selection parameters may be desirable, certain problems may arise. For example, in the case where each of both the primary and secondary parameters are allowed to be freely "ored", the likely result would be that too many records would be returned, thus defeating the effect of the search limiters and overburdening the user. Indeed, if all the primary selection parameters and secondary selection parameters were selected and "ored", the search would degrade to substantially a simple listing of available ads in the subcategory. Accordingly, in a second preferred form of the invention, selection rules are imposed on the search that restrict the users ability to freely designate "anding" and "oring" of selection parameters. Specifically, in the second preferred form of the invention, only the secondary selection parameters may be freely either "anded" or "ored", the primary selection parameters being required to be only "anded" unless specific primary selection parameter patterns are entered. Particularly, primary selection parameters are permitted only to be "anded" unless the user enters multiple selections for certain primary selection parameters. For example, in the case of real estate sales, primary selection parameters concerning locale such as the town the property is located in may provide user 1 with several choices, any or all of which he is invited to select. Accordingly, in the case where the user designates multiple towns in a real estate sale search, the request is interpreted as requiring that the town designations be "ored" with the "anded" combination of the other primary selection parameters designated by the user. Additionally, as previously noted, the "anded" combination of logically impossible conditions is resolved for user 1 as happens when dependent sets of parameter designations are presented. While the rule states that designations of between different selection parameters are to be "anded", dependent selection parameters have a special relationship. Specifically, in the case where user 1 has designated at least one of each dependent parameter and the "anded" combination of "high-level" and "low-level" values are logically impossible, the results is to "or" the designations not "and" them.

However, and as noted, in the second preferred form, though combination of the primary selection parameter are restricted, the user would still be able to freely combine the secondary selection parameters by either "anding" or "oring" the parameters designated. An example would be as follows. User 1 designates two high-level areas, e.g., Essex County and Sussex County. By definition, these designations would be "ored" since they are both designations from the same selection parameter list. At the next level, the user 1 designates a specific town; e.g., Watertown, for example from the Sussex County town list. Two modifications are made at the this level. First, the designation of Sussex County (a "high-level" parameter) is implied by designation of the town Watertown since it belongs to the list of towns associated with Sussex County. User l's choice of Watertown represents a further narrowing of the ad database subset that would otherwise be indicated if a designation of town was not made and only the high-level parameter Sussex County were designated. For this reason, the designation of Sussex County does not need to be explicitly posted in the request message. Additionally, the "low-level" designation of Watertown cannot be "anded" with the "High-level" designation of Essex since this combination of designations can never be matched, it being a physical impossibility. In fact, the designation of Watertown is "ored" with the designation of Essex County. So the ad search will look for all ads which match either "Essex County " or" the town of Watertown in Sussex County.

As will be appreciated, while for the current example, real estate sales has been used to illustrate the invention's capabilities, the same flexibility and restrictions in searching would also apply to other subject matter categories for the noted two forms of the invention.

Continuing, as will also be appreciated, in establishing the selection parameters, descriptions for them are selected which the public commonly associates with the items appearing in the respective categories and subcategories in order to facilitate ease of understanding. By way of illustration, and again for the sake of brevity, only a few of the primary selection parameters for the "real estate sales" category and "residential" subcategory in preferred form are shown, specifically: Area; Type; Maximum Price; etc. And, yet further, by way of illustration, the yes-no secondary selection parameters for residential real estate sales in preferred form might include such items as: Fireplace; Family Room; Garage; etc.

User Search Process

In accordance with the invention, when a user elects to search for classified ads, his initial steps include activation of his terminal equipment and the establishment of a communication session with the sponsoring newspaper at its Internet Web site. FIG. 5a, illustrates the system elements associated with that process in schematic, block-diagram form. Further, in accordance with the invention and as noted above, to accelerate and simplify ad searching, the process is divided into two principal parts: a first, system entry and pre-selection designation phase; and a second, record-selection phase. FIG. 6 presents the system entry and pre-selection phase of the search process, and depicts it in a generalized, flow-diagram; while FIG. 7 presents the record-selection phase of the search process, again in generalized, flow-diagram form.

More specifically, and with reference to FIGS. 5a and 6, upon deciding to review classified ads for the purpose of either buying items offered for sale or answering the want ads of others, user 1 must first initialize his terminal 22 and establish an "on-line" session with Internet 14. In accordance with the invention, terminal 22 is typically a personal computer equipped with suitable application software for communicating with Internet 14, and supporting World Wide Web interaction.

While software products are available today which enable direct communication with the Internet, in order for such software to operate as intended, the user must maintain direct Internet access. However, direct Internet access typically costs on the order of several hundred dollars a month, and accordingly, is too expensive for most members of the general public to afford. As an alternative, the user can subscribe to one of a number of Internet service providers such as Pipeline, Microsoft Network, or proprietary services such as Prodigy, CompuServe and others who, typically, for a far lower price of approximately $10 to $20 a month, can provide access to the Internet and a number of Internet services there available such as: e-mail; the World Wide Web; FTP/IP; and others.

To establish access to the Internet, service providers commonly maintain a computer configured as an Internet server connected on one side directly to Internet 14, and on the other to a call receiver having multiple, modem-equipped lines connected to the dial-up telephone network. In this arrangement, a user having a personal computer that includes a modem and is capable of supporting communication software typically supplied by the service provider, can use his terminal to call into the provider over the ordinary telephone lines, and, if he has a suitable account number, establish an Internet connection. For the current discussion, user 1 will be assumed to maintain access to Internet 14 through such a service provider. As shown in FIG. 5a, the service providers are generally referenced by numeral 24 and individually noted by index 1 through P. Particularly, and as shown, user 1 will be assumed to have entrance to Internet 14 through indexed provider 1.

Accordingly, and as shown in FIG. 6 at step 100, upon electing to search for classified ads, user 1 activates his personal computer and launches the service provider's application software, thereby initializing his terminal 22 in anticipation of establishing communication with provider 1. As shown at step 102 of FIG. 6, once terminal 22 is initialized, user 1 can open communication with service provider 1 and established contact with Internet 14. This is simply done by causing the provider's application software at terminal 22 to place a modem-based, data communication telephone call to the provider's server and begin an on-line session. However, once connection is made, one further step remains before user 1 can begin to look for ads.

In accordance with the present invention, the classified ad system in preferred form is implemented on the World Wide Web of the Internet to realize the depth of presentation and breath of audience the Web provides. Accordingly, user 1 must also have the ability to display documents and files prepared with the hypertext markup language (HTML) and present graphics commonly associated with Web applications; e.g., GIF, etc. Additionally, user 1 must also be able to navigate the hypertext links that define the Web and its dynamic character. To do this, user 1 must have Web Browser software at his terminal 22. Browser applications suitable for providing such support as noted above include; for example, Navigator.RTM. available from Netscape Communications, Inc. Moasic.RTM. from Spyglass, Inc., as well as the browsers respectively provided by certain of the propriety, commercial services such as Prodigy, and others.

Once terminal 22 is properly setup; i.e., initialized, connected to the Internet, and running a Web browser, user 1 is ready to begin. As shown in FIG. 6, following setup, User 1's next step, denoted 104, is to "point" his Web browser to the newspaper Web site he wishes to view classified ads at. User 1 accomplishes this by designating the newspaper Web site with a universal resource locator (URL); for example, http://www.newspaper1.com/, or by performing an equivalent operation such as activating a "bookmark" he has setup in his browser, the bookmark being a process for automatically designating a URL from a list previously prepared and stored in the browser application. Thereafter, user 1 is "transported" in conventional Internet fashion well known in the art to newspaper 1's Web site. As will be appreciated, though the metaphor of being "transported" or "navigated" to different places on the Web is commonly employed in describing Internet processes, in reality, there is no actual transport of the user anywhere. Rather, through a series of message exchanges, a communication session is established between user 1's terminal 22 and newspaper 1's server 12, or whatever other navigation "destination" one happens to be referring to. Based on the establishment of that communication session, information from the "destination" can be presented to the user at his terminal, with the result that a "virtual" "transportation" or "navigation" is effected. For the sake of simplicity and convention, however, where reference is made to Internet activity, the "transportation", "navigation", "arrival at," etc., metaphors will be retained and understood as referring to the establishment of the noted communication sessions.

With reference to FIG. 5a, in accordance with the preferred form of the invention, though system 10 maintains a central classified ad application server 16 for supplying classified ads to the public, access to server 16 is through server 12 of the specific newspaper sponsoring the service; e.g., newspaper 1. As will be appreciated, though FIG. 5a for the sake of simplicity shows the case of a single newspaper 1, and a single application server 16, as illustrated in FIG. 1, in accordance with the preferred form of the invention, system 10 contemplates maintenance of a number of newspaper classified ad systems supported with a number of redundant application servers 16 and database servers 20 as a commercial offering to the respective sponsoring newspapers 1 to M, . This enables newspapers 1 to M to derive revenue and goodwill from the classified ad service, without the need for individually assuming the burden and cost of setting up and maintaining an application Web server 16, its respective database server 20 and the respective ad generation subsystems; i.e., generator 26, collection server 36 and distribution processor 40. However, as will also be appreciated, in the event a newspaper would prefer to maintain its own system, it could readily do so; as for example, by simply assuming responsibility for the system illustrated in FIG. 5a, or, by integrating application server 16, its database and the ad generation and distribution subsystems with its server 12 in a fashion well known in the art.

Continuing, and with reference to FIG. 6, at step 106, on "arrival" at newspaper 1's Web server 12, user 1 is presented with newspaper 1's "home page", i.e., a screen presented at user 1's terminal 22, that is designed to introduce the newspaper to the user, explain the newspaper's features and services, and provide a means for user 1 to access the listed features and services. Particularly, as known in the art, Web sites and associated pages are prepared with HTML and include "links" to other locations and resources on the Web, the links being the features which enables a user, as noted, to "navigate" from one point or information resource to another, thereby, providing the Web with its dynamic character. In fact, and again as is well known in the art, the links are actually established addressing and communications procedures which enable a user to maintain his present communication path information and establish a new communication path with another Web site or information resource.

In accordance with the invention, among the features listed at newspaper 1's home page is the classified ad system. Also in accordance with the invention, the classified ad feature listing at newspaper 1's home page is set up with a hypertext link to the first page of the classified ad service.

As outlined above, the ad search procedure in accordance with the invention comprises a two-part process; specifically, an entry and pre-selection, subject-matter designation sequence, followed by a record selection sequence. In both the pre-selection designation and the record selection sequences, the user is presented with a series of interactive menus at which he is furnished with selection options, and prompted for responses, each menu selection option having an Internet "link" to another menu or information resources associated with it. Specifically, in accord with step 106 shown in FIG. 6, upon selecting the classified ad service at newspaper 1's home page, user 1 is "transported" to the first menu of the search pre-selection sequence, which in preferred form is maintained at newspaper server 1 and concerns the subject matter categories for the service.

With reference to FIG. 8, on "arrival" at the classified ad service initial menu 130, and in accord with step 108 of FIG. 6, user 1 is presented with a listing 132 of the ad subject matter contained in the system, organized by category, and asked to specify the category he would like to review. As shown, in preferred form, the service subject matter categories include:

Automotive/RV's;

Aviation/Marine;

Employment;

Real Estate Sales;

Real Estate Rentals;

Commercial/Industrial;

Announcements;

Financial;

Services/Directories;

Merchandise;

Personals; and

Pets/Animals.

As is apparent, the categories presented are general in character and typical of those commonly found in print classified ads, and, indeed, may be designed to follow closely the categories used by the newspaper in its print classifieds in order to provide familiarity to users and ease of creation, the ads, as noted being prepared from origination procedures common to both the print and on-line process.

In accordance with the invention, and as noted, each of the classified ad category options is again setup with a hypertext link, and upon selecting a category of choice, user 1 is "navigated" further into the system and the pre-selection designation phase of the search process. Specifically, on selecting a subject matter category, the user is brought to the system subcategory menu 134 shown in FIG. 9. As seen in FIG. 9, at subcategory menu 134, user 1 is shown the set of subcategories 136 associated with his menu choice, and additionally, advised of the number of ads for the respective subcategories at postings 138. Accordingly, at a glance, user 1 can get a sense of whether subcategories 136 will provide the kind of items he is looking for, and, based on the number of ads associated with each, the amount of time and effort that may be required to further investigate them. By way of illustration, in the case where user 1 first selects the "real estate sales" category, the associated subcategories in preferred form as shown include:

Residential;

Farms/Lots/Acreage;

Mobile;

Vacation/Time Shares;

Waterfront Property;

Out of Town;

Real Estate Services; and

Wanted.

In accordance with the invention, and as is apparent from a review of the illustration, subcategories 136 are, again, general in character and comparable to those commonly found in print classifieds. As would be appreciated, a group of suitable subcategories would likewise be provided for each of the other categories presented in category menu 130. Further, it should be noted that at subcategory menu 134, in addition to subcategory list 136, user 1 is again presented with listing 132 of service categories and links to permit user 1 to jump to another category and associated list of subcategories in the event the first selected category and list of subcategories is uninteresting, or to permit user 1 to recover from an inadvertent category selection. In connection with user 1's designation of the subject matter category, and the subsequent presentation of the subcategory listing, system 10 undertakes a number of unique process steps which simplify and accelerate the search process. In accord with the invention upon user 1 entering his choice of category, the link associated with that choice additionally initiates a "transfer" of user 1 from newspaper server 12 to central application server 16 and its server processor 84 shown in FIG. 5a. As noted, "transfer" of user 1 to application server 16, in fact, constitutes the establishment of a communication link between user 1's terminal 22 and application server 16. As part of that process, user 1's path information, i.e., his Internet address, is supplied to server 16, so that server 16 can, supply information directly to user 1. Still further and in accordance with the invention as noted at step 110 of FIG. 6, upon "arrival" of user 1 at server 16, server 16 initiates a common gateway interface (CGI) process 86 noted in FIG. 5a by which user 1's "presence" at application server 16 is managed.

While in the past, designers of database applications have employed conventional search procedures based on; for example, standard query language (SQL), to facilitate retrieval of database records, those procedures, regrettably, require substantial amounts of CPU, RAM, and disk resources, as well as time to implement and execute. Additionally, SQL requirements become yet more burdensome as substantial numbers of concurrent users, as contemplated by present system 10, are sought to be served. In accordance with the present invention, therefore, to avoid the complexity, costs and limitations associated with conventional search techniques such as SQL, system 10 relies upon a simplified messaging process to retrieve ad records from database server 20.

Particularly, and with reference to FIG. 5a, in accordance with the present invention, application server 16 establishes a client-server relation with user 1's terminal 22, and, as noted, initiates a CGI process 86 at server 16 for the purpose of managing a gatewayed relation between user 1's terminal 22 and database server 20. Further as part of the gatewayed relation between user 1's terminal 22 and database server 20, CGI process 86 is designed to generate and manage ad record request messages, which, upon formulation based on user 1s responds to search menus, are forwarded to database processor 88, through database communicator 87 to effect retrieval of ad record information from database 90. Accordingly, database 90 does not require the overhead of joins, reordering and multiple indexes associated with conventional databases. As will be appreciated, while for the purpose of illustration, system 10 has been shown in FIG. 5a in simplified form to include a single web server 16, as noted in connection with the description of the multi-newspaper form of the invention shown in FIG. 1, system 10 could have multiple, redundant application servers 16 to provide improved reliability and facilitate user load balancing.

Additionally, and again for the sake of clarity of illustration, while system 10 has been shown in FIG. 5a in simplified form to have a single database 20, as noted in connection with the description of the multi-newspaper form of the invention shown in FIG. 1, system 10 could include multiple, redundant database servers, each having databases for the respective newspapers 1 to M to provide improved reliability and user load balancing. In the case of the multi-newspaper form of the invention, a separate instance of database communicator 87 would be provided to handle CGI processes of users accessing specific newspaper databases.

Continuing with reference to FIG. 5a, once database processor 88 determines what the reply to the request message should be, processor 88 generates a response message which is sent back to CGI process 86 through database communicator 87. Thereafter, CGI process 86 can prepare and forward a corresponding report to user 1's terminal 22 through application processor 84. Accordingly, in this arrangement, GCI process 86 acts as a request message generator and database processor 88 acts as a response message generator, which in cooperation, facilitate the submission of ad searches from user 1, and the return of search results reports back to user 1. Further, in accordance with the invention, system undertakes this same general sequence of: request message generation at CGI process 86; message forwarding to the database server 20 through communicator 87; search execution at the database processor 88; generation of a response message at database processor 88; return of the response message to CGI process 86 through communicator 87; and generation of a results report at CGI process 86 for forwarding to the user, for all parts of the search process; i.e., for both the pre-selection, category/subcategory designation sequence, and the record selection sequence. As will be appreciated by those skilled in the art, the present invention, thus, replaces the much more complicated SQL-based, record-searching process that require such database features such as joins, reordering and multiple indexes with a simplified, gatewayed, client-server messaging process. And, as will be further appreciated, because of the ease of machine execution for the simplified client-server, messaging approach taught by the present invention, system 10 is able to handle the search requirements of the multiple, concurrent users with less computing resources than would otherwise be possible with an SQL-based process.

More specifically, and in accordance with the invention, the functional elements of CGI process 86 are schematically represented in block form in FIG. 5b. As seen there, CGI process 86 includes an administrator function 92, for overseeing control of the process, and movement of data into, through and out of it. Additionally, process 86 includes a database interface function 94 for generating the request message responsive to the ad selection entered by user 1, and for forwarding the request message to database communicator 87. Still further, database interface function 94 is configured for receiving the return of ad selection information from database server 20 through communicator 87 as shown. Continuing, CGI process 86 is yet additionally seen to include a form generator function 96 for generating a report form for conveying results of the request to user 1. As well, CGI process 86 is also seen to include a form files depository function 98 for supplying report forms to generator function 96, and a form merge function 100 for merging the ad information returned from database server 20 at form generator 96 with a designated form depository 98. Finally, CGI process is seen in preferred form to also have a cache function 102 for holding certain database information such as subcategory listings which remain stable between database updates to avoid the need to search the ad database each time a subcategory report is to be presented.

In operation, CGI process 86 receives information concerning user 1; as for example, identification, path and ad selection information in conventional fashion from application processor 84 at the CGI process standard input. Thereafter, administrator function 92 causes database interface function 94 to generate an ad search request message having a form to be more fully described hereafter, and to present the message to database communicator 87. As will be appreciated by those skilled in the art, communication process 87 is conventional in nature and functions as a data pipe for funneling requests messages for all the CGI processes of application server 16 to the respective database server with which it is associated.

Following receipt of the request message at database server 20, database processor 88 performs a search of ad records included in database 90 based on the content of the request message submitted. Thereafter, database processor 88 generates a response message having a form to be described which includes the results of the search, and sends it back to CGI interface function 94 through communicator 87. On arrival of the response message, CGI administrator 90 buffers the response message and analyzes it to determine what report form should be used in presenting the search results to user 1. On ascertaining the report form to be used, administrator function 92 access the form file depository function 98 to determine if the required form file is available. If the form file is not available an error message is returned to user 1. However, in the case where the form is available, administrator function 92 activates form generator function 96, and generator function 96 obtains the required form from depository function 98. Thereafter, administrator function 92 calls form merge function 100 to undertake merge of the ad data contained in the response message with the required form file held at form generator function 96. Thereafter, as the report is created, by form generator function 96, it is shipped back from generator function 96 to the standard output of CGI process 86 and supplied to application processor 84 which, in turn sends it to user 1. Subsequently, upon completion of the report form, and its supply to application processor 84, CGI process, having performed its function of generating the request message and reporting back a results report, extinguishes.

As suggested above, in connection with the description of cache 102, in the case where the results report provided to user 1 is of a type likely to be recalled by other users or user 1 before the information in it is rendered stale by virtue of database 90 being updated; as for example, a subcategory listing generated in response to a category designation, the report, in addition to being supplied to user 1, is also stored in cache 102 for reuse as required.

As an illustration of the above-described process, upon "transfer" of user 1 to application server 16 following user 1's designation of the category of ads to be searched, application processor 84 receives user 1's path and designated category information; initiates a CGI process 86; and passes the path and category information to process 86. Processor 86, in turn, prepares to build the request message for a listing of the subcategories associated with the category user 1 has selected. However, before administrator function 92 initiates generation of the subcategory search message, it checks cache 102 to see if the required subcategory listing is available in the cache. If available, indicating no database update has occurred, since the report was first generated, the information is then, by definition current. If the report was not available, then a database update has occurred since the time the report was generated, and the report was automatically removed from cache 102 by the database communicator 87. In the case where the listing is present and current, i.e., no database update having occurred since the report in cache was prepared, CGI processor simply supplies the cached report to user 1 without undertaking a database search. As will be appreciated, this "shortcut" substantially reduces the time for response.

However, if the subcategory report is not available at cache 102, or if available, is stale, then CGI administrator 92 calls database interface function 94 to build a suitable subcategory request message for the category selected by user 1. Upon generation of the request message, interface 94 passes the message to communicator 87 for delivery to database server 20. In reply, database processor 88 determines the number of ad records for each subcategory of the designated category, and generates and returns a response message to CGI process 86. And, upon receiving the response message from database processor 88, CGI process 86 returns a report to user 1 in the form of subcategory menu 134 which lists the subcategories associated with user 1's category selection, along with a posting of the number of ads associated with each subcategory. Additionally, CGI process 86 additionally stores the report; i.e., menu 134, at cache 102. As will be recalled, designation of category/subcategory identification codes 46 noted in FIG. 3, enables system 10 and particularly database processor 88 at server 20 to access pre-selection designation tables 42 also provided at server 20 to determine the related record identification range 52 and the number of records in database 90 corresponding to subject matter subcategories associated with the category designated by user 1.

Once a subcategory menu; for example, 134 of FIG. 9, has been presented, the next step in the search process is for User 1 to enter his subcategory selection and navigate to the record selection menu of the search process shown in FIG. 10 as 140.

As pointed out in connection with description of the database structure set out above, upon designation of the ad category and subcategory, user 1 provides system 10 sufficient information to substantially narrow the database records so upon specification of ad selection parameters, ads of interest can be rapidly retrieved. Again with reference to FIG. 3, on designating the ad category and subcategory of interest, user 1 provides database processor 88 with identification codes 46 which permit pre-selection tables 42 to be entered and the range of relevant ad records 52 specified. Thereafter, it remains only for user 1 to specify primary selection parameters 60 and secondary selection parameters 62 in order for the specified parameters to be compared against the record values in the range noted and to identify the ads of interest. Accordingly at this point in the process, user 1 has completed the pre-selection phase of the search and is ready to enter the record selection phase.

To effect record selection, user 1, as noted at step 112 of FIG. 7, is presented with a selection parameter menu 140 illustrated in FIG. 10. In accordance with the preferred form of the invention, menu 140 is arranged to present primary and secondary selection parameters, referenced "Selection Features," likely to be of interest and familiar to buyers and sellers concerned with subject matter associated with the category and subcategory user 1 designated. For example, and as shown in FIG. 10, for the category of "Real Estate Sales" and the subcategory of "Residential," the primary selection parameters set referenced 142 includes:

Ad Date;

Type;

County (Area Level I);

Town (Area Level II);

Min price;

Max price;

Min beds; and

Min baths.

As described above, in accordance with the invention, the secondary selection parameters set, referenced 144, includes both a set of yes-no parameters 146 which additionally define the ad matter desired, and ad text which user 1 may enter at a write-in field 148 of the selection menu that can be searched against the actual ad text contained in the ad record to effect a keyword review of the ads. In preferred form, set 146 of yes-no parameters for residential real estate sales includes:

Fireplace;

Family Room;

Eat-In Kitchen;

Formal Dining Room;

Garage;

Cul-de-sac;

Pool;

Yard; and

By Owner.

From the listings, it is, again, apparent that both the primary and secondary parameters are representative of the selection characters commonly associated with the subject matter category and subcategory and commonly appearing in ads placed as found when the ad record information is automatically generated. In the residential real estate sales case illustrated, the primary selection parameters include: the date the ad was first presented in the system (Ad Date) so the user can specify the currency of the ads to be reviewed; the type property (Type) to enable distinction between; for example, condo's, co-op's, houses; the location of the property in multiple levels to permit designation of; for example, a county of choice (Area Level I), and a town (Area Level II) within that county; and a series of parameters reflecting the character of the property (Min., Max. Price; Min. Beds, Min. Baths). Additionally, and as would be appreciated by those skilled in the art, though not shown in FIG. 10, primary selection parameters 142 might also include, such other and additional features as minimum units, relative to co-ops and condos; minimum acreage for the associated property lot size; capacity of garage, etc., or other parameters considered suitable for the relevant ad subject matter, and commonly found in ads placed by the public.

Like primary selection parameters 142, secondary selection parameters 144, and particularly yes-no parameter set 146, again reflect the commonly understood further details associated with the ad subject matter to be selected; for example, in the case of a residential property such features as: fireplace; family room; eat-in kitchen; formal dining room; garage; cul-de-sac pool; yard; by owner are included. As in the case of primary parameters 142, secondary, yes-no parameters set 146 may be adjusted as deemed appropriate to suit the subject matter involved.

For the keyword search portion of the secondary selection parameters, user 1, as noted, is provided a text entry field 148 as shown at which up to 99 characters may be entered to further describe the subject matter sought. As pointed out earlier, this enables user 1 to enter specialty terms such as "mint" or "sacrifice" to better identify the type ads being sought.

As also previously noted, in a first preferred form of the invention, once the selection parameters are entered, user 1 can elect to have the parameters considered either conjunctively or alternatively; that is, either "anded" or "ored" by entering an appropriate selection at field 150 or field 152, respectively of menu 140. However, as noted above, care must be exercised in "oring" parameters, since as selection parameter are "ored", the restrictive character of the search request is reduced, with the result that the number of ads returned is increased.

Accordingly, in a second preferred form of the invention, selection rules are imposed on the search that restrict the users ability to freely designate "anding" and "oring" of selection parameters. Specifically, in the second preferred form of the invention, fields 150 and 152 of menu 140 for respectively "anding" and "oring" selection parameters apply only to the secondary selection parameters 144, namely, yes-no parameters 146 and text field 148. As a result, only the secondary selection parameters may be freely either "anded" or "ored", the primary selection parameters being required to be only "anded" unless the user enters multiple designations for a specific primary selection parameter as previously noted. Particularly, primary selection parameters are permitted only to be "anded," unless the user enters multiple selections for certain primary selection parameters.

Accordingly, in the case where the user designates multiple towns in a real estate sale search, the request is interpreted as requiring that the town designations be "ored" with the "anded" combination of the other primary selection parameters designated by the user. However, and as noted, in the second preferred form, though combination of the primary selection parameter are restricted, the user would still be able to freely combine the secondary selection parameters by either "anding" or "oring" the parameters designated.

As will be appreciated, while for the current example residential real estate sales has been used to illustrate the invention's capabilities, the same freedom and limitation in entering the primary and secondary selection parameters would also apply to the other subject matter categories and subcategories.

Also in accordance with the preferred form of the invention, primary and secondary parameters 142, 144 respectively are positioned on the selection menu in the order of importance commonly ascribed by buyers and sellers. As shown selection menu 140 first provide for specification of property type, followed by location, price range and physical characteristics; e.g., bedrooms, baths, etc. As noted, to facilitate ease of entry and speed or processing, in accordance with the invention the selection parameters are maintained as numerical values. Accordingly, the selection menu includes write-in fields for the primary selection values which may be entered as numbers; for example, to accommodate price range, minimum, beds, baths, etc., and scroll boxes at which lists of the area alternative; for example, County, town can be selected, the selected areas being related to numerical codes which the system subsequently generates from translation tables. As would be appreciated, other comparable means such as simple lists having associated numerical identification codes or their equivalent could also be used.

Following primary parameters 142, selection menu 140 presents secondary parameters 144. Again, in the interest of enabling user 1 to quickly and easily enter information, yes-no parameters 144 are provided simply as a set of check-off boxes in which user 1 can enter his desires. And, in the case of the keyword search text, menu 140 provides for direct entry at write-in field 148.

As also seen in FIG. 10 selection menu 140 additionally includes a write in field 154 to permit user 1 to limit the number of ads he wishes to see in connection with a request, and an associated posting field 156 that displays the number of records for the subcategory. Still further, selection menu 140 yet additionally includes write-in fields 158, 160 to set the range of dates for ads to be viewed, the range being measures from the date of the search to a cut-off month and day of user 1 choosing entered at fields 156, 158, respectively.

At its end, selection menu 140 includes an execution button 162 denoted "SEARCH" to enable user 1 to enter his selection of parameters and begin the retrieval of ads. Additional, menu 140 at its end also includes a re-listing of the system categories and links 132 to enable user 1 to jump to another category of the system or to recover from an inadvertent subcategory selection. Yet additionally, menu 140 in preferred form also includes a link 166 to subcategory menu 130 to enable user 1 to navigate back to the subcategory listing to select a different area of investigation in the same subject matter category.

In accordance in with the invention and as a still further aspect of it, it is possible to adjust presentation of the user search menus to allow for special conditions that may arise in connection with particular subject matter categories. Specifically, in the case where certain selection parameters are of heightened interest; for example, the general location of real estate sought to be purchased; or the make of a car to be bought, another "pre-selection" menu can be presented to user 1 before the primary selection menu is presented and executed. As will be appreciated, since the selection parameters can be individually selected; for example, a search in which only one parameter is specified, and since the database searching in accordance with the invention can be quickly executed, it is possible to conduct a preliminary selection search on a single, predominant selection parameter to create a modified subset of the database, report the results, and thereafter, perform the full selection search on the subset defined. This "conditioning" searching can be readily accomplished by providing a further pre-selection menu following the category and subcategory designation menus. Insertion of the additional pre-selection menus enables the users to simply designate the predominant parameter; as for example, location in the case of real estate; i.e., county, and to have the system preform a search in conventional fashion for the purpose of narrowing the number of records which would, thereafter, be fully searched with the user's subsequent designation of the remaining selection parameters at selection menu 140. While this procedure, in effect, requires two selection searches to be undertaken, one for the predominant parameter and another for the remainder of the selection parameters, the speed with which searches can be done, and the narrowing of the database records to be subsequently searched, compensates for the additional step. As also noted, this approach of "conditioning" the database with additional preliminary selection searches can be readily repeated, via links from menu 140 and the results report, provided reduction in overall search time justifies inclusion of the additional preliminary selection steps, and indeed, may be advantageous in those cases where the database record are markedly skewed to one for more selection parameters. As will be appreciated, in accordance with the invention, inclusion of specialty menus in the search sequence can be readily accommodated without major modification to the either the database structure or the database record organization. This can be effected by simply including additional menu templates at application CGI process 86, and having the record request message require the special menus be called following a particular query. For example, in the category "real estate sales" subcategory "residential," upon submission of a request for the "residential," subcategory, the response message provided by database server 20 would call for a specialty menu concerning "area" to be presented with the results of residential subcategory query.

Continuing, as noted, above, following the forwarding of the search results report to user 1, the CGI process extinguishes, and, because it is not possible in commonly available Internet system to retain identification of the user between sessions, it is not possible to conveniently maintain a record of user 1's search experience which could be used for continuation of his search. In accordance with the present invention however, in a first form, this problem is overcome by sending the search report to the user as an HTML document that includes sufficient information to permit the user to continue his search. Specifically, at each stage of the search, for example, category, subcategory, selection parameters, the results report is a selection menu for the next stage of the search, and carries with it what the user typically needs to continue the search process. For example, and as noted, the results report sent to user 1 in reply to his designation of category is the subcategory selection menu 134, and the results report sent to user 1 in reply to the designation of the subcategory is the parameter selection menu 140. As a result, at each stage of the search, user 1 is provided the information in the HTML results report sent to him to permit his continuation to the next stage of the search. However, while a certain amount of history information can be provided in the results report for subsequent use, the HTML document is limited and typically alone is not sufficient to retain user identification across sessions. Accordingly, in a second preferred form, the system issues a unique identification number for the user upon his entry to application server 16, and establishes a suitable memory space to maintain a history of user 1's search experience. Further, user 1's memory identification number and memory space with its history is retained for a predetermined period; as for example, up