US20060095418A1 - Arranging records in a search result to be provided in response to a data inquiry of a database - Google Patents

Arranging records in a search result to be provided in response to a data inquiry of a database Download PDF

Info

Publication number
US20060095418A1
US20060095418A1 US11/219,505 US21950505A US2006095418A1 US 20060095418 A1 US20060095418 A1 US 20060095418A1 US 21950505 A US21950505 A US 21950505A US 2006095418 A1 US2006095418 A1 US 2006095418A1
Authority
US
United States
Prior art keywords
records
search results
information
order
database
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/219,505
Inventor
Dewey Anderson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AT&T Delaware Intellectual Property Inc
RPX Corp
Original Assignee
BellSouth Intellectual Property Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BellSouth Intellectual Property Corp filed Critical BellSouth Intellectual Property Corp
Priority to US11/219,505 priority Critical patent/US20060095418A1/en
Publication of US20060095418A1 publication Critical patent/US20060095418A1/en
Assigned to RPX CORPORATION reassignment RPX CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: AT&T INTELLECTUAL PROPERTY I, L.P.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99937Sorting
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Definitions

  • This invention relates generally to systems and methods for the provision of information as search results in response to a data inquiry. More particularly, this invention relates to systems and methods for arranging the records of search results into ordered records to be included in the search results provided in response to a data inquiry of a database.
  • An area in which information is often provided at random to the user is in the area of information retrieval.
  • a user is using a computer system to search a database for certain information.
  • the user formulates a data inquiry and transmits it to the system.
  • the system conducts the search of the database, the information that was found during the search is provided as search results to the user in response to the data inquiry.
  • search results include more than one piece of information which we refer to herein as a record.
  • the user is typically provided with more than one record in the search results.
  • the records in search results are provided in random order to the user.
  • This oxymoron, “random order”, denotes that each record is provided to the user without regard to the other records in the search results. Further, random order also may denote that each record is provided to the user without regard to factors that may relate to the user, the data inquiry, the database, the other records in the search results as well as without regard to other factors.
  • the records of search results may be provided in an alphabetical order, which is considered generally to be a sub-set of random order. Alphabetical order is considered to be such a sub-set of random order because alphabetical order is generally not based on some relationship factor linking the records.
  • alphabetical order or an alphabetical relationship amongst the records is based on the happenstance of use of a term and a particular letter of the alphabet associated with that term.
  • the term(s) used to alphabetize the records in the search results may be arbitrarily and randomly chosen.
  • random order is used herein to include alphabetical order of records in search results. To return to our baseball analogy, when the records of search results are provided in random order, it is like playing the members of a baseball team at random. This random order may include playing the members of the baseball team in alphabetical order based on their first names, last names, nicknames, hometowns, etc.
  • the records in search results may be provided in random order by the service provider of the search results.
  • the search provider is like the baseball manager under the new rules of baseball.
  • the search provider loses tactical and strategic input into the “game” of providing search results.
  • the service provider lacks control that otherwise could be used to provide search results in some advantageous tactical or strategic manner.
  • a client is distinguished herein from a user.
  • a client of a service provider generally is defined herein to be an entity that supplies the service provider with information that may be used in the service provider's database.
  • a client may pay or otherwise remunerate the service provider to use the client's information in the database, and in particular, in the search results that are provided to users making database inquiries.
  • the service provider may maintain and provide search results from a database such as a classified advertising database.
  • a client may be an entity that provides information for use in the classified advertising database such as an advertisement. This advertisement may become a record in the classified advertising database.
  • the client's information may not make its way into advantageous positions in the search results.
  • the client's information may not make its way often enough to the client's satisfaction into advantageous positions in the search results provided to users by the service provider.
  • the client then is less certain with such a service provider that the client's information will make it into a good position in the “line-up” of records in the search results.
  • the client may be likened to the team owner (of information) in our baseball analogy.
  • the client as the team owner may be very interested in the talents of the service provider as the manager in setting the line-up of records of the search results.
  • the service provider does not have any such talents, or if they are very limited, then the client as the team manager is less certain of a winning line-up that includes the client's information being provided to users.
  • the service provider lacks control with respect to the order of advertisements that are provided in search results to a user, then the advertiser's information may not make its way into advantageous positions in the search results. Or, the advertiser's information may not make its way often enough to the advertiser's satisfaction into advantageous position in the search results. The advertiser then may be less willing to advertise with the service provider of the classified advertising directory, or at least be less willing to pay premiums for such advertising services.
  • a user of a service provider generally is defined herein to be the person or entity that makes a data inquiry for information of the service provider.
  • the user may pay or otherwise remunerate the service provider. But in the case of the user, the remuneration typically is for the service of providing information to the user in the form of records in search results in response to a data inquiry. If the service provider lacks control with respect to the order of records in search results, then the information may be provided to the user in an order that is difficult to use. The user is not provided with a good “line-up” of records in the search results.
  • the user may be likened to the fan in our baseball analogy.
  • the user as the fan may be very interested in the talents of the service provider as the manager in setting the line-up of records of the search results. If the service provider does not have any such talents, or if they are very limited, then the user as a fan is less certain of a winning line-up of records in the search results. If the service provider cannot set a line-up of records in search results, then the user as the fan does not know who or what is coming to the plate until the record arrives. At times, a particular record's appearance at the plate may be a pleasant, welcome and hoped for surprise. Or, like in the baseball analogy, another record's appearance may foreshadow an unhappy or unusable result. Like the service provider as the manager and the client as the team owner, when there is random order to records in search results, then the user as the baseball fan has a lot less certainty regarding the outcome in a ballgame of information retrieval.
  • the present invention provides several different systems and methods for arranging records in search results into ordered records to be included in the search results provided in response to a data inquiry of a database.
  • the records in search results are arranged into ordered records so that the service provider may retain tactical and strategic input with respect to the provision of such search results in response to data inquiries.
  • the service provider may benefit by being able to provide additional services or features with respect to information retrieval. These additional services or features may afford the service provider with competitive advantages over other service providers of information. In particular, these additional services or features may serve to retain or attract clients as well as users to the service provider.
  • a service that provides ordered records in search results may be attractive to a client because the client may benefit by having its information appear as records more often or more advantageously positioned in the search results that are provided to users.
  • the client may take advantage of one or more of the several different systems and methods for ordered records in search results so that the client's information is used or placed for maximum effect with respect to users.
  • a service that provides ordered records in search results may be attractive to a user because the user may benefit by having records delivered in search results in a more usable or otherwise more advantageous manner.
  • the present invention provides several different systems and methods for arranging records in search results to be provided in response to a data inquiry of a database.
  • search results including records are received, a determination is made with respect to the order of the records in the search results. This determination may be based on one or a combination of factors such as on the destination of the search results, on the preferred status of certain records over other records, on a marketing determination with respect to the records, on a frequency determination with respect to the number of times that a record or records may have already been provided in response to data inquiries, or on a weighting factor determination.
  • the records In response to the determination of the order of the records in the search results, the records then are arranged into ordered records based on the determination.
  • the order of these ordered records may be an alphabetical order, a preferred order based on the preferred status of certain records over other records, a least frequent first (LFF) order, or a highest weighting factor first (HWFF) order or a combination of these orders.
  • LFF least frequent first
  • HWFF highest weighting factor first
  • the present invention provides a system and a method for arranging records in search results with the arrangement being based on the destination of the search results.
  • a destination determination is made for the search results.
  • the records of the search results are arranged into a destination order based on the destination determination.
  • the destination order may be an alphabetical order.
  • the destination order may be a preferred order of listing a preferred record before other records in the search results.
  • the search results in the destination order are then provided in response to the data inquiry of the database.
  • the destination order may be a least frequent first (LFF) order.
  • LFF order provides that a least frequent (LF) record is listed before other records in the search results.
  • the LF record is a record of the search results that has been included in other search results less often than any other record of the search results.
  • a determination then is made of the LF record of the search results.
  • the records of the search results then are arranged into the LFF order in the search results.
  • the records of the search results in the LFF order are then provided in response to the data inquiry of the database.
  • the destination order may be a weighting factor determination then is made as to whether the records of the search results are to be provided in a highest weighting factor first (HWFF) order.
  • HWFF order provides that a highest weighting factor (HWF) record is listed before other records in the search results.
  • the HWF record may be a record of the search results that has a higher weighting factor than any other record of the search results.
  • a determination is made of the HWF record of the search results.
  • the records of the search results then are arranged into the HWFF order, the records in the HWFF order are provided in response to the data inquiry of the database.
  • the present invention provides a system and a method for arranging records in search results with the arrangement being based on a marketing determination with respect to the search results or other factors.
  • a marketing determination is made with respect to the order of the records in the search results. This marketing determination may be that the records be listed in a preferred order with a preferred record being listed before other records in the search results.
  • a determination is made as to whether a record of the search results is a preferred record. If so, then the records of the search results are arranged into the preferred order in the search results. The search results in the preferred order are then provided in response to the data inquiry of the database.
  • the present invention provides a computer-readable medium on which is stored a computer program for arranging records in search results to be provided in response to a data inquiry of a database.
  • the computer program includes instructions, which when executed by a computer, perform the steps of receiving search results including records and making a determination regarding an order of the records in the search results. The determination may be based on at least one of the following: the destination of the search results, the preferred status of certain records over other records, a marketing determination with respect to the records, a frequency determination with respect to the number of times that a record may have already been provided in response to data inquiries, or a weighting factor.
  • the instructions perform the step of arranging the records of the search results as ordered records.
  • the ordered records may be the records arranged into at least one of the following: an alphabetical order, a preferred order based on the preferred status of a record over the other records, a least frequent first order; or a highest weighting factor first order.
  • the instructions then perform the step of providing the search results including the ordered records in response to the data inquiry of the database.
  • exemplary systems, methods and embodiments of the present invention are described herein in the context of arranging records in search results obtained from a database such as a database of classified advertising information. Nonetheless, the present invention may be applied to a broad variety of other systems and methods, and in particular, may be applied to a broad variety of other information retrieval systems, search engines, and databases.
  • FIG. 1 is a block diagram of a computer system that provides an exemplary operating environment for embodiments of the present invention.
  • FIG. 2 is a block diagram of a distributed computer system that provides an exemplary operating environment for an embodiment of the present invention.
  • FIG. 3 is a diagram illustrating software components and their operative interrelationships in the exemplary embodiments of the present invention.
  • FIG. 4 is a flow diagram illustrating steps of an exemplary method of the present invention.
  • FIG. 5 consisting of FIGS. 5A-5D , illustrate alternative steps of exemplary methods of the present invention.
  • FIG. 1 a more detailed description of a stand-alone computer system as an exemplary operating environment is provided in connection with FIG. 1 .
  • FIG. 2 a more detailed description of a distributed computer system as an exemplary operating environment is provided in connection with FIG. 2 .
  • FIG. 3 A flow diagram illustrating steps of an exemplary method of the present invention is described in connection with FIG. 4 .
  • FIG. 5 alternative steps of exemplary methods of the present invention are described.
  • the present invention provides methods for arranging records in search results to be provided in response to a data inquiry of a database.
  • a determination is made with respect to the order of the records in the search results. This determination may be based on one or a combination of factors such as on the destination of the search results, on the preferred status of certain records over other records, on a marketing determination with respect to the records, on a frequency determination with respect to the number of times that a record or records may have already been provided in response to data inquiries, or on a weighting factor determination.
  • the records then are arranged into ordered records based on the determination.
  • the order of these ordered records may be an alphabetical order, a preferred order based on the preferred status of certain records over other records, a least frequent first order, or a highest weighting factor first order or a combination of these orders.
  • the search results with the records arranged as ordered records are then provided in response to the data inquiry.
  • the preferred embodiment of the present invention is embodied as part of a group of program modules that operate as an interactive information retrieval system (hereinafter the “IR system”) used with a multi-tasking computer or computer system.
  • program modules include routines, programs, records, data structures, steps, etc. that perform particular tasks or implement particular abstract data types.
  • the present invention also may be implemented in conjunction with objects and other program modules for other types of computers or computer systems.
  • the present invention may be embodied within or carried out by a stand-alone computer or computer system or a distributed computer system.
  • program modules may be physically located in different local or remote memory storage devices. Execution of the program modules may occur locally in a stand-alone manner or remotely in a client/server manner. Examples of such distributed computing environments include local area networks, enterprise-wide computer networks, and the global Internet. Examples of such computer environments are provided in the following commonly-assigned patent applications: A System and Methods for Dynamically Processing an Index to Dynamically Create a Set of Questions, Ser. No. 08/844,751, filed on Apr. 21, 1997, and A System and Methods for Routing Information within an Adaptive Routing Architecture of an Information Retrieval System, Ser. No.
  • the preferred embodiment of the present invention is embodied as part of a group of program modules that operate as an interactive IR system.
  • the IR system allows a user (via voice or digital communication signals) to make a request for information.
  • This request for information is referred to herein as a data inquiry, or also as a search request or search query.
  • the information may be stored in one or more databases associated with the IR system.
  • the IR system may obtain search results, which also may be referred to as a set of search results. These search results may be considered to be the information that is obtained during the search of the relevant databases.
  • a set of search results includes one or more records. Each record may be considered to be an answer to the data inquiry.
  • the description of the present invention is presented in terms of systems, methods, processes and symbolic representations of operations by conventional computer elements such as a processor, memory storage devices, data communications networks, and communication interfaces such as telephone line cards or network interface cards.
  • These systems, methods, processes and symbolic representations of operations may include the manipulation of signals by a processor and the maintenance of these signals within data sets and data structures.
  • These data sets and data structures are resident in one or more memory storage devices.
  • a data set is commonly understood to be collection of related information that may exist as separate elements, but that may be manipulated as a unit.
  • a data structure is commonly understood to be an organizational scheme that encapsulates data in order to support data interpretations and data operations. The data structure imposes an organization upon the collection of data stored within a memory storage device and represents specific electrical or magnetic elements.
  • a data structure may be created from the separate elements or objects of a data set or another data structure.
  • a database may be a data set or a data structure depending on the particular implementation.
  • a process is generally considered to be a sequence of computer-executed steps leading to a desired result. These steps may require physical manipulations of physical quantities. Commonly, these quantities take the form of electrical, magnetic, or optical signals that may be stored, transferred, combined, or otherwise manipulated. These representations of signals are generally referred to as bits, bytes, words, information, an index, terms, index categories, domains, data, objects, records, images, files or the like. These and similar terms are associated with appropriate physical quantities for computer operations, and are applied as conventional labels to physical quantities that exist within and during operation of the computer or computer system.
  • Manipulations with respect to the computer or computer system are often referenced with terms such as providing, arranging, searching, transmitting, receiving, prompting, determining, identifying, storing, selecting, deleting, etc. These terms are often associated with the manual operations that may be performed by a user in carrying out these manipulations with the computer or computer system. But these manipulations are machine operations performed in conjunction with various inputs provided by the user that interacts with the computer, computer system or other device.
  • FIG. 1 Exemplary Operating Environment—Stand-Alone Computer System— FIG. 1
  • an exemplary stand-alone computer system for implementing the present invention includes a conventional stand-alone computer 20 , including a processor 21 , a system memory 22 , and a system bus 23 that couples the system memory 22 to the processor 21 .
  • the system memory 22 includes random access memory (RAM) 25 .
  • the stand-alone computer 20 further includes a hard disk drive 27 and an optical disk drive 30 (e.g., a disk drive that reads from a CD-ROM disk 31 or reads from or writes to other optical media).
  • the hard disk drive 27 and the optical disk drive 30 are connected to the system bus 23 .
  • the drives and their associated computer-readable media provide nonvolatile storage for the stand-alone computer 20 .
  • computer-readable media includes the hard disk drive 27 and the optical disk 31 , such as a CD
  • other types of media which are readable by a computer such as removable magnetic disks, magnetic cassettes, flash memory cards, digital video disks and tapes, Bernoulli cartridges, and the like, may also be used in each of the exemplary operating environments described with regard to FIG. 1 and FIG. 2 .
  • a number of program modules may be stored in the drives 27 , 30 and RAM 25 , including an operating system 32 and a variety of other software program modules.
  • an example of such software modules is a group of software modules collectively referred to as the interactive information retrieval system modules 26 (IR system modules).
  • the IR system modules 26 preferably include the following software modules:
  • dialoger module 35 (which interacts with script files 36 and an index 37 and dispatches search requests to the search engine 39 ),
  • a middleware layer of software 38 including a randomization module 100 .
  • a search engine 39 (which interacts with a database 40 stored on the hard disk drive 27 or on the optical disk 31 in the optical disk drive 30 ).
  • the processor 21 may bring only a portion of the module into memory at a time due to the size of the module.
  • the operating system 32 provides the basic interface between the computer's hardware and software resources, the user, and the IR system modules 26 .
  • the operating system 32 is preferably a real-time operating system, such as the SOLARIS operating system, produced by SunSoft, a division of Sun Microsystems.
  • a real-time operating system is preferred in order to provide adequate response when searching and interacting with multiple users.
  • the SOLARIS operating system has a multithreaded, symmetric multiprocessing, real-time UNIX kernel. Those skilled in the art will appreciate the need for real-time, multithreaded performance in information retrieval applications in order to support an adequate level of transactional performance. Additional information regarding the SOLARIS operating system is available by reference to system manuals published by Sun Microsystems and other widely available literature on UNIX operating systems.
  • a user may enter commands and information into the stand-alone computer 20 through a keyboard (not shown) and an input or pointing device, such as a mouse (not shown).
  • Other input devices may include a microphone, a joystick, a game pad, a satellite dish, a scanner, or the like.
  • These and other input devices are often connected to the processor 21 through a serial port interface (not shown), such as a game port or a universal serial bus (USB), connected to the system bus 23 .
  • a monitor (not shown) or other type of display device can also be connected to the system bus 23 .
  • computers such as the stand-alone computer 20 typically include other peripheral output devices (not shown), such as speakers, printers, and backup devices.
  • a user typically interacts with the stand-alone computer 20 when the stand-alone computer 20 functions in a server capacity.
  • the stand-alone computer 20 can service a remote programmable device, such as a remote computer 41 , or a telephone device, such as a conventional telephone 42 , each of which is logically connected to the stand-alone computer 20 .
  • the remote computer 41 may be a server, a router, a peer device, or other common network node. Typically, the remote computer 41 includes many or all of the elements described relative to the stand-alone computer 20 .
  • the logical connection between the remote computer 41 and the stand-alone computer 20 depicted in FIG. 1 is a data communications network, such as a wide area network (WAN) 43 .
  • WAN wide area network
  • Other examples of data communications networks include enterprise-wide computer networks, intranets, or the global Internet.
  • a communications interface such as a network communications interface 44 in the stand-alone computer 20 , links the WAN 43 and the stand-alone computer 20 .
  • the logical connections to the stand-alone computer 20 may also be a local area network (LAN) (not shown) that is commonplace in offices.
  • LAN local area network
  • a user of the remote computer 41 interacts with the stand-alone computer 20 via such logical connections in order to search the database 40 for information and to respond to scripted questions posed
  • the exemplary database 40 contains a plurality of records (not illustrated). Each record contains specific information. By way of explanation, reference is made to a database that includes records of classified advertising information. An example of the type of specific information that may be stored in the record of such a database is information about a restaurant. This restaurant information in a record may include the kind of cuisine served by the restaurant, the location of the restaurant, the hours of the restaurant's operation, payments methods accepted by the restaurant, and any offered amenities.
  • the database 40 may include flat-file records, but the database also may include or be a data structure including records that may be relational tables. Further, each record may include one or more fields or tables.
  • a telephony communication interface 45 (also known as a telephony line card) connected to a conventional public switched telephone network 46 (PSTN) provides the logical connection between the stand-alone computer 20 and the conventional telephone 42 . In this manner, the user may interact with the stand-alone computer 20 with voice responses via a conventional telephone 42 or other telephonic device.
  • the telephony communication interface 45 is a Model Antares 2000 telephone line interface card manufactured by Dialogic Corporation of Parsippany, N.J. Both the network communications interface 44 and the telephony communication interface 45 are generally referred to as “communication interfaces” because the stand-alone computer 20 provides the service of processing data inquiries through both of these interfaces.
  • the network and telephone connections shown are exemplary and other means of establishing a communications link between the stand-alone computer 20 and the remote computer 41 or conventional telephone 42 may be used.
  • FIG. 2 Exemplary Operating Environment—Distributed Computer System— FIG. 2
  • the distributed computer system 200 includes a backend server 201 and one or more front end servers, such as an Internet frontend server 202 or a telephony front end server 203 .
  • the functions performed by the stand-alone computer 20 can be broken apart and allocated amongst each of the servers 201 - 203 .
  • resources can be dedicated in order to more efficiently interact with users and search the database (via the Internet front end server 202 and the telephony front end server 203 ) and to centralize file storage and maintenance of certain data files (via the backend server 201 ).
  • the ability to break apart and allocate the functions amongst different servers is advantageous because users can rely on dedicated hardware and software for enhanced transactional processing.
  • each frontend server 202 - 203 can then access and copy the most up-to-date software modules used when processing data inquiries.
  • centrally maintaining these files is preferred over individually updating these software modules in each server 202 - 203 .
  • the backend server 201 is similar to the stand-alone computer 20 from a hardware perspective.
  • the backend server 201 has a system memory 204 and memory storage devices (such as the hard disk drive 27 and the optical disk drive 30 ) which are used to maintain the database 40 , the index 37 , and the script files 36 .
  • the backend server 201 provides each of the frontend servers 202 - 203 access to these files over a conventional data network 205 (LAN, WAN, etc.) that electronically connects the backend server 201 to the frontend servers 202 - 203 .
  • the backend server 201 is preferably a file server for centrally maintaining and updating these files. But it is contemplated that the backend server system memory 204 may also include the IR system modules 26 in order to operate similarly to the stand-alone computer 20 . In this manner, the backend server 201 may function as a peak-time frontend server when needed to assist one of the frontend computers 202 - 203 .
  • Each of the frontend servers are similar to the stand-alone computer 20 from a hardware perspective and from a software perspective.
  • the Internet frontend server 202 preferably includes each feature of the stand-alone computer 20 , but does not need any telephony communication interfaces 45 .
  • the network communication interface 44 on the Internet frontend server 202 is used to communicate with the backend server 201 .
  • the telephony frontend server 203 essentially has the same elements as the stand-alone computer 20 . Similar to the Internet frontend server 202 , the network communication interface 44 on the telephony frontend server 203 is used to communicate with the backend server 201 .
  • the frontend servers 202 - 203 interact with users and process user's requests for information.
  • the remote computer 41 is configured as a remote device manipulated by the user via data entry.
  • the remote computer 41 interacts with the Internet frontend server 202 via the WAN 43 and a service communication interface (preferably similar to the network communication interface 44 ) within the Internet frontend server 202 .
  • the remote computer 41 preferably communicates with the Internet frontend server 202 using a conventional hypertext transfer protocol (HTTP).
  • HTTP hypertext transfer protocol
  • the Internet frontend server 202 preferably functions as a Web server providing the remote computer 41 with access to information within the database 40 .
  • a conventional telephone 42 or other telephonic device is the remote device manipulated by the user via voice input.
  • the telephone 42 interacts with the telephony frontend server 202 via the PSTN 46 and a service communication interface (such as a telephony line card 45 ) within the telephony frontend server 203 .
  • Data inquiries from the user are processed locally by each frontend server 202 - 203 in a timely manner using the copied files (i.e., the copied database 210 , the copied index 211 , and the copied script files 212 ) along with the IR system modules 26 .
  • Each frontend server 202 - 203 accesses the backend server 201 in order to make copies of the database 40 , the index 37 , and the script files 36 from the backend server 201 .
  • These copied files i.e., the copied database 210 , the copied index 211 , and the copied script files 212
  • Each of the frontend servers 202 - 203 have system memory 206 - 207 and memory storage devices (not shown) which are used to maintain the copied files and the IR system modules 26 .
  • each frontend server 202 - 203 has local access to these copied files and avoids unnecessary traffic across the data network 205 when individually processing data inquiries from users interacting with the frontend servers 202 - 203 .
  • the frontend servers 202 - 203 can focus their operation on serving users by utilizing the copied files (i.e., the copied database 210 , the copied index 211 , and the copied script files 212 ) along with the IR system modules 26 .
  • the preferred embodiment of the present invention is embodied in the IR system modules 26 which are designed to operate in stand-alone and distributed computing systems in conjunction with SunSoft's SOLARIS operating system.
  • the invention can be implemented for use with other computer architectures, such as multiprocessing systems.
  • the invention can be implemented for use with other operating systems, such as Microsoft Corporation's “WINDOWS NT” operating system, IBM Corporation's AIX operating system, and Hewlett-Packard's HP-UX operating system or RT-UX operating system.
  • IR system modules 26 provide a wide variety of features and functions in addition to those included in the brief description presented above. Exemplary IR system modules are described below.
  • FIG. 3 is a diagram illustrating the IR system modules 26 and their operative interrelationships in the exemplary embodiments of the present invention.
  • the IR system modules 26 are used to process a data inquiry. More particularly, a data inquiry may be received through one of the front end modules 33 of the IR system modules 26 .
  • These front end modules 33 may include an interactive voice response (IVR) 205 , a recognizer module 210 , a data front end 215 , or other front end module as appropriate.
  • the data inquiry may receive some formatting or other processing prior to being further transmitted to the IR system module referred to as the middleware routing architecture (MRA) 38 .
  • MRA middleware routing architecture
  • the MRA 38 is used to process a data inquiry by adaptively routing the data inquiry from one of the front end modules 33 to the search engine module 39 .
  • the MRA 38 includes a variety of interactive software modules including a router library 240 , a router engine 230 , a registration table 235 , and an exemplary module queue 245 . Each of these modules provides connecting or routing services within the IR system 26 .
  • the MRA 38 also contains a randomization module 100 as is explained in further detail below.
  • the MRA 38 is used to process a data inquiry by routing the data inquiry to the search engine module 39 , which in turn provides the data inquiry to the search engine for a search of the records of the database.
  • the search results are returned from the search engine module 39 to the MRA 38 wherein processing of the search results may take place as is described below. This processing may include the arrangement of the records of the search results into ordered records.
  • the search results are generally transmitted from the MRA 38 to the delivery modules 34 of the IR system modules 26 .
  • These delivery modules may include a text-to-speech (TTS) module 220 , a fax module 225 , or other delivery module.
  • TTS text-to-speech
  • the search results are received in the MRA 38 , wherein the records in the search results may be arranged into ordered records.
  • the search results do not have to be arranged into ordered records. This is a selectable feature and method that may be implemented based on a variety of factors.
  • the processes carried out with respect to the arrangement of records into ordered records are generally carried out in the MRA 38 by the randomization module 100 , which is called as necessary or appropriate by the other modules of the MRA 38 .
  • the router engine 230 may check with or call the randomization module 100 and/or the router library 240 for information or to handle the record arrangement processes.
  • the router library 240 may be used by the randomization module 100 (and other modules) to check for information as to whether to arrange the records of any particular set of search results, and further, as to whether to arrange the records into a particular type of ordered records. Additional information regarding these processes is provided in progressively greater detail below.
  • a determination as to whether to arrange the records of the search results into ordered records is made in the MRA 38 . This determination is made through the exchange of information necessary for such a determination among the modules of the MRA 38 , and in particular, the randomization module 100 and the router library 240 . A further determination as to whether to arrange the records into a certain type of ordered records may be made in the MRA 38 as a separate determination or as part of the above-mentioned determination as to whether to arrange the records into ordered records.
  • the determination with respect to the type of ordered records also may be made through the aforementioned information exchange between the randomization module 100 and the router library 240 , through an additional information exchange between these elements, or in any other manner as will be known to those skilled in the art. Additional details regarding these determinations and information exchanges are provided below in connection with the examples of the exemplary embodiments.
  • the determinations as to whether to arrange the records of the search results into ordered records and the type of ordered records for the arrangement may be based on a variety of selectable factors. These factors may include arrangement of records into ordered records based on: (1) an automatic response to the receipt of any search results that the records thereof be arranged into ordered records; (2) the destination of the search results such as the data frontend 215 ; (3) an association of one or more of the records in the search results with a particular characteristic such as the association of a record with a client or other entity; (4) a status of one or more of the records in the search results as a preferred record; (5) the frequency or number of times that a record or records have appeared in other search results; or (6) a weighting factor assigned to one or more of the records in the search results.
  • the determinations as to whether to arrange the records of the search results into ordered records and the type of ordered records for the arrangement may be based any one of these aforementioned factors or on a combination of these factors as appropriate. In addition, these determinations may be different and based on different factors with respect to each set of search results received in the MRA 38 .
  • the router library 240 may be provided with information so that the determinations with respect to a set of search results as to whether to arrange the records of the search results into ordered records and the type of ordered records for the arrangement may be carried out based on the selectable factors.
  • the router library 240 may store, relate and provide information, as appropriate, with respect to records, search results, destinations, frequency scales, weighting factors or status, characteristics or factors of records, search results, clients or other entities. Additional details regarding these determinations and the factors for the basis thereof are provided below in connection with the examples of the exemplary embodiments ( FIGS. 5A-5D ).
  • FIG. 4 is a flow diagram illustrating an exemplary method of the present invention for the arrangement of the records into ordered records in the search results.
  • the method is entered at start step 400 , and proceeds to step 402 wherein search results including records are received.
  • search results including records are received.
  • a set of search results is received in the MRA 38 after a search of a database 40 has been conducted.
  • a determination is made as to whether to order the records into ordered records. As also explained above, this determination is generally carried out in the MRA 38 through an exchange of information between the appropriate modules such as the router engine, 230 , the router library 240 and the randomization module 100 .
  • a check is made in step 406 as to whether the determination regarding ordering the records is positive or negative.
  • step 408 the method provides the search results with the records in no order in response to the data inquiry.
  • this branch of the method does not provide for any arrangement of the records into ordered records after receipt of the search results from the database search.
  • the search results with the records in no order are provided generally to the appropriate destination as may be determined by the MRA 38 based on information associated with the search results.
  • the search results with the records in no order may be provided to any of the delivery modules such as the TTS 220 , the FAX 225 , or other such module.
  • This branch of the method then ends in step 410 .
  • step 406 a check is made in step 406 as to whether the determination regarding ordering the records is positive or negative. If the determination is positive, then in step 412 , the records of the search results are arranged into ordered records.
  • ordered records is used to describe the arrangement of the records of the search results into a set having a particular order for presentation of the records to the user in response to the data inquiry.
  • a user is generally presented with the records of the data inquiry in serial fashion so that a particular record is heard, viewed or otherwise received first or before other records of the search results. Additional information regarding this arrangement step is provided through the examples of exemplary embodiments discussed below in connection with FIGS. 5A-5D .
  • step 414 the search results with the ordered records are provided in response to the data inquiry of the database.
  • the search results are provided to the appropriate destination as may be determined by the MRA 38 based on information associated with the search results.
  • the search results with ordered records may be provided to any of the delivery modules such as the TTS 220 , the FAX 225 , or other such module. This branch of the method then ends in step 410 .
  • this determination may be an automatic positive determination to arrange records in all search results into ordered records.
  • An automatic determination also may apply with respect to the type of ordered records into which the records are to be arranged.
  • the method may provide that the records of all received search results are to be arranged into ordered records, and that the records of all search results be arranged into a particular type of ordered records.
  • the method may provide that records in all search results be arranged into ordered records, but further provide that the type of ordered records may depend on the particular search results.
  • the type of ordered records may vary on a case by case basis. This determination of a type of ordered records may be based on characteristics of the particular set of search results.
  • the method may provide that the records of all received search results be arranged into ordered records, but that the records of any particular set of search results be arranged into a type of ordered records based on characteristics associated with that particular set of search results.
  • the determination as to whether to arrange the records of search results into ordered records may be a selectively positive determination in that such a determination is based on characteristics associated with the search results.
  • This selectively positive determination may be made based on one or more of a variety of characteristics or factors of the search results such as the destination of the search results, an association of one or more of the records in the search results with a particular characteristic such as the association of a record with a client or other entity, status of one or more of the records in the search results as a preferred record, the frequency or number of times that a record or records have appeared in other search results, or a weighting factor assigned to one or more of the records in the search results.
  • characteristics or factors are discussed in greater detail below in connection with the exemplary methods described together with FIGS. 5A-5D .
  • a farther determination may be made as to the type of ordered records for the arrangement.
  • This may be an automatic positive determination that follows on a selective positive determination with respect to arranging the records of a particular set of search results into ordered records.
  • an automatic selection of the type of ordered records may be made. For example, assume that a particular set of search results is to have ordered records. The method may provide that in all cases that such a determination is positively made, the records then be arranged in a particular type of ordered records.
  • the method also may provide that the determination as to the type of ordered records for a particular set of search results be made on a case by case basis, rather than be an automatic selection of type of ordered records.
  • This determination as to the type of ordered records may be made based on a variety of characteristics or factors of the search results such as the characteristics and factors mentioned above in connection with the determination as to whether records of search results are to be arranged into ordered records.
  • characteristics or factors may include the destination of the search results, an association of one or more of the records in the search results with a particular characteristic such as the association of a record with a client or other entity, status of one or more of the records in the search results as a preferred record, the frequency or number of times that a record or records have appeared in other search results, or a weighting factor assigned to one or more of the records in the search results.
  • the types of ordered records include: an alphabetical order of records, a preferred order of records based on the preferred status of one or more records over other records, a least frequent first order of records, a most frequency first order of records, a highest weighting factor first order, or a lowest weighting factor first or combinations thereof.
  • FIGS. 5A-5D exemplary embodiments of the present invention are described with respect to the determination steps as to whether records of search results are to be ordered records, and if so, what type or combination of ordered records are to be arranged.
  • FIG. 5A is a flow diagram illustrating determination steps in the case of a determination made on the basis of the destination of a particular set of search results.
  • steps 502 and 504 follow on from step 406 of FIG. 4 (“Order records?”).
  • step 502 a destination determination is made for the search results, and then in step 504 the records are arranged in destination order.
  • the method progresses to step 414 of FIG. 4 (“Provide search results . . . ”).
  • these steps 502 , 504 are executed in the MRA 38 .
  • the MRA 38 and in particular, the randomization module 100 and the router library 240 may include information and instructions for the arrangement of records in search results into ordered records based on the destination of the search results.
  • the randomization module 100 may store information relating a possible destination for search results with instructions for the arrangement of records in the search results destined for this destination into ordered records that are arranged in a destination order.
  • the destination order of records may be common to a plurality of destinations, or the destination order maybe unique to a particular destination.
  • the search results are destined for a user who is awaiting a response via his or her telephone.
  • the search results are to be routed from the MRA 38 to the TTS delivery module 220 .
  • the records of the search results be delivered as ordered records rather than non-ordered (“no order”) records.
  • a check by the randomization module 100 results in the determination that the records of these search results be delivered as ordered records, and in particular, that the records be arranged in destination order.
  • This destination order may require that the records be arranged in alphabetical or other order based on some characteristic of the individual records.
  • this destination order may require that additional steps in the method be performed. For example, the records of the search results may need to be checked to determine whether a record of the search results is a preferred record. If so, then the records of the search results may be listed in a preferred order which includes listing a preferred record or records before other records in the search results.
  • this destination order may be a least frequency first (LFF) order as is explained below in connection with FIG. 5C . In that case, the method steps illustrated in FIG. 5A may be followed by the method steps illustrated in FIG. 5C and described below.
  • this destination order may be a highest weighting factor first (HWFF) order as is explained below in connection with FIG. 5D . In that case, the method steps illustrated in FIG. 5A may be followed by the method steps illustrated in FIG. 5C and described below.
  • LFF least frequency first
  • HWFF highest weighting factor first
  • FIG. 5B is a flow diagram illustrating determination steps in the case of a determination made on the basis of characteristics or factors of records that are referred to herein as marketing characteristics.
  • the steps of this flow diagram, steps 506 and 508 follow on from step 406 of FIG. 4 (“Order records?”).
  • step 506 a marketing determination is made for the search results, and then in step 508 the records are arranged in a preferred order.
  • step 508 the method progresses to step 414 of FIG. 4 (“Provide search results . . . ”).
  • these steps 506 , 508 are executed in the MRA 38 .
  • the MRA 38 may include information and instructions for the arrangement of records in search results into ordered records based on the association of one or more of the records with a marketing characteristic or characteristics such as an association of a record with a particular client or with a particular user.
  • the randomization module 100 may store information relating a marketing characteristic of a record or search results with instructions for the arrangement of records in the search results associated with this characteristic into ordered records that are arranged in a preferred order.
  • the preferred order of records may be common to a plurality of marketing characteristics, or the preferred order may be unique to a particular marketing characteristic.
  • the preferred order may require that the records be arranged in an order whereby one or more records are ordered ahead of other records in the search results. This order may be determined based on the association or lack thereof of the marketing characteristic(s) with one or more of the records. Alternatively, this preferred order may require that additional steps in the method be performed. For example, the records of the search results may need to be checked to determine whether a record of the search results is a preferred record. If so, then the records of the search results may be listed in a preferred order which includes listing a preferred record or records before other records in the search results.
  • this marketing determination example assume that a particular client is a classified advertiser that has paid a premium for the presentation of its information in an advantageous position in search results.
  • the client definitely prefers that the records of the search results be delivered as ordered records rather than non-ordered records.
  • the client prefers that its records be delivered in an advantageous position in the search results.
  • Many clients consider the first record position to be most the advantageous position in the order of records in search results.
  • this client may specify that its records be associated with a marketing characteristic that results in the records being arranged in advantageous positions in ordered records in search results.
  • FIG. 5C is a flow diagram illustrating determination steps made on the basis of frequency characteristics or factors of records.
  • steps 510 and 512 follow on from step 406 of FIG. 4 (“Order records?”).
  • step 510 a frequency determination is made for the search results, and then in step 512 the records are arranged in a least frequency first (LFF) order.
  • step 414 of FIG. 4 Provide search results . . . ”).
  • these steps 510 , 512 are executed in the MRA 38 .
  • the MRA 38 may include information and instructions for the arrangement of records in search results into ordered records based on the association of one or more of the records with a frequency characteristic or characteristics. These frequency characteristics may include the frequency or number of times that a record or records have appeared in other search results. To execute this frequency determination, the randomization module 100 keep track of the number of times that any particular record is included in search results.
  • the randomization module 100 may store information relating a frequency characteristic of a record or search results with instructions for the arrangement of records in the search results associated with this characteristic into ordered records that are arranged in a least frequent first (LFF) or other order.
  • LFF least frequent first
  • the LFF order generally provides that the least frequent (LF) record is listed before other records in the search results.
  • the LF record is a record of the search results that has been included in other search results less often than any other record of the search results;
  • the LFF order of records may be common to a plurality of frequency characteristics, or the preferred order may be unique to a particular frequency characteristic.
  • the LFF order may require that the records be arranged in an order whereby one or more records are ordered ahead of other records in the search results. This order may be determined based on the association or lack thereof of the frequency characteristic(s) with one or more of the records. Alternatively, this preferred order may require that additional steps in the method be performed. For example, the records of the search results may need to be checked to determine whether a record of the search results is an LF record. If so, then the records of the search results may be listed in an LFF order which includes listing an LF record or records before other records in the search results.
  • Yet additional steps may be performed to order all of the records within a set of search results into ordered records based on the frequency characteristic of each record with respect to each other record in the search results.
  • This frequency characteristic may be thought of as the number that is associated with a record and that reflects the number of times that the record has appeared in other search results.
  • the records may be arranged into ordered records based on the number of times that the records have appeared in other search results.
  • the record with the lowest number or frequency characteristic may be listed first (or most advantageously), the record with the next lowest number or frequency characteristic may be listed second (or second most advantageously), etc.
  • a particular client is a classified advertiser that has paid a premium for the presentation of its information in an advantageous position in search results.
  • the client definitely prefers that the records of the search results be delivered as ordered records rather than non-ordered records.
  • the client prefers that its records be delivered at least as often as other records and that the client's records hold an advantageous position in the search results.
  • Many clients consider the first record position to be the most advantageous position in the order of records in search results. It is assumed that if the user is satisfied with the first record of the search results, then the user may not review the remainder of the records in the search results.
  • the client may specify that its records be associated with a frequency characteristic that results in the client's records being arranged in advantageous positions in ordered records in search results.
  • a particular record may have been provided to a user as part of other search results that had been previously processed through the MRA 38 . Because this record had been previously provided in search results, this previously provided record may be arranged in a less advantageous position or order in the search results under processing. By this arrangement, the available records in search results responsive to a particular data inquiry are rotated so that no particular record is provided with a repetitive advantageous position or order.
  • the above described frequency determination ordered the records based on least frequency of appearance of records in other search results.
  • This frequency determination may also be used in an analogous fashion, but based on most frequency of appearance of records in other search results.
  • a type of ordered records may include records that are ordered such that the most frequently appearing record in other search results appears first in a particular set of search results, the second most frequently appearing record appears second, etc.
  • a most frequent first (MFF) order may be useful in certain contexts such as the delivery of search results with the most popular records listed first or in preferred order over other records.
  • LFF or analogous order methods may be used in connection with the destination order described above.
  • FIG. 5D is a flow diagram illustrating determination steps in the case of a determination made on the basis of characteristics or factors of records that are referred to herein as weighting factors.
  • the steps of this flow diagram, steps 514 and 516 follow on from step 406 of FIG. 4 (“Order records?”).
  • a weighting factor determination is made for the search results, and then in step 516 the records are arranged in a highest weighting factor first (HWFF) order.
  • HWFF highest weighting factor first
  • the method progresses to step 414 of FIG. 4 (“Provide search results . . . ”).
  • the weighting factor may be ascribed to or determined to only one or a selected number of records.
  • these steps 514 , 516 are executed in the MRA 38 .
  • the MRA 38 and in particular, the randomization module 100 and the router library 240 may include information and instructions for the arrangement of records in search results into ordered records based on the association of one or more of the records with a weighting factor or factors.
  • These weighting factors may be based on any feature or element that may serve as the basis of the calculation and ascription of a weighting factor to records such as returned in search results.
  • a weighting factor may be ascribed to or determined for a particular record based on a ratio of the frequency or number of times that the record has appeared in other search results over a time period. The time period may be selected and resetted as appropriate. In this manner, the particular record may be better assured of appearing in an advantageous position in search results more often, on a regular basis, or at least in during a particular time period.
  • the randomization module 100 may keep track of the weighting factor of any particular record.
  • the randomization module 100 may store information relating a weighting factor of a record or search results with instructions for the arrangement of records in the search results associated with this characteristic into ordered records that are arranged in a highest weighting factor first (HWFF) or other order.
  • HWFF order generally provides that a highest weighting factor (HWF) record is listed before other records in the search results.
  • the HWF record is a record of the search results that has a higher weighting factor than any other record of the search results.
  • the HWFF order of records may be common to a plurality of weighting factors, or the preferred order may be unique to a particular weighting factor.
  • the HWFF order may require that the records be arranged in an order whereby one or more records, is ordered ahead of or before other records in the search results. This order may be determined based on the association or lack thereof of a weighting factor with one or more of the records. Alternatively, this preferred order may require that additional steps in the method be performed. For example, the records of the search results may need to be checked to determine whether a record of the search results has a highest weighting factor. If so, then the records of the search results may be listed in an HWFF order which includes listing an HWF record or records before other records in the search results.
  • Yet additional steps may be performed to order all of the records within a set of search results into ordered records based on the weighting factor of each record with respect to each other record in the search results.
  • the record with the highest weighting factor may be listed first (or most advantageously), the record with the next highest weighting factor may be listed second (or second most advantageously), etc.
  • this weighting factor determination example assume that a particular client is a classified advertiser that has paid a premium for the presentation of its information in an advantageous position in search results.
  • the client definitely prefers that the records of the search results be delivered as ordered records rather than non-ordered records.
  • the client prefers that its records be delivered at least as often as other records and that the client's records hold an advantageous position in the search results.
  • this client's records may be associated with a weighting factor that results in the client's records being arranged in advantageous positions in ordered records in search results.
  • the records of a set of particular search results are each assigned a weighting factor.
  • a weighting factor may be assigned to a record for any number of reasons. For example, a client such as a classified advertiser may have paid a high premium for a high weighting factor assigned to one of its records. Another client may have paid a medium premium for a medium weighting factor assigned to one of its records.
  • the record of the client with the high weighting factor may be arranged into a more advantageous position or order in the search results than the record of the client with the medium weighting factor.
  • the user generally hears or views the record of the client that paid the high premium for the high weighting factor before the user hears or views the record of the client that paid the medium premium for the medium weighting factor.
  • a particular weighting factor may be assigned to a particular record based on factors or characteristics associated with the data inquiry that initiated the search of the database and resulted in the search results. For example, a particular weighting factor may be assigned to a particular record based on the time of day of the data inquiry that resulted in the search results. To illustrate this example, assume that statistics demonstrate that short records in search results are preferred by users in response to data inquiries that are initiated in the evenings. Perhaps users have a shorter attention span in the evenings. Thus, a high weighting factor may be assigned to a short record in search results that are returned in response to a data inquiry that was initiated in the evening. Based on the highest weighting factor first order of records, the short record appears in an advantageous position in the search results. The user is satisfied because he or she was provided with search results that took into account the user's preferences for short records. Customer satisfaction is a high priority among service providers of information retrieval systems.
  • the above described weighting factor determination ordered the records based on highest weighting factor of records in search results.
  • This weighting factor determination also may be used in an analogous fashion but based on lowest weighting factor of records in search results.
  • a type of ordered records may include records that are ordered such that the record having the lowest weighting factor in the search results appears first in a particular set of search results, the record having the second lowest weighting factor appears second, etc.
  • a lowest weighting factor first (LWFF) order may be useful in certain contexts.
  • LWFF order method may be used in connection with the destination order described above.
  • the present invention provides several different exemplary methods for arranging records into ordered records to be included in the search results provided in response to a data inquiry of a database.
  • the service provider benefits by retaining tactical and strategic input with respect to the provision of such search results in response data inquiries.
  • the service provider may benefit by being able to provide additional services or features with respect to information retrieval. These additional services or features may provide the service provider with competitive advantages over other service providers of information. In particular, these additional services or features may serve to retain or attract clients as well as users to the service provider.

Abstract

Systems and methods for arranging records in search results to be provided in response to a data inquiry of a database. After search results including records are received, a determination is made with respect to the order of the records in the search results. This determination may be based on various factors such as the destination of the search results, the preferred status of certain records over other records, a marketing determination with respect to the records, a frequency determination with respect to the number of times that a record or records may have already been provided in response to data inquiries, a weighting factor determination or a combination of one or more of these factors. In response to the determination of the order of the records in the search results, the records then are arranged into ordered records based on the determination. This order may be an alphabetical order, a preferred order based on the preferred status of certain records over other records, a least frequent first order, a highest weighting factor first order, or a combination of these orders. The search results with the records arranged into ordered records are then provided in response to the data inquiry.

Description

    CROSS REFERENCE TO RELATED APPLICATION
  • This application claims priority under 35 U.S.C. §120 as a divisional of U.S. application Ser. No. 10/822,125, filed Jun. 30, 2004, the disclosure of which is hereby incorporated herein by reference in its entirety as if set forth fully herein, which is a reissue of U.S. application Ser. No. 08/922,620, filed Sep. 3, 1997, now U.S. Pat. No. 6,415,281.
  • MULTIPLE REISSUE APPLICATIONS
  • The present application is one of multiple applications seeking to reissue U.S. Pat. No. 6,415,281. The other related reissue applications are U.S. application Ser. No. 10/822,125, filed Jun. 30, 2004 and U.S. application Ser. No. ______, filed concurrently herewith.
  • TECHNICAL FIELD
  • This invention relates generally to systems and methods for the provision of information as search results in response to a data inquiry. More particularly, this invention relates to systems and methods for arranging the records of search results into ordered records to be included in the search results provided in response to a data inquiry of a database.
  • BACKGROUND
  • Let's change the rules of baseball. Let's provide that the players on each of the teams must be played at random. In other words, let's eliminate a baseball manager's right to decide the line-up of his or her team.
  • What general effect would this rule change have on a game? It would turn baseball even further from a game of strategy and tactics to a game of chance. What effect would this rule change have on the manager? By eliminating the manager's right to decide the line-up of his or her team, the manager is robbed of one category of his or her tactical inputs into the game. The manager becomes even less of a master or mistress with respect to the outcome of the game. What effect would this rule change have on the team owner? By eliminating the manager's right to decide the line-up of his or her team, the team owner does not have to consider the manager's skill in setting a line-up when hiring or firing a manager. But like the manager, the team owner is faced with even less certainty of a winning ball club. What effect would this rule change have on the baseball fan? By eliminating the manager's right to decide the line-up of his or her team, the fan does not know who is coming to the plate until the last minute. At times, a particular player's appearance at the plate may be a pleasant, welcome and hoped for surprise. But at others, another player's appearance at the plate may foreshadow an unhappy result in the ballgame. Like the manager and the team owner, under this new rule, the baseball fan arrives at the ball park with a lot less certainty regarding the pending outcome of the ballgame.
  • Our disturbance of the rules of baseball is sure to have left many readers uncomfortable. Like the baseball manager, we like to set the line-up of our team. Many of us prefer to have tactical and strategic input into events that take place in our lives. By this input, we may control or at least have some control of these events so as to maximize the advantages. For example, we may arrange the tasks of our workday so as to more efficiently or economically derive advantages from the workday. But in many areas, the line-up is not set and information or other occurrences are thrown at us at random.
  • An area in which information is often provided at random to the user is in the area of information retrieval. For example, assume that a user is using a computer system to search a database for certain information. The user formulates a data inquiry and transmits it to the system. After the system conducts the search of the database, the information that was found during the search is provided as search results to the user in response to the data inquiry. Typically, search results include more than one piece of information which we refer to herein as a record. Thus, the user is typically provided with more than one record in the search results.
  • Generally, the records in search results are provided in random order to the user. This oxymoron, “random order”, denotes that each record is provided to the user without regard to the other records in the search results. Further, random order also may denote that each record is provided to the user without regard to factors that may relate to the user, the data inquiry, the database, the other records in the search results as well as without regard to other factors. In some cases, the records of search results may be provided in an alphabetical order, which is considered generally to be a sub-set of random order. Alphabetical order is considered to be such a sub-set of random order because alphabetical order is generally not based on some relationship factor linking the records. Rather, alphabetical order or an alphabetical relationship amongst the records is based on the happenstance of use of a term and a particular letter of the alphabet associated with that term. The term(s) used to alphabetize the records in the search results may be arbitrarily and randomly chosen. Thus, the term “random order” is used herein to include alphabetical order of records in search results. To return to our baseball analogy, when the records of search results are provided in random order, it is like playing the members of a baseball team at random. This random order may include playing the members of the baseball team in alphabetical order based on their first names, last names, nicknames, hometowns, etc.
  • As noted, the records in search results may be provided in random order by the service provider of the search results. In the event of such provision of records in random order, the search provider is like the baseball manager under the new rules of baseball. The search provider loses tactical and strategic input into the “game” of providing search results. The service provider lacks control that otherwise could be used to provide search results in some advantageous tactical or strategic manner.
  • This lack of control may affect the service provider's ability to retain or attract clients. A client is distinguished herein from a user. A client of a service provider generally is defined herein to be an entity that supplies the service provider with information that may be used in the service provider's database. A client may pay or otherwise remunerate the service provider to use the client's information in the database, and in particular, in the search results that are provided to users making database inquiries. For example, the service provider may maintain and provide search results from a database such as a classified advertising database. In this example, a client may be an entity that provides information for use in the classified advertising database such as an advertisement. This advertisement may become a record in the classified advertising database.
  • If the service provider lacks control with respect to the order of records in search results, then the client's information may not make its way into advantageous positions in the search results. Alternatively, the client's information may not make its way often enough to the client's satisfaction into advantageous positions in the search results provided to users by the service provider. The client then is less certain with such a service provider that the client's information will make it into a good position in the “line-up” of records in the search results. In a sense, the client may be likened to the team owner (of information) in our baseball analogy. The client as the team owner may be very interested in the talents of the service provider as the manager in setting the line-up of records of the search results. If the service provider does not have any such talents, or if they are very limited, then the client as the team manager is less certain of a winning line-up that includes the client's information being provided to users. Similarly, if we refer to the classified advertising database example, if the service provider lacks control with respect to the order of advertisements that are provided in search results to a user, then the advertiser's information may not make its way into advantageous positions in the search results. Or, the advertiser's information may not make its way often enough to the advertiser's satisfaction into advantageous position in the search results. The advertiser then may be less willing to advertise with the service provider of the classified advertising directory, or at least be less willing to pay premiums for such advertising services.
  • The lack of control in providing search results also may affect the service provider's ability to retain or attract users. As noted above, a user is distinguished herein from a client. A user of a service provider generally is defined herein to be the person or entity that makes a data inquiry for information of the service provider. Like a client, the user may pay or otherwise remunerate the service provider. But in the case of the user, the remuneration typically is for the service of providing information to the user in the form of records in search results in response to a data inquiry. If the service provider lacks control with respect to the order of records in search results, then the information may be provided to the user in an order that is difficult to use. The user is not provided with a good “line-up” of records in the search results. In a sense, the user may be likened to the fan in our baseball analogy. The user as the fan may be very interested in the talents of the service provider as the manager in setting the line-up of records of the search results. If the service provider does not have any such talents, or if they are very limited, then the user as a fan is less certain of a winning line-up of records in the search results. If the service provider cannot set a line-up of records in search results, then the user as the fan does not know who or what is coming to the plate until the record arrives. At times, a particular record's appearance at the plate may be a pleasant, welcome and hoped for surprise. Or, like in the baseball analogy, another record's appearance may foreshadow an unhappy or unusable result. Like the service provider as the manager and the client as the team owner, when there is random order to records in search results, then the user as the baseball fan has a lot less certainty regarding the outcome in a ballgame of information retrieval.
  • In conclusion, there is a need in the field of information retrieval to provide the records in search results other than in random order so as to retain advantageous tactical and strategic input with respect to the provision of such search results in response to data inquiries.
  • SUMMARY
  • Generally stated, the present invention provides several different systems and methods for arranging records in search results into ordered records to be included in the search results provided in response to a data inquiry of a database. Advantageously, the records in search results are arranged into ordered records so that the service provider may retain tactical and strategic input with respect to the provision of such search results in response to data inquiries. By this invention, the service provider may benefit by being able to provide additional services or features with respect to information retrieval. These additional services or features may afford the service provider with competitive advantages over other service providers of information. In particular, these additional services or features may serve to retain or attract clients as well as users to the service provider.
  • Further, these additional services or features may be especially attractive to clients and users for several reasons. A service that provides ordered records in search results may be attractive to a client because the client may benefit by having its information appear as records more often or more advantageously positioned in the search results that are provided to users. The client may take advantage of one or more of the several different systems and methods for ordered records in search results so that the client's information is used or placed for maximum effect with respect to users. In addition, a service that provides ordered records in search results may be attractive to a user because the user may benefit by having records delivered in search results in a more usable or otherwise more advantageous manner.
  • Stated generally, the present invention provides several different systems and methods for arranging records in search results to be provided in response to a data inquiry of a database. After search results including records are received, a determination is made with respect to the order of the records in the search results. This determination may be based on one or a combination of factors such as on the destination of the search results, on the preferred status of certain records over other records, on a marketing determination with respect to the records, on a frequency determination with respect to the number of times that a record or records may have already been provided in response to data inquiries, or on a weighting factor determination. In response to the determination of the order of the records in the search results, the records then are arranged into ordered records based on the determination. The order of these ordered records may be an alphabetical order, a preferred order based on the preferred status of certain records over other records, a least frequent first (LFF) order, or a highest weighting factor first (HWFF) order or a combination of these orders. The search results with the records arranged as ordered records are then provided in response to the data inquiry.
  • Stated less generally, the present invention provides a system and a method for arranging records in search results with the arrangement being based on the destination of the search results. Pursuant to the exemplary system and method, a destination determination is made for the search results. In response to the destination determination, the records of the search results are arranged into a destination order based on the destination determination. The destination order may be an alphabetical order. Alternatively, the destination order may be a preferred order of listing a preferred record before other records in the search results. The search results in the destination order are then provided in response to the data inquiry of the database. As another alternative, the destination order may be a least frequent first (LFF) order. The LFF order provides that a least frequent (LF) record is listed before other records in the search results. The LF record is a record of the search results that has been included in other search results less often than any other record of the search results. In response to the destination determination, a determination then is made of the LF record of the search results. The records of the search results then are arranged into the LFF order in the search results. The records of the search results in the LFF order are then provided in response to the data inquiry of the database. As yet another alternative, the destination order may be a weighting factor determination then is made as to whether the records of the search results are to be provided in a highest weighting factor first (HWFF) order. The HWFF order provides that a highest weighting factor (HWF) record is listed before other records in the search results. The HWF record may be a record of the search results that has a higher weighting factor than any other record of the search results. In response to the weighting factor determination, a determination is made of the HWF record of the search results. The records of the search results then are arranged into the HWFF order, the records in the HWFF order are provided in response to the data inquiry of the database.
  • Stated more particularly, the present invention provides a system and a method for arranging records in search results with the arrangement being based on a marketing determination with respect to the search results or other factors. Pursuant to the exemplary system and method, a marketing determination is made with respect to the order of the records in the search results. This marketing determination may be that the records be listed in a preferred order with a preferred record being listed before other records in the search results. In response to the marketing determination, a determination is made as to whether a record of the search results is a preferred record. If so, then the records of the search results are arranged into the preferred order in the search results. The search results in the preferred order are then provided in response to the data inquiry of the database.
  • Also, stated more particularly, the present invention provides a computer-readable medium on which is stored a computer program for arranging records in search results to be provided in response to a data inquiry of a database. The computer program includes instructions, which when executed by a computer, perform the steps of receiving search results including records and making a determination regarding an order of the records in the search results. The determination may be based on at least one of the following: the destination of the search results, the preferred status of certain records over other records, a marketing determination with respect to the records, a frequency determination with respect to the number of times that a record may have already been provided in response to data inquiries, or a weighting factor. In response to the determination, the instructions perform the step of arranging the records of the search results as ordered records. The ordered records may be the records arranged into at least one of the following: an alphabetical order, a preferred order based on the preferred status of a record over the other records, a least frequent first order; or a highest weighting factor first order. Finally, the instructions then perform the step of providing the search results including the ordered records in response to the data inquiry of the database.
  • In conclusion, it is an object of the present invention with respect to the field of information retrieval to provide systems and methods for arranging the records of search results into ordered records to be included in the search results in response to a data inquiry of a database.
  • It is also an object of the present invention to provide systems and methods for arranging the records of search results into ordered records based on characteristics or factors associated with the destination of the search results, on the records of the search results, on the clients or entities supplying the information, on the clients or entities receiving the search results, and on other characteristics and factors.
  • It is a further object of the present invention to provide records in search results other than in random order so as to retain advantageous tactical and strategic input with respect to the provision of such search results in response to data inquiries.
  • The exemplary systems, methods and embodiments of the present invention are described herein in the context of arranging records in search results obtained from a database such as a database of classified advertising information. Nonetheless, the present invention may be applied to a broad variety of other systems and methods, and in particular, may be applied to a broad variety of other information retrieval systems, search engines, and databases.
  • The present invention and its objects and advantages, those described above and otherwise, may be further appreciated from a review of the following detailed description, drawings and claims.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram of a computer system that provides an exemplary operating environment for embodiments of the present invention.
  • FIG. 2 is a block diagram of a distributed computer system that provides an exemplary operating environment for an embodiment of the present invention.
  • FIG. 3 is a diagram illustrating software components and their operative interrelationships in the exemplary embodiments of the present invention.
  • FIG. 4 is a flow diagram illustrating steps of an exemplary method of the present invention.
  • FIG. 5, consisting of FIGS. 5A-5D, illustrate alternative steps of exemplary methods of the present invention.
  • DETAILED DESCRIPTION INTRODUCTION
  • This detailed description provides information with regard to several different exemplary systems and methods for arranging records in search results into ordered records to be provided in response to a data inquiry of a database. The exemplary embodiments and methods described herein are intended in all respects to be illustrative rather than restrictive. Alternative embodiments and methods will be apparent to those skilled in the art. The present invention is described in this detailed description first by a general description of exemplary systems and methods of the present invention and then by a general description of the types of computer systems and software modules that may embody or be used in connection with the present invention.
  • Following these general descriptions, a more detailed description of a stand-alone computer system as an exemplary operating environment is provided in connection with FIG. 1. Then a more detailed description of a distributed computer system as an exemplary operating environment is provided in connection with FIG. 2. After the descriptions of these computer systems, a description of illustrative software components and their operative interrelationships in the exemplary embodiments is presented in connection with FIG. 3. A flow diagram illustrating steps of an exemplary method of the present invention is described in connection with FIG. 4. Finally, in FIG. 5, alternative steps of exemplary methods of the present invention are described.
  • A General Description of Exemplary Systems and Methods of the Present Invention
  • Stated generally, the present invention provides methods for arranging records in search results to be provided in response to a data inquiry of a database. After search results including records are received, a determination is made with respect to the order of the records in the search results. This determination may be based on one or a combination of factors such as on the destination of the search results, on the preferred status of certain records over other records, on a marketing determination with respect to the records, on a frequency determination with respect to the number of times that a record or records may have already been provided in response to data inquiries, or on a weighting factor determination. In response to the determination of the order of the records in the search results, the records then are arranged into ordered records based on the determination. The order of these ordered records may be an alphabetical order, a preferred order based on the preferred status of certain records over other records, a least frequent first order, or a highest weighting factor first order or a combination of these orders. The search results with the records arranged as ordered records are then provided in response to the data inquiry.
  • A General Description of the Types of Computer Systems and Program Modules that May Embody or Be Used in Connection with the Present Invention.
  • The preferred embodiment of the present invention is embodied as part of a group of program modules that operate as an interactive information retrieval system (hereinafter the “IR system”) used with a multi-tasking computer or computer system. Generally, program modules include routines, programs, records, data structures, steps, etc. that perform particular tasks or implement particular abstract data types. The present invention also may be implemented in conjunction with objects and other program modules for other types of computers or computer systems.
  • The present invention may be embodied within or carried out by a stand-alone computer or computer system or a distributed computer system. In a distributed computing environment, program modules may be physically located in different local or remote memory storage devices. Execution of the program modules may occur locally in a stand-alone manner or remotely in a client/server manner. Examples of such distributed computing environments include local area networks, enterprise-wide computer networks, and the global Internet. Examples of such computer environments are provided in the following commonly-assigned patent applications: A System and Methods for Dynamically Processing an Index to Dynamically Create a Set of Questions, Ser. No. 08/844,751, filed on Apr. 21, 1997, and A System and Methods for Routing Information within an Adaptive Routing Architecture of an Information Retrieval System, Ser. No. 08/866,228, filed on May 30, 1997. Both of these referenced patent applications are incorporated herein by reference. The present invention also may be practiced with other system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like. Other methods and system implementations will occur to those skilled in the art.
  • As noted, the preferred embodiment of the present invention is embodied as part of a group of program modules that operate as an interactive IR system. Briefly described, the IR system allows a user (via voice or digital communication signals) to make a request for information. This request for information is referred to herein as a data inquiry, or also as a search request or search query. The information may be stored in one or more databases associated with the IR system. Based upon the data inquiry, the IR system may obtain search results, which also may be referred to as a set of search results. These search results may be considered to be the information that is obtained during the search of the relevant databases. Typically, a set of search results includes one or more records. Each record may be considered to be an answer to the data inquiry.
  • The description of the present invention is presented in terms of systems, methods, processes and symbolic representations of operations by conventional computer elements such as a processor, memory storage devices, data communications networks, and communication interfaces such as telephone line cards or network interface cards. These systems, methods, processes and symbolic representations of operations may include the manipulation of signals by a processor and the maintenance of these signals within data sets and data structures. These data sets and data structures are resident in one or more memory storage devices. A data set is commonly understood to be collection of related information that may exist as separate elements, but that may be manipulated as a unit. A data structure is commonly understood to be an organizational scheme that encapsulates data in order to support data interpretations and data operations. The data structure imposes an organization upon the collection of data stored within a memory storage device and represents specific electrical or magnetic elements. A data structure may be created from the separate elements or objects of a data set or another data structure. A database may be a data set or a data structure depending on the particular implementation. These symbolic representations are used by those skilled in the art of computer programming and computer construction to convey teachings and discoveries to others skilled in the art.
  • A process is generally considered to be a sequence of computer-executed steps leading to a desired result. These steps may require physical manipulations of physical quantities. Commonly, these quantities take the form of electrical, magnetic, or optical signals that may be stored, transferred, combined, or otherwise manipulated. These representations of signals are generally referred to as bits, bytes, words, information, an index, terms, index categories, domains, data, objects, records, images, files or the like. These and similar terms are associated with appropriate physical quantities for computer operations, and are applied as conventional labels to physical quantities that exist within and during operation of the computer or computer system.
  • Manipulations with respect to the computer or computer system are often referenced with terms such as providing, arranging, searching, transmitting, receiving, prompting, determining, identifying, storing, selecting, deleting, etc. These terms are often associated with the manual operations that may be performed by a user in carrying out these manipulations with the computer or computer system. But these manipulations are machine operations performed in conjunction with various inputs provided by the user that interacts with the computer, computer system or other device.
  • The systems, methods, processes, symbolic representations, processes and the like that are described herein are unrelated to and not limited to particular computers, computer systems, elements thereof, networks, or computer or communication architectures. To the contrary, various types of general purpose machines may be used with program modules, programs or steps constructed in accordance with the teachings described herein. It may be advantageous to devote a specialized apparatus to perform the steps described herein by way of dedicated computer systems in a specific network architecture with hard-wired logic or programs stored in nonvolatile memory, such as read only memory (ROM).
  • Exemplary Operating Environment—Stand-Alone Computer System—FIG. 1
  • Referring now to FIG. 1, an exemplary stand-alone computer system for implementing the present invention includes a conventional stand-alone computer 20, including a processor 21, a system memory 22, and a system bus 23 that couples the system memory 22 to the processor 21. The system memory 22 includes random access memory (RAM) 25. The stand-alone computer 20 further includes a hard disk drive 27 and an optical disk drive 30 (e.g., a disk drive that reads from a CD-ROM disk 31 or reads from or writes to other optical media). The hard disk drive 27 and the optical disk drive 30 are connected to the system bus 23. The drives and their associated computer-readable media provide nonvolatile storage for the stand-alone computer 20. Although the description of computer-readable media above includes the hard disk drive 27 and the optical disk 31, such as a CD, other types of media which are readable by a computer, such as removable magnetic disks, magnetic cassettes, flash memory cards, digital video disks and tapes, Bernoulli cartridges, and the like, may also be used in each of the exemplary operating environments described with regard to FIG. 1 and FIG. 2.
  • A number of program modules may be stored in the drives 27, 30 and RAM 25, including an operating system 32 and a variety of other software program modules. In an embodiment of the present invention, an example of such software modules is a group of software modules collectively referred to as the interactive information retrieval system modules 26 (IR system modules). The IR system modules 26 preferably include the following software modules:
  • one or more frontend modules 33,
  • a recognizer module 34,
  • a dialoger module 35 (which interacts with script files 36 and an index 37 and dispatches search requests to the search engine 39),
  • a middleware layer of software 38 including a randomization module 100, and
  • a search engine 39 (which interacts with a database 40 stored on the hard disk drive 27 or on the optical disk 31 in the optical disk drive 30).
  • When any of the IR system modules 26 are used, the processor 21 may bring only a portion of the module into memory at a time due to the size of the module.
  • The operating system 32 provides the basic interface between the computer's hardware and software resources, the user, and the IR system modules 26. In the exemplary operating environments described with regard to FIGS. 1 and 2, the operating system 32 is preferably a real-time operating system, such as the SOLARIS operating system, produced by SunSoft, a division of Sun Microsystems. A real-time operating system is preferred in order to provide adequate response when searching and interacting with multiple users. The SOLARIS operating system has a multithreaded, symmetric multiprocessing, real-time UNIX kernel. Those skilled in the art will appreciate the need for real-time, multithreaded performance in information retrieval applications in order to support an adequate level of transactional performance. Additional information regarding the SOLARIS operating system is available by reference to system manuals published by Sun Microsystems and other widely available literature on UNIX operating systems.
  • As with most conventional computer systems, a user may enter commands and information into the stand-alone computer 20 through a keyboard (not shown) and an input or pointing device, such as a mouse (not shown). Other input devices (not shown) may include a microphone, a joystick, a game pad, a satellite dish, a scanner, or the like. These and other input devices are often connected to the processor 21 through a serial port interface (not shown), such as a game port or a universal serial bus (USB), connected to the system bus 23. A monitor (not shown) or other type of display device can also be connected to the system bus 23. In addition to the monitor, computers such as the stand-alone computer 20 typically include other peripheral output devices (not shown), such as speakers, printers, and backup devices.
  • In the preferred embodiment, a user typically interacts with the stand-alone computer 20 when the stand-alone computer 20 functions in a server capacity. In this capacity, the stand-alone computer 20 can service a remote programmable device, such as a remote computer 41, or a telephone device, such as a conventional telephone 42, each of which is logically connected to the stand-alone computer 20.
  • The remote computer 41 may be a server, a router, a peer device, or other common network node. Typically, the remote computer 41 includes many or all of the elements described relative to the stand-alone computer 20. The logical connection between the remote computer 41 and the stand-alone computer 20 depicted in FIG. 1 is a data communications network, such as a wide area network (WAN) 43. Other examples of data communications networks include enterprise-wide computer networks, intranets, or the global Internet. A communications interface, such as a network communications interface 44 in the stand-alone computer 20, links the WAN 43 and the stand-alone computer 20. However, the logical connections to the stand-alone computer 20 may also be a local area network (LAN) (not shown) that is commonplace in offices. Typically, a user of the remote computer 41 interacts with the stand-alone computer 20 via such logical connections in order to search the database 40 for information and to respond to scripted questions posed by the stand-alone computer 20.
  • The exemplary database 40 contains a plurality of records (not illustrated). Each record contains specific information. By way of explanation, reference is made to a database that includes records of classified advertising information. An example of the type of specific information that may be stored in the record of such a database is information about a restaurant. This restaurant information in a record may include the kind of cuisine served by the restaurant, the location of the restaurant, the hours of the restaurant's operation, payments methods accepted by the restaurant, and any offered amenities. The database 40 may include flat-file records, but the database also may include or be a data structure including records that may be relational tables. Further, each record may include one or more fields or tables.
  • A telephony communication interface 45 (also known as a telephony line card) connected to a conventional public switched telephone network 46 (PSTN) provides the logical connection between the stand-alone computer 20 and the conventional telephone 42. In this manner, the user may interact with the stand-alone computer 20 with voice responses via a conventional telephone 42 or other telephonic device. In the preferred embodiment, the telephony communication interface 45 is a Model Antares 2000 telephone line interface card manufactured by Dialogic Corporation of Parsippany, N.J. Both the network communications interface 44 and the telephony communication interface 45 are generally referred to as “communication interfaces” because the stand-alone computer 20 provides the service of processing data inquiries through both of these interfaces. The network and telephone connections shown are exemplary and other means of establishing a communications link between the stand-alone computer 20 and the remote computer 41 or conventional telephone 42 may be used.
  • Exemplary Operating Environment—Distributed Computer System—FIG. 2
  • In FIG. 2, a block diagram of a distributed computer system is illustrated that also provides an exemplary operating environment for an embodiment of the present invention. Referring now to FIGS. 1 and 2, the distributed computer system 200 includes a backend server 201 and one or more front end servers, such as an Internet frontend server 202 or a telephony front end server 203.
  • In this distributed computing environment, the functions performed by the stand-alone computer 20 can be broken apart and allocated amongst each of the servers 201-203. In this manner, resources can be dedicated in order to more efficiently interact with users and search the database (via the Internet front end server 202 and the telephony front end server 203) and to centralize file storage and maintenance of certain data files (via the backend server 201). The ability to break apart and allocate the functions amongst different servers is advantageous because users can rely on dedicated hardware and software for enhanced transactional processing.
  • Furthermore, the manner of providing the database 40, the index 37, and the script files 36 is simplified by providing access to these software modules from a central location. Only the software modules in the central location need be updated. From the central location, each frontend server 202-203 can then access and copy the most up-to-date software modules used when processing data inquiries. Thus, centrally maintaining these files is preferred over individually updating these software modules in each server 202-203.
  • The backend server 201 is similar to the stand-alone computer 20 from a hardware perspective. The backend server 201 has a system memory 204 and memory storage devices (such as the hard disk drive 27 and the optical disk drive 30) which are used to maintain the database 40, the index 37, and the script files 36. By maintaining the database 40, the index 37, and the script files 36 in this central location, they are easier to consistently maintain and update. The backend server 201 provides each of the frontend servers 202-203 access to these files over a conventional data network 205 (LAN, WAN, etc.) that electronically connects the backend server 201 to the frontend servers 202-203. The backend server 201 is preferably a file server for centrally maintaining and updating these files. But it is contemplated that the backend server system memory 204 may also include the IR system modules 26 in order to operate similarly to the stand-alone computer 20. In this manner, the backend server 201 may function as a peak-time frontend server when needed to assist one of the frontend computers 202-203.
  • Each of the frontend servers are similar to the stand-alone computer 20 from a hardware perspective and from a software perspective. The Internet frontend server 202 preferably includes each feature of the stand-alone computer 20, but does not need any telephony communication interfaces 45. The network communication interface 44 on the Internet frontend server 202 is used to communicate with the backend server 201. The telephony frontend server 203 essentially has the same elements as the stand-alone computer 20. Similar to the Internet frontend server 202, the network communication interface 44 on the telephony frontend server 203 is used to communicate with the backend server 201.
  • Essentially, the frontend servers 202-203 interact with users and process user's requests for information. In one situation, the remote computer 41 is configured as a remote device manipulated by the user via data entry. The remote computer 41 interacts with the Internet frontend server 202 via the WAN 43 and a service communication interface (preferably similar to the network communication interface 44) within the Internet frontend server 202. In this situation, the remote computer 41 preferably communicates with the Internet frontend server 202 using a conventional hypertext transfer protocol (HTTP). Thus, the Internet frontend server 202 preferably functions as a Web server providing the remote computer 41 with access to information within the database 40.
  • In another situation, a conventional telephone 42 or other telephonic device is the remote device manipulated by the user via voice input. The telephone 42 interacts with the telephony frontend server 202 via the PSTN 46 and a service communication interface (such as a telephony line card 45) within the telephony frontend server 203. Data inquiries from the user are processed locally by each frontend server 202-203 in a timely manner using the copied files (i.e., the copied database 210, the copied index 211, and the copied script files 212) along with the IR system modules 26.
  • Each frontend server 202-203 accesses the backend server 201 in order to make copies of the database 40, the index 37, and the script files 36 from the backend server 201. These copied files (i.e., the copied database 210, the copied index 211, and the copied script files 212) are typically maintained by the frontend servers 202-203 within a memory storage device (not shown) within each frontend server. Each of the frontend servers 202-203 have system memory 206-207 and memory storage devices (not shown) which are used to maintain the copied files and the IR system modules 26. In this manner, each frontend server 202-203 has local access to these copied files and avoids unnecessary traffic across the data network 205 when individually processing data inquiries from users interacting with the frontend servers 202-203. Thus, the frontend servers 202-203 can focus their operation on serving users by utilizing the copied files (i.e., the copied database 210, the copied index 211, and the copied script files 212) along with the IR system modules 26.
  • As discussed earlier, the preferred embodiment of the present invention is embodied in the IR system modules 26 which are designed to operate in stand-alone and distributed computing systems in conjunction with SunSoft's SOLARIS operating system. However, it should be understood that the invention can be implemented for use with other computer architectures, such as multiprocessing systems. Furthermore, it should be understood that the invention can be implemented for use with other operating systems, such as Microsoft Corporation's “WINDOWS NT” operating system, IBM Corporation's AIX operating system, and Hewlett-Packard's HP-UX operating system or RT-UX operating system.
  • From this brief description, it should be appreciated that operating systems, such as the “SOLARIS” operating system, and networking architectures are quite complex and provide a wide variety of services that allow users and programs to utilize the resources available in the computer or in other computers in a distributed computing environment. Those skilled in the art will be familiar with operating systems, networking architectures and their various features. Likewise, those skilled in the art will appreciate that the IR system modules 26 provide a wide variety of features and functions in addition to those included in the brief description presented above. Exemplary IR system modules are described below.
  • Program Modules within the Exemplary IR System—FIG. 3
  • FIG. 3 is a diagram illustrating the IR system modules 26 and their operative interrelationships in the exemplary embodiments of the present invention. Generally, the IR system modules 26 are used to process a data inquiry. More particularly, a data inquiry may be received through one of the front end modules 33 of the IR system modules 26. These front end modules 33 may include an interactive voice response (IVR) 205, a recognizer module 210, a data front end 215, or other front end module as appropriate. At the appropriate front end module 33, the data inquiry may receive some formatting or other processing prior to being further transmitted to the IR system module referred to as the middleware routing architecture (MRA) 38. The MRA 38 is used to process a data inquiry by adaptively routing the data inquiry from one of the front end modules 33 to the search engine module 39. As illustrated in FIG. 3, the MRA 38 includes a variety of interactive software modules including a router library 240, a router engine 230, a registration table 235, and an exemplary module queue 245. Each of these modules provides connecting or routing services within the IR system 26. The MRA 38 also contains a randomization module 100 as is explained in further detail below.
  • As noted above, the MRA 38 is used to process a data inquiry by routing the data inquiry to the search engine module 39, which in turn provides the data inquiry to the search engine for a search of the records of the database. After the database has been searched, the search results are returned from the search engine module 39 to the MRA 38 wherein processing of the search results may take place as is described below. This processing may include the arrangement of the records of the search results into ordered records. After this processing of the search results takes place, the search results are generally transmitted from the MRA 38 to the delivery modules 34 of the IR system modules 26. These delivery modules may include a text-to-speech (TTS) module 220, a fax module 225, or other delivery module.
  • Randomization Module
  • As noted, after the search results are returned from the search engine module 39, the search results are received in the MRA 38, wherein the records in the search results may be arranged into ordered records. Of course, the search results do not have to be arranged into ordered records. This is a selectable feature and method that may be implemented based on a variety of factors. The processes carried out with respect to the arrangement of records into ordered records are generally carried out in the MRA 38 by the randomization module 100, which is called as necessary or appropriate by the other modules of the MRA 38. Generally, upon receipt of search results in the MRA 38, the router engine 230 may check with or call the randomization module 100 and/or the router library 240 for information or to handle the record arrangement processes. While the randomization module 100 may handle the arrangement processes, the router library 240 may be used by the randomization module 100 (and other modules) to check for information as to whether to arrange the records of any particular set of search results, and further, as to whether to arrange the records into a particular type of ordered records. Additional information regarding these processes is provided in progressively greater detail below.
  • Pursuant to an exemplary embodiment, after receipt of the search results in the MRA 38, a determination as to whether to arrange the records of the search results into ordered records is made in the MRA 38. This determination is made through the exchange of information necessary for such a determination among the modules of the MRA 38, and in particular, the randomization module 100 and the router library 240. A further determination as to whether to arrange the records into a certain type of ordered records may be made in the MRA 38 as a separate determination or as part of the above-mentioned determination as to whether to arrange the records into ordered records. The determination with respect to the type of ordered records also may be made through the aforementioned information exchange between the randomization module 100 and the router library 240, through an additional information exchange between these elements, or in any other manner as will be known to those skilled in the art. Additional details regarding these determinations and information exchanges are provided below in connection with the examples of the exemplary embodiments.
  • Further, the determinations as to whether to arrange the records of the search results into ordered records and the type of ordered records for the arrangement may be based on a variety of selectable factors. These factors may include arrangement of records into ordered records based on: (1) an automatic response to the receipt of any search results that the records thereof be arranged into ordered records; (2) the destination of the search results such as the data frontend 215; (3) an association of one or more of the records in the search results with a particular characteristic such as the association of a record with a client or other entity; (4) a status of one or more of the records in the search results as a preferred record; (5) the frequency or number of times that a record or records have appeared in other search results; or (6) a weighting factor assigned to one or more of the records in the search results.
  • The determinations as to whether to arrange the records of the search results into ordered records and the type of ordered records for the arrangement may be based any one of these aforementioned factors or on a combination of these factors as appropriate. In addition, these determinations may be different and based on different factors with respect to each set of search results received in the MRA 38.
  • Further, the router library 240 may be provided with information so that the determinations with respect to a set of search results as to whether to arrange the records of the search results into ordered records and the type of ordered records for the arrangement may be carried out based on the selectable factors. Thus, the router library 240 may store, relate and provide information, as appropriate, with respect to records, search results, destinations, frequency scales, weighting factors or status, characteristics or factors of records, search results, clients or other entities. Additional details regarding these determinations and the factors for the basis thereof are provided below in connection with the examples of the exemplary embodiments (FIGS. 5A-5D).
  • Summary of Exemplary Method Steps—FIG. 4
  • FIG. 4 is a flow diagram illustrating an exemplary method of the present invention for the arrangement of the records into ordered records in the search results. The method is entered at start step 400, and proceeds to step 402 wherein search results including records are received. As explained above, generally a set of search results is received in the MRA 38 after a search of a database 40 has been conducted. After the search results are received, then in step 404 a determination is made as to whether to order the records into ordered records. As also explained above, this determination is generally carried out in the MRA 38 through an exchange of information between the appropriate modules such as the router engine, 230, the router library 240 and the randomization module 100. A check is made in step 406 as to whether the determination regarding ordering the records is positive or negative. Additional information regarding this determination step is provided through the examples of exemplary embodiments discussed below in connection with FIGS. 5A-5D. If the determination in step 406 is negative, then in step 408, the method provides the search results with the records in no order in response to the data inquiry. In other words, this branch of the method does not provide for any arrangement of the records into ordered records after receipt of the search results from the database search. The search results with the records in no order are provided generally to the appropriate destination as may be determined by the MRA 38 based on information associated with the search results. Thus, the search results with the records in no order may be provided to any of the delivery modules such as the TTS 220, the FAX 225, or other such module. This branch of the method then ends in step 410.
  • Still referring to FIG. 4, it was noted above that a check is made in step 406 as to whether the determination regarding ordering the records is positive or negative. If the determination is positive, then in step 412, the records of the search results are arranged into ordered records. The term “ordered records” is used to describe the arrangement of the records of the search results into a set having a particular order for presentation of the records to the user in response to the data inquiry. In the exemplary system, a user is generally presented with the records of the data inquiry in serial fashion so that a particular record is heard, viewed or otherwise received first or before other records of the search results. Additional information regarding this arrangement step is provided through the examples of exemplary embodiments discussed below in connection with FIGS. 5A-5D. After the records are arranged into ordered records in step 412, then in step 414 the search results with the ordered records are provided in response to the data inquiry of the database. Generally, the search results are provided to the appropriate destination as may be determined by the MRA 38 based on information associated with the search results. Thus, the search results with ordered records may be provided to any of the delivery modules such as the TTS 220, the FAX 225, or other such module. This branch of the method then ends in step 410.
  • Alternative Methods Steps—FIG. 5
  • As noted in the discussion of the exemplary method illustrated in FIG. 4, after the search results are received, a determination is made as to whether to arrange the records into ordered records. Generally stated, this determination may be an automatic positive determination to arrange records in all search results into ordered records. An automatic determination also may apply with respect to the type of ordered records into which the records are to be arranged. For example, the method may provide that the records of all received search results are to be arranged into ordered records, and that the records of all search results be arranged into a particular type of ordered records. On the other hand, the method may provide that records in all search results be arranged into ordered records, but further provide that the type of ordered records may depend on the particular search results. In other words, by this method, the type of ordered records may vary on a case by case basis. This determination of a type of ordered records may be based on characteristics of the particular set of search results. Thus, the method may provide that the records of all received search results be arranged into ordered records, but that the records of any particular set of search results be arranged into a type of ordered records based on characteristics associated with that particular set of search results.
  • Alternatively, the determination as to whether to arrange the records of search results into ordered records may be a selectively positive determination in that such a determination is based on characteristics associated with the search results. This selectively positive determination may be made based on one or more of a variety of characteristics or factors of the search results such as the destination of the search results, an association of one or more of the records in the search results with a particular characteristic such as the association of a record with a client or other entity, status of one or more of the records in the search results as a preferred record, the frequency or number of times that a record or records have appeared in other search results, or a weighting factor assigned to one or more of the records in the search results. These characteristics or factors are discussed in greater detail below in connection with the exemplary methods described together with FIGS. 5A-5D.
  • Further, after a positive determination with respect to arranging the records of a particular set of search results has been made, then a farther determination may be made as to the type of ordered records for the arrangement. This may be an automatic positive determination that follows on a selective positive determination with respect to arranging the records of a particular set of search results into ordered records. In other words, once it has been determined that a particular set of search results is to have ordered records based on some characteristic of the search results (rather than an automatic positive determination), then an automatic selection of the type of ordered records may be made. For example, assume that a particular set of search results is to have ordered records. The method may provide that in all cases that such a determination is positively made, the records then be arranged in a particular type of ordered records.
  • The method also may provide that the determination as to the type of ordered records for a particular set of search results be made on a case by case basis, rather than be an automatic selection of type of ordered records. This determination as to the type of ordered records may be made based on a variety of characteristics or factors of the search results such as the characteristics and factors mentioned above in connection with the determination as to whether records of search results are to be arranged into ordered records. These characteristics or factors may include the destination of the search results, an association of one or more of the records in the search results with a particular characteristic such as the association of a record with a client or other entity, status of one or more of the records in the search results as a preferred record, the frequency or number of times that a record or records have appeared in other search results, or a weighting factor assigned to one or more of the records in the search results.
  • Generally, the types of ordered records include: an alphabetical order of records, a preferred order of records based on the preferred status of one or more records over other records, a least frequent first order of records, a most frequency first order of records, a highest weighting factor first order, or a lowest weighting factor first or combinations thereof.
  • Referring to FIGS. 5A-5D, exemplary embodiments of the present invention are described with respect to the determination steps as to whether records of search results are to be ordered records, and if so, what type or combination of ordered records are to be arranged.
  • Destination Determination—FIG. 5A
  • FIG. 5A is a flow diagram illustrating determination steps in the case of a determination made on the basis of the destination of a particular set of search results. The steps of this flow diagram, steps 502 and 504, follow on from step 406 of FIG. 4 (“Order records?”). In step 502, a destination determination is made for the search results, and then in step 504 the records are arranged in destination order. After step 504, the method progresses to step 414 of FIG. 4 (“Provide search results . . . ”). In the preferred embodiment, these steps 502, 504 are executed in the MRA 38. Generally, the MRA 38, and in particular, the randomization module 100 and the router library 240 may include information and instructions for the arrangement of records in search results into ordered records based on the destination of the search results. The randomization module 100 may store information relating a possible destination for search results with instructions for the arrangement of records in the search results destined for this destination into ordered records that are arranged in a destination order. The destination order of records may be common to a plurality of destinations, or the destination order maybe unique to a particular destination.
  • As a further illustration of this destination determination example, assume that the search results are destined for a user who is awaiting a response via his or her telephone. In this case, the search results are to be routed from the MRA 38 to the TTS delivery module 220. With the TTS delivery module 220 as the destination of the search results, it may be preferred that the records of the search results be delivered as ordered records rather than non-ordered (“no order”) records. Thus, a check by the randomization module 100 results in the determination that the records of these search results be delivered as ordered records, and in particular, that the records be arranged in destination order. This destination order may require that the records be arranged in alphabetical or other order based on some characteristic of the individual records. Alternatively, this destination order may require that additional steps in the method be performed. For example, the records of the search results may need to be checked to determine whether a record of the search results is a preferred record. If so, then the records of the search results may be listed in a preferred order which includes listing a preferred record or records before other records in the search results. As another alternative, this destination order may be a least frequency first (LFF) order as is explained below in connection with FIG. 5C. In that case, the method steps illustrated in FIG. 5A may be followed by the method steps illustrated in FIG. 5C and described below. As yet another alternative, this destination order may be a highest weighting factor first (HWFF) order as is explained below in connection with FIG. 5D. In that case, the method steps illustrated in FIG. 5A may be followed by the method steps illustrated in FIG. 5C and described below.
  • Marketing Determination—FIG. 5B
  • FIG. 5B is a flow diagram illustrating determination steps in the case of a determination made on the basis of characteristics or factors of records that are referred to herein as marketing characteristics. The steps of this flow diagram, steps 506 and 508, follow on from step 406 of FIG. 4 (“Order records?”). In step 506, a marketing determination is made for the search results, and then in step 508 the records are arranged in a preferred order. After step 508, the method progresses to step 414 of FIG. 4 (“Provide search results . . . ”). In the preferred embodiment, these steps 506, 508 are executed in the MRA 38. Generally, the MRA 38, and in particular, the randomization module 100 may include information and instructions for the arrangement of records in search results into ordered records based on the association of one or more of the records with a marketing characteristic or characteristics such as an association of a record with a particular client or with a particular user. The randomization module 100 may store information relating a marketing characteristic of a record or search results with instructions for the arrangement of records in the search results associated with this characteristic into ordered records that are arranged in a preferred order.
  • The preferred order of records may be common to a plurality of marketing characteristics, or the preferred order may be unique to a particular marketing characteristic. The preferred order may require that the records be arranged in an order whereby one or more records are ordered ahead of other records in the search results. This order may be determined based on the association or lack thereof of the marketing characteristic(s) with one or more of the records. Alternatively, this preferred order may require that additional steps in the method be performed. For example, the records of the search results may need to be checked to determine whether a record of the search results is a preferred record. If so, then the records of the search results may be listed in a preferred order which includes listing a preferred record or records before other records in the search results.
  • As a further illustration of this marketing determination example, assume that a particular client is a classified advertiser that has paid a premium for the presentation of its information in an advantageous position in search results. In this case, the client definitely prefers that the records of the search results be delivered as ordered records rather than non-ordered records. Moreover, the client prefers that its records be delivered in an advantageous position in the search results. Many clients consider the first record position to be most the advantageous position in the order of records in search results. Thus, this client may specify that its records be associated with a marketing characteristic that results in the records being arranged in advantageous positions in ordered records in search results.
  • Frequency Determination—FIG. 5C
  • FIG. 5C is a flow diagram illustrating determination steps made on the basis of frequency characteristics or factors of records. The steps of this flow diagram, steps 510 and 512, follow on from step 406 of FIG. 4 (“Order records?”). In step 510, a frequency determination is made for the search results, and then in step 512 the records are arranged in a least frequency first (LFF) order. After step 512, the method progresses to step 414 of FIG. 4 (“Provide search results . . . ”). In the preferred embodiment, these steps 510, 512 are executed in the MRA 38. Generally, the MRA 38, and in particular, the randomization module 100 may include information and instructions for the arrangement of records in search results into ordered records based on the association of one or more of the records with a frequency characteristic or characteristics. These frequency characteristics may include the frequency or number of times that a record or records have appeared in other search results. To execute this frequency determination, the randomization module 100 keep track of the number of times that any particular record is included in search results. The randomization module 100 may store information relating a frequency characteristic of a record or search results with instructions for the arrangement of records in the search results associated with this characteristic into ordered records that are arranged in a least frequent first (LFF) or other order. The LFF order generally provides that the least frequent (LF) record is listed before other records in the search results. The LF record is a record of the search results that has been included in other search results less often than any other record of the search results;
  • The LFF order of records may be common to a plurality of frequency characteristics, or the preferred order may be unique to a particular frequency characteristic. The LFF order may require that the records be arranged in an order whereby one or more records are ordered ahead of other records in the search results. This order may be determined based on the association or lack thereof of the frequency characteristic(s) with one or more of the records. Alternatively, this preferred order may require that additional steps in the method be performed. For example, the records of the search results may need to be checked to determine whether a record of the search results is an LF record. If so, then the records of the search results may be listed in an LFF order which includes listing an LF record or records before other records in the search results.
  • Yet additional steps may be performed to order all of the records within a set of search results into ordered records based on the frequency characteristic of each record with respect to each other record in the search results. This frequency characteristic may be thought of as the number that is associated with a record and that reflects the number of times that the record has appeared in other search results. Thus, pursuant to these additional steps, the records may be arranged into ordered records based on the number of times that the records have appeared in other search results. The record with the lowest number or frequency characteristic may be listed first (or most advantageously), the record with the next lowest number or frequency characteristic may be listed second (or second most advantageously), etc.
  • As a further illustration of this frequency determination example, assume that a particular client is a classified advertiser that has paid a premium for the presentation of its information in an advantageous position in search results. In this case, the client definitely prefers that the records of the search results be delivered as ordered records rather than non-ordered records. Moreover, the client prefers that its records be delivered at least as often as other records and that the client's records hold an advantageous position in the search results. Many clients consider the first record position to be the most advantageous position in the order of records in search results. It is assumed that if the user is satisfied with the first record of the search results, then the user may not review the remainder of the records in the search results. Thus, the client may specify that its records be associated with a frequency characteristic that results in the client's records being arranged in advantageous positions in ordered records in search results.
  • To further illustrate this frequency example, consider that a particular record may have been provided to a user as part of other search results that had been previously processed through the MRA 38. Because this record had been previously provided in search results, this previously provided record may be arranged in a less advantageous position or order in the search results under processing. By this arrangement, the available records in search results responsive to a particular data inquiry are rotated so that no particular record is provided with a repetitive advantageous position or order.
  • It will be appreciated that the above described frequency determination ordered the records based on least frequency of appearance of records in other search results. This frequency determination may also be used in an analogous fashion, but based on most frequency of appearance of records in other search results. In other words, a type of ordered records may include records that are ordered such that the most frequently appearing record in other search results appears first in a particular set of search results, the second most frequently appearing record appears second, etc. A most frequent first (MFF) order may be useful in certain contexts such as the delivery of search results with the most popular records listed first or in preferred order over other records. In addition, it is explained above in connection with FIG. 5A that the LFF (or analogous) order methods may be used in connection with the destination order described above.
  • Weighting Factor Determination—FIG. 5D
  • FIG. 5D is a flow diagram illustrating determination steps in the case of a determination made on the basis of characteristics or factors of records that are referred to herein as weighting factors. The steps of this flow diagram, steps 514 and 516, follow on from step 406 of FIG. 4 (“Order records?”). In step 514, a weighting factor determination is made for the search results, and then in step 516 the records are arranged in a highest weighting factor first (HWFF) order. After step 516, the method progresses to step 414 of FIG. 4 (“Provide search results . . . ”). Alternatively, rather than a weighting factor being as ascribed to or determined for each record of the search results, the weighting factor may be ascribed to or determined to only one or a selected number of records.
  • Referring again to FIG. 5D, in the preferred embodiment, these steps 514, 516 are executed in the MRA 38. Generally, the MRA 38, and in particular, the randomization module 100 and the router library 240 may include information and instructions for the arrangement of records in search results into ordered records based on the association of one or more of the records with a weighting factor or factors. These weighting factors may be based on any feature or element that may serve as the basis of the calculation and ascription of a weighting factor to records such as returned in search results. For example, a weighting factor may be ascribed to or determined for a particular record based on a ratio of the frequency or number of times that the record has appeared in other search results over a time period. The time period may be selected and resetted as appropriate. In this manner, the particular record may be better assured of appearing in an advantageous position in search results more often, on a regular basis, or at least in during a particular time period.
  • To execute this weighting factor determination, the randomization module 100 may keep track of the weighting factor of any particular record. The randomization module 100 may store information relating a weighting factor of a record or search results with instructions for the arrangement of records in the search results associated with this characteristic into ordered records that are arranged in a highest weighting factor first (HWFF) or other order. The HWFF order generally provides that a highest weighting factor (HWF) record is listed before other records in the search results. The HWF record is a record of the search results that has a higher weighting factor than any other record of the search results.
  • The HWFF order of records may be common to a plurality of weighting factors, or the preferred order may be unique to a particular weighting factor. The HWFF order may require that the records be arranged in an order whereby one or more records, is ordered ahead of or before other records in the search results. This order may be determined based on the association or lack thereof of a weighting factor with one or more of the records. Alternatively, this preferred order may require that additional steps in the method be performed. For example, the records of the search results may need to be checked to determine whether a record of the search results has a highest weighting factor. If so, then the records of the search results may be listed in an HWFF order which includes listing an HWF record or records before other records in the search results.
  • Yet additional steps may be performed to order all of the records within a set of search results into ordered records based on the weighting factor of each record with respect to each other record in the search results. The record with the highest weighting factor may be listed first (or most advantageously), the record with the next highest weighting factor may be listed second (or second most advantageously), etc.
  • As a further illustration of this weighting factor determination example, assume that a particular client is a classified advertiser that has paid a premium for the presentation of its information in an advantageous position in search results. In this case, the client definitely prefers that the records of the search results be delivered as ordered records rather than non-ordered records. Moreover, the client prefers that its records be delivered at least as often as other records and that the client's records hold an advantageous position in the search results. Thus, this client's records may be associated with a weighting factor that results in the client's records being arranged in advantageous positions in ordered records in search results.
  • To further illustrate this example, consider that the records of a set of particular search results are each assigned a weighting factor. Such a weighting factor may be assigned to a record for any number of reasons. For example, a client such as a classified advertiser may have paid a high premium for a high weighting factor assigned to one of its records. Another client may have paid a medium premium for a medium weighting factor assigned to one of its records. By these weighting factors, the record of the client with the high weighting factor may be arranged into a more advantageous position or order in the search results than the record of the client with the medium weighting factor. As a result, the user generally hears or views the record of the client that paid the high premium for the high weighting factor before the user hears or views the record of the client that paid the medium premium for the medium weighting factor.
  • As another example, a particular weighting factor may be assigned to a particular record based on factors or characteristics associated with the data inquiry that initiated the search of the database and resulted in the search results. For example, a particular weighting factor may be assigned to a particular record based on the time of day of the data inquiry that resulted in the search results. To illustrate this example, assume that statistics demonstrate that short records in search results are preferred by users in response to data inquiries that are initiated in the evenings. Perhaps users have a shorter attention span in the evenings. Thus, a high weighting factor may be assigned to a short record in search results that are returned in response to a data inquiry that was initiated in the evening. Based on the highest weighting factor first order of records, the short record appears in an advantageous position in the search results. The user is satisfied because he or she was provided with search results that took into account the user's preferences for short records. Customer satisfaction is a high priority among service providers of information retrieval systems.
  • The above described weighting factor determination ordered the records based on highest weighting factor of records in search results. This weighting factor determination also may be used in an analogous fashion but based on lowest weighting factor of records in search results. In other words, a type of ordered records may include records that are ordered such that the record having the lowest weighting factor in the search results appears first in a particular set of search results, the record having the second lowest weighting factor appears second, etc. A lowest weighting factor first (LWFF) order may be useful in certain contexts. In addition, it is explained above in connection with FIG. 5A that the HWFF order method may be used in connection with the destination order described above.
  • CONCLUSION
  • Advantageously, the present invention provides several different exemplary methods for arranging records into ordered records to be included in the search results provided in response to a data inquiry of a database. With this variety of methods for arranging records, the service provider benefits by retaining tactical and strategic input with respect to the provision of such search results in response data inquiries. By this invention, the service provider may benefit by being able to provide additional services or features with respect to information retrieval. These additional services or features may provide the service provider with competitive advantages over other service providers of information. In particular, these additional services or features may serve to retain or attract clients as well as users to the service provider.
  • The exemplary embodiments of the present invention have been described with reference to information retrieval systems, and in particular, with reference to a database of classified advertising information. Nonetheless, the principles of the present invention may be applied to any tasks or processes that retrieve elements of information such as records from whatever source and that transmit these elements of information to users or other entities. As part of these general retrieval and transmission processes, the principles of the present invention may be applied. Accordingly, the scope of the present invention should be defined only by the following claims rather than the foregoing description.

Claims (16)

1-23. (canceled)
24. A method for an information retrieval service to charge a client for including information records of the client in one or more search results provided to one or more users of the information retrieval service, the method comprising:
charging the client based at least in part on the location within the one or more search results in which the information records of the client are placed.
25. The method of claim 24, wherein the amount charged to the client increases the closer to the beginning of the one or more search results the information records of the client are located.
26. The method of claim 24, wherein a search result weighting factor is assigned to the information records of the client based on the amount charged to the client.
27. The method of claim 26, wherein at least some of the information records assigned the weighting factor are advertisements.
28. A method of providing information by a search service provider comprising:
accepting an information record and a premium level associated with the information record, from a client; and
determining the frequency with which the information record is provided as part of a plurality of search results generated by the search service provider based upon the premium level that is associated with the information record.
29. The method of claim 28, wherein the information record is an advertisement.
30-45. (canceled)
46. A method for implementing an information retrieval service, the method comprising:
compiling a database of information records, wherein at least some of the information records in the database are provided by a plurality of clients;
charging at least some of the plurality of clients;
accepting a search request from a user of the information retrieval service;
searching the database of information records to compile a search result that contains information records responsive to the search request;
determining if any of the information records in the search result comprise preferred records;
rearranging the order of the information records in the search result to place at least one of the preferred records before the other information records in the search result; and
providing the ordered search results to the user.
47. The method of claim 46, wherein one of the preferred records is placed in the first position in the ordered search result.
48. The method of claim 46, wherein charging at least some of the plurality of clients comprises charging at least some advertisers for including their information records in the information database.
49. The method of claim 46, wherein the search request from the user is provided over the Internet.
50. The method of claim 46, wherein the database of information records comprises a distributed database of information records.
51. The method of claim 46, wherein a search engine performs the search of the database of information records.
52-57. (canceled)
58. A method for implementing an information retrieval service, the method comprising:
compiling a database of information records, wherein at least some of the information records in the database are provided by a plurality of clients;
charging at least some of the plurality of clients;
accepting a search request via a voice input from a user of the information retrieval service;
searching the database of information records to compile a search result that contains information records responsive to the search request;
arranging an order of at least some of the information records in the search result such that records obtained from clients that were charged are located in more favorable positions in the ordered search results; and
providing the ordered search results to the user.
US11/219,505 1997-09-03 2005-09-02 Arranging records in a search result to be provided in response to a data inquiry of a database Abandoned US20060095418A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/219,505 US20060095418A1 (en) 1997-09-03 2005-09-02 Arranging records in a search result to be provided in response to a data inquiry of a database

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/922,620 US6415281B1 (en) 1997-09-03 1997-09-03 Arranging records in a search result to be provided in response to a data inquiry of a database
US10/882,125 USRE41071E1 (en) 1997-09-03 2004-06-30 Arranging records in a search result to be provided in response to a data inquiry of a database
US11/219,505 US20060095418A1 (en) 1997-09-03 2005-09-02 Arranging records in a search result to be provided in response to a data inquiry of a database

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/882,125 Division USRE41071E1 (en) 1997-09-03 2004-06-30 Arranging records in a search result to be provided in response to a data inquiry of a database

Publications (1)

Publication Number Publication Date
US20060095418A1 true US20060095418A1 (en) 2006-05-04

Family

ID=25447340

Family Applications (4)

Application Number Title Priority Date Filing Date
US08/922,620 Ceased US6415281B1 (en) 1997-09-03 1997-09-03 Arranging records in a search result to be provided in response to a data inquiry of a database
US10/882,125 Expired - Lifetime USRE41071E1 (en) 1997-09-03 2004-06-30 Arranging records in a search result to be provided in response to a data inquiry of a database
US11/219,545 Abandoned US20060095419A1 (en) 1997-09-03 2005-09-02 Arranging records in a search result to be provided in response to a data inquiry of a database
US11/219,505 Abandoned US20060095418A1 (en) 1997-09-03 2005-09-02 Arranging records in a search result to be provided in response to a data inquiry of a database

Family Applications Before (3)

Application Number Title Priority Date Filing Date
US08/922,620 Ceased US6415281B1 (en) 1997-09-03 1997-09-03 Arranging records in a search result to be provided in response to a data inquiry of a database
US10/882,125 Expired - Lifetime USRE41071E1 (en) 1997-09-03 2004-06-30 Arranging records in a search result to be provided in response to a data inquiry of a database
US11/219,545 Abandoned US20060095419A1 (en) 1997-09-03 2005-09-02 Arranging records in a search result to be provided in response to a data inquiry of a database

Country Status (5)

Country Link
US (4) US6415281B1 (en)
EP (1) EP1019845A2 (en)
AU (1) AU8906598A (en)
CA (1) CA2302774C (en)
WO (1) WO1999012106A2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060173915A1 (en) * 2004-11-29 2006-08-03 Kliger Scott A Telephone search supported by advertising based on past history of requests
US20070274476A1 (en) * 2002-05-31 2007-11-29 Scott Wolmuth Toll-free directory assistance with automatic selection of an advertisement from a category
WO2009042148A1 (en) * 2007-09-24 2009-04-02 Jingle Networks, Inc. Ordering directory assistance search results by local popularity of search results
US9265458B2 (en) 2012-12-04 2016-02-23 Sync-Think, Inc. Application of smooth pursuit cognitive testing paradigms to clinical drug development
US9380976B2 (en) 2013-03-11 2016-07-05 Sync-Think, Inc. Optical neuroinformatics

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6145000A (en) 1998-10-06 2000-11-07 Ameritech Corporation System and method for creating and navigating a linear hypermedia resource program
US6569206B1 (en) * 1999-10-29 2003-05-27 Verizon Laboratories Inc. Facilitation of hypervideo by automatic IR techniques in response to user requests
US6996775B1 (en) * 1999-10-29 2006-02-07 Verizon Laboratories Inc. Hypervideo: information retrieval using time-related multimedia:
US6757866B1 (en) 1999-10-29 2004-06-29 Verizon Laboratories Inc. Hyper video: information retrieval using text from multimedia
DE19957828A1 (en) * 1999-11-25 2001-05-31 Michael Hauck Process for displaying graphics
US6564208B1 (en) * 2000-02-24 2003-05-13 Inktomi Corporation Delivering non-default items in association with search results
US7062279B2 (en) 2000-06-22 2006-06-13 Openwave Systems Inc. Anonymous positioning of a wireless unit for data network location-based services
EP1307803A2 (en) * 2000-07-28 2003-05-07 Koninklijke Philips Electronics N.V. System for browsing a collection of information units
US7401125B1 (en) * 2000-10-10 2008-07-15 Ricoh Corporation System, computer program product and method for managing documents
GB0026353D0 (en) * 2000-10-27 2000-12-13 Canon Kk Apparatus and a method for facilitating searching
JP2002175316A (en) * 2000-12-07 2002-06-21 Sanyo Electric Co Ltd Device and system for assisting user
DE10118038A1 (en) * 2001-04-11 2002-10-17 Philips Corp Intellectual Pty Method for operating an automatic telephone information system
DE60129942T2 (en) * 2001-06-18 2008-04-17 Hewlett-Packard Development Co., L.P., Houston Method and system for identifying devices connected via a network, e.g. Personal computer
US20090006543A1 (en) * 2001-08-20 2009-01-01 Masterobjects System and method for asynchronous retrieval of information based on incremental user input
US6728704B2 (en) * 2001-08-27 2004-04-27 Verity, Inc. Method and apparatus for merging result lists from multiple search engines
US20030216930A1 (en) * 2002-05-16 2003-11-20 Dunham Carl A. Cost-per-action search engine system, method and apparatus
US7254642B2 (en) * 2003-01-30 2007-08-07 International Business Machines Corporation Method and apparatus for local IP address translation
US20050015307A1 (en) * 2003-04-28 2005-01-20 Simpson Todd Garrett Method and system of providing location sensitive business information to customers
US7403939B1 (en) * 2003-05-30 2008-07-22 Aol Llc Resolving queries based on automatic determination of requestor geographic location
US7467131B1 (en) * 2003-09-30 2008-12-16 Google Inc. Method and system for query data caching and optimization in a search engine system
US20050166149A1 (en) * 2004-01-23 2005-07-28 Microsoft Corporation Table of contents display
WO2005076588A1 (en) * 2004-02-10 2005-08-18 Call Genie Inc. Method and system of providing personal and business information
US7359893B2 (en) 2004-03-31 2008-04-15 Yahoo! Inc. Delivering items based on links to resources associated with search results
US20060010108A1 (en) * 2004-07-12 2006-01-12 Greenberg Joel K Method and system for collecting and posting local advertising to a site accessible via a computer network
JP2008511052A (en) * 2004-08-20 2008-04-10 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Real-time response in distributed networks
US20090198693A1 (en) * 2005-01-18 2009-08-06 Richard Alexander Stephen Pura Method and apparatus for ordering items within datasets
US8150846B2 (en) 2005-02-17 2012-04-03 Microsoft Corporation Content searching and configuration of search results
US20060277273A1 (en) * 2005-06-07 2006-12-07 Hawkins William L Online travel system
US8122070B1 (en) * 2005-12-29 2012-02-21 United States Automobile Association (USAA) Document management system user interfaces
US8065698B2 (en) * 2006-03-08 2011-11-22 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for obtaining consumer information over a communications network
US8458146B2 (en) * 2008-09-11 2013-06-04 International Business Machines Corporation Accessing data remotely
US9378515B1 (en) 2009-01-09 2016-06-28 Twc Patent Trust Llt Proximity and time based content downloader
US11841912B2 (en) 2011-05-01 2023-12-12 Twittle Search Limited Liability Company System for applying natural language processing and inputs of a group of users to infer commonly desired search results
US8326862B2 (en) * 2011-05-01 2012-12-04 Alan Mark Reznik Systems and methods for facilitating enhancements to search engine results
US9652508B1 (en) * 2014-03-05 2017-05-16 Google Inc. Device specific adjustment based on resource utilities
US11036802B2 (en) 2019-08-05 2021-06-15 Morgan Stanley Services Group Inc. Classification rules engine and API generator

Citations (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4611310A (en) * 1982-08-23 1986-09-09 Canevari Timber Co. Method and system for rearranging data records in accordance with keyfield values
US4972349A (en) * 1986-12-04 1990-11-20 Kleinberger Paul J Information retrieval system and method
US5068888A (en) * 1989-08-11 1991-11-26 Afd Systems, Inc. Interactive facsimile information retrieval system and method
US5206949A (en) * 1986-09-19 1993-04-27 Nancy P. Cochran Database search and record retrieval system which continuously displays category names during scrolling and selection of individually displayed search terms
US5303361A (en) * 1989-01-18 1994-04-12 Lotus Development Corporation Search and retrieval system
US5542089A (en) * 1994-07-26 1996-07-30 International Business Machines Corporation Method and apparatus for estimating the number of occurrences of frequent values in a data set
US5544352A (en) * 1993-06-14 1996-08-06 Libertech, Inc. Method and apparatus for indexing, searching and displaying data
US5636346A (en) * 1994-05-09 1997-06-03 The Electronic Address, Inc. Method and system for selectively targeting advertisements and programming
US5642502A (en) * 1994-12-06 1997-06-24 University Of Central Florida Method and system for searching for relevant documents from a text database collection, using statistical ranking, relevancy feedback and small pieces of text
US5649742A (en) * 1996-07-23 1997-07-22 Liu; Clement Leg assembly for chairs
US5659732A (en) * 1995-05-17 1997-08-19 Infoseek Corporation Document retrieval over networks wherein ranking and relevance scores are computed at the client for multiple database documents
US5675788A (en) * 1995-09-15 1997-10-07 Infonautics Corp. Method and apparatus for generating a composite document on a selected topic from a plurality of information sources
US5721897A (en) * 1996-04-09 1998-02-24 Rubinstein; Seymour I. Browse by prompted keyword phrases with an improved user interface
US5727201A (en) * 1993-06-04 1998-03-10 Phonelink Plc Online data retrieval system
US5727129A (en) * 1996-06-04 1998-03-10 International Business Machines Corporation Network system for profiling and actively facilitating user activities
US5742816A (en) * 1995-09-15 1998-04-21 Infonautics Corporation Method and apparatus for identifying textual documents and multi-mediafiles corresponding to a search topic
US5850433A (en) * 1996-05-01 1998-12-15 Sprint Communication Co. L.P. System and method for providing an on-line directory service
US5850520A (en) * 1996-07-01 1998-12-15 Electronic Data Systems Corporation Method and system for electronic publication distribution including return receipt
US5852826A (en) * 1996-01-26 1998-12-22 Sequent Computer Systems, Inc. Parallel merge sort method and apparatus
US5855015A (en) * 1995-03-20 1998-12-29 Interval Research Corporation System and method for retrieval of hyperlinked information resources
US5870740A (en) * 1996-09-30 1999-02-09 Apple Computer, Inc. System and method for improving the ranking of information retrieval results for short queries
US5878410A (en) * 1996-09-13 1999-03-02 Microsoft Corporation File system sort order indexes
US5895470A (en) * 1997-04-09 1999-04-20 Xerox Corporation System for categorizing documents in a linked collection of documents
US5948061A (en) * 1996-10-29 1999-09-07 Double Click, Inc. Method of delivery, targeting, and measuring advertising over networks
US5966126A (en) * 1996-12-23 1999-10-12 Szabo; Andrew J. Graphic user interface for database system
US5974398A (en) * 1997-04-11 1999-10-26 At&T Corp. Method and apparatus enabling valuation of user access of advertising carried by interactive information and entertainment services
US5978773A (en) * 1995-06-20 1999-11-02 Neomedia Technologies, Inc. System and method for using an ordinary article of commerce to access a remote computer
US6006218A (en) * 1997-02-28 1999-12-21 Microsoft Methods and apparatus for retrieving and/or processing retrieved information as a function of a user's estimated knowledge
US6026371A (en) * 1997-11-25 2000-02-15 International Business Machines Corp. Method and apparatus for allowing online directory producers to preview advertisement in online directory listings
US6137908A (en) * 1994-06-29 2000-10-24 Microsoft Corporation Handwriting recognition system simultaneously considering shape and context information
US6272535B1 (en) * 1996-01-31 2001-08-07 Canon Kabushiki Kaisha System for enabling access to a body of information based on a credit value, and system for allocating fees
US6317741B1 (en) * 1996-08-09 2001-11-13 Altavista Company Technique for ranking records of a database
US6557054B2 (en) * 1994-05-31 2003-04-29 Richard R. Reisman Method and system for distributing updates by presenting directory of software available for user installation that is not already installed on user station
US6738978B1 (en) * 1992-12-09 2004-05-18 Discovery Communications, Inc. Method and apparatus for targeted advertising

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3134204B2 (en) 1991-07-19 2001-02-13 株式会社日立製作所 Information search terminal device and information display / input / output method in information search terminal device
AU2107595A (en) 1994-04-04 1995-10-23 Numetrix Laboratories Limited Graphically controlled method and system for data integration
US5948040A (en) * 1994-06-24 1999-09-07 Delorme Publishing Co. Travel reservation information and planning system
JP4332224B2 (en) 1995-05-30 2009-09-16 ソニー株式会社 Information receiving apparatus and method
JP3713690B2 (en) 1995-08-08 2005-11-09 ソニー株式会社 Information providing system, terminal, and information processing method
US5659742A (en) * 1995-09-15 1997-08-19 Infonautics Corporation Method for storing multi-media information in an information retrieval system
US5794210A (en) * 1995-12-11 1998-08-11 Cybergold, Inc. Attention brokerage
WO1997022066A1 (en) 1995-12-15 1997-06-19 The Softpages, Inc. Method for computer aided advertisement
US5930474A (en) * 1996-01-31 1999-07-27 Z Land Llc Internet organizer for accessing geographically and topically based information
JP3441874B2 (en) 1996-02-16 2003-09-02 日本電信電話株式会社 Information retrieval system
US5768581A (en) * 1996-05-07 1998-06-16 Cochran; Nancy Pauline Apparatus and method for selecting records from a computer database by repeatedly displaying search terms from multiple list identifiers before either a list identifier or a search term is selected
US5987446A (en) * 1996-11-12 1999-11-16 U.S. West, Inc. Searching large collections of text using multiple search engines concurrently

Patent Citations (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4611310A (en) * 1982-08-23 1986-09-09 Canevari Timber Co. Method and system for rearranging data records in accordance with keyfield values
US5206949A (en) * 1986-09-19 1993-04-27 Nancy P. Cochran Database search and record retrieval system which continuously displays category names during scrolling and selection of individually displayed search terms
US4972349A (en) * 1986-12-04 1990-11-20 Kleinberger Paul J Information retrieval system and method
US5303361A (en) * 1989-01-18 1994-04-12 Lotus Development Corporation Search and retrieval system
US5068888A (en) * 1989-08-11 1991-11-26 Afd Systems, Inc. Interactive facsimile information retrieval system and method
US6738978B1 (en) * 1992-12-09 2004-05-18 Discovery Communications, Inc. Method and apparatus for targeted advertising
US5727201A (en) * 1993-06-04 1998-03-10 Phonelink Plc Online data retrieval system
US5544352A (en) * 1993-06-14 1996-08-06 Libertech, Inc. Method and apparatus for indexing, searching and displaying data
US5636346A (en) * 1994-05-09 1997-06-03 The Electronic Address, Inc. Method and system for selectively targeting advertisements and programming
US6557054B2 (en) * 1994-05-31 2003-04-29 Richard R. Reisman Method and system for distributing updates by presenting directory of software available for user installation that is not already installed on user station
US6137908A (en) * 1994-06-29 2000-10-24 Microsoft Corporation Handwriting recognition system simultaneously considering shape and context information
US5542089A (en) * 1994-07-26 1996-07-30 International Business Machines Corporation Method and apparatus for estimating the number of occurrences of frequent values in a data set
US5642502A (en) * 1994-12-06 1997-06-24 University Of Central Florida Method and system for searching for relevant documents from a text database collection, using statistical ranking, relevancy feedback and small pieces of text
US5855015A (en) * 1995-03-20 1998-12-29 Interval Research Corporation System and method for retrieval of hyperlinked information resources
US5659732A (en) * 1995-05-17 1997-08-19 Infoseek Corporation Document retrieval over networks wherein ranking and relevance scores are computed at the client for multiple database documents
US5978773A (en) * 1995-06-20 1999-11-02 Neomedia Technologies, Inc. System and method for using an ordinary article of commerce to access a remote computer
US5742816A (en) * 1995-09-15 1998-04-21 Infonautics Corporation Method and apparatus for identifying textual documents and multi-mediafiles corresponding to a search topic
US5675788A (en) * 1995-09-15 1997-10-07 Infonautics Corp. Method and apparatus for generating a composite document on a selected topic from a plurality of information sources
US5852826A (en) * 1996-01-26 1998-12-22 Sequent Computer Systems, Inc. Parallel merge sort method and apparatus
US6272535B1 (en) * 1996-01-31 2001-08-07 Canon Kabushiki Kaisha System for enabling access to a body of information based on a credit value, and system for allocating fees
US5721897A (en) * 1996-04-09 1998-02-24 Rubinstein; Seymour I. Browse by prompted keyword phrases with an improved user interface
US5850433A (en) * 1996-05-01 1998-12-15 Sprint Communication Co. L.P. System and method for providing an on-line directory service
US5727129A (en) * 1996-06-04 1998-03-10 International Business Machines Corporation Network system for profiling and actively facilitating user activities
US5850520A (en) * 1996-07-01 1998-12-15 Electronic Data Systems Corporation Method and system for electronic publication distribution including return receipt
US5649742A (en) * 1996-07-23 1997-07-22 Liu; Clement Leg assembly for chairs
US6317741B1 (en) * 1996-08-09 2001-11-13 Altavista Company Technique for ranking records of a database
US5878410A (en) * 1996-09-13 1999-03-02 Microsoft Corporation File system sort order indexes
US5870740A (en) * 1996-09-30 1999-02-09 Apple Computer, Inc. System and method for improving the ranking of information retrieval results for short queries
US5948061A (en) * 1996-10-29 1999-09-07 Double Click, Inc. Method of delivery, targeting, and measuring advertising over networks
US5966126A (en) * 1996-12-23 1999-10-12 Szabo; Andrew J. Graphic user interface for database system
US6006218A (en) * 1997-02-28 1999-12-21 Microsoft Methods and apparatus for retrieving and/or processing retrieved information as a function of a user's estimated knowledge
US5895470A (en) * 1997-04-09 1999-04-20 Xerox Corporation System for categorizing documents in a linked collection of documents
US5974398A (en) * 1997-04-11 1999-10-26 At&T Corp. Method and apparatus enabling valuation of user access of advertising carried by interactive information and entertainment services
US6026371A (en) * 1997-11-25 2000-02-15 International Business Machines Corp. Method and apparatus for allowing online directory producers to preview advertisement in online directory listings

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070274476A1 (en) * 2002-05-31 2007-11-29 Scott Wolmuth Toll-free directory assistance with automatic selection of an advertisement from a category
US20080081661A1 (en) * 2002-05-31 2008-04-03 Scott Wolmuth Directory assistance with data processing station
US20080084988A1 (en) * 2002-05-31 2008-04-10 Scott Wolmuth Toll-free directory assistance with category search
US8107602B2 (en) 2002-05-31 2012-01-31 Jingle Networks, Inc. Directory assistance with data processing station
US8175231B2 (en) 2002-05-31 2012-05-08 Jingle Networks, Inc. Toll-free directory assistance with automatic selection of an advertisement from a category
US20060173915A1 (en) * 2004-11-29 2006-08-03 Kliger Scott A Telephone search supported by advertising based on past history of requests
US9367846B2 (en) 2004-11-29 2016-06-14 Jingle Networks, Inc. Telephone search supported by advertising based on past history of requests
WO2009042148A1 (en) * 2007-09-24 2009-04-02 Jingle Networks, Inc. Ordering directory assistance search results by local popularity of search results
US20090094235A1 (en) * 2007-09-24 2009-04-09 Jingle Networks, Inc. Ordering directory assistance search results by local popularity of search results
US9265458B2 (en) 2012-12-04 2016-02-23 Sync-Think, Inc. Application of smooth pursuit cognitive testing paradigms to clinical drug development
US9380976B2 (en) 2013-03-11 2016-07-05 Sync-Think, Inc. Optical neuroinformatics

Also Published As

Publication number Publication date
US6415281B1 (en) 2002-07-02
CA2302774A1 (en) 1999-03-11
CA2302774C (en) 2007-11-06
WO1999012106B1 (en) 1999-09-23
USRE41071E1 (en) 2010-01-05
EP1019845A2 (en) 2000-07-19
WO1999012106A3 (en) 1999-06-03
AU8906598A (en) 1999-03-22
WO1999012106A2 (en) 1999-03-11
US20060095419A1 (en) 2006-05-04

Similar Documents

Publication Publication Date Title
US6415281B1 (en) Arranging records in a search result to be provided in response to a data inquiry of a database
US7835943B2 (en) System and method for providing place and price protection in a search result list generated by a computer network search engine
US7110993B2 (en) System and method for influencing a position on a search result list generated by a computer network search engine
JP4035425B2 (en) Position bidding in a search system that pays for position
US6295526B1 (en) Method and system for processing a memory map to provide listing information representing data within a database
JP3676999B2 (en) Method and system for influencing positions on a search result list generated by a computer network search engine
US20030055816A1 (en) Recommending search terms using collaborative filtering and web spidering
US20020072413A1 (en) Entertainment platform
US20010005847A1 (en) Intelligent networked information sharing
US20020116391A1 (en) Skills database management system and method
US20050149390A1 (en) Method and system for generating and placing keyword-targeted advertisements
US20080147657A1 (en) Method and apparatus for implementing a corporate directory and service center
JP2003529140A (en) System and method for generating a set of search terms
US20080249841A1 (en) System and method for generating and paying for ad listings for association with search results or other content
WO2000026814A1 (en) Apparatus and system for an adaptive data management architecture
CA2396394A1 (en) System and method for enabling multi-element bidding for influencing a position on a search result list generated by a computer network search engine
US20010037212A1 (en) System and method for supporting businesses
US20060129530A1 (en) Ring method, apparatus, and computer program product for managing federated search results in a heterogeneous environment
JP2006514372A (en) Data retrieval system
JPH11513826A (en) Sales processing support system and method
EP1230609A1 (en) Customer lead management system
US20050131710A1 (en) System for automated control and reporting of sales processes
JPH09106421A (en) Service providing system for selecting proper service resource
US7536314B2 (en) System and method for processing work according to an active work model

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION

AS Assignment

Owner name: RPX CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:AT&T INTELLECTUAL PROPERTY I, L.P.;REEL/FRAME:035278/0116

Effective date: 20141217