WO1994015294A1 - Interactive computer system with multi-protocol capability - Google Patents

Interactive computer system with multi-protocol capability Download PDF

Info

Publication number
WO1994015294A1
WO1994015294A1 PCT/US1993/012540 US9312540W WO9415294A1 WO 1994015294 A1 WO1994015294 A1 WO 1994015294A1 US 9312540 W US9312540 W US 9312540W WO 9415294 A1 WO9415294 A1 WO 9415294A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
information
user
generic
receiving
Prior art date
Application number
PCT/US1993/012540
Other languages
French (fr)
Inventor
James E. Lalonde
Ritchey A. Ruff
Original Assignee
Surefind Corporation
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
Priority claimed from US07/995,798 external-priority patent/US5283731A/en
Application filed by Surefind Corporation filed Critical Surefind Corporation
Priority to AU60155/94A priority Critical patent/AU6015594A/en
Publication of WO1994015294A1 publication Critical patent/WO1994015294A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42008Systems for anonymous communication between parties, e.g. by use of disposal contact identifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/48Arrangements for recalling a calling subscriber when the wanted subscriber ceases to be busy

Definitions

  • the present invention relates to an interactive computer system for routing calls, inquiries, or requests to a preferred one of a plurality of application programs for filling or answering the inquiry or request.
  • the present invention provides a computing system which can accommodate a variety of protocols and media, for such requests and such applications, including telephone requests, faxed requests, interactive video cable requests and the like, and routing the requests to a variety of applications such as applications for providing product information, filling orders for products or providing or processing coupons.
  • Various systems have been used for filling or answering requests for information or products. Some systems are at least partially automated.
  • One example is a voice mail system in which a person wishing to leave a message can do so in an entirely automated fashion via telephone, making selections using the telephone keyboard to send dual tone multi-frequency (DTMF) signals to select options for recording messages.
  • Another example is an electronic bulletin board in which an operator of a personal computer can select to view, upload or download information to or from a remote computer by making keyboard selections which are transmitted to the remote, typically via a modem/telephone link.
  • Yet another example is sending or receiving of information or messages between two computers via electronic mail or "e-mail" systems, e.g., over a local area network (LAN).
  • LAN local area network
  • each system has typically been developed independently and each represents, in a sense, a "customized" system.
  • each system has been infeasible to take advantage of the development effort made in other systems and this has contributed to the large development time and development cost associated with establishing such systems.
  • new technologies have become available (such as, for example, wireless networks) or as new communication/computing platforms have become available (such as, e.g., personal communication devices) new systems for communicating with remote locations and transferring information back and forth have been developed independently and customized to the new medium or platform.
  • a routing system mediates between a communications or I/O facility and a data processing or applications facility.
  • the routing facility does not receive and transmit data directly from and to the various communication media (such as telephone switches or lines, telefax server, etc.). Instead, a plurality of generic interfaces are provided to convert various communication protocols into generic communication protocols.
  • the routing facility can use the same logic for a plurality of different protocols and/or platforms. This provides a number of advantages.
  • the routing facility can easily accommodate a new type or protocol or platform or medium since only the I/O facility needs to be updated to accommodate the new platform or protocol, with the routing facility requiring little or no modification.
  • enhancements or revisions of the routing facility can be easily achieved since it is not necessary to accommodate the peculiarities of the various protocols or platforms, but only the generic I/O interface facilities which would be fewer in number and, preferably, at least partially consistent with one another.
  • the generic interfaces provide the opportunity to easily achieve a standard user interface which can provide some consistency between various platforms.
  • the data processing modules or applications which service the user requests are connected to the routing facility via generic application interfaces.
  • This facilitates the modification, enhancement, or addition of applications to the system since this can be little or no modification of the routing facility.
  • Providing an amount of consistency between the various generic application interfaces also contributes to the user's perception of consistency and ability to adapt from one application to another.
  • the user can more easily enjoy the benefits of various types of applications with minimal amount of relearning, while those responsible for development of the application software do not need to be concerned with the issue of consistency since this is attended-to the generic application interfaces.
  • the routing or management system which is preferably a multi-media system, provides for management of transactions without regard to the type of communication medium (e.g., voice, fax, video).
  • the system uses a routing or communication protocol layer and generic interface layers permitting implementation of new protocols or platforms as they become available.
  • the routing facility uses an object-based database to maintain information about the transactions, both for current tracking and routing and for future statistical information.
  • One embodiment of the present invention involves an interactive computing system for facilitating sales of goods and services or matching individuals with common interests and for gathering information, which provides a facility for representing the interests or characteristics of the users of the system so as to automatically gather pertinent information and direct information to recipients who are likely to be interested in the information.
  • the interactive computer system generates one or more database entries and associated procedures, referred to herein as "agents" to represent the interests or characteristics of the users of the system as well as the interests of the system.
  • An “agent” is not restricted to representing an individual.
  • An agent can be formed to represent, for example, a household, a company, a neighborhood, etc.
  • Each agent includes a portion of memory for storing information, in a predetermined fashion, relating to the likely interests, purchase histories, demographic and other information, communications preferences, shipping and billing preferences, etc. of a user.
  • Each agent also includes a communication facility for conveying information to users of the system and one or more predefined procedures for identifying and selecting information which fits the stored interest profile for that agent, so that the information can be transmitted to the user.
  • the system provides for activation of agents at predetermined times or after predetermined events.
  • the present system is able to store characteristics or preferences associated with persons who have actively initiated some communication with the system, such as using electronic communication like telephone communication, telefax communication, modem communication and the like. This increases the likelihood that responses which are provided back to the user will be of interest to the user (as apposed to advertising which is sent to a predefined demographic group that may or may not have an interest in a product, service, person or the like) . Furthermore, by building agent portfolios for those who have initiated or positively responded to communications in the system, it is possible to provide an interactive computing system which can be configured either to provide information only in response to a request for information from the user or to provide unsolicited information to persons about whom the system has stored interests or characteristics.
  • a database stores information about each customer of a company, which includes information about the likely interest of the customer, such as past product purchases, demographic information, customer inquiries and the like.
  • information about the likely interest of the customer such as past product purchases, demographic information, customer inquiries and the like.
  • the customer's agent prepares a "catalogue" of company products which is preferably individualized, i.e., which is limited to, emphasizes, or is weighted toward the items which are of likely interest to the customer.
  • the customer does not bear the burden of reviewing large amounts of advertising for items which are of little interest, since the customer's interests and/or characteristics have been represented by his electronic agent, who has produced an individualized catalogue.
  • the catalogue can be sent by any of a number of communication facilities, including by phone, fax, modem, mail, or video preferably using a medium that has been tailored to the preferences or characteristics of the user, in reliance on information stored using the user's agent.
  • the seller can establish procedures for packaging/shipping a product using information about the buyer, obtained from the buyer's agent. For example, if the agent indicates that the buyer has access to telephone services, a product which is purchased can be packaged with automated telephone information, to, e.g., offer the buyer the opportunity to use his telephone to automatically perform product registration, obtain installation, use instructions, obtain further product information, contract for extended warranty/maintenance services.
  • telephone refers generally to communication at a distance, and includes not only voice communication over a standard land-line network, but also cellular phone communication, telefax communication, computer and/or modem communication, wireless network communication, cable communication, personal digital assistant communication and the like.
  • the buyer can be offered the opportunity to receive video information or advertising and, if the video is interactive, to perform product registration, etc. If the agent indicates the buyer prefers to communicate using a personal computer (PC) , personal digital assistant (PDA) , fax, or other communications means, the product and associated offers can be packaged accordingly.
  • PC personal computer
  • PDA personal digital assistant
  • advertising (which can be print advertising, electronic advertising, visual or aural advertising and the like) is provided with one or more advertising code numbers.
  • the user can access the interactive computing system of the present invention and provide the computer system with the advertising code number or numbers. This accomplishes a number of purposes.
  • the system contains a database which correlates the advertising code number with information about the contents of the advertising.
  • the system can readily identify the products and provide the proper information to the user, based on the code number which has been provided. Furthermore, the code can be correlated with the medium, time and place of the advertising to obtain information about the characteristics of the user such as what publications, programming, locations and times are read, visited or frequented by the user and this information can be used to more accurately provide information which is likely to be of interest to the user.
  • a system as described above can provide a number of facilities and capabilities in addition to providing the information and facilitating buying/selling.
  • an application utilizes information about the customer or the customer's order (either retrieved from a database or on the basis of information entered by the customer) so that a caller can, by entering, e.g., an order number or a product number be told when a product is expected to be available or an order is expected to be shipped.
  • the application can be used to provide information to a caller concerning retail outlets such as using a caller's zip code or telephone number (either entered by the number or retrieved using automatic number identification (ANI) ) to determined the closest retail store and provide directions, address, phone number, and store hours by voice or fax.
  • ANI automatic number identification
  • the application can be used to deliver ordered goods directly when the goods are capable of electronic transmission (such as downloading ordered software via modem) .
  • the system is preferably configured to accommodate and respond to changes in the flow of demand on the system, e.g. , to route requests to an application which is available, even if the application is not optimal, in other senses, for filling the user's request.
  • the system may decide to route the call to a facility or person who is presently too busy to take the call. Current systems handle this situation by placing the caller on hold or, in some cases, offering the user a different facility such as an automated information or ordering facility.
  • a user can interact with various automated services simultaneously while waiting on-hold for the desired person or service, without the user losing his or her place in the queue for such service.
  • the interactive on-hold service can include a choice of music, which, preferably, the user could change anytime (by pressing corresponding numbers on the telephone keypad) , and/or a series of vendor-paid advertisements, preferably that the caller can browse through by skipping or repeating various advertisements, using the touch tone keypad and the like.
  • Interactive on-hold services can be provided in connection with video or tele-video communication as well as audio communications.
  • FIG. 1 is a schematic block diagram of an interactive computer system coupled to input and output devices
  • Fig. 2 is a schematic block diagram of an interactive computer system, according to one embodiment of the present invention
  • Fig. 3 is a flow diagram depicting a generalized scheme for responding to user input in an interactive computer system, according to one embodiment of the present invention
  • Fig. 4 is a flow chart showing the handling of an incoming call, according to one embodiment of the present invention.
  • Fig. 5 is a flow chart illustrating the placement of a new ad or product description, according to one embodiment of the present invention.
  • Fig. 6 is a flow chart illustrating a search for matching interests, according to one embodiment of the present invention
  • Fig. 7 is a flow chart illustrating a callback routine, according to one embodiment of the present invention
  • Fig. 8 is a flow chart illustrating steps performed when a buyer requests a catalogue, according to one embodiment of the present invention
  • Fig. 9 is a flow chart illustrating catalogue item playback, according to one embodiment of the present invention
  • Fig. 10 is a flow chart illustrating activation of an agent to select items for a catalogue, according to one embodiment of the present invention
  • Fig. 11 is a flow chart illustrating operation of a unified system including self-publishing catalogue, coupon handling, catalogue orders and virtual gift cards, according to one embodiment of the present invention
  • Fig. 12 is a flow chart illustrating a procedure for ordering from a catalogue, according to one embodiment of the present invention.
  • Fig. 13 illustrates a procedure for establishing a new agent, according to one embodiment of the present invention
  • Fig. 14 illustrates a procedure for modifying an existing agent, according to one embodiment of the present invention
  • Fig. 15 illustrates a procedure for screening calls in an interactive system, according to one embodiment of the present invention
  • Fig. 16 is a flow chart of a method for automatic shopping, according to an embodiment of the present invention
  • Fig. 17 is a block diagram of an interactive computer system with multi-protocol capabilities according to one embodiment of the present invention, along with a plurality of communication platforms;
  • Fig. 18 depicts an on-hold or automated processing system according to previous devices
  • Fig. 19 depicts an interactive on-hold system according to an embodiment of the present invention
  • Fig. 20 depicts an "estimated time of arrival" procedure according to an embodiment of the present invention
  • Fig. 21 depicts a locator application according to an embodiment of the present invention.
  • Fig. 22A-22D depict a unified system including catalogue browsing functions, ordering functions, and locating functions according to an embodiment of the present invention.
  • DESCRIPTION OF THE PREFERRED EMBODIMENT Fig. 17 is a block diagram of an interactive computer system with multi-protocol capability according to an embodiment of the present invention.
  • the system is configured to route information between a plurality of data nodes 1702- 1726 and a plurality of information processing applications 1728a-1728i.
  • the data nodes 1702-1726 are various communication platforms, at least some of which allow user to access to the system 1701. A variety of different data nodes or platforms can be used to access the system 1701 and/or to provide output from the system 1701. Examples depicted in Fig.
  • a fax server 1708 interactive voice response systems, e.g., LinkonTM, IVR Systems, or PeriphonicsTM, interactive voice response system 1712, relational database systems such as an InformixTM relational database management system (RDBMS) 1714 or various other customer database systems 1716, object-oriented database systems such as SERVIOTM object- oriented database management systems 1718, various on-line services such as the NewtonTM 1720, e-mail 1722, American On- LineTM (AOL) , existing data communications systems such as X.25, local area networks (LANs) or the proposed National Information Highway 1724 and video services including cable, fiber-optic and broadcast video services 1726. Some or all of these may be, in turn coupled to a further communication link 1730 such as telephone line, cable, fiber optic system and the like.
  • interactive voice response systems e.g., LinkonTM, IVR Systems, or PeriphonicsTM
  • interactive voice response system 1712 interactive voice response system 1712
  • relational database systems such as an InformixTM relational
  • Fig. 17 examples of applications depicted in Fig. 17 include catalogue applications 1728c, 1728d, either for providing product descriptions in response to user requests or other events or to permit ordering of goods or services, as described, for example, in U.S. Serial No.
  • a location application such as an application for providing a store location or a representative location 1728f, 1728g described more fully below
  • a report application 1728h, 1728i e.g., for providing statistical information such as information on sales, orders, or demographic information gathered by the system.
  • user A may wish to use an electronic classified system for finding a new car.
  • user A can enter the system via telephone using any of a variety of telephone services such as telephone switch card 1702, MitelTM switch 1704, AT&T DefinityTM switch 1706, and the like.
  • telephone switch card 1702 Typically, the user will access by dialing a number using his or her home telephone.
  • the system 1701 will receive the call and route it to a classified ad application 1728a.
  • the classified ad application 1728a includes software for accessing one or more advertising databases, performing a search and outputting results.
  • results of the search will then be routed back to user A, either via the telephone switches 1702-1706 or through another route, defined by the user.
  • a classified ad application of this nature is described, for example, in U.S. Serial No. 07/819,484, filed January 19, 1992.
  • a computing system 1732 is provided for routing data such as request for services and responses to requests between the data nodes 1702-1726 and various applications 1728a-1728i.
  • the computer 1732 does not communicate directly with the data nodes 1702-1726 or the applications 1728a-1728i. Instead, the computer 1732 communicates with the data nodes via a plurality of generic I/O interface devices 1734a-1734g, 1736.
  • the computer 1732 communicates with the applications via a plurality of generic application interface devices.
  • the generic interfaces 1734a-1734g, 1736, 1738a-1738e are software packages.
  • Fig. 17 depicts the interfaces as separate blocks, they may be executed on the computer 1732, or may be executed on separate computing devices.
  • the generic I/O interfaces 1734a-1734g include physical layer interfaces for converting the different types of signals output by the various platforms 1702-1726 into signals which can be received and processed by the computer 1732.
  • These physical layer devices can include digital/analog converters, buffers and timing and control circuits of types well-known in the art.
  • Each of the various data nodes 1702-1726 receives and transmits data according to its own protocol.
  • a communication protocol specifies items such as data rate, frequencies, synchronous/asynchronous/isochronous nature of communication, format for control/routing information and the like.
  • Fig. 17 depicts a configuration in which several different protocols are present.
  • on-line services 1724 depicted include both X.25 services (defined by CCITT Standard X.25) and a local area network which might be, for example, a token-ring network defined by IEEE Standard 802.5.
  • X.25 services defined by CCITT Standard X.25
  • a local area network which might be, for example, a token-ring network defined by IEEE Standard 802.5.
  • a generic I/O interface 1734f issues to convert the communication from each of the two different-protocol nodes X.25 and LAN, into a single generic I/O protocol.
  • Using a generic I/O interface facility has a number of useful effects. It reduces the number of protocols which the routing computer 1732 must accommodate. It reduces the development, time and effort needed to accommodate a new type of data node. For example, interactive video services are still being developed and different types of interactive video services with different protocols are likely to arise. According to the embodiment of Fig. 17, different types of video servers 1726 can be accommodated by modifying only the generic video I/O interface 1734g.
  • Fig. 17 depicts different communication channels 1742a-1742g for each of the different generic interfaces 1734a-1734g, according to one embodiment two or more of the various generic interfaces 1734a-1734g can provide generic I/O which is identical and thus only one communication channel may be needed for two or more I/O interfaces.
  • routing computer 1732 can be even further simplified since the routing computer can communicate with two or more generic I/O interfaces in the same fashion, without requiring information as to which type of generic I/O interface it is. In the ultimate case, all generic I/O interfaces will translate into the same generic
  • I/O protocol and the routing computer 1732 will communicate to and from the generic I/O interfaces without requiring knowledge as to whether the interface is, for example, a fax interface 1734b or a voice interface 1734c.
  • separate generic I/O interfaces are provided for relational databases 1734d and object-oriented databases 1734e. Because there are both a number of similarities and a number of differences in the operation of these two types of databases, a second layer of I/O interface 1736 can be provided to translate generic relational database I/O and generic object-oriented database I/O into a single generic database I/O before communication to and from the routing computer 1732.
  • generic application interfaces convert between data protocols appropriate for the various applications 1728a-1728i and a generic protocol for processing by the routing computer 1732.
  • data protocol between the applications differs primarily as to aspects (such as order and/or tagging of data) which determines how data is to be handled by the application.
  • classified ad application number 1 1728a may expect the first N words of data to contain a user identifier number while classified ad application number 2 1738b, may expect the first M words of data to indicate whether the user wishes to place a new ad or search the existing ads.
  • the generic classified application interface 1738a translates these differing protocols into a common generic classified application protocol for processing by the routing computer 1732.
  • the routing computer 1732 preferably provides functions beyond passively routing communications to applications which are requested expressly by the user.
  • the user is not required to be familiar with the various applications 1728a-1728i available through the system. Instead, the user merely requests the information, product or service desired and the routing computer 1732 selects the application best suited to the request.
  • the routing computer 1732 maintains (or has accessible) a database containing information regarding the caller, including the caller's request and also maintains (or has accessible) information regarding the capabilities and resources of the various applications that are available.
  • the information regarding the caller can be based on a number of sources including the information expressly input by the caller, either spontaneously or in response to prompts output by the routing computer 1732 as well as information obtained without express user input, such as telephone information from an automatic number identification (ANI) system, data source information received through an e-mail system and the like.
  • the system can be configured to access information about various past and/or potential callers.
  • information about past callers may include past merchandise orders, past information requests and the like.
  • Information accessed about a past or potential caller might include, for example, demographic information about the location where the caller is calling from (such as average income, education, etc.,), credit history information, and the like.
  • Information regarding the capabilities and the uses of the various applications can include information regarding the demographic profile of target or usual customers, types of merchandise available, average cost of merchandise, acceptable payment forms and the like.
  • a routing computer 1732 performs a closeness-of-fit analysis between the user profile and the profile of the various applications available. A match can be made on the basis of various closeness parameters. For example, one embodiment, may attempt to find the application most likely to satisfy the user with the greatest rapidity (thus minimizing demand on the system 1701) , while another embodiment may match a request to that application which has the largest number of resources to respond to the user (which may not provide the most rapid response) thus maximizing shopping time and, potentially, maximizing purchases.
  • an interactive computer system 1010 is coupled to any or all of a plurality of input devices 1012 and output devices 1014.
  • the input and output devices 1012, 1014 are coupled to an I/O connect and interface device 1016.
  • the I/O connect and interface device can include, for example a fax server, a telephone answering and/or switch system, or an interactive voice response (IVR) system.
  • the I/O connect and interface is coupled to one or more databases 1018 which include memory devices for storing database information, a database server (which can be, for example, a personal computer, workstation, or mainframe) and associated software.
  • the software can be any of a number of commercially available database software packages and/or can be specifically programmed for one or more of the embodiments described below.
  • the I/O connect and interface is also coupled to operator facilities 1020 to permit connection of a user to an operator, as described below.
  • Operation of the I/O connect and interface 1016 and database 1018 is controlled by a control device 1022 which can be, for example, a personal computer, workstation or mainframe.
  • the control 1022 can be a separate unit from the database server or can be the same computer.
  • Telephone input 1024 can be via keypad input, particularly in a dual-tone multi-frequency (DTMF) telephone system, or can rely on voice recognition software (typically, e.g., installed in the computer system 1010) to permit verbal input of data and commands.
  • a telefax input can be sent to an operator for manual entry, can be sent to a scanner, for example, for detection of check-box markings, or can be processed by optical character recognition (OCR) software to permit faxing of printed, typed or handwritten input.
  • OCR optical character recognition
  • a computer can be used for inputting data and commands, for example, by using a personal computer 1028 connected using a dial-up modem, a Local Area Network (LAN) , or a wireless network (e.g., a radio network).
  • LAN Local Area Network
  • wireless network e.g., a radio network
  • Any of a number of styles of computer can be used including, personal computers, laptops, palmtops, notebook computers, personal digital assistants, workstations and mainframes.
  • the computer 1028 can accept input through any of a variety of methods, including keyboard input, mouse input, touch-screen input, pen or stylus input, oral or voice-activated or voice-recognition input and the like.
  • Input can include card-reader input 1030 such as facilities for reading encoded cards such as credit cards (e.g., at point-of-purchase) , debit cards, banking cards, identification cards, or other item or card readers including bar-code readers. Input can also be accepted at automatic teller machines 1032 which typically provide both card readers and keyboards.
  • card-reader input 1030 such as facilities for reading encoded cards such as credit cards (e.g., at point-of-purchase) , debit cards, banking cards, identification cards, or other item or card readers including bar-code readers.
  • Input can also be accepted at automatic teller machines 1032 which typically provide both card readers and keyboards.
  • Output from the interactive system 1010 to the user can be by a number of output devices including telephone, telefax and personal computer. Output can be digital or analog and can include audio, video or other information. Further, output facilities such as cable facilities (including video and audio cables and/or including wire and optical cables) 1034 and mail or other shipping facilities 1036 can provide output to the user. In all cases, input and output communications can be provided with privacy/security features such as encryption and/or password systems.
  • FIG. 2 illustrates a system which can be used in connection with a self- publishing catalogue application.
  • the catalogue may include information regarding products from a single source (such as the catalogue for a retail outlet) or can be a compilation of products from a number of sources (such as a co-op) . In the former case, little information need be stored regarding "sellers" since there is only one source. In the latter case, it may be desired to maintain an extensive database on various sellers, as described more thoroughly below.
  • This configuration comprises a telephone switch such as PBX (private branch exchange) 12, an interactive voice response (IVR) system 14, a database server (DBS) 16, and a fax server 18.
  • PBX private branch exchange
  • IVR interactive voice response
  • DBS database server
  • PBX 12 is connected to one or more telephone lines 20 through which users (buyers and sellers) amy communicate with the system, either by voice or fax.
  • a suitable PBX is the Summa/FourTM switch available from Sum a. In general, any switch capable of responding to control by an external computer may be used.
  • IVR 14 is a computer specialized for storing digital audio scripts, and for playing back such scripts in response to digital or touch tone inputs. IVR 14 is coupled to PBX 12 via Tl telephone line 22, such that the IVR can be coupled directly to a user who calls the system via telephone line 20. However, in a preferred implementation of the present invention, the IVR preferably includes the ability to concatenate individual words or phrases to produce voice output.
  • An IVR with concatenation ability is to be contrasted with a simple voice mail system.
  • a voice mail system one can store a number of voice scripts, and means for permitting a user to access different scripts depending upon touch tones or other data input by the user.
  • Each script is a complete message, and cannot be further broken down. This limitation means that the individual words and other data within the script are not searchable.
  • individual words and/or phrases are stored in voice form, while the messages that will be built up from such words and phrases are stored in a conventional text-type database.
  • the IVR retrieves the voice corresponding to each word or phrase, and concatenates these individual voice segments into an output voice message.
  • Suitable IVR's with concatenation ability are the Voice Processing Series (VPS) models available from Periphonics, Enhanced Services Platform (ESP) available from Precision Systems, Inc. and Linkon.
  • VPN Voice Processing Series
  • ESP Enhanced Services Platform
  • DBS 16 is a general-purpose computer programmed for database operations.
  • DBS 16 manages three text (as opposed to voice) databases: ad database 30, seller database 34, and buyer database 36.
  • Ad database 30 comprises an electronic equivalent of the ads typically included in a catalogue.
  • Seller database 34 lists the sellers that have registered to use the system, while buyer database 36 list the buyers that have registered to use the system or who are potential buyers.
  • the seller and buyer databases also include information pertinent to the preferences and interests of the buyers and sellers and represent one component of the agent. This information is gathered in any of a number of ways. The information may be provided by the user by reference to a code number associated with an advertisement such as an advertisement or listing in a telephone directory or "yellow pages" directory, or an entry in a catalogue.
  • the code number may be of a form that it can be readily entered using a keyboard (e.g., telephone keypad, Automatic Teller Machine (ATM) keypad, computer keyboard) so that the information can be obtained without the intervention of an operator.
  • the information may be requested at the time the seller requests an entry in the catalogue or at the time a buyer calls to place an order or make an inquiry.
  • the information may be gathered automatically using the IVR system or a computer- controlled text script system, or the information may by gathered by an operator for manual entry.
  • the buyer information will include information regarding how the buyer wishes to pay for purchases (e.g., credit card information), and shipping information (e.g., preferred type of shipping, shipping address) .
  • the information preferably, also includes information related to the actual or likely interests of the buyer, such as purchase histories, demographic information, expressed interests such as type of employment, hobbies, current equipment, and the like.
  • Advertising code numbers e.g. in connection with telephone directory listings or in connection with catalogue entries, can be used to obtain and store information regarding purchase history of the user, previous interest in products or services expressed by the user (e.g., in the form of previous information requests) , reading or viewing habits of the user, and the like.
  • Information may be gathered from the user which relates to likely future purchases, such as information about birthdays of family members, or other significant events, information about previous gifts purchased by this user, information about the level of spending for previously- purchased products or gifts and the like.
  • this information can also be gathered automatically (e.g., using telephone caller identification systems) or as a result of the users's inquiries or purchases within the system, or by obtaining the information from a commercial information source (such as a commercial mailing list with demographic information) .
  • a commercial information source such as a commercial mailing list with demographic information
  • information regarding the advertiser or seller can be gathered, including information regarding the history of ad placements or catalogue entries and the like.
  • information about the user is accessible to more than one system so that, for example, once a caller has entered his address and phone number in a given system, other systems will be able to use this information (keyed, for example, to a user identifier number) .
  • this aspect of the invention is implemented by having a central repository for such information which is accessible by a plurality of systems.
  • a central repository simplifies the process of changing an address, phone number, etc. as this data changes for an individual user.
  • DBS 16 is coupled to IVR 14 via serial link 24, and to PBX 12 via serial link 26.
  • the DBS includes terminal 40 through which an operator can interact with and control the DBS.
  • Terminal 40 may be a conventional personal computer.
  • the operator of terminal 40 wears headset 42 that includes headphones 44 and microphone 46.
  • the headset is coupled to PBX 12, so that the operator can engage in conversations with callers via the PBX and telephone line 20.
  • Fax server 18 is coupled to PBX 12 via telephone line 50, and to DBS 16, via serial line 52.
  • the fax sever may be a conventional personal computer with a fax board.
  • the operation of the system shown in Fig. 2 is outlined in the flow charts of Figs. 3-13.
  • the general operation of an interactive system is depicted in Fig. 3.
  • the I/O connect/interface system 1016 receives an initial input such as by answering a telephone call or computer modem call 1042.
  • the I/O connect interface system 1016 sends a short introductory audio or video message to the user, briefly explaining how to operate the system and preferably inviting the inexperienced user to request more detailed information 1044.
  • the I/O connect/interface system 1016 monitors the input from the user and in particular checks for user input which indicates the user is requesting help 1046 or is requesting to be connected to an operator 1048, whereupon the I/O connect/interface system 1016 takes the appropriate actions of invoking context sensitive help routines 1050 or connecting the caller to an operator 1052.
  • the caller has finished interacting with the operator (e.g., to receive assistance or to perform a process not readily done in an automated fashion) the user can return to the automated system.
  • the user can return to the system at the same point in the procedure that the user was at when the user requested transfer to the operator, i.e., it is not necessary for the user to begin automated processing again from the beginning of the procedure, as if the user were placing a new call to the system.
  • This goal can be implemented by saving the state of the process, e.g., to a memory stack.
  • the I/O connect/interface system 1016 prompts the user to make a choice among the available options (such as those described more thoroughly below) 1054, receives the user choice and branches to the appropriate subroutine 1056, such as those described below.
  • the I/O connect/interface system 1016 loops 1060 to check for help or operator requests and to prompt for the next user choice.
  • a particular implementation of the system depicted in Fig. 3 involves a system for publishing a catalogue which is tailored to the likely interests of buyers, based on the buyer's agent or agents.
  • the agent or agents preferably include three main components: data regarding buyer preferences and/or characteristics (stored in the buyer database, as described above) , hardware and activatable software for matching the buyers's interests or characteristics to potential catalogue entries in order to compile a catalogue which will be of interest to the buyer (e.g., as described below), and facilities for transmitting the catalogue to the buyer (e.g., as depicted in Fig. 1).
  • the operation of the system is triggered by receipt of an incoming call, e.g., to the PBX via telephone line 20.
  • the PBX first determines whether the incoming call is voice, fax or some other medium. If fax, then step 102 connects the incoming call to fax server 18 via telephone line 50.
  • the fax server receives the fax, and the fax may then be printed by a printer coupled to FAX server 18 or to DBS 16.
  • the step 104 is executed.
  • the PBX sends a message to DBS 16 via serial line 26, indicating that a new call has been received.
  • the DBS sends back a transaction identifier (Transld) that will be used to uniquely identify this call.
  • the PBX then connects the call to the IVR via telephone line 22, and transmits the transaction identifier to the IVR via telephone line 22, using touch tone signals.
  • the steps in blocks 100-106 in Fig. 4 are performed by PBX 12, while the remaining steps in this figure are performed by IVR 14.
  • the IVR in step 110 plays a pre-stored new caller voice script, and transmits this script to the caller via PBX 12 and telephone line 20.
  • This script may include any introductory information, recently added features of the system, instructions on how to use the system, etc.
  • the script then asks the caller to identify a desired function, for example by pressing designated touch tone keys on the caller's telephone.
  • Block 112 then analyzes the function that the caller has requested, and routes control accordingly.
  • the principal functions that the caller may request depend upon whether the caller is a seller or buyer. If the caller is a seller, then the caller can ask to place a new product in the database used to compile the catalogue. If the caller is a buyer, then the caller can ask the system to search for products that match its needs, and to generate a catalogue. In a particular implementation, numerous other functions could be selected at this point. For a seller, such additional functions could include changing an existing product description cancelling a product, playing back a product description previously placed, and modifying information concerning the seller itself, such as its phone number or address, etc. For a buyer, such additional functions could include modifying, cancelling or renewing a previously created agent.
  • the IVR identifies this as a non-IVR based function, and sends an operator request message to DBS 16 via serial line 24, as shown in block 116 of Fig. 4.
  • the DBS begins prompting the operator at terminal 40 for information relating to the new product.
  • the operator relays these requests to the seller via headset 42 and switch 12, receives the seller's responses via the same path, and inputs such responses to DBS 16, to create a new product description in ad database 30.
  • this step could be automated using the IVR, a human operator can readily accommodate the amount of variability involved in placing an new product description, explaining to the seller the options available, etc.
  • Fig. 5 provides further details concerning the steps used to create a new ad in ad database 30.
  • the operator asks the seller to identify itself, such as by supplying a seller ID or other identifying information. If the catalogue is configured to serve only a single seller, steps 150-154 can be skipped.
  • the operator checks seller database 34, to determine whether the seller is already registered in the system. If the caller is a new seller, then the operator obtains information form the seller in block 154, and the new seller is added to the seller database.
  • the user can, in some cases, be given an opportunity to record a custom voice message.
  • the custom voice message can be used for playback to prospective purchasers or recipients in various ways.
  • the seller may record a description of a product, which can be recorded by a voice mail-type system for playback when a prospective buyer requests information on a product.
  • the seller could record information about related products for playback when a prospective purchaser has purchased (or requested the information about) a primary product or for playback to a gift recipient, e.g., as part of a "virtual greeting card" system described below.
  • the system can create an advertisement on behalf of the seller, using the information provided by the seller (such as price, condition, features, etc.).
  • the system can integrate system-created advertisements with advertising material recorded or down loaded by the seller (such as a voice mail-recorded message, a down loaded video advertisement and the like) .
  • the operator asks the seller if it wished to place a new product description in the system. Assuming that the answer is yes, the operator obtains the information relating to the new product in step 160.
  • the information requested from the seller corresponds to the fields of the ad database.
  • the fields in the ad database will depend on the type of products being listed in catalogues. For example, if the catalogues are being produced for a single software retail outlet, the fields might include such items as type of application (business, game, home management, legal) , type of program (database, spreadsheet, word processor) , price, features, availability, discounts, sales, coupons that can be used or provided, etc.
  • DBS 16 assigns an ad identifier (Adld) , and the new product with its Adld is stored in ad database 30.
  • DBS 16 searches want ad database 32, in step 164, to determine if any of the previously stored agents have needs, interests or characteristics which match the new product just received from the seller. This step could of course be performed either before or after the new product is actually placed in the ad database.
  • the addition of a new product can cause the calling of a subroutine which scans all agents to determine which, if any, are to be activated by a product addition and which activates such agents (e.g. by calling a subroutine) , as described below.
  • Fig. 6 One technique for performing this matching step is outlined in Fig. 6.
  • step 180 the first or next agent is retrieved from the agent database.
  • step 182 compares the basic fields of the new product to those of the agent. For example, step 182 compares the program type of the new product to the buyer's agent's interest profile. If the program type is not within the buyer's interest area, then there is no match, and control returns to block 180 to retrieve the next agent.
  • Step 184 performs a similar test for price. For price, the matching criteria is plus or minus 20%. This "tolerance" perimeter can be varied, and could also be specified by the buyer.
  • step 196 the Adld of the new product is placed in a catalogue "bin" for this agent, together with "delivery" information corresponding to the agent's information.
  • the delivery information can include the buyer's phone number, together with time information specifying the times that the phone number should be called.
  • the agent may reference a buyer ID which is used to retrieve the delivery information from buyer database 36.
  • control returns to step 156 in Fig. 5.
  • the operator determines if the seller has another new product to place. If so, then the above described steps are repeated. If not, then processing proceeds to block 170 to perform various accounting functions, and the placement of the new product by the seller is complete.
  • Fig. 7 illustrates an optional callback routine that determines if the buyer wants a catalogue.
  • the DBS scans the callback queue, to determine if any callbacks are scheduled to be made at the present time.
  • Each callback record includes the buyer's phone number and time information concerning when callbacks should be directed to that phone number.
  • Block 202 determines if the time information in any callback records matches the current date and time.
  • step 204 pulls such records from the callback queue, and sends them (e.g. in text form) to the IVR.
  • the IVR dials the buyer's phone number contained in the callback record, and waits for a response. If a voice response is not received, then the IVR sends a corresponding message to the DBS.
  • the DBS marks the time of the attempted callback in the callback queue record, so that a set period of time can be established between callback attempts in step 202.
  • the callback routine resumes scanning in step 200.
  • the IVR sends a voice message to the buyer via the PBX, asking the buyer to make a predetermined touch tone response if the buyer would like the catalogue transmitted at the present time. If the buyer's response is positive, the catalogue is prepared and sent 216. If the buyer requests telephone transmission of the catalogue, then the IVR assembles a voice message by identifying the individual words and phrases contained in the product description, retrieving the digital voice records corresponding to such words and phrases, and concatenating the individual voice records into a single message. This message is then relayed to the buyer in voice form via telephone switch 12 and telephone line 20. When product description playback is complete, the IVR sends a corresponding message to the DBS, and the DBS removes the callback record from the queue in step 218, and then resumes scanning.
  • the buyer may provide a negative response.
  • the buyer may call in at a later time to request a catalogue, as described below.
  • An option could also be provided to enable a buyer to request receipt of the catalogue via fax, modem, mail, cable, etc.
  • Fig. 8 illustrates the steps performed when a buyer calls the system to request a search.
  • a buyer's catalogue request can be handled by an operator at terminal 40, or by IVR 14.
  • IVR 14 will send an operator request message to DBS 16, as shown in step 116.
  • the operator at terminal 40 will then obtain information from the buyer, in step 250, in order to create a "profile" for the catalogue request.
  • a "profile” corresponds to an agent record, except that the profile has not yet been stored in the agent database.
  • the information requested by the operator will correspond to the fields of the agent database.
  • the operator also obtains an output method from the buyer, e.g., voice or fax.
  • step 252 the DBS proceeds in step 252 to search ad database 30 for products matching the profile.
  • Block 254 determines whether any matches have been found. If not, a suitable message is sent to the buyer in step 256, via either the operator or the IVR. Control then returns to block 250 to permit the buyer to specify a different profile or quit. If step 254 determines that matches have been found, then step 260 determines the output method that the buyer has specified.
  • step 262 sends the matching ads to fax server 18 for output via PBX 12. Control then returns to step 250. If voice output has been specified, then step 264 sends the matching ads to IVR 14. In step 266, the IVR proceeds to play the matching ads back to the buyer. This process is also further described below.
  • step 270 the buyer is then asked whether it wishes to convert the currently searched profile into an agent. If the buyer's response is affirmative, then the IVR sends a corresponding message to DBS 16, and the DBS proceeds to store the profile as a new agent in the agent database 32. In both cases, control then returns to step 250.
  • Fig. 9 illustrates a preferred, interactive technique for carrying out the playback of matching ads by the IVR, in step 266 of Fig. 8.
  • the IVR performs the playback by assembling a voice message in real time.
  • the voice message is assembled by identifying the individual words and phrases contained in the ad, retrieving the digital voice records corresponding to such words and phrases, and concatenating the individual voice records into an output message.
  • the fields in each ad are preferably separated into "summary" fields and "detail” fields.
  • the summary fields of the ads are assembled and played back sequentially, beginning with the first product in step 300, and ending with the last product in step 310.
  • one touch tone key would correspond to the illustrated "More" function that causes the detail fields of the current ad to be assembled and played back. If the More function is not used, then detail fields are omitted.
  • a second touch tone key would correspond to the Repeat function, which causes either a repeat of the summary fields of the current product description if details are currently being played back, or causes the prior ad to played back in the case of summary playout.
  • a third key would be dedicated to the
  • matching is accomplished by the system comparing a new product to each agent in the system.
  • the system can also be configured so that each agent is proactive in the process, in the sense that agents can, at specified times or under specified conditions, become activated 1070 to search the product database for matches to themselves.
  • a number of events can be used to activate an agent.
  • One such event is the addition of a new item (or addition of a specified type of new item) to the database 1072.
  • Another event is the passage of a specified period of time, so that the agent is periodically activated 1074.
  • Another event is the modification of the agent profile or portfolio 1076.
  • Another event is the impending occurrence of a date associated with the user, such as a birthday of a family member or the like.
  • the system can provide an automatic (i.e., without human intervention) reminder service to a user or subscriber to remind the user of events such as birthdays, anniversaries, etc.
  • the reminder service can be combined with a gift suggestion service to suggest appropriate gifts for birthdays, anniversaries, etc.
  • the appropriate suggestions can be based on the user's history of gift-giving via the system, supplying such information as the price of gifts given in the past, type of gifts given in the past and the like.
  • Other events that can be used to trigger a reminder is purchases of certain types of items. For example, one year after a user purchases a new carpet, he can be reminded that carpet cleaning services are available.
  • a user can be notified that it is time for a tune-up and/or it is time to trade-up to a new model.
  • this system can make beneficial use of purchase histories from sources other than purchases made through the system (such as from credit card companies, product registration services, and the like) .
  • Reminders could also be provided with respect to periodic charitable or non-profit donations.
  • Each agent can be configured to activate upon different events or conditions (or can be a purely passive agent, only storing information for query by other processes, such as in Figs. 4-9) .
  • agents can be automatically created without the need for a user request, e.g., such that an agent is created or updated every time a user communicates with the system in such a fashion that the user can be identified in some way.
  • the agent executes a subroutine designed to select items which are of most interest for inclusion in a catalogue. In this sense, the electronic agent performs a shopping function for the user. In the selection procedure depicted in Fig. 6, selection was by an elimination process, in which the product must meet certain criteria.
  • Fig. 10 depicts an alternative selection process in which each product is assigned a score representing the closeness-of-fit to the agent's defined interest or characteristics.
  • a predetermined number N of products which are the closest fit to the interest or characteristics of the agent can be selected.
  • the definition and selection of items for inclusion in the catalogue can be determined interactively with the prospective purchaser. For example, the system can notify the purchaser of how many matches have been found and invite the user to, for example, narrow the search by adding another criteria in order to provide a smaller number of matches.
  • the criteria added by the prospective purchaser results in zero matches or an unacceptably small number of matches, the user can be invited to "back up" one level by removing one or more criteria to provide a larger number of matches.
  • Fig. 10 calculates three scores based on the agent's interests, demographic information and purchase history. The procedure loops through all products 1078, 1080, calculating a score for each.
  • the system could be configured to store the scores for old products and to calculate and store scores only for new or modified product description.
  • an interest score (IS) 1082 is calculated on the basis of a score representing the product type and a score representing the agent's interest. If the agent has more than one interest, the interest closest to the product type score can be used. Alternatively, a weighted average of the difference of all agent interests can be used.
  • the system could assign a score of 1000 to word processors, 500 to spreadsheets, 50 to databases and 900 to forms generators.
  • Forms generator scores are close to word processor scores, since there are similarities in the products.
  • the demographic score (DS) 1084 is calculated by comparing the buyer's demographic data with the demographic data which describes the most likely buyer of the product. Again the score is taken as the absolute value of the difference.
  • the product history score (PS) 1086 is, similarly, the absolute value of the difference between the product type score and the score for the closest previous product purchased by the buyer.
  • an agent has stored information about previous purchases so that if the buyer has purchased a user interface (such as WINDOWSTM) , the score for related products (e.g. Word for WindowsTM) will be relatively low (i.e. good) .
  • the sum of the three scores is calculated 1088 for each product and stored. After all products have been reviewed 1080, the products with the lowest scores can be selected for inclusion in the catalogue for this buyer.
  • the system matches prospective purchasers with products being offered by any or all members of the public who wish to advertise on the system (such as in an "electronic classified ad") .
  • the system may be used exclusively by one manufacturer or retailer for selling, exclusively, its own goods.
  • a configuration between the "electronic classified ads" and "exclusive” system can be used in which one or more advertisers may pay for the privilege of having its products more heavily-weighted or more frequently-considered in processing a matching procedure such as that depicted in Fig. 10.
  • the system described here includes software running on various integrations of hardware, which accomplishes several tasks, including the "self-publishing” or automated publication of catalogs, by software "agents". Agents are created when users interact with the system described here, and represent users in on-going transactions within and between databases outside the consumer direct interaction and beyond their initial interaction. Additionally, this system leverages the abilities of such a system to add/interactive benefits to both the advertiser and consumers, including certain virtual products as described below toward the end of created highly automated self-publishing, customer servicing and new services.
  • the system provides inventory and ordering functions. At least some features center on (1) the "agent" which resides in the database representing each consumer and gathering information on consumer interests and characteristics, (2) the agent's function of shopping for the consumer, (3) the agent's function of automatically compiling and/or transmitting custom catalogues of specific interest to the consumer represented by the agent and (4) and the systems function of offering advertisers "virtual" invoices, greeting/gift cards and other interactive support of the sale form the catalogue.
  • a virtual invoice consists of a telephone number and invoice number posted on the item ordered and given to the buyer. It can be used to track the item instantly. seek customer support for the product through the system and provide other related information by voice (computer concatenated or text-to-speech) , fax back, electronic or other means.
  • the virtual document facility can be used to send documentation for the product via fax or electronic means while simultaneously serving to register the user upon their calling, confirming delivery.
  • the system can create a "virtual greeting card" which is be shipped with the item sold to the recipient in the form of a phone number and a second "greeting number".
  • the recipient would call the telephone number on the "virtual gift card” and hear a voice message recorded by the customer sending the gift (stored in a voice mail box in the system) .
  • the recipient can also choose to hear more information about the catalogue, order a catalogue or go "on-line” to respond to the sender. Rather than sending paper registration or documentation with an item or product shipped, a "virtual manual” or “virtual registration card” could be sent.
  • the agent will then reside in the system, acting as the buyer or seller's "representative" examining every piece of incoming information.
  • the agent may be activated periodically or upon the occurrence of predetermined events to perform a shopping function by comparing the interests or profile of the user to the product or advertising database.
  • new data in this case ads
  • the agent stores the new ad's identification number, and then notifies the consumer by whatever means and at whatever time the consumer has chosen, or leaves a message when it detects a voice mail system (e.g., due to failure to detect a touch tone response) .
  • the agent may convey information to the consumer without relying on stored consumer communications preferences, such as by sending periodic advertising customized to the user's interests.
  • the system assigns a number to each incoming ad (which could apply to any media including broadcast or personal communication devices) .
  • advertising can be associated with an advertising number such as by printing or displaying an ad number in connection with a telephone directory advertisement or listing, in connection with a catalogue entry and the like.
  • the system automatically searches the entire inventory of the system or of the specific advertiser for similar items matching parameters in the database for the advertised product. One call thus lets the consumer quickly find out about all similar properties in the database, e.g. , based on criteria the consumer creates (and based on the fields chosen by the system as "comparable" items) . This makes the print, broadcast or personal communications device interactive.
  • the system creates a number for each "agent” and tells the consumer that the number can be used to call back into the system to instantly check on any new items on the system. This is for use by, e.g., consumers who do not want the system to contact them automatically.
  • One embodiment of the present invention includes a self-publishing, interactive catalogue, utilizing print, fax, personal computers or person communications devices. It, too. creates an "agent" for each shopper.
  • the company provides a catalogue number for each product and, optionally, and provides certain premium interactive services which can be utilized by the catalogue customer, as described above.
  • the system can create catalogues to be published electronically (by PC or fax or other means, including telephonic means text to speech or concatenated speech system) . There can also be mass mailed catalogues, but the idea behind the system is to reduce their number and target their mailing.
  • the system can let those with no catalogue find what they are looking for 24 hours a day using a PC on-line and/or interactive voice system programmed with a sophisticated relational database.
  • Product registration can also occur 24 hours a day as can invoice information using a unique product/customer number created for each transaction, combining the various technologies used by this system.
  • Direct connect options for operator help can be made available to take information such as credit card numbers, addresses, etc. , to set up ID (accounts) to simplify the ordering and information gathering process described below.
  • the agent represents each consumer, and includes one or more activatable computer routines which continuously and/or periodically represent the consumer in the database and, based on new activity in the system, automatically publishes catalogues tailored to the characteristics or likely needs of the consumer.
  • an interactive print number is provided, by which a consumer who chooses to call about one item in the catalogue is informed about all similar products (by vender, or function, or other parameter e.g., set by the publisher).
  • the caller enters the system e.g., via telephone, computer or other communication-device with or without an "agent", ID or catalogue number.
  • An agent number can be provided by the caller's direct interaction with the system, as described below, or by other means such as filling out cards at retail outlets, by direct mail, or electronic or telephonic means.
  • the system recognizes the caller.
  • the caller can order by catalogue number including ordering catalogues, request an update based on previous requests (the agent's work on behalf of the caller) or add or delete areas/items of interest or direct connect to an operator for special help. All activity is "observed" by the agent which continuously shapes the agent file.
  • the caller If the caller has an existing account and wishes to order a new product, they can simply enter the product number from a catalogue or other source. The system will then take care of getting the product shipped. It retrieves the billing, shipping and other information from the account file. The new information about the order will be added to the customer's "agent" profile.
  • the system will automatically publish bulletins and custom catalogues for each agent, with new information of interest to the caller/customer, based on the criteria in their agent file.
  • WindowsTM users for example, will hear about WindowsTM products, MacintoshTM users about MacintoshTM products.
  • WinWordTM users will hear about all related WinWord products.
  • the agent will, for example, immediately notify consumers of updates, new releases, or closely related products, by fax, mail or even phone.
  • custom catalogues can be sent by fax, mail and/or PC, they can be used as covers for mass mailed catalogues, making the mass mailed version custom to each user and more likely to draw attention.
  • the system also permits new callers, without an ID, to build an agent based on the query they make, using either an interactive voice response system or other means. Operator assistance can be made available to speed this process up.
  • a caller Once a caller has made a request and gained an ID, the caller can choose to ask to be notified with new information of interest, or be given an agent (ID) number with which they can call back at any time to request instant, self-published catalogues of interest, or to order 24 hours a day.
  • ID agent
  • the system can feature a direct connect option to a human operator or vender in the case of help service.
  • the system would shorten order time and automate order fulfillment by sending and order in real time to the point of shipping, while also updating company inventory files and producing demand reports. "Just in time" inventory control can be used, routing the order directly to manufacturers.
  • the statistical benefits of assigning the agent to each caller, and having it create a virtual catalogue for each user, are many.
  • the company using this system can track demand, target customers, save money and time. It can also allow the company to tailor education programs to certain clusters of users, in the form of custom newsletter or other information a manufacturer might want sent to certain customers.
  • the company can determine the frequency with which it publishes bulletins or catalogues.
  • One command can activate all "agents" to update their catalogue bins with new information and publish a catalogue for each user.
  • the agent ID can also be used to target and reward small business and frequent users with special promotions, discounts and other benefits.
  • the system can be programmed to greet each user personally when their ID is entered. This can be done by allowing the user to speak their name, or through concatenation techniques or on line via PC.
  • Fig. 16 provides an illustration of a manner in which advertisements, listings or entries in, for example, a telephone directory or catalogue, can be used to provide automatic shopping functions for a user.
  • the telephone directory or catalogue is published along with code numbers or "ad numbers" which can be used to fully or partially identify the advertisement listing or entry 1602, 1604.
  • the user reads or views the advertising listing or entries in the catalogue or directory and communicates with the computer system such as by placing a voice telephone call, sending a message by fax, modem, cable or the like.
  • the user refers to the ad number 1606.
  • the system creates or updates an agent using the ad number.
  • the ad number permits the system to fully or partially determine the nature and location of the advertisement listing or entry in the directory or catalogue. This information can be used to help determine what the user is purchasing or inquiring about, as well as to obtain information about the user (such as that the user consults a particular telephone directory or catalogue) .
  • the system preferably performs the service requested by the user in his communication (such as ordering a product or providing requested information) . Further, the agent preferably also obtains information about related products or services, such as products or services which the user ordered or inquired about or products or services which are related, such as supplemental products, add-on products, upgrade products and the like. This information can then be transmitted to the user 1608.
  • the agent continues to monitor the database to identify products or services, sales or other promotions, coupons and the like based on the information available about the user (such as the user's interests, requirements, characteristics) .
  • the agent performs a shopping function for the user by gathering information likely to be of interest to the user, without the user having to bear the burden of gathering this information 1610.
  • This function of shopping or monitoring as an alternative to being conducted in a continuous manner, can also be conducted periodically or upon the occurrence of predefined events.
  • a procedure for determining the degree of difference between the item which the user originally ordered or inquired about, and some or all of the products or services having information stored in the database 30. This can be done in a number of manners.
  • the measurement can be computed for each entry in the database or for only certain categories in the database. A rough measurement of difference can be computed and a more accurate difference can then be computed only for those items which are sufficiently close, based on the initial rough measurement.
  • the measurement can be conducted periodically, or can be conducted whenever a new product or service is added to the database or an old product or service description is changed or new information about the user becomes available.
  • the measurement of difference can be stored or can be computed "on the fly" whenever it is desired to prepare a package of information for transmission to the user.
  • the difference measurement is then used to identify a subset of the items in the database which are sufficiently close to the apparent interests or characteristics of the user that they should be included in a transmission to the user.
  • all products or services within a predefined amount of difference are members of the subset.
  • a predetermined number of product and service descriptions e.g., N descriptions
  • the subset may also include items which are not particularly close according to the measurement of difference.
  • Fig. 18 depicts the previous approach to on-hold management.
  • a system receives a call which is appropriate for transfer to a particular resource (for example, an operator) which is currently busy, the caller is typically placed on hold.
  • the caller is offered a choice 1802 to either wait for the operator who is busy or to proceed with an automated procedure.
  • the caller is placed at the bottom of an electronic list or queue of callers waiting to be connected to the operator 1804. A caller in the queue will normally be connected to the operator or other resource before other callers who entered the queue later.
  • the caller holds while the call works its way to the top of the queue, i.e., as the operator processes, in turn, each call in the queue 1806. Eventually, the call which is holding reaches the top of the queue 1808 at which point it is connected to the operator 1810.
  • the caller will typically be invited to selected from among a variety of options 1812, such as to hear a recording about store hours 1814, to order one or more items 1816, or to obtain price information 1818.
  • the user is also offered the option to decide to wait for the operator 1820.
  • the caller may select 1812 another option.
  • the user after entering an automated procedure loop, selects to wait for the operator 1820, the user then enters the bottom of the queue 1804.
  • the user after entering an automated procedure loop, selects to wait for the operator 1820, the user then enters the bottom of the queue 1804.
  • Fig. 19 depicts an embodiment according to the present invention in which the user can select an automated procedure without losing his or her place in a queue.
  • a resource such as an operator
  • the user call will be placed in the bottom of the queue for the operator 1902.
  • the call works its way to the top of queue.
  • the call can be held in the queue simultaneously with automatic processing.
  • the caller is also given an option 1906 to select among various automated procedures such as hearing about store hours 1908, ordering items 1910, listening to music 1912, or hearing price information 1914.
  • the user if the user selects to listen to music 1912, the user is then prompted to select the type of music (for example, classical, popular, folk) or silence.
  • the call is simultaneously working its way to the top of the queue 1904.
  • an interrupt procedure is undertaken 1916.
  • the interrupt procedure operates by setting a flag to indicate that interrupt is now appropriate.
  • the system checks to see whether the interrupt flag has been set. If the interrupt flag has been set, the call is routed to the operator 1920. If the interrupt flag has not been set, the user is given the opportunity to continue automated processing 1906 since this means the call is still working its way to the top of the queue.
  • the currently-underway processing 1908, 1910, 1912, 1914 is allowed to finish before checking the interrupt flag.
  • one or more of the automated processes 1908, 1910, 1912, 1914 can be immediately interrupted when the call reaches the top of the queue 1916 without waiting for the process to finish. For example, if the user had selected to listen to a recording of store hours 1908, or to listen to music 1912, such recording or music can be immediately interrupted and the call can be transferred to the operator as soon as the call reaches the top of the queue.
  • Other types of automated processing such as automatic ordering of items 1910 may not be appropriate for immediate interruption, since immediate interruption could disrupt an on-going order process.
  • ETA estimated time of arrival
  • Fig. 20 Another service which may be offered by the system is an estimated time of arrival (ETA) application.
  • Fig. 20 One example of this application is depicted in Fig. 20.
  • the user is first given a welcome message 2002 and then prompted to select one of three choices, such as by entering a choice on a telephone keypad or other input device.
  • selection of key 0 2004 results in transfer to the operator 2006.
  • Key 1 2008 indicates the user wishes to inquire about the date a new product will become available 2010.
  • Entry of key 2 2012 indicates the user wishes to inquire when the product that the user has purchased has been or will be shipped 2014. If the user is inquiring about new product availability, the user is prompted to identify the product, such as by entering the product number 2016. If the user wishes to inquire about shipping dates, the user is prompted to enter a purchase number 2018.
  • the routing computer plays a role in determining which resources are best suited to this call and may, for example, determine whether or not the user should be transferred to the operator 2006. In such a case, since this function is performed by the routing computer, it is not necessary for the application to perform this function.
  • the application has access to a database of ordered products. In such a case, the application may ask for the product identification from the user and then determine whether this is a product which has been recently ordered by the user. If the product has been ordered, the application can provide the shipping date, without the need for the user to, for example, enter a purchase number. If no product has been recently ordered by the user, the application can provide information about the product, including, e.g., availability date or may prompt the user to indicate more specifically what information is desired.
  • the system has access to a database containing information about the user.
  • the database will include information about how this particular user prefers to have his information delivered, (e.g., via telephone, via fax, via mail, etc.) and will output the information accordingly, possibly after verifying the preferred delivery method with the user.
  • the system prompts the user to select an option for delivery of the information 2022.
  • entry of the 1 key indicates a preference for aural delivery 2026 which is then provided by the system, e.g., over the telephone via an interactive voice response system.
  • the user is then given the option to also receive the same information via fax by entering a 1 key 2028 or to terminate the session by entering a 2 key 2030. If fax delivery is requested, the user is prompted to enter the fax number 2030 or the system retrieves the user's fax number (from the user database) and the user then receives the fax 2032. If, on the other hand, the user chooses to receive the information primarily via fax by entering the 2 key 2034, the system either retrieves the user's fax number from a database or prompts the user to enter a fax number 2036 which is then received 2038.
  • the user is also given the option to additionally receive the information via an aural transmission by pressing a 1 key whereupon the information is transmitted, e.g., by an IVR system 2042 or to terminate the session by pressing the 2 key 2044. After termination of the session, a thank you message is deliver 2046 and the process is completed.
  • FIG. 21 provides one example of such an application.
  • the application prompts the user to enter a 0 key 2104 in order to transfer to the operator 2106 or to enter a 1 key 2108 in order to begin the locator service.
  • the embodiment of Fig. 21 is directed to a system for providing information regarding the location of stores. The user is prompted to enter information regarding the user's location such as entering a zip code 2110.
  • the application has access to a database containing information about various users, and if the current caller is included in this database, information about the caller's location may be obtainable from such database.
  • the database may include information about the location of the caller's residence, information about the location of the caller's place of business, or information from which location information can be derived, such as zip code, telephone number and the like.
  • the application determines whether there are any stores located within a predetermined distance (e.g., 25 miles) of the caller's location. If there are no stores within the predetermined distance, the caller is given several options. The caller may enter the 0 key in order to transfer to the operator 2016, may choose to terminate the session by entering the 2 key 2018, or may choose to search for a store located with respect to another location by entering a 1 key 20 2120.
  • a predetermined distance e.g. 25 miles
  • the caller may enter key 1 2120, returning the caller to block 2110 and the caller may enter, for example, the zip code of the caller's place of business.
  • the system outputs the requested location information, preferably via a medium requested by the user (such as voice or fax) .
  • the fax information can include a map showing the requested location.
  • the audio or telephone information may include, in addition to the street address, store phone number, store hours, etc., location information including, e.g., landmarks or cross-street information.
  • Figs. 22A-22D depict a unified system containing several features described above, according to one embodiment of the invention.
  • the caller initially receives a welcome message and/or menu selections 2202. Unless the caller chooses to be transferred to the operator 2204, the caller enters information locating the caller e.g., by zip code and soliciting information about the caller, e.g., the type of equipment which the caller has 2208.
  • the system for use by a software distributor and the system may ask whether the user has a Macintosh or a PC-type system. The user is then given options to select one of several types of browsing procedures 2210.
  • Selection 1 permits the user to select 2212 among various types of catalogues, for example, an office product catalogue 2214a, a home product catalogue 2214b, a utilities catalogue 2214c, an entertainment/education catalogue 2214d, and a hardware catalogue 2214e.
  • browsing for items will be based on the caller's type of hardware (e.g., PC or Mclntosh) , categories of software that support the caller's hardware and top selling products within those software categories.
  • the user can, use key entries 2216 to perform functions such as repeating product descriptions, skipping to the next product description, browsing through multiple category descriptions per call, requesting to see hard copies of product information or to hear further particular product information.
  • browsing popular items such as browsing the 10 top selling items 2220.
  • the user can select to receive information via fax 2222 or can receive information, e.g., over the telephone lines 2224.
  • the user can receive information about availability and pricing, including discount pricing 2225, can choose to transfer to an operator 2226, can choose to receive information via fax 2228 and/or in audio form 2230 and can order products including providing ordering information such as shipping address 2232.
  • Another option selectable from the main menu 2202 is requesting information regarding a store location, hours, etc. This procedure is depicted in Fig. 22C and similar to that described above in connection with Fig. 21.
  • FIG. 22A Another option available from the main menu 2202 is an interactive catalogue depicted in Figs. 22A and 22D.
  • this procedure permits a caller to find and order items by entering, for example, a product number.
  • the system first requests a user to enter a user identification number such as a preferred customer number 2242. The user then is prompted to enter the product number 2244.
  • the product number may be available to the user from, for example, another form of advertising, such as print advertising, or from the interactive system such as the browse system described above.
  • the system can provide information such as product availability, availability date, price and the like 2246.
  • the system also provides the ability to place orders including options for requesting faxed product description
  • the system prompts for entry of quantity being ordered and shipping options 2252. If the caller selects zero items to order, the caller is presented with various browse options similar to those described above 2255. Preferably, the system reads back information so that the user can verify the costs associated with the order 2254, tax, shipping and grand total 2256. The user is given the opportunity to change the order options or to enter a credit card number for billing purposes 2258. The user is supplied with a transaction number for the order 2260 and then given options to return to the main menu 2262 to enter a new catalogue number 2264 to record comments 2266 whereupon the session ends 2268.
  • the interactive catalogue can contain a number of features. Among these features is the ability of the caller to, in response to a product number, hear the product name, availability and price, regular price and discount (e.g., preferred customer) price, or for zone pricing, a price determined from the caller's zip code or other location information.
  • the system can determine the quantity of each item to be ordered. The user can request multiple items per order and place multiple orders per call.
  • the system will obtain the user's phone number or other communication identifier for contact in the event of a problem with an order. At the end of an order the caller can hear the price of each item being ordered, hear the amount of sales tax included in the order, hear the total cost of the order before accepting.
  • the caller can cancel the order at any time and can choose the shipping method, based on an address either entered by the user or based on an address stored by or accessible to the system, such as a user or customer database.
  • the user can request product description sheets via fax using the product's catalogue number item, at least for those products having a description sheet available.
  • the system can collect the caller's method of payment, such as credit card, debit card numbers, monthly bill or invoice and the like.
  • the system can transmit to the user advertising or "commercials" (audio or video) e.g., provided by the product manufacturer.
  • information such as installation or system requirements, e.g., in the case of computer software, technical information and/or marketing information.
  • the system will provide items of information which may be of use to the customer in communicating with the operator, such as product numbers, order numbers, etc., preferably, with a reminder to the caller to take note of these items.
  • items of information which may be of use to the customer in communicating with the operator, such as product numbers, order numbers, etc., preferably, with a reminder to the caller to take note of these items.
  • automated help such as context-sensitive help is available to the user at all times.
  • Figs. 11 through 14 generally depict such a system.
  • the system e.g., via computer text over a modem connection, via voice over an IVR, or by an operator
  • the system can inquire if the caller has an agent number that the caller wishes to use. If not, the caller can be asked if he wishes to establish a new agent, using a procedure described below. The caller can then select among a number of options.
  • the caller can request coupon information 1110, such as requesting coupons for a particular product, requesting transmission of a coupon package defined by the caller's agent and the like as described above.
  • the caller can order a catalogue, as described above 1112.
  • the caller can order a product from a catalogue previously received 1114, e.g., using a process described below.
  • the caller can request an update on a previous request made by the caller, such as by activating an agent to search the product database for items of interest 1116.
  • the caller can modify the portfolio he has previously defined for his agent 1118. For example, if the agent's portfolio previously included searching for database programs, the caller can modify the agent's portfolio to be directed to spreadsheet programs.
  • the caller can ask to be connected to an operator 1120 or ask for a direct connection to the seller (where available) .
  • a number of items and services can be provided when a caller orders an item from a catalogue, using the interactive system.
  • the system can check for the existence of coupons which apply to the this item or which apply to related items and can inform or transmit the coupons to the caller, as described 1202 (Fig. 12) .
  • the system can check for the existence of a customer account number, and verify with the caller that the information (e.g., shipping address, credit card information) is still valid 1206.
  • the system can verify that the item being purchased is compatible with equipment owned or recently purchased by the caller (e.g., to verify software compatibility with a recently-purchased computer system) .
  • the system can determine if the product is being purchased as a gift 1208. In this case, the shipping information for the gift is obtained.
  • the caller can be offered the opportunity to include a virtual gift card with the gift 1212.
  • a virtual gift card is an audio video or text message recorded by the gift-giver and stored for later playback.
  • the gift is packaged with instructions to the recipient regarding how to call up and receive the recorded voice message.
  • the message will be recorded in a system similar to a voice-mail system and playback will be initiated by the recipient calling a telephone number and entering a playback code.
  • the message will be retained on the system for a period of time after initial playback and thereafter erased to make room for other messages.
  • the shipping information and billing information is then used for processing the order.
  • the order can be sent to a shipping department or directly to the manufacturer for a drop-ship procedure.
  • the database may be modified or updated by the system in the same way as the database would be modified had the purchaser purchased directly from the manufacturer or retailer.
  • the order fulfillment personnel can fill orders from a single database, regardless of whether the order came directly to the manufacturer or retailer or via the system of the present invention. However, the order is placed without the need for additional effort or manual input by the personnel of the retailer or manufacturer.
  • the system can be used for customer pick-up rather than for shipping (e.g., to reserve a rental video) or to verify the status of goods or services ordered (e.g., to inquire whether dry cleaning is ready for pickup).
  • the information or services provided to the caller without the need for the retailer to hire personnel to perform this function, without the need for the retailer to develop his own automated system for providing the service and with a lower potential for error.
  • the manufacturer can be provided with packaging information including information regarding items to be included in the shipment, such as the coupons identified in step 1202, or the virtual gift card information from step 1212. Recorded message information other than virtual gift cards can also be included.
  • the manufacturer may specify that the product is to be accompanied by instructions telling the buyer how to access recorded messages (or an IVR system) to assist in such matters as product set-up, installation, unpacking, product registration, warranty registration, related product information or advertising and the like.
  • the information provided to shipping can also be used to update inventory data 1220
  • the purchase of a product can be used to establish times for follow-up transmissions, such as call-back to the customer 1222, e.g., to offer extended service or warranty products, related products, coupons, updates, and the like.
  • Fig. 11 the main menu
  • the user After the user has made his purchase selection he is prompted to choose the next option. For example, if the buyer has not yet been assigned an agent number, he can be offered this option 1226. The buyer can get information on related products or catalogues 1228. The buyer can be returned to the main menu (Fig. 11) to initiate another transaction 1230.
  • Fig. 13 if the user indicates a desire to establish a new agent, initial information regarding the name and address of the caller is obtained 1302. If desired, this information can be checked against the existing databases to determine if this caller has already established at least one agent 1304. In some cases, it may be desirable to limit the number of agents any one user can create. In these cases, the database is checked to see if this maximum number of agents has been exceeded 1306.
  • the caller is informed that he may either modify an existing agent, or exit the system 1308. If not, the caller is asked whether he wishes to modify an old agent (as described below) or create a new agent 1310. If a new agent is being created, information regarding the caller's shipping, billing and communications preferences is gathered 1312, either from existing database information relating to this caller (which the caller may verify at this time), or from caller input (e.g., using an IVR, input from a PC, connected via a modem, or by intervention of an operator) . The system also gathers information regarding the portfolio which is desired for the new agent. This procedure is similar the that used for modifying an existing agent.
  • the system can be configured to place calls or other communication to the user at times determined by the system in accordance with various criteria (either to maximize convenience to the user or to maximize, for example, sales) .
  • the system can be configured such that the user can optionally block all responses or callbacks until such time as the user requests responses or callbacks.
  • agent attributes which can be reviewed and/or modified.
  • the types of attributes an agent may have depends largely on the purpose of the interactive system. For example, if the interactive system is configured to create personalized catalogues of the products of a single retail outlet, the attributes will relate only to the type of products carried by the retail outlet (in the case of a software seller, for example, type of application, price, features, type of computer used by the buyer, etc) .
  • the agent might have a number of further attributes (e.g., preference for a particular manufacturer, category of product, such as software, computer systems, peripherals, or accessories) .
  • the agent identifier or number is obtained 1402 and the procedure loops through 1404, 1406 all attributes of the agent, playing-back the current attribute 1408, and prompting the user to confirm this attribute or to select a new choice for this attribute, e.g., from among a menu 1410.

Abstract

An interactive computer system provides multi-protocol capability for communicating between a number of I/O platforms (1704, 1706, 1708, 1716, 1712, 1718, 1720, 1722, 1726) having different protocols and a variety of applications (1728a-1728i) for servicing the data and, in particular, requests input from the I/O platforms. A routing computer (1732) receives and transmits information from and to the I/O platforms via a plurality of generic I/O interfaces (1734a-1734g). The generic I/O interfaces translate the various I/O data streams into a generic I/O data stream. Similarly, the routing computer (1732) communicates with the various application programs via generic application interfaces (1738a-1738e). The generic application interfaces translate between the protocols sent or expected by the various applications and a generic application protocol. This configuration provides for reduced development time and effort, easy accommodation of new technologies and consistency of user interfaces across I/O platforms and across applications. Preferably, the routing computer (1732) has access to information to permit it to route user requests to the most appropriate or best application program, without the need for the user to expressly request such routing. Application programs can be used to provide services such as classified advertisement and/or purchase services, individualized electronic or printed or faxed catalogues of products or services, automatic shopping, coupon processing and providing, store or resource locators, estimated time of arrival information and the like.

Description

INTERACTIVE COMPUTER SYSTEM WITH MULTI-PROTOCOL CAPABILITY
This application is a continuation-in-part of U.S. Patent Application Serial No. 08/037,220, filed March 26, 1993, U.S. Patent Application Serial No. 08/086,701, filed
July 2, 1993, U.S. Patent Application Serial No. 07/995,798, filed December 23, 1992 and 07/819,489 filed January 19, 1992, all of which are incorporated herein by reference.
The present invention relates to an interactive computer system for routing calls, inquiries, or requests to a preferred one of a plurality of application programs for filling or answering the inquiry or request. In particular, the present invention provides a computing system which can accommodate a variety of protocols and media, for such requests and such applications, including telephone requests, faxed requests, interactive video cable requests and the like, and routing the requests to a variety of applications such as applications for providing product information, filling orders for products or providing or processing coupons.
BACKGROUND OF THE INVENTION Various systems have been used for filling or answering requests for information or products. Some systems are at least partially automated. One example is a voice mail system in which a person wishing to leave a message can do so in an entirely automated fashion via telephone, making selections using the telephone keyboard to send dual tone multi-frequency (DTMF) signals to select options for recording messages. Another example, is an electronic bulletin board in which an operator of a personal computer can select to view, upload or download information to or from a remote computer by making keyboard selections which are transmitted to the remote, typically via a modem/telephone link. Yet another example is sending or receiving of information or messages between two computers via electronic mail or "e-mail" systems, e.g., over a local area network (LAN).
Although these various examples have certain features in common (such as routing of information between remote cites) each system has typically been developed independently and each represents, in a sense, a "customized" system. Thus, as each such system is developed, it has been infeasible to take advantage of the development effort made in other systems and this has contributed to the large development time and development cost associated with establishing such systems. Furthermore, as new technologies have become available (such as, for example, wireless networks) or as new communication/computing platforms have become available (such as, e.g., personal communication devices) new systems for communicating with remote locations and transferring information back and forth have been developed independently and customized to the new medium or platform.
Furthermore, because various communication media platforms each have their own communication protocols, it has been difficult to provide a system to accommodate multiple media or platforms and, in cases where this has been attempted, the system has typically been customized so that little benefit arises from previous development work when accommodating a new protocol in a system. Furthermore, the manner in which a user or customer interfaces, has had little consistency from one system to the next so that the user or customer must learn and remember the user interface and procedures peculiar to each system that the user works on. Additionally, previous systems of this type have required intensive user input in order to determine the information suitable for the user, typically requiring the user to expressly request the information and to input the data needed to accomplish the communication and to fulfill the request or order. Often this means that the user, in order to receive the best or most desirable service from the system, must have considerable knowledge about the system, the various resources that are available and the capabilities of the various resources.
Accordingly, it would be useful to provide a system in which information can be routed between users of the system and the programs for processing the user data to fulfil the user requests which can accommodate a plurality of data communication protocols and communication platforms and can be more readily modified to accommodate new types of protocols and platforms. It will be useful to lower the amount of development cost and time needed to achieve such modification. It would also be useful to provide a degree of consistency for the user so that procedures learned in connection with one platform or communication medium are sufficiently similar to the user interface for another platform or medium that a new medium or platform can be used with a minimum of learning. It would also be useful to provide a routing device which has the intelligence needed to route the user's request to the best resource available for handling the request, preferably while minimizing the amount of manual input required from the user and minimizing the amount of knowledge the user must have about the system and its resources.
SUMMARY OF THE INVENTION According to the present invention, a routing system, preferably a programmed computer, mediates between a communications or I/O facility and a data processing or applications facility. The routing facility does not receive and transmit data directly from and to the various communication media (such as telephone switches or lines, telefax server, etc.). Instead, a plurality of generic interfaces are provided to convert various communication protocols into generic communication protocols. Thus, the routing facility can use the same logic for a plurality of different protocols and/or platforms. This provides a number of advantages. By using the conversion capability provided by the I/O facility, the routing facility can easily accommodate a new type or protocol or platform or medium since only the I/O facility needs to be updated to accommodate the new platform or protocol, with the routing facility requiring little or no modification. Similarly, enhancements or revisions of the routing facility can be easily achieved since it is not necessary to accommodate the peculiarities of the various protocols or platforms, but only the generic I/O interface facilities which would be fewer in number and, preferably, at least partially consistent with one another. The generic interfaces provide the opportunity to easily achieve a standard user interface which can provide some consistency between various platforms. In this way, a user who is accustom to making requests and receiving information using a telephone keypad will easily be able to use the system via an e-mail procedure since the telephone generic I/O interface is preferably similar to the e-mail generic I/O interface and since the common routing logic and common applications resources will already be familiar to the user.
In a similar fashion, the data processing modules or applications which service the user requests are connected to the routing facility via generic application interfaces. This facilitates the modification, enhancement, or addition of applications to the system since this can be little or no modification of the routing facility. Providing an amount of consistency between the various generic application interfaces also contributes to the user's perception of consistency and ability to adapt from one application to another. Thus, the user can more easily enjoy the benefits of various types of applications with minimal amount of relearning, while those responsible for development of the application software do not need to be concerned with the issue of consistency since this is attended-to the generic application interfaces.
In this fashion, the routing or management system, which is preferably a multi-media system, provides for management of transactions without regard to the type of communication medium (e.g., voice, fax, video). The system uses a routing or communication protocol layer and generic interface layers permitting implementation of new protocols or platforms as they become available. In one embodiment, the routing facility uses an object-based database to maintain information about the transactions, both for current tracking and routing and for future statistical information. One embodiment of the present invention involves an interactive computing system for facilitating sales of goods and services or matching individuals with common interests and for gathering information, which provides a facility for representing the interests or characteristics of the users of the system so as to automatically gather pertinent information and direct information to recipients who are likely to be interested in the information. In one embodiment, the interactive computer system generates one or more database entries and associated procedures, referred to herein as "agents" to represent the interests or characteristics of the users of the system as well as the interests of the system. An "agent" is not restricted to representing an individual. An agent can be formed to represent, for example, a household, a company, a neighborhood, etc. Each agent includes a portion of memory for storing information, in a predetermined fashion, relating to the likely interests, purchase histories, demographic and other information, communications preferences, shipping and billing preferences, etc. of a user. Each agent also includes a communication facility for conveying information to users of the system and one or more predefined procedures for identifying and selecting information which fits the stored interest profile for that agent, so that the information can be transmitted to the user. The system provides for activation of agents at predetermined times or after predetermined events.
Unlike advertising systems which are based on general demographic information, the present system is able to store characteristics or preferences associated with persons who have actively initiated some communication with the system, such as using electronic communication like telephone communication, telefax communication, modem communication and the like. This increases the likelihood that responses which are provided back to the user will be of interest to the user (as apposed to advertising which is sent to a predefined demographic group that may or may not have an interest in a product, service, person or the like) . Furthermore, by building agent portfolios for those who have initiated or positively responded to communications in the system, it is possible to provide an interactive computing system which can be configured either to provide information only in response to a request for information from the user or to provide unsolicited information to persons about whom the system has stored interests or characteristics.
In one embodiment, a database stores information about each customer of a company, which includes information about the likely interest of the customer, such as past product purchases, demographic information, customer inquiries and the like. At certain times (such as when new products are added to the company's line, or as prices change, sales or other promotions are announced, upon request by the customer, when the customer places an order, or at periodic intervals) , the customer's agent prepares a "catalogue" of company products which is preferably individualized, i.e., which is limited to, emphasizes, or is weighted toward the items which are of likely interest to the customer. Thus, the customer does not bear the burden of reviewing large amounts of advertising for items which are of little interest, since the customer's interests and/or characteristics have been represented by his electronic agent, who has produced an individualized catalogue. The catalogue can be sent by any of a number of communication facilities, including by phone, fax, modem, mail, or video preferably using a medium that has been tailored to the preferences or characteristics of the user, in reliance on information stored using the user's agent.
In addition, the seller can establish procedures for packaging/shipping a product using information about the buyer, obtained from the buyer's agent. For example, if the agent indicates that the buyer has access to telephone services, a product which is purchased can be packaged with automated telephone information, to, e.g., offer the buyer the opportunity to use his telephone to automatically perform product registration, obtain installation, use instructions, obtain further product information, contract for extended warranty/maintenance services. In the present context, "telephone" refers generally to communication at a distance, and includes not only voice communication over a standard land-line network, but also cellular phone communication, telefax communication, computer and/or modem communication, wireless network communication, cable communication, personal digital assistant communication and the like. If the agent indicates that the buyer has access to video service, the buyer can be offered the opportunity to receive video information or advertising and, if the video is interactive, to perform product registration, etc. If the agent indicates the buyer prefers to communicate using a personal computer (PC) , personal digital assistant (PDA) , fax, or other communications means, the product and associated offers can be packaged accordingly.
The information regarding user preferences and characteristics can be obtained in a number of fashions. In one embodiment, advertising (which can be print advertising, electronic advertising, visual or aural advertising and the like) is provided with one or more advertising code numbers. When a user of the system wishes to place a order for an advertised product or wishes to obtain further information about the product or related or similar products, the user can access the interactive computing system of the present invention and provide the computer system with the advertising code number or numbers. This accomplishes a number of purposes. First, the system contains a database which correlates the advertising code number with information about the contents of the advertising. Thus, if the customer is attempting to order the advertised product, the system knows immediately what product or products the user may be ordering and the task of receiving the order is simplified. Similarly, if the user is requesting further information on a product or products or services the system can readily identify the products and provide the proper information to the user, based on the code number which has been provided. Furthermore, the code can be correlated with the medium, time and place of the advertising to obtain information about the characteristics of the user such as what publications, programming, locations and times are read, visited or frequented by the user and this information can be used to more accurately provide information which is likely to be of interest to the user.
A system as described above can provide a number of facilities and capabilities in addition to providing the information and facilitating buying/selling. In one embodiment, an application utilizes information about the customer or the customer's order (either retrieved from a database or on the basis of information entered by the customer) so that a caller can, by entering, e.g., an order number or a product number be told when a product is expected to be available or an order is expected to be shipped. The application can be used to provide information to a caller concerning retail outlets such as using a caller's zip code or telephone number (either entered by the number or retrieved using automatic number identification (ANI) ) to determined the closest retail store and provide directions, address, phone number, and store hours by voice or fax. The application can be used to deliver ordered goods directly when the goods are capable of electronic transmission (such as downloading ordered software via modem) . The system is preferably configured to accommodate and respond to changes in the flow of demand on the system, e.g. , to route requests to an application which is available, even if the application is not optimal, in other senses, for filling the user's request. In situations where the user enters the system via a voice phone call, the system may decide to route the call to a facility or person who is presently too busy to take the call. Current systems handle this situation by placing the caller on hold or, in some cases, offering the user a different facility such as an automated information or ordering facility. According to one embodiment, a user can interact with various automated services simultaneously while waiting on-hold for the desired person or service, without the user losing his or her place in the queue for such service. The interactive on-hold service can include a choice of music, which, preferably, the user could change anytime (by pressing corresponding numbers on the telephone keypad) , and/or a series of vendor-paid advertisements, preferably that the caller can browse through by skipping or repeating various advertisements, using the touch tone keypad and the like. Interactive on-hold services can be provided in connection with video or tele-video communication as well as audio communications.
BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a schematic block diagram of an interactive computer system coupled to input and output devices; Fig. 2 is a schematic block diagram of an interactive computer system, according to one embodiment of the present invention;
Fig. 3 is a flow diagram depicting a generalized scheme for responding to user input in an interactive computer system, according to one embodiment of the present invention;
Fig. 4 is a flow chart showing the handling of an incoming call, according to one embodiment of the present invention;
Fig. 5 is a flow chart illustrating the placement of a new ad or product description, according to one embodiment of the present invention;
Fig. 6 is a flow chart illustrating a search for matching interests, according to one embodiment of the present invention; Fig. 7 is a flow chart illustrating a callback routine, according to one embodiment of the present invention; Fig. 8 is a flow chart illustrating steps performed when a buyer requests a catalogue, according to one embodiment of the present invention; Fig. 9 is a flow chart illustrating catalogue item playback, according to one embodiment of the present invention; Fig. 10 is a flow chart illustrating activation of an agent to select items for a catalogue, according to one embodiment of the present invention;
Fig. 11 is a flow chart illustrating operation of a unified system including self-publishing catalogue, coupon handling, catalogue orders and virtual gift cards, according to one embodiment of the present invention;
Fig. 12 is a flow chart illustrating a procedure for ordering from a catalogue, according to one embodiment of the present invention;
Fig. 13 illustrates a procedure for establishing a new agent, according to one embodiment of the present invention;
Fig. 14 illustrates a procedure for modifying an existing agent, according to one embodiment of the present invention;
Fig. 15 illustrates a procedure for screening calls in an interactive system, according to one embodiment of the present invention; Fig. 16 is a flow chart of a method for automatic shopping, according to an embodiment of the present invention;
Fig. 17 is a block diagram of an interactive computer system with multi-protocol capabilities according to one embodiment of the present invention, along with a plurality of communication platforms; and
Fig. 18 depicts an on-hold or automated processing system according to previous devices;
Fig. 19 depicts an interactive on-hold system according to an embodiment of the present invention; Fig. 20 depicts an "estimated time of arrival" procedure according to an embodiment of the present invention;
Fig. 21 depicts a locator application according to an embodiment of the present invention; and
Fig. 22A-22D depict a unified system including catalogue browsing functions, ordering functions, and locating functions according to an embodiment of the present invention. DESCRIPTION OF THE PREFERRED EMBODIMENT Fig. 17 is a block diagram of an interactive computer system with multi-protocol capability according to an embodiment of the present invention. The system is configured to route information between a plurality of data nodes 1702- 1726 and a plurality of information processing applications 1728a-1728i. The data nodes 1702-1726 are various communication platforms, at least some of which allow user to access to the system 1701. A variety of different data nodes or platforms can be used to access the system 1701 and/or to provide output from the system 1701. Examples depicted in Fig. 17 include a fax server 1708, interactive voice response systems, e.g., Linkon™, IVR Systems, or Periphonics™, interactive voice response system 1712, relational database systems such as an Informix™ relational database management system (RDBMS) 1714 or various other customer database systems 1716, object-oriented database systems such as SERVIO™ object- oriented database management systems 1718, various on-line services such as the Newton™ 1720, e-mail 1722, American On- Line™ (AOL) , existing data communications systems such as X.25, local area networks (LANs) or the proposed National Information Highway 1724 and video services including cable, fiber-optic and broadcast video services 1726. Some or all of these may be, in turn coupled to a further communication link 1730 such as telephone line, cable, fiber optic system and the like.
Variety of information processing systems or applications can be used, typically each being a software package designed to receive requests for information or action and to fill the requests. In addition to various types of classified ad systems 1728a, 1728b, examples of applications depicted in Fig. 17 include catalogue applications 1728c, 1728d, either for providing product descriptions in response to user requests or other events or to permit ordering of goods or services, as described, for example, in U.S. Serial No. 08/086,701, filed July 2, 1993, and "On-Hold" application for providing services to users while users are waiting for another service, as described more fully below, a location application such as an application for providing a store location or a representative location 1728f, 1728g described more fully below, and a report application 1728h, 1728i, e.g., for providing statistical information such as information on sales, orders, or demographic information gathered by the system.
As one example of a user of the system, user A may wish to use an electronic classified system for finding a new car. Using the system 1701, user A can enter the system via telephone using any of a variety of telephone services such as telephone switch card 1702, Mitel™ switch 1704, AT&T Definity™ switch 1706, and the like. Typically, the user will access by dialing a number using his or her home telephone. Using methods described more fully below, the system 1701 will receive the call and route it to a classified ad application 1728a. The classified ad application 1728a includes software for accessing one or more advertising databases, performing a search and outputting results. The results of the search will then be routed back to user A, either via the telephone switches 1702-1706 or through another route, defined by the user. A classified ad application of this nature is described, for example, in U.S. Serial No. 07/819,484, filed January 19, 1992.
A computing system 1732 is provided for routing data such as request for services and responses to requests between the data nodes 1702-1726 and various applications 1728a-1728i. However, the computer 1732 does not communicate directly with the data nodes 1702-1726 or the applications 1728a-1728i. Instead, the computer 1732 communicates with the data nodes via a plurality of generic I/O interface devices 1734a-1734g, 1736. The computer 1732 communicates with the applications via a plurality of generic application interface devices. Preferably, the generic interfaces 1734a-1734g, 1736, 1738a-1738e are software packages. Although Fig. 17 depicts the interfaces as separate blocks, they may be executed on the computer 1732, or may be executed on separate computing devices. In addition, the generic I/O interfaces 1734a-1734g include physical layer interfaces for converting the different types of signals output by the various platforms 1702-1726 into signals which can be received and processed by the computer 1732. These physical layer devices can include digital/analog converters, buffers and timing and control circuits of types well-known in the art.
Each of the various data nodes 1702-1726 receives and transmits data according to its own protocol. In general, a communication protocol specifies items such as data rate, frequencies, synchronous/asynchronous/isochronous nature of communication, format for control/routing information and the like.
Fig. 17 depicts a configuration in which several different protocols are present. For example, on-line services 1724 depicted include both X.25 services (defined by CCITT Standard X.25) and a local area network which might be, for example, a token-ring network defined by IEEE Standard 802.5. If the computer 1732 were to communicate directly with both of these devices, it would be necessary to provide separate software in computer 1732 to handle each of these communications despite the fact that the type of input and output for communicating from the X.25 ethernet channels with an application are similar. According to the present invention, a generic I/O interface 1734f issues to convert the communication from each of the two different-protocol nodes X.25 and LAN, into a single generic I/O protocol.
Using a generic I/O interface facility has a number of useful effects. It reduces the number of protocols which the routing computer 1732 must accommodate. It reduces the development, time and effort needed to accommodate a new type of data node. For example, interactive video services are still being developed and different types of interactive video services with different protocols are likely to arise. According to the embodiment of Fig. 17, different types of video servers 1726 can be accommodated by modifying only the generic video I/O interface 1734g. The software developed in the routing facility 1732 for accommodating the generic I/O output by the generic interface 1734 does not need to be reconfigured as new types of video servers 1726 are developed since the protocol of each new type of video server, as it is developed, will be translated by a (modified) generic I/O video interface 1734g into the same generic video protocol. Although Fig. 17 depicts different communication channels 1742a-1742g for each of the different generic interfaces 1734a-1734g, according to one embodiment two or more of the various generic interfaces 1734a-1734g can provide generic I/O which is identical and thus only one communication channel may be needed for two or more I/O interfaces. In this situation, the programming of the routing computer 1732 can be even further simplified since the routing computer can communicate with two or more generic I/O interfaces in the same fashion, without requiring information as to which type of generic I/O interface it is. In the ultimate case, all generic I/O interfaces will translate into the same generic
I/O protocol and the routing computer 1732 will communicate to and from the generic I/O interfaces without requiring knowledge as to whether the interface is, for example, a fax interface 1734b or a voice interface 1734c. In some embodiments, it will be useful to provide two or more layers of generic I/O interfaces. For example, as depicted in Fig. 17, separate generic I/O interfaces are provided for relational databases 1734d and object-oriented databases 1734e. Because there are both a number of similarities and a number of differences in the operation of these two types of databases, a second layer of I/O interface 1736 can be provided to translate generic relational database I/O and generic object-oriented database I/O into a single generic database I/O before communication to and from the routing computer 1732.
In a similar fashion, generic application interfaces convert between data protocols appropriate for the various applications 1728a-1728i and a generic protocol for processing by the routing computer 1732. In this case, data protocol between the applications differs primarily as to aspects (such as order and/or tagging of data) which determines how data is to be handled by the application. For example, classified ad application number 1 1728a, may expect the first N words of data to contain a user identifier number while classified ad application number 2 1738b, may expect the first M words of data to indicate whether the user wishes to place a new ad or search the existing ads. The generic classified application interface 1738a translates these differing protocols into a common generic classified application protocol for processing by the routing computer 1732. This reduces the time and effort required to modify existing applications or to add new applications to the system since such a modification or addition can be done in conjunction with modifying a generic application interface 1738a-1738e without needing to modify the routing computer programming 1732. Since different classified ad applications 1728a, 1728b are converted into a common protocol for handling by the routing computer 1732, the different applications have a similar appearance to the user, making it easier for the user to move from one application to the next. This continuity of appearance can be enhanced when the generic protocols provided by the various generic application interfaces 1738a-1738e are similar to one another thus making it easier for the user to move from, for example, a classified ad application to a catalogue application. The routing computer 1732 preferably provides functions beyond passively routing communications to applications which are requested expressly by the user. In one embodiment, the user is not required to be familiar with the various applications 1728a-1728i available through the system. Instead, the user merely requests the information, product or service desired and the routing computer 1732 selects the application best suited to the request. In one embodiment, the routing computer 1732 maintains (or has accessible) a database containing information regarding the caller, including the caller's request and also maintains (or has accessible) information regarding the capabilities and resources of the various applications that are available. The information regarding the caller can be based on a number of sources including the information expressly input by the caller, either spontaneously or in response to prompts output by the routing computer 1732 as well as information obtained without express user input, such as telephone information from an automatic number identification (ANI) system, data source information received through an e-mail system and the like. Further, the system can be configured to access information about various past and/or potential callers. For example, information about past callers may include past merchandise orders, past information requests and the like. Information accessed about a past or potential caller might include, for example, demographic information about the location where the caller is calling from (such as average income, education, etc.,), credit history information, and the like. Information regarding the capabilities and the uses of the various applications can include information regarding the demographic profile of target or usual customers, types of merchandise available, average cost of merchandise, acceptable payment forms and the like. A routing computer 1732, in this embodiment, performs a closeness-of-fit analysis between the user profile and the profile of the various applications available. A match can be made on the basis of various closeness parameters. For example, one embodiment, may attempt to find the application most likely to satisfy the user with the greatest rapidity (thus minimizing demand on the system 1701) , while another embodiment may match a request to that application which has the largest number of resources to respond to the user (which may not provide the most rapid response) thus maximizing shopping time and, potentially, maximizing purchases.
In another embodiment of the invention, as depicted in Fig. 1, an interactive computer system 1010 is coupled to any or all of a plurality of input devices 1012 and output devices 1014. The input and output devices 1012, 1014, are coupled to an I/O connect and interface device 1016. The I/O connect and interface device can include, for example a fax server, a telephone answering and/or switch system, or an interactive voice response (IVR) system. The I/O connect and interface is coupled to one or more databases 1018 which include memory devices for storing database information, a database server (which can be, for example, a personal computer, workstation, or mainframe) and associated software. The software can be any of a number of commercially available database software packages and/or can be specifically programmed for one or more of the embodiments described below. Preferably, the I/O connect and interface is also coupled to operator facilities 1020 to permit connection of a user to an operator, as described below. Operation of the I/O connect and interface 1016 and database 1018 is controlled by a control device 1022 which can be, for example, a personal computer, workstation or mainframe. The control 1022 can be a separate unit from the database server or can be the same computer.
The user accesses the interactive computer system 1010 through any of a plurality of input devices 1012 and output devices 1014. Fig. 1 illustrates examples of some possible input and output devices, although any I/O devices that permit the user to effectively communicate with the interactive computer can be used. Telephone input 1024 can be via keypad input, particularly in a dual-tone multi-frequency (DTMF) telephone system, or can rely on voice recognition software (typically, e.g., installed in the computer system 1010) to permit verbal input of data and commands. A telefax input can be sent to an operator for manual entry, can be sent to a scanner, for example, for detection of check-box markings, or can be processed by optical character recognition (OCR) software to permit faxing of printed, typed or handwritten input. A computer can be used for inputting data and commands, for example, by using a personal computer 1028 connected using a dial-up modem, a Local Area Network (LAN) , or a wireless network (e.g., a radio network). Any of a number of styles of computer can be used including, personal computers, laptops, palmtops, notebook computers, personal digital assistants, workstations and mainframes. The computer 1028 can accept input through any of a variety of methods, including keyboard input, mouse input, touch-screen input, pen or stylus input, oral or voice-activated or voice-recognition input and the like. Input can include card-reader input 1030 such as facilities for reading encoded cards such as credit cards (e.g., at point-of-purchase) , debit cards, banking cards, identification cards, or other item or card readers including bar-code readers. Input can also be accepted at automatic teller machines 1032 which typically provide both card readers and keyboards.
Output from the interactive system 1010 to the user can be by a number of output devices including telephone, telefax and personal computer. Output can be digital or analog and can include audio, video or other information. Further, output facilities such as cable facilities (including video and audio cables and/or including wire and optical cables) 1034 and mail or other shipping facilities 1036 can provide output to the user. In all cases, input and output communications can be provided with privacy/security features such as encryption and/or password systems.
A particular implementation of an interactive computer system 1010 is depicted in Fig. 2, which illustrates a system which can be used in connection with a self- publishing catalogue application. The catalogue may include information regarding products from a single source (such as the catalogue for a retail outlet) or can be a compilation of products from a number of sources (such as a co-op) . In the former case, little information need be stored regarding "sellers" since there is only one source. In the latter case, it may be desired to maintain an extensive database on various sellers, as described more thoroughly below. This configuration comprises a telephone switch such as PBX (private branch exchange) 12, an interactive voice response (IVR) system 14, a database server (DBS) 16, and a fax server 18. PBX 12 is connected to one or more telephone lines 20 through which users (buyers and sellers) amy communicate with the system, either by voice or fax. A suitable PBX is the Summa/Four™ switch available from Sum a. In general, any switch capable of responding to control by an external computer may be used.
IVR 14 is a computer specialized for storing digital audio scripts, and for playing back such scripts in response to digital or touch tone inputs. IVR 14 is coupled to PBX 12 via Tl telephone line 22, such that the IVR can be coupled directly to a user who calls the system via telephone line 20. However, in a preferred implementation of the present invention, the IVR preferably includes the ability to concatenate individual words or phrases to produce voice output.
An IVR with concatenation ability is to be contrasted with a simple voice mail system. In a voice mail system, one can store a number of voice scripts, and means for permitting a user to access different scripts depending upon touch tones or other data input by the user. Each script, however, is a complete message, and cannot be further broken down. This limitation means that the individual words and other data within the script are not searchable. In contrast, in an IVR system with concatenation capability, individual words and/or phrases are stored in voice form, while the messages that will be built up from such words and phrases are stored in a conventional text-type database. When a message from the database is to be converted into voice form, the IVR retrieves the voice corresponding to each word or phrase, and concatenates these individual voice segments into an output voice message. Suitable IVR's with concatenation ability are the Voice Processing Series (VPS) models available from Periphonics, Enhanced Services Platform (ESP) available from Precision Systems, Inc. and Linkon.
DBS 16 is a general-purpose computer programmed for database operations. In the illustrated embodiment, DBS 16 manages three text (as opposed to voice) databases: ad database 30, seller database 34, and buyer database 36. Ad database 30 comprises an electronic equivalent of the ads typically included in a catalogue. Seller database 34 lists the sellers that have registered to use the system, while buyer database 36 list the buyers that have registered to use the system or who are potential buyers. The seller and buyer databases also include information pertinent to the preferences and interests of the buyers and sellers and represent one component of the agent. This information is gathered in any of a number of ways. The information may be provided by the user by reference to a code number associated with an advertisement such as an advertisement or listing in a telephone directory or "yellow pages" directory, or an entry in a catalogue. The code number may be of a form that it can be readily entered using a keyboard (e.g., telephone keypad, Automatic Teller Machine (ATM) keypad, computer keyboard) so that the information can be obtained without the intervention of an operator. The information may be requested at the time the seller requests an entry in the catalogue or at the time a buyer calls to place an order or make an inquiry. The information may be gathered automatically using the IVR system or a computer- controlled text script system, or the information may by gathered by an operator for manual entry. Preferably, the buyer information will include information regarding how the buyer wishes to pay for purchases (e.g., credit card information), and shipping information (e.g., preferred type of shipping, shipping address) . The information, preferably, also includes information related to the actual or likely interests of the buyer, such as purchase histories, demographic information, expressed interests such as type of employment, hobbies, current equipment, and the like. Advertising code numbers, e.g. in connection with telephone directory listings or in connection with catalogue entries, can be used to obtain and store information regarding purchase history of the user, previous interest in products or services expressed by the user (e.g., in the form of previous information requests) , reading or viewing habits of the user, and the like. Information may be gathered from the user which relates to likely future purchases, such as information about birthdays of family members, or other significant events, information about previous gifts purchased by this user, information about the level of spending for previously- purchased products or gifts and the like. In addition to or in place of gathering information directly from the buyer, this information can also be gathered automatically (e.g., using telephone caller identification systems) or as a result of the users's inquiries or purchases within the system, or by obtaining the information from a commercial information source (such as a commercial mailing list with demographic information) . Similarly, information regarding the advertiser or seller can be gathered, including information regarding the history of ad placements or catalogue entries and the like.
In one embodiment, information about the user is accessible to more than one system so that, for example, once a caller has entered his address and phone number in a given system, other systems will be able to use this information (keyed, for example, to a user identifier number) . Preferably, this aspect of the invention is implemented by having a central repository for such information which is accessible by a plurality of systems. A central repository simplifies the process of changing an address, phone number, etc. as this data changes for an individual user.
DBS 16 is coupled to IVR 14 via serial link 24, and to PBX 12 via serial link 26. The DBS includes terminal 40 through which an operator can interact with and control the DBS. Terminal 40 may be a conventional personal computer. The operator of terminal 40 wears headset 42 that includes headphones 44 and microphone 46. The headset is coupled to PBX 12, so that the operator can engage in conversations with callers via the PBX and telephone line 20.
Fax server 18 is coupled to PBX 12 via telephone line 50, and to DBS 16, via serial line 52. The fax sever may be a conventional personal computer with a fax board.
The operation of the system shown in Fig. 2 is outlined in the flow charts of Figs. 3-13. The general operation of an interactive system is depicted in Fig. 3. The I/O connect/interface system 1016 receives an initial input such as by answering a telephone call or computer modem call 1042. The I/O connect interface system 1016 sends a short introductory audio or video message to the user, briefly explaining how to operate the system and preferably inviting the inexperienced user to request more detailed information 1044. The I/O connect/interface system 1016 monitors the input from the user and in particular checks for user input which indicates the user is requesting help 1046 or is requesting to be connected to an operator 1048, whereupon the I/O connect/interface system 1016 takes the appropriate actions of invoking context sensitive help routines 1050 or connecting the caller to an operator 1052. Preferably, after the caller has finished interacting with the operator (e.g., to receive assistance or to perform a process not readily done in an automated fashion) the user can return to the automated system. Preferably, the user can return to the system at the same point in the procedure that the user was at when the user requested transfer to the operator, i.e., it is not necessary for the user to begin automated processing again from the beginning of the procedure, as if the user were placing a new call to the system. This goal can be implemented by saving the state of the process, e.g., to a memory stack. In the absence of such inputs, the I/O connect/interface system 1016 prompts the user to make a choice among the available options (such as those described more thoroughly below) 1054, receives the user choice and branches to the appropriate subroutine 1056, such as those described below. Upon returning from the branch or subroutine 1058, the I/O connect/interface system 1016 loops 1060 to check for help or operator requests and to prompt for the next user choice.
A particular implementation of the system depicted in Fig. 3 involves a system for publishing a catalogue which is tailored to the likely interests of buyers, based on the buyer's agent or agents. The agent or agents preferably include three main components: data regarding buyer preferences and/or characteristics (stored in the buyer database, as described above) , hardware and activatable software for matching the buyers's interests or characteristics to potential catalogue entries in order to compile a catalogue which will be of interest to the buyer (e.g., as described below), and facilities for transmitting the catalogue to the buyer (e.g., as depicted in Fig. 1).
As indicated in Fig. 4, the operation of the system is triggered by receipt of an incoming call, e.g., to the PBX via telephone line 20. In step 100, the PBX first determines whether the incoming call is voice, fax or some other medium. If fax, then step 102 connects the incoming call to fax server 18 via telephone line 50. The fax server receives the fax, and the fax may then be printed by a printer coupled to FAX server 18 or to DBS 16.
If the incoming call is voice, the step 104 is executed. In this step, the PBX sends a message to DBS 16 via serial line 26, indicating that a new call has been received. In return, the DBS sends back a transaction identifier (Transld) that will be used to uniquely identify this call. In step 106, the PBX then connects the call to the IVR via telephone line 22, and transmits the transaction identifier to the IVR via telephone line 22, using touch tone signals.
The steps in blocks 100-106 in Fig. 4 are performed by PBX 12, while the remaining steps in this figure are performed by IVR 14. In response to receipt of the transaction identifier for the PBX, the IVR in step 110 plays a pre-stored new caller voice script, and transmits this script to the caller via PBX 12 and telephone line 20. This script may include any introductory information, recently added features of the system, instructions on how to use the system, etc. The script then asks the caller to identify a desired function, for example by pressing designated touch tone keys on the caller's telephone. Block 112 then analyzes the function that the caller has requested, and routes control accordingly.
The principal functions that the caller may request depend upon whether the caller is a seller or buyer. If the caller is a seller, then the caller can ask to place a new product in the database used to compile the catalogue. If the caller is a buyer, then the caller can ask the system to search for products that match its needs, and to generate a catalogue. In a particular implementation, numerous other functions could be selected at this point. For a seller, such additional functions could include changing an existing product description cancelling a product, playing back a product description previously placed, and modifying information concerning the seller itself, such as its phone number or address, etc. For a buyer, such additional functions could include modifying, cancelling or renewing a previously created agent.
If the incoming caller identifies itself as a seller wishing to place a product description or advertisement, then the IVR identifies this as a non-IVR based function, and sends an operator request message to DBS 16 via serial line 24, as shown in block 116 of Fig. 4. In response to the operator request message, the DBS begins prompting the operator at terminal 40 for information relating to the new product. In turn, the operator relays these requests to the seller via headset 42 and switch 12, receives the seller's responses via the same path, and inputs such responses to DBS 16, to create a new product description in ad database 30. Although this step could be automated using the IVR, a human operator can readily accommodate the amount of variability involved in placing an new product description, explaining to the seller the options available, etc.
Fig. 5 provides further details concerning the steps used to create a new ad in ad database 30. In step 150, the operator asks the seller to identify itself, such as by supplying a seller ID or other identifying information. If the catalogue is configured to serve only a single seller, steps 150-154 can be skipped. The operator then checks seller database 34, to determine whether the seller is already registered in the system. If the caller is a new seller, then the operator obtains information form the seller in block 154, and the new seller is added to the seller database. In both the automated and operator-mediated embodiments, the user can, in some cases, be given an opportunity to record a custom voice message. The custom voice message can be used for playback to prospective purchasers or recipients in various ways. For example, the seller may record a description of a product, which can be recorded by a voice mail-type system for playback when a prospective buyer requests information on a product. Alternatively, the seller could record information about related products for playback when a prospective purchaser has purchased (or requested the information about) a primary product or for playback to a gift recipient, e.g., as part of a "virtual greeting card" system described below. In one embodiment, the system can create an advertisement on behalf of the seller, using the information provided by the seller (such as price, condition, features, etc.). In another embodiment, the system can integrate system-created advertisements with advertising material recorded or down loaded by the seller (such as a voice mail-recorded message, a down loaded video advertisement and the like) . In block 156, the operator asks the seller if it wished to place a new product description in the system. Assuming that the answer is yes, the operator obtains the information relating to the new product in step 160. The information requested from the seller corresponds to the fields of the ad database. The fields in the ad database will depend on the type of products being listed in catalogues. For example, if the catalogues are being produced for a single software retail outlet, the fields might include such items as type of application (business, game, home management, legal) , type of program (database, spreadsheet, word processor) , price, features, availability, discounts, sales, coupons that can be used or provided, etc.
DBS 16 then assigns an ad identifier (Adld) , and the new product with its Adld is stored in ad database 30. DBS 16 then searches want ad database 32, in step 164, to determine if any of the previously stored agents have needs, interests or characteristics which match the new product just received from the seller. This step could of course be performed either before or after the new product is actually placed in the ad database. Alternatively, the addition of a new product can cause the calling of a subroutine which scans all agents to determine which, if any, are to be activated by a product addition and which activates such agents (e.g. by calling a subroutine) , as described below. One technique for performing this matching step is outlined in Fig. 6. In this approach, the matching fields in the ad and agent databases are broken down into basic fields (e.g., type of program and price), and option fields (all remaining matching fields) . In step 180, the first or next agent is retrieved from the agent database. Step 182 then compares the basic fields of the new product to those of the agent. For example, step 182 compares the program type of the new product to the buyer's agent's interest profile. If the program type is not within the buyer's interest area, then there is no match, and control returns to block 180 to retrieve the next agent. Step 184, performs a similar test for price. For price, the matching criteria is plus or minus 20%. This "tolerance" perimeter can be varied, and could also be specified by the buyer.
If the basic field tests in blocks 182-184 are all successfully negotiated, then the option fields are tested. For each option, if blocks 192 and 194 determine that the agent requires the option but that the option is not present in the product, there is no match, and processing returns to step 180. On the other hand, if a given option is not required, or is required and present, processing returns to block 190 to test the next option. When all options have been successfully tested, a match has been found. In this case, in step 196, the Adld of the new product is placed in a catalogue "bin" for this agent, together with "delivery" information corresponding to the agent's information. The delivery information can include the buyer's phone number, together with time information specifying the times that the phone number should be called. Alternatively, the agent may reference a buyer ID which is used to retrieve the delivery information from buyer database 36. When processing of the agent database is complete (or simultaneously with processing) , control returns to step 156 in Fig. 5. At this point, the operator determines if the seller has another new product to place. If so, then the above described steps are repeated. If not, then processing proceeds to block 170 to perform various accounting functions, and the placement of the new product by the seller is complete.
As mentioned above, provision may also be made for sellers to fax product description to the system via PBX 12 and fax server 18. In this case, the fax is printed or displayed to the operator of terminal 40, and the operator then inputs the information shown on the fax to create a new product description in ad database 30. In this case, the steps shown in Fig. 6 are again carried out, to determine if the newly placed product matches any agent interests or characteristics. The catalogue may be prepared and mailed (or otherwise transmitted) automatically, or the buyer can be consulted regarding transmission of the catalogue. Fig. 7 illustrates an optional callback routine that determines if the buyer wants a catalogue. In step 200, the DBS scans the callback queue, to determine if any callbacks are scheduled to be made at the present time. Each callback record includes the buyer's phone number and time information concerning when callbacks should be directed to that phone number. Block 202 determines if the time information in any callback records matches the current date and time.
For callback records in which the information matches, step 204 pulls such records from the callback queue, and sends them (e.g. in text form) to the IVR. In step 206, the IVR dials the buyer's phone number contained in the callback record, and waits for a response. If a voice response is not received, then the IVR sends a corresponding message to the DBS. The DBS then marks the time of the attempted callback in the callback queue record, so that a set period of time can be established between callback attempts in step 202. The callback routine resumes scanning in step 200. If a voice response is received, then in step 210, the IVR sends a voice message to the buyer via the PBX, asking the buyer to make a predetermined touch tone response if the buyer would like the catalogue transmitted at the present time. If the buyer's response is positive, the catalogue is prepared and sent 216. If the buyer requests telephone transmission of the catalogue, then the IVR assembles a voice message by identifying the individual words and phrases contained in the product description, retrieving the digital voice records corresponding to such words and phrases, and concatenating the individual voice records into a single message. This message is then relayed to the buyer in voice form via telephone switch 12 and telephone line 20. When product description playback is complete, the IVR sends a corresponding message to the DBS, and the DBS removes the callback record from the queue in step 218, and then resumes scanning.
If the buyer does not wish to received a catalogue at the present time, the buyer may provide a negative response. The buyer may call in at a later time to request a catalogue, as described below. An option could also be provided to enable a buyer to request receipt of the catalogue via fax, modem, mail, cable, etc.
Fig. 8 illustrates the steps performed when a buyer calls the system to request a search. In general, a buyer's catalogue request can be handled by an operator at terminal 40, or by IVR 14. The following discussion will assume that the buyer's catalogue request is routed through the operator of terminal 40. However, analogous functions could be handled by the IVR, for systems in which a lower degree of flexibility is suitable. Referring again briefly to Fig. 4, for the case of a buyer's catalogue request to be handled by an operator, IVR 14 will send an operator request message to DBS 16, as shown in step 116. Referring now to Fig. 8, the operator at terminal 40 will then obtain information from the buyer, in step 250, in order to create a "profile" for the catalogue request. In general, a "profile" corresponds to an agent record, except that the profile has not yet been stored in the agent database. Thus, the information requested by the operator will correspond to the fields of the agent database. The operator also obtains an output method from the buyer, e.g., voice or fax.
For the case in which the buyer's catalogue request is being handled by the IVR, the IVR would at this point send the profile and the output method to DBS 16. However, for the case being considered in which the buyer's search request is handled by the operator, the DBS already has this data. In either case, the DBS proceeds in step 252 to search ad database 30 for products matching the profile. Block 254 then determines whether any matches have been found. If not, a suitable message is sent to the buyer in step 256, via either the operator or the IVR. Control then returns to block 250 to permit the buyer to specify a different profile or quit. If step 254 determines that matches have been found, then step 260 determines the output method that the buyer has specified. If fax output has been specified, then step 262 sends the matching ads to fax server 18 for output via PBX 12. Control then returns to step 250. If voice output has been specified, then step 264 sends the matching ads to IVR 14. In step 266, the IVR proceeds to play the matching ads back to the buyer. This process is also further described below. In step 270, the buyer is then asked whether it wishes to convert the currently searched profile into an agent. If the buyer's response is affirmative, then the IVR sends a corresponding message to DBS 16, and the DBS proceeds to store the profile as a new agent in the agent database 32. In both cases, control then returns to step 250.
Fig. 9 illustrates a preferred, interactive technique for carrying out the playback of matching ads by the IVR, in step 266 of Fig. 8. As in the case of playback of the callback queue described above, the IVR performs the playback by assembling a voice message in real time. The voice message is assembled by identifying the individual words and phrases contained in the ad, retrieving the digital voice records corresponding to such words and phrases, and concatenating the individual voice records into an output message. For the purpose of this playback, the fields in each ad are preferably separated into "summary" fields and "detail" fields. In general, the summary fields of the ads are assembled and played back sequentially, beginning with the first product in step 300, and ending with the last product in step 310. However, during the playback, the buyer can control the sequence, e.g., using predetermined touch tone keys. For example, one touch tone key would correspond to the illustrated "More" function that causes the detail fields of the current ad to be assembled and played back. If the More function is not used, then detail fields are omitted. A second touch tone key would correspond to the Repeat function, which causes either a repeat of the summary fields of the current product description if details are currently being played back, or causes the prior ad to played back in the case of summary playout. A third key would be dedicated to the
Skip function which causes the playback to skip ahead to the next ad in the sequence.
In the example above, matching is accomplished by the system comparing a new product to each agent in the system. The system can also be configured so that each agent is proactive in the process, in the sense that agents can, at specified times or under specified conditions, become activated 1070 to search the product database for matches to themselves. As depicted in Fig. 10, a number of events can be used to activate an agent. One such event is the addition of a new item (or addition of a specified type of new item) to the database 1072. Another event is the passage of a specified period of time, so that the agent is periodically activated 1074. Another event is the modification of the agent profile or portfolio 1076. Another event is the impending occurrence of a date associated with the user, such as a birthday of a family member or the like. In this instance, the system can provide an automatic (i.e., without human intervention) reminder service to a user or subscriber to remind the user of events such as birthdays, anniversaries, etc. In one embodiment, the reminder service can be combined with a gift suggestion service to suggest appropriate gifts for birthdays, anniversaries, etc. The appropriate suggestions, in one embodiment, can be based on the user's history of gift-giving via the system, supplying such information as the price of gifts given in the past, type of gifts given in the past and the like. Other events that can be used to trigger a reminder is purchases of certain types of items. For example, one year after a user purchases a new carpet, he can be reminded that carpet cleaning services are available. Specified times after purchasing a new car, a user can be notified that it is time for a tune-up and/or it is time to trade-up to a new model. In this regard, this system can make beneficial use of purchase histories from sources other than purchases made through the system (such as from credit card companies, product registration services, and the like) . Reminders could also be provided with respect to periodic charitable or non-profit donations. Each agent can be configured to activate upon different events or conditions (or can be a purely passive agent, only storing information for query by other processes, such as in Figs. 4-9) . Although, in one embodiment, the user is offered the choice whether or not to create an agent, in another embodiment, agents can be automatically created without the need for a user request, e.g., such that an agent is created or updated every time a user communicates with the system in such a fashion that the user can be identified in some way. Once the agent is activated it executes a subroutine designed to select items which are of most interest for inclusion in a catalogue. In this sense, the electronic agent performs a shopping function for the user. In the selection procedure depicted in Fig. 6, selection was by an elimination process, in which the product must meet certain criteria.
Fig. 10 depicts an alternative selection process in which each product is assigned a score representing the closeness-of-fit to the agent's defined interest or characteristics. In this way, a predetermined number N of products which are the closest fit to the interest or characteristics of the agent can be selected. The definition and selection of items for inclusion in the catalogue can be determined interactively with the prospective purchaser. For example, the system can notify the purchaser of how many matches have been found and invite the user to, for example, narrow the search by adding another criteria in order to provide a smaller number of matches. In one embodiment, if the criteria added by the prospective purchaser results in zero matches or an unacceptably small number of matches, the user can be invited to "back up" one level by removing one or more criteria to provide a larger number of matches.
Any of a number of criteria can be used for selection. The example illustrated in Fig. 10 calculates three scores based on the agent's interests, demographic information and purchase history. The procedure loops through all products 1078, 1080, calculating a score for each. The system could be configured to store the scores for old products and to calculate and store scores only for new or modified product description. In the depicted example, an interest score (IS) 1082 is calculated on the basis of a score representing the product type and a score representing the agent's interest. If the agent has more than one interest, the interest closest to the product type score can be used. Alternatively, a weighted average of the difference of all agent interests can be used. As one example, if the products are all software, the system could assign a score of 1000 to word processors, 500 to spreadsheets, 50 to databases and 900 to forms generators. Forms generator scores are close to word processor scores, since there are similarities in the products. Suppose the agent has an interest in word processing. If the product is a forms generator, IS = 100 (a relatively good or low score) . If the product is a database, IS = 850 (a high or bad score) . Thus, this agent will generate a catalogue which includes word processors and forms generators, but will not likely include databases.
The demographic score (DS) 1084 is calculated by comparing the buyer's demographic data with the demographic data which describes the most likely buyer of the product. Again the score is taken as the absolute value of the difference.
The product history score (PS) 1086 is, similarly, the absolute value of the difference between the product type score and the score for the closest previous product purchased by the buyer. Thus, an agent has stored information about previous purchases so that if the buyer has purchased a user interface (such as WINDOWS™) , the score for related products (e.g. Word for Windows™) will be relatively low (i.e. good) . The sum of the three scores is calculated 1088 for each product and stored. After all products have been reviewed 1080, the products with the lowest scores can be selected for inclusion in the catalogue for this buyer. In one embodiment, the system matches prospective purchasers with products being offered by any or all members of the public who wish to advertise on the system (such as in an "electronic classified ad") . In another embodiment, the system may be used exclusively by one manufacturer or retailer for selling, exclusively, its own goods. In yet a third embodiment, a configuration between the "electronic classified ads" and "exclusive" system can be used in which one or more advertisers may pay for the privilege of having its products more heavily-weighted or more frequently-considered in processing a matching procedure such as that depicted in Fig. 10.
The system described here includes software running on various integrations of hardware, which accomplishes several tasks, including the "self-publishing" or automated publication of catalogs, by software "agents". Agents are created when users interact with the system described here, and represent users in on-going transactions within and between databases outside the consumer direct interaction and beyond their initial interaction. Additionally, this system leverages the abilities of such a system to add/interactive benefits to both the advertiser and consumers, including certain virtual products as described below toward the end of created highly automated self-publishing, customer servicing and new services.
The system provides inventory and ordering functions. At least some features center on (1) the "agent" which resides in the database representing each consumer and gathering information on consumer interests and characteristics, (2) the agent's function of shopping for the consumer, (3) the agent's function of automatically compiling and/or transmitting custom catalogues of specific interest to the consumer represented by the agent and (4) and the systems function of offering advertisers "virtual" invoices, greeting/gift cards and other interactive support of the sale form the catalogue. A virtual invoice consists of a telephone number and invoice number posted on the item ordered and given to the buyer. It can be used to track the item instantly. seek customer support for the product through the system and provide other related information by voice (computer concatenated or text-to-speech) , fax back, electronic or other means. The virtual document facility can be used to send documentation for the product via fax or electronic means while simultaneously serving to register the user upon their calling, confirming delivery.
For gift catalogs, or retail sales services conducted by telephone or electronic means the system can create a "virtual greeting card" which is be shipped with the item sold to the recipient in the form of a phone number and a second "greeting number". The recipient would call the telephone number on the "virtual gift card" and hear a voice message recorded by the customer sending the gift (stored in a voice mail box in the system) . The recipient can also choose to hear more information about the catalogue, order a catalogue or go "on-line" to respond to the sender. Rather than sending paper registration or documentation with an item or product shipped, a "virtual manual" or "virtual registration card" could be sent. Again, a telephone number sent with the item and delivered in real time to the buyer as they ordered, allows the customer to request information by whatever means they wanted in terms of documentation registration and service. This would limit paperwork on many orders and provide the customer special premiums for easy quick registration or other desired action.
This product would run on equipment similar or identical to that disclosed in U.S. Serial No. 07/819,484 and the continuation-in-part thereof U.S. Serial No. 07/945,748, filed on December 23, 1992. That disclosure features a computer "agent" created inside a database of classified advertising, which "remembers" (i.e., stores in memory) every caller's request. A caller calls into the system and builds a query (answering by touch tone or other means including an operator or a personal computer or other device) . Whatever data (ads) are available, they are delivered to the caller instantly, by phone (concatenated voice) , fax (including any photos attached to the ad) , or other communication devices. The agent will then reside in the system, acting as the buyer or seller's "representative" examining every piece of incoming information. Alternatively, the agent may be activated periodically or upon the occurrence of predetermined events to perform a shopping function by comparing the interests or profile of the user to the product or advertising database. When new data (in this case ads) are entered onto the system, the agent stores the new ad's identification number, and then notifies the consumer by whatever means and at whatever time the consumer has chosen, or leaves a message when it detects a voice mail system (e.g., due to failure to detect a touch tone response) . Alternatively, the agent may convey information to the consumer without relying on stored consumer communications preferences, such as by sending periodic advertising customized to the user's interests. Preferably, the system assigns a number to each incoming ad (which could apply to any media including broadcast or personal communication devices) . As noted above, advertising can be associated with an advertising number such as by printing or displaying an ad number in connection with a telephone directory advertisement or listing, in connection with a catalogue entry and the like. When the caller calls regarding one specific ad number, the system automatically searches the entire inventory of the system or of the specific advertiser for similar items matching parameters in the database for the advertised product. One call thus lets the consumer quickly find out about all similar properties in the database, e.g. , based on criteria the consumer creates (and based on the fields chosen by the system as "comparable" items) . This makes the print, broadcast or personal communications device interactive.
Finally, the system creates a number for each "agent" and tells the consumer that the number can be used to call back into the system to instantly check on any new items on the system. This is for use by, e.g., consumers who do not want the system to contact them automatically.
One embodiment of the present invention includes a self-publishing, interactive catalogue, utilizing print, fax, personal computers or person communications devices. It, too. creates an "agent" for each shopper. In one embodiment, the company provides a catalogue number for each product and, optionally, and provides certain premium interactive services which can be utilized by the catalogue customer, as described above. The system can create catalogues to be published electronically (by PC or fax or other means, including telephonic means text to speech or concatenated speech system) . There can also be mass mailed catalogues, but the idea behind the system is to reduce their number and target their mailing. Also, the system can let those with no catalogue find what they are looking for 24 hours a day using a PC on-line and/or interactive voice system programmed with a sophisticated relational database. Product registration can also occur 24 hours a day as can invoice information using a unique product/customer number created for each transaction, combining the various technologies used by this system. Direct connect options for operator help can be made available to take information such as credit card numbers, addresses, etc. , to set up ID (accounts) to simplify the ordering and information gathering process described below.
The agent represents each consumer, and includes one or more activatable computer routines which continuously and/or periodically represent the consumer in the database and, based on new activity in the system, automatically publishes catalogues tailored to the characteristics or likely needs of the consumer. In one embodiment, an interactive print number is provided, by which a consumer who chooses to call about one item in the catalogue is informed about all similar products (by vender, or function, or other parameter e.g., set by the publisher).
The caller enters the system e.g., via telephone, computer or other communication-device with or without an "agent", ID or catalogue number. An agent number can be provided by the caller's direct interaction with the system, as described below, or by other means such as filling out cards at retail outlets, by direct mail, or electronic or telephonic means. With an ID or agent number, the system recognizes the caller. The caller can order by catalogue number including ordering catalogues, request an update based on previous requests (the agent's work on behalf of the caller) or add or delete areas/items of interest or direct connect to an operator for special help. All activity is "observed" by the agent which continuously shapes the agent file.
If the caller has an existing account and wishes to order a new product, they can simply enter the product number from a catalogue or other source. The system will then take care of getting the product shipped. It retrieves the billing, shipping and other information from the account file. The new information about the order will be added to the customer's "agent" profile.
Periodically, the system will automatically publish bulletins and custom catalogues for each agent, with new information of interest to the caller/customer, based on the criteria in their agent file. Windows™ users, for example, will hear about Windows™ products, Macintosh™ users about Macintosh™ products. WinWord™ users will hear about all related WinWord products. The agent will, for example, immediately notify consumers of updates, new releases, or closely related products, by fax, mail or even phone. Not only can these custom catalogues be sent by fax, mail and/or PC, they can be used as covers for mass mailed catalogues, making the mass mailed version custom to each user and more likely to draw attention. There can also be an "urgent notification" function by which the system will automatically telephone, fax or page a caller when the product they need arrives. This can be particularly useful to small businesses who need prompt delivery.
The system also permits new callers, without an ID, to build an agent based on the query they make, using either an interactive voice response system or other means. Operator assistance can be made available to speed this process up. Once a caller has made a request and gained an ID, the caller can choose to ask to be notified with new information of interest, or be given an agent (ID) number with which they can call back at any time to request instant, self-published catalogues of interest, or to order 24 hours a day. The system can feature a direct connect option to a human operator or vender in the case of help service.
The system would shorten order time and automate order fulfillment by sending and order in real time to the point of shipping, while also updating company inventory files and producing demand reports. "Just in time" inventory control can be used, routing the order directly to manufacturers. The statistical benefits of assigning the agent to each caller, and having it create a virtual catalogue for each user, are many. The company using this system can track demand, target customers, save money and time. It can also allow the company to tailor education programs to certain clusters of users, in the form of custom newsletter or other information a manufacturer might want sent to certain customers.
The company can determine the frequency with which it publishes bulletins or catalogues. One command can activate all "agents" to update their catalogue bins with new information and publish a catalogue for each user. The agent ID can also be used to target and reward small business and frequent users with special promotions, discounts and other benefits. The system can be programmed to greet each user personally when their ID is entered. This can be done by allowing the user to speak their name, or through concatenation techniques or on line via PC.
Fig. 16 provides an illustration of a manner in which advertisements, listings or entries in, for example, a telephone directory or catalogue, can be used to provide automatic shopping functions for a user. In the embodiment of Fig. 16, the telephone directory or catalogue is published along with code numbers or "ad numbers" which can be used to fully or partially identify the advertisement listing or entry 1602, 1604. In this embodiment, the user reads or views the advertising listing or entries in the catalogue or directory and communicates with the computer system such as by placing a voice telephone call, sending a message by fax, modem, cable or the like. In communicating with the system, the user refers to the ad number 1606. In response to receiving the communication from the user, the system creates or updates an agent using the ad number. In particular, the ad number permits the system to fully or partially determine the nature and location of the advertisement listing or entry in the directory or catalogue. This information can be used to help determine what the user is purchasing or inquiring about, as well as to obtain information about the user (such as that the user consults a particular telephone directory or catalogue) . The system preferably performs the service requested by the user in his communication (such as ordering a product or providing requested information) . Further, the agent preferably also obtains information about related products or services, such as products or services which the user ordered or inquired about or products or services which are related, such as supplemental products, add-on products, upgrade products and the like. This information can then be transmitted to the user 1608. Further, even after the transaction requested by the user in his original communication (such as ordering a product or transmitting initial information) is completed, the agent continues to monitor the database to identify products or services, sales or other promotions, coupons and the like based on the information available about the user (such as the user's interests, requirements, characteristics) . In this sense, the agent performs a shopping function for the user by gathering information likely to be of interest to the user, without the user having to bear the burden of gathering this information 1610. This function of shopping or monitoring, as an alternative to being conducted in a continuous manner, can also be conducted periodically or upon the occurrence of predefined events.
In one embodiment, a procedure is provided for determining the degree of difference between the item which the user originally ordered or inquired about, and some or all of the products or services having information stored in the database 30. This can be done in a number of manners. The measurement can be computed for each entry in the database or for only certain categories in the database. A rough measurement of difference can be computed and a more accurate difference can then be computed only for those items which are sufficiently close, based on the initial rough measurement. The measurement can be conducted periodically, or can be conducted whenever a new product or service is added to the database or an old product or service description is changed or new information about the user becomes available. The measurement of difference can be stored or can be computed "on the fly" whenever it is desired to prepare a package of information for transmission to the user.
The difference measurement is then used to identify a subset of the items in the database which are sufficiently close to the apparent interests or characteristics of the user that they should be included in a transmission to the user. In one embodiment, all products or services within a predefined amount of difference are members of the subset. In another embodiment, a predetermined number of product and service descriptions (e.g., N descriptions) will be sent and the N closest products or services will form the subset. In another embodiment, the subset may also include items which are not particularly close according to the measurement of difference. For example, the information transmitted to the user can include one or more items which are not close to the perceived user interest or characteristics but have been randomly selected or have been selected on the basis of promotion or advertising considerations so that the user will receive information having a number of products likely to be of interest, interspersed with products which may or may not be of interest. However, in order that the information will be customized or targeted to the likely user interests, the subset will not contain every product and service in the electronic database and there will be at least one product or service which is not included in the subset that has a measurement of difference greater than at least one product or service which is in the subset. The concept of an agent has numerous other uses in an interactive computing system, in addition to assisting in provision of a self-publishing catalogue. Including coupon delivery and processing, depicted in Fig. 12, automatic notification of advertiser, in-bound polling, depicted in Fig. 15, all described in greater detail in U.S. Serial No. 08/086,701, incorporated herein by reference.
Interactive. On-Hold Call Management Fig. 18 depicts the previous approach to on-hold management. According to previous approaches, when a system receives a call which is appropriate for transfer to a particular resource (for example, an operator) which is currently busy, the caller is typically placed on hold. In some systems, the caller is offered a choice 1802 to either wait for the operator who is busy or to proceed with an automated procedure. As shown in Fig. 18, according to this system, if the caller choose to wait for the operator, the call is placed at the bottom of an electronic list or queue of callers waiting to be connected to the operator 1804. A caller in the queue will normally be connected to the operator or other resource before other callers who entered the queue later. The caller holds while the call works its way to the top of the queue, i.e., as the operator processes, in turn, each call in the queue 1806. Eventually, the call which is holding reaches the top of the queue 1808 at which point it is connected to the operator 1810.
If, on the other hand, if the caller had requested an automated procedure, the caller will typically be invited to selected from among a variety of options 1812, such as to hear a recording about store hours 1814, to order one or more items 1816, or to obtain price information 1818. The user is also offered the option to decide to wait for the operator 1820. In the depicted embodiment, after finishing one of the automated procedures 1814, 1816, 1818. The caller may select 1812 another option. As shown in Fig. 18, the user, after entering an automated procedure loop, selects to wait for the operator 1820, the user then enters the bottom of the queue 1804. Thus, according to the previous procedures of Fig. 18, if a user selects an automated procedure, the user cannot at the same time maintain his or her place in the queue and, must, after leaving the automated procedure, enter the bottom of the queue 1804.
Fig. 19 depicts an embodiment according to the present invention in which the user can select an automated procedure without losing his or her place in a queue. As depicted in Fig. 19, after receiving a call, if the system determines that (or if the user requests that) the user should be routed to a resource (such as an operator) that is currently busy, the user call will be placed in the bottom of the queue for the operator 1902. As before, the call works its way to the top of queue. However, the call can be held in the queue simultaneously with automatic processing. Thus, at the same time that the call is waiting in the queue 1904, the caller is also given an option 1906 to select among various automated procedures such as hearing about store hours 1908, ordering items 1910, listening to music 1912, or hearing price information 1914. According to one embodiment, if the user selects to listen to music 1912, the user is then prompted to select the type of music (for example, classical, popular, folk) or silence. During the time the selection and processing is going on 1906-1914, the call is simultaneously working its way to the top of the queue 1904. When the call reaches the top of the queue, an interrupt procedure is undertaken 1916. In the embodiment shown in Fig. 19, the interrupt procedure operates by setting a flag to indicate that interrupt is now appropriate. After the selected option is finished 1908, 1910, 1912, 1914, the system checks to see whether the interrupt flag has been set. If the interrupt flag has been set, the call is routed to the operator 1920. If the interrupt flag has not been set, the user is given the opportunity to continue automated processing 1906 since this means the call is still working its way to the top of the queue.
In the embodiment of Fig. 19, once the interrupt procedure is initiated, the currently-underway processing 1908, 1910, 1912, 1914 is allowed to finish before checking the interrupt flag. In another embodiment, one or more of the automated processes 1908, 1910, 1912, 1914 can be immediately interrupted when the call reaches the top of the queue 1916 without waiting for the process to finish. For example, if the user had selected to listen to a recording of store hours 1908, or to listen to music 1912, such recording or music can be immediately interrupted and the call can be transferred to the operator as soon as the call reaches the top of the queue. Other types of automated processing such as automatic ordering of items 1910 may not be appropriate for immediate interruption, since immediate interruption could disrupt an on-going order process. In that case, it may be preferable to wait until the current procedure is finished or until an appropriate "stopping point" has been reached before interrupting. In this instance, it may be most efficient to transfer the next call in the queue (or the next call whose automated processing is immediately-interruptable) for transfer to the operator while the system is waiting for the call at the top of the queue to reach a stopping point.
Estimated Time of Arrival
Another service which may be offered by the system is an estimated time of arrival (ETA) application. One example of this application is depicted in Fig. 20. According to the application depicted in Fig. 20, the user is first given a welcome message 2002 and then prompted to select one of three choices, such as by entering a choice on a telephone keypad or other input device. In the example of Fig. 20, selection of key 0 2004 results in transfer to the operator 2006. Key 1 2008 indicates the user wishes to inquire about the date a new product will become available 2010. Entry of key 2 2012 indicates the user wishes to inquire when the product that the user has purchased has been or will be shipped 2014. If the user is inquiring about new product availability, the user is prompted to identify the product, such as by entering the product number 2016. If the user wishes to inquire about shipping dates, the user is prompted to enter a purchase number 2018.
Other configurations are also possible. As noted above, in one configuration, the routing computer plays a role in determining which resources are best suited to this call and may, for example, determine whether or not the user should be transferred to the operator 2006. In such a case, since this function is performed by the routing computer, it is not necessary for the application to perform this function. In another embodiment, the application has access to a database of ordered products. In such a case, the application may ask for the product identification from the user and then determine whether this is a product which has been recently ordered by the user. If the product has been ordered, the application can provide the shipping date, without the need for the user to, for example, enter a purchase number. If no product has been recently ordered by the user, the application can provide information about the product, including, e.g., availability date or may prompt the user to indicate more specifically what information is desired.
After the information requested or needed by the user is identified, it is necessary for the system to determine how to deliver the information. In one embodiment, the system has access to a database containing information about the user. In one embodiment, the database will include information about how this particular user prefers to have his information delivered, (e.g., via telephone, via fax, via mail, etc.) and will output the information accordingly, possibly after verifying the preferred delivery method with the user. In the embodiment of Fig. 20, the system prompts the user to select an option for delivery of the information 2022. In the embodiment of Fig. 20, entry of the 1 key indicates a preference for aural delivery 2026 which is then provided by the system, e.g., over the telephone via an interactive voice response system. The user is then given the option to also receive the same information via fax by entering a 1 key 2028 or to terminate the session by entering a 2 key 2030. If fax delivery is requested, the user is prompted to enter the fax number 2030 or the system retrieves the user's fax number (from the user database) and the user then receives the fax 2032. If, on the other hand, the user chooses to receive the information primarily via fax by entering the 2 key 2034, the system either retrieves the user's fax number from a database or prompts the user to enter a fax number 2036 which is then received 2038. The user is also given the option to additionally receive the information via an aural transmission by pressing a 1 key whereupon the information is transmitted, e.g., by an IVR system 2042 or to terminate the session by pressing the 2 key 2044. After termination of the session, a thank you message is deliver 2046 and the process is completed.
Locator Application
Another application provides information about the location of various resources, such as the location of the nearest retail store which is currently open, the location of a particular company representative, such as a salesman and the like 1728f, 1728g. Fig. 21 provides one example of such an application. In the embodiment of Fig. 21, after providing a welcome message 2102, the application prompts the user to enter a 0 key 2104 in order to transfer to the operator 2106 or to enter a 1 key 2108 in order to begin the locator service. The embodiment of Fig. 21 is directed to a system for providing information regarding the location of stores. The user is prompted to enter information regarding the user's location such as entering a zip code 2110. Other items which could be used to indicate the user's location include telephone number or area code, address, and the like. In another embodiment, the application has access to a database containing information about various users, and if the current caller is included in this database, information about the caller's location may be obtainable from such database. For example, the database may include information about the location of the caller's residence, information about the location of the caller's place of business, or information from which location information can be derived, such as zip code, telephone number and the like.
After obtaining information regarding the caller's location, such location is compared to a database containing information about the location of various stores. In the embodiment of Fig. 21, the application determines whether there are any stores located within a predetermined distance (e.g., 25 miles) of the caller's location. If there are no stores within the predetermined distance, the caller is given several options. The caller may enter the 0 key in order to transfer to the operator 2016, may choose to terminate the session by entering the 2 key 2018, or may choose to search for a store located with respect to another location by entering a 1 key 20 2120. For example, if the system indicates that there are no stores within 25 miles of the caller's residence, the caller may enter key 1 2120, returning the caller to block 2110 and the caller may enter, for example, the zip code of the caller's place of business. The system outputs the requested location information, preferably via a medium requested by the user (such as voice or fax) . In one embodiment, the fax information can include a map showing the requested location. The audio or telephone information may include, in addition to the street address, store phone number, store hours, etc., location information including, e.g., landmarks or cross-street information.
Unified Systems
Figs. 22A-22D depict a unified system containing several features described above, according to one embodiment of the invention. In the depicted embodiment, the caller initially receives a welcome message and/or menu selections 2202. Unless the caller chooses to be transferred to the operator 2204, the caller enters information locating the caller e.g., by zip code and soliciting information about the caller, e.g., the type of equipment which the caller has 2208. In one embodiment, the system for use by a software distributor and the system may ask whether the user has a Macintosh or a PC-type system. The user is then given options to select one of several types of browsing procedures 2210. Selection 1 permits the user to select 2212 among various types of catalogues, for example, an office product catalogue 2214a, a home product catalogue 2214b, a utilities catalogue 2214c, an entertainment/education catalogue 2214d, and a hardware catalogue 2214e. Preferably, browsing for items will be based on the caller's type of hardware (e.g., PC or Mclntosh) , categories of software that support the caller's hardware and top selling products within those software categories. Among the items played back or sent to the user as the catalogue entries, the user can, use key entries 2216 to perform functions such as repeating product descriptions, skipping to the next product description, browsing through multiple category descriptions per call, requesting to see hard copies of product information or to hear further particular product information.
Other "browse" types which the user can select, assuming the user does not choose to transfer to an operator 2218, is browsing popular items such as browsing the 10 top selling items 2220. In this case, the user can select to receive information via fax 2222 or can receive information, e.g., over the telephone lines 2224. In the various browse modes, the user can receive information about availability and pricing, including discount pricing 2225, can choose to transfer to an operator 2226, can choose to receive information via fax 2228 and/or in audio form 2230 and can order products including providing ordering information such as shipping address 2232. Another option selectable from the main menu 2202 is requesting information regarding a store location, hours, etc. This procedure is depicted in Fig. 22C and similar to that described above in connection with Fig. 21.
Another option available from the main menu 2202 is an interactive catalogue depicted in Figs. 22A and 22D. In general, this procedure permits a caller to find and order items by entering, for example, a product number. In the procedure depicted in Fig. 22A, the system first requests a user to enter a user identification number such as a preferred customer number 2242. The user then is prompted to enter the product number 2244. The product number may be available to the user from, for example, another form of advertising, such as print advertising, or from the interactive system such as the browse system described above. In response to entry of the product number, the system can provide information such as product availability, availability date, price and the like 2246. The system also provides the ability to place orders including options for requesting faxed product description
2246, audio description 2250. When the user wishes to place an order, the system prompts for entry of quantity being ordered and shipping options 2252. If the caller selects zero items to order, the caller is presented with various browse options similar to those described above 2255. Preferably, the system reads back information so that the user can verify the costs associated with the order 2254, tax, shipping and grand total 2256. The user is given the opportunity to change the order options or to enter a credit card number for billing purposes 2258. The user is supplied with a transaction number for the order 2260 and then given options to return to the main menu 2262 to enter a new catalogue number 2264 to record comments 2266 whereupon the session ends 2268.
In various embodiments, the interactive catalogue can contain a number of features. Among these features is the ability of the caller to, in response to a product number, hear the product name, availability and price, regular price and discount (e.g., preferred customer) price, or for zone pricing, a price determined from the caller's zip code or other location information. Preferably, the system can determine the quantity of each item to be ordered. The user can request multiple items per order and place multiple orders per call. Preferably, the system will obtain the user's phone number or other communication identifier for contact in the event of a problem with an order. At the end of an order the caller can hear the price of each item being ordered, hear the amount of sales tax included in the order, hear the total cost of the order before accepting. The caller can cancel the order at any time and can choose the shipping method, based on an address either entered by the user or based on an address stored by or accessible to the system, such as a user or customer database. The user can request product description sheets via fax using the product's catalogue number item, at least for those products having a description sheet available. The system can collect the caller's method of payment, such as credit card, debit card numbers, monthly bill or invoice and the like. In some embodiments, the system can transmit to the user advertising or "commercials" (audio or video) e.g., provided by the product manufacturer. Among the description of products being provided, information such as installation or system requirements, e.g., in the case of computer software, technical information and/or marketing information. When the user transfers to an operator, preferably the system will provide items of information which may be of use to the customer in communicating with the operator, such as product numbers, order numbers, etc., preferably, with a reminder to the caller to take note of these items. Preferably, automated help such as context-sensitive help is available to the user at all times.
In another unified system embodiment, the above described functions of providing a self-publishing catalogue, providing and processing coupons and notifying advertisers of the need to renew advertising can be accommodated in a single system. Figs. 11 through 14 generally depict such a system. When a new caller enters the system 1102, information regarding the identity of the caller can be gathered 1104. The system (e.g., via computer text over a modem connection, via voice over an IVR, or by an operator) can inquire if the caller has an agent number that the caller wishes to use. If not, the caller can be asked if he wishes to establish a new agent, using a procedure described below. The caller can then select among a number of options. The caller can request coupon information 1110, such as requesting coupons for a particular product, requesting transmission of a coupon package defined by the caller's agent and the like as described above. The caller can order a catalogue, as described above 1112. The caller can order a product from a catalogue previously received 1114, e.g., using a process described below. The caller can request an update on a previous request made by the caller, such as by activating an agent to search the product database for items of interest 1116. The caller can modify the portfolio he has previously defined for his agent 1118. For example, if the agent's portfolio previously included searching for database programs, the caller can modify the agent's portfolio to be directed to spreadsheet programs. The caller can ask to be connected to an operator 1120 or ask for a direct connection to the seller (where available) . In some systems, it may be useful to provide a facility for connecting a caller to a client's (or seller's) operator or customer service representative, rather than to the system operator or representative.
A number of items and services can be provided when a caller orders an item from a catalogue, using the interactive system. The system can check for the existence of coupons which apply to the this item or which apply to related items and can inform or transmit the coupons to the caller, as described 1202 (Fig. 12) . The system can check for the existence of a customer account number, and verify with the caller that the information (e.g., shipping address, credit card information) is still valid 1206. The system can verify that the item being purchased is compatible with equipment owned or recently purchased by the caller (e.g., to verify software compatibility with a recently-purchased computer system) . The system can determine if the product is being purchased as a gift 1208. In this case, the shipping information for the gift is obtained. The caller can be offered the opportunity to include a virtual gift card with the gift 1212. A virtual gift card is an audio video or text message recorded by the gift-giver and stored for later playback. In one embodiment, the gift is packaged with instructions to the recipient regarding how to call up and receive the recorded voice message. Typically, the message will be recorded in a system similar to a voice-mail system and playback will be initiated by the recipient calling a telephone number and entering a playback code. Preferably the message will be retained on the system for a period of time after initial playback and thereafter erased to make room for other messages.
The shipping information and billing information is then used for processing the order. The order can be sent to a shipping department or directly to the manufacturer for a drop-ship procedure. In some cases, it may be preferable for the system to communicate directly with a client's or seller's order-fulfillment department or database. In such a system, the database may be modified or updated by the system in the same way as the database would be modified had the purchaser purchased directly from the manufacturer or retailer. Thus, the order fulfillment personnel can fill orders from a single database, regardless of whether the order came directly to the manufacturer or retailer or via the system of the present invention. However, the order is placed without the need for additional effort or manual input by the personnel of the retailer or manufacturer.
In some cases, the system can be used for customer pick-up rather than for shipping (e.g., to reserve a rental video) or to verify the status of goods or services ordered (e.g., to inquire whether dry cleaning is ready for pickup). In all these cases, the information or services provided to the caller without the need for the retailer to hire personnel to perform this function, without the need for the retailer to develop his own automated system for providing the service and with a lower potential for error. The manufacturer can be provided with packaging information including information regarding items to be included in the shipment, such as the coupons identified in step 1202, or the virtual gift card information from step 1212. Recorded message information other than virtual gift cards can also be included. For example, the manufacturer may specify that the product is to be accompanied by instructions telling the buyer how to access recorded messages (or an IVR system) to assist in such matters as product set-up, installation, unpacking, product registration, warranty registration, related product information or advertising and the like. The information provided to shipping can also be used to update inventory data 1220 The purchase of a product can be used to establish times for follow-up transmissions, such as call-back to the customer 1222, e.g., to offer extended service or warranty products, related products, coupons, updates, and the like.
After the user has made his purchase selection he is prompted to choose the next option. For example, if the buyer has not yet been assigned an agent number, he can be offered this option 1226. The buyer can get information on related products or catalogues 1228. The buyer can be returned to the main menu (Fig. 11) to initiate another transaction 1230. As depicted in Fig. 13, if the user indicates a desire to establish a new agent, initial information regarding the name and address of the caller is obtained 1302. If desired, this information can be checked against the existing databases to determine if this caller has already established at least one agent 1304. In some cases, it may be desirable to limit the number of agents any one user can create. In these cases, the database is checked to see if this maximum number of agents has been exceeded 1306. If so, the caller is informed that he may either modify an existing agent, or exit the system 1308. If not, the caller is asked whether he wishes to modify an old agent (as described below) or create a new agent 1310. If a new agent is being created, information regarding the caller's shipping, billing and communications preferences is gathered 1312, either from existing database information relating to this caller (which the caller may verify at this time), or from caller input (e.g., using an IVR, input from a PC, connected via a modem, or by intervention of an operator) . The system also gathers information regarding the portfolio which is desired for the new agent. This procedure is similar the that used for modifying an existing agent. Different embodiments of the invention can be used to provide systems which give the purchaser or user of this system greater or lesser control over interaction with the system. For example, in one embodiment, the system can be configured to place calls or other communication to the user at times determined by the system in accordance with various criteria (either to maximize convenience to the user or to maximize, for example, sales) . In other embodiment, the system can be configured such that the user can optionally block all responses or callbacks until such time as the user requests responses or callbacks.
As depicted in Fig. 14, when an existing agent is modified, there are a number of agent attributes which can be reviewed and/or modified. The types of attributes an agent may have depends largely on the purpose of the interactive system. For example, if the interactive system is configured to create personalized catalogues of the products of a single retail outlet, the attributes will relate only to the type of products carried by the retail outlet (in the case of a software seller, for example, type of application, price, features, type of computer used by the buyer, etc) . On the other hand, if the interactive system is configured to create personalized catalogues of products from a number of diverse manufacturers, the agent might have a number of further attributes (e.g., preference for a particular manufacturer, category of product, such as software, computer systems, peripherals, or accessories) . To modify an existing agent, the agent identifier or number is obtained 1402 and the procedure loops through 1404, 1406 all attributes of the agent, playing-back the current attribute 1408, and prompting the user to confirm this attribute or to select a new choice for this attribute, e.g., from among a menu 1410.
Although the invention has been described by way of a preferred embodiment and certain variations and modifications, other variations, modifications and embodiments can also be used, the invention being defined by the following claims.

Claims

WHAT IS CLAIMED IS:
1. An interactive computing system for routing information between a plurality of data nodes and a plurality of information processing applications, comprising: a plurality of generic I/O interface means for receiving I/O data from and transmitting I/O data to said plurality of data nodes, each of said nodes receiving and transmitting said I/O data according to a data protocol, said I/O data including a data processing request, each of said generic I/O interface means converting said I/O data to a form for receiving and transmitting according to a generic I/O protocol, at least a first of said generic I/O interface means configured to conduct communication with first and second data nodes, according to first and second protocols, respectively, said first and second protocols being different from one another; a plurality of generic application interface means for receiving application data from and transmitting application data to said plurality of information processing applications, each of said plurality of information processing applications receiving and transmitting said application data according to a data protocol, each of said generic application interface means converting said application data to a from for receiving and transmitting according to a generic application protocol, at least a first of said generic application interface means configured to conduct communication with first and second information processing applications according to third and fourth protocols, respectively, said third and fourth protocols being different from one another; and a computing means, coupled to said plurality of generic I/O interface means and to said plurality of generic application interface means, for receiving and evaluating at least some of said I/O data to select one of said plurality of data processing applications to process said I/O data.
2. An interactive computer system, as claimed in claim 1, wherein at least a first of said data nodes is configured to permit a user to input a request and wherein said computing means performs a selection of one of said plurality of data processing applications to fulfil said request said selection being based on information about said user, at least some of said information being obtained without said user inputting said information via said first of said data nodes.
3. A method for routing information between a plurality of data nodes and a plurality of information processing applications, comprising: providing a plurality of generic I/O interfaces; receiving I/O data from said plurality of data nodes into said plurality of generic I/O interfaces and transmitting I/O data from said generic I/O interfaces to said plurality of data nodes, said nodes receiving and transmitting said I/O data according to a first plurality of data protocols, said I/O data including a data processing request, each of said generic I/O interfaces converting said I/O data to a form for receiving and transmitting according to a generic I/O protocol, at least a first of said generic I/O interfaces configured to conduct communication with first and second data nodes, according to first and second protocols, respectively, said first and second protocols being different from one another; providing a plurality of generic application interfaces; providing a routing computer, operating according to a routing computer program; receiving application data from said plurality of generic application interfaces into said routing computer and transmitting application data from said routing computer to said plurality of information processing applications, each of said plurality of information processing applications receiving and transmitting said application data according to a data protocol, each of said generic application interfaces converting said application data to a from for receiving and transmitting according to a generic application protocol, at least a first of said generic application interfaces configured to conduct communication with first and second information processing applications according to third and fourth protocols, respectively, said third and fourth protocols being different from one another; and receiving and evaluating, in said routing computer, at least some of said I/O data to select one of said plurality of data processing applications to process said I/O data.
4. A method, as claimed in claim 3, further comprising: coupling an additional data node to a first of said plurality of generic I/O interfaces, said additional data node receiving and transmitting data according to an additional protocol different from any of said first plurality of protocols; modifying said first generic I/O interface to convert I/O data provided from said additional node in said additional protocol to a form for receiving and transmitting according to a generic I/O protocol; and receiving and evaluating, in said routing computer, at least some of said I/O data transmitted from said additional node, substantially without modification of said routing computer or said routing computer program.
5. A telecommunications management system comprising: means for receiving telecommunications calls, and for placing a plurality of received calls, intended for a busy facility, on hold, each of said plurality of calls being assigned a place in a queue, wherein at least a first call, placed in said queue at a first time, will normally be connected to said facility before a second call which was placed in said queue at a time after said first time; means for at least partially servicing at least said first call by an automatic processing means, without said first call losing its place in said queue.
6. A telecommunications management system, as claimed in claim 5, wherein said automatic processing means includes at least one of a means for supplying retail locations and hours, means for automated ordering of goods and services and means for playing music.
7. A telecommunications management system, as claimed in claim 6, wherein said means for playing music permits a user to select among a plurality of types of music, or to select silence.
8. An interactive computer system comprising: means for interfacing with input received from and output sent to a user of the system; means for storing information regarding a plurality of products and services, including information regarding the time of availability of such products and services; means for receiving, via said means for interfacing, an identification of one of said plurality of products and services; and means for outputting said information regarding time of availability with respect to said identified one of said products and services.
9. An interactive computer system comprising: means for interfacing with input received from and output sent to a user of the system. means for storing information about a plurality of orders for goods and services, including information regarding the time of shipment of an order for such goods and services; means for receiving, via said means for interfacing, an identification of one of said plurality of orders for goods and services; and means for outputting said information regarding time of shipment with respect to said identified one of said goods and services.
10. An interactive computer system comprising: means for interfacing with input received from and output sent to a user of the system; means for storing information about a plurality of locations of product outlets; means for receiving, via said means for interfacing, an identification of a first location; and means for automatically outputting the location of at least one of said product outlets which is in a predetermined spatial relationship to said first location.
11. An interactive computer system, as claimed in claim 10, wherein said predetermined spatial relationship defines those product outlets within a predetermined maximum distance from said first location.
12. An interactive computer system, as claimed in claim 10, wherein said predetermined spatial relationship defines the product outlet closest to said first location.
13. A method for providing classified ad information to a individual, comprising: providing data processor means, including a memory and a telecommunications switch; storing, in said memory, an ad database comprising a plurality of ads, each ad comprising data in fields describing an item available throughout the system, at least some of said plurality of ads including recorded audio or video messages stored in said data processor means via said telecommunications switch, a unique ad number being assigned to each ad; receiving telephone calls, using said telecommunications switch, from an individual desiring to obtain information about a specific item available through the system; identifying an ad in said ad database, using information provided by said individual; assembling an output message conveying at least some data in the fields of the identified ad, and including one of said recorded audio or video messages.
14. A computer based classified ad system, the system comprising: data processing means including: means for creating an ad database comprising a plurality of ads, each ad comprising data, provided by a seller describing an item to be made available; means for receiving profile data describing an item sought from at least firs and second prospective purchasers, means, coupled to said means for creating and to said means for receiving profile data, for comparing the profile data to the ads in the ad database to determine if any of the ads match the profile data and, if so, for generating output comprising the ads that match the profile; and means, coupled to said means for comparing, for compiling and storing statistics relating to said ads, said statistics including at least an indication of how many matches have been found with said ads; an interactive response system, coupled to said data processing means, including means for outputting at least a first output message to said first prospective purchaser, said output message including information from said ad database for ads that match the profile data for said first prospective purchaser; and means for outputting at least a second output message to said seller, said second output message including at least a portion of said statistics.
PCT/US1993/012540 1992-12-23 1993-12-22 Interactive computer system with multi-protocol capability WO1994015294A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU60155/94A AU6015594A (en) 1992-12-23 1993-12-22 Interactive computer system with multi-protocol capability

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US07/995,798 US5283731A (en) 1992-01-19 1992-12-23 Computer-based classified ad system and method
US07/995,798 1992-12-23
US3722093A 1993-03-26 1993-03-26
US08/037,220 1993-03-26
US8670193A 1993-07-02 1993-07-02
US08/086,701 1993-07-02

Publications (1)

Publication Number Publication Date
WO1994015294A1 true WO1994015294A1 (en) 1994-07-07

Family

ID=27365168

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1993/012540 WO1994015294A1 (en) 1992-12-23 1993-12-22 Interactive computer system with multi-protocol capability

Country Status (2)

Country Link
AU (1) AU6015594A (en)
WO (1) WO1994015294A1 (en)

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998024040A1 (en) * 1996-11-29 1998-06-04 Ncr International, Inc. Multi-transaction service system
WO1999007116A1 (en) * 1997-07-29 1999-02-11 Northern Telecom Limited Method and apparatus for processing multi-protocol communications
WO1999007164A2 (en) * 1997-07-29 1999-02-11 Northern Telecom Limited Method and apparatus for processing multi-protocol communications
EP0905635A2 (en) * 1997-09-29 1999-03-31 Matsushita Graphic Communication Systems, Inc. Apparatus and method for transferring electronic mail
EP0910030A2 (en) * 1997-10-14 1999-04-21 Ncr International Inc. Point-of-sale system including isolation layer
WO1999022304A1 (en) * 1997-10-24 1999-05-06 Microsoft Corporation Integrated communications architecture on a mobile device
WO1999022325A1 (en) * 1997-10-24 1999-05-06 Microsoft Corporation System and method for managing application installation for a mobile device
WO1999022322A1 (en) * 1997-10-24 1999-05-06 Microsoft Corporation Electronic mail object synchronization between a desktop computer and mobile device
WO1999022305A1 (en) * 1997-10-24 1999-05-06 Microsoft Corporation System and method for interaction between a desktop computer and multiple mobile devices
WO1999062012A1 (en) * 1998-05-22 1999-12-02 Cambridge Consultants Limited Electronic communications system
WO2000052880A2 (en) * 1999-03-01 2000-09-08 Mediacell, Inc. Method and apparatus for communicating between a client device and a linear broadband network
EP1118056A1 (en) * 1998-09-10 2001-07-25 Sanctum Ltd. Method and system for protecting operations of trusted internal networks
US6272545B1 (en) 1997-10-24 2001-08-07 Microsoft Corporation System and method for interaction between one or more desktop computers and one or more mobile devices
EP1152363A2 (en) * 2000-05-04 2001-11-07 InSitu Limited Method and apparatus for enhancing communication between points of sale devices
US6324544B1 (en) 1998-10-21 2001-11-27 Microsoft Corporation File object synchronization between a desktop computer and a mobile device
WO2002019609A2 (en) * 2000-09-01 2002-03-07 724 Solutions International Srl Public key infrastructure systems and methods
US6470323B1 (en) * 1995-12-08 2002-10-22 Fujitsu Limited Goods sales management system
US6483895B2 (en) * 1995-01-09 2002-11-19 Qwest Communications International Inc. Electronic classified advertising interface method and instructions with direct ad access for advertisers
US6983259B1 (en) 2000-06-23 2006-01-03 Ebs Group Limited Anonymous trading system
US7024386B1 (en) 2000-06-23 2006-04-04 Ebs Group Limited Credit handling in an anonymous trading system
US7162024B2 (en) 2000-09-22 2007-01-09 Santera Systems, Inc. System and method for telephony call control
EP1607875A3 (en) * 1997-10-24 2007-01-17 Microsoft Corporation System and method for interaction between a desktop computer and multiple mobile devices
US7184982B1 (en) 2000-06-23 2007-02-27 Ebs Group Limited Architecture for anonymous trading system
US7251316B2 (en) * 2002-04-11 2007-07-31 Fuji Xerox Co., Ltd. Methods and systems for enabling conversations about task-centric physical objects
DE10040444B4 (en) * 2000-08-18 2007-11-15 Siemens Ag Method and arrangement for data conversion between an input and an output signaling protocol
US7333952B1 (en) 2000-06-23 2008-02-19 Ebs Group Limited Compound order handling in an anonymous trading system
US7366690B1 (en) 2000-06-23 2008-04-29 Ebs Group Limited Architecture for anonymous trading system
US7389234B2 (en) 2000-07-20 2008-06-17 Microsoft Corporation Method and apparatus utilizing speech grammar rules written in a markup language
US7486780B2 (en) * 1999-09-13 2009-02-03 Microstrategy, Incorporated System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, with telephone-based service utilization and control
US7774260B2 (en) 2000-06-23 2010-08-10 Ebs Group Limited Deal matching in an anonymous trading system
US7827085B1 (en) 2000-06-23 2010-11-02 Ebs Group Limited Conversational dealing in an anonymous trading system
JP2014158196A (en) * 2013-02-18 2014-08-28 Oki Electric Ind Co Ltd Private branch exchange and call center system
US8995628B2 (en) 1999-09-13 2015-03-31 Microstrategy, Incorporated System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services with closed loop transaction processing
US9208213B2 (en) 1999-05-28 2015-12-08 Microstrategy, Incorporated System and method for network user interface OLAP report formatting
US9477740B1 (en) 1999-03-23 2016-10-25 Microstrategy, Incorporated System and method for management of an automatic OLAP report broadcast system

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3573747A (en) * 1969-02-24 1971-04-06 Institutional Networks Corp Instinet communication system for effectuating the sale or exchange of fungible properties between subscribers
US4577062A (en) * 1983-09-02 1986-03-18 Butler National Corporation Method for dispensing information
US4645873A (en) * 1985-01-23 1987-02-24 Telecue Systems Transactional telecommunication system
US4649563A (en) * 1984-04-02 1987-03-10 R L Associates Method of and means for accessing computerized data bases utilizing a touch-tone telephone instrument
US4757267A (en) * 1987-06-17 1988-07-12 Applied Telematics, Inc. Telephone system for connecting a customer to a supplier of goods
US4799156A (en) * 1986-10-01 1989-01-17 Strategic Processing Corporation Interactive market management system
US4817129A (en) * 1987-03-05 1989-03-28 Telac Corp. Method of and means for accessing computerized data bases utilizing a touch-tone telephone instrument
US4855905A (en) * 1987-04-29 1989-08-08 International Business Machines Corporation Multiprotocol I/O communications controller unit including emulated I/O controllers and tables translation of common commands and device addresses
US4870576A (en) * 1986-03-19 1989-09-26 Realpro, Ltd. Real estate search and location system and method
US4953204A (en) * 1989-10-17 1990-08-28 At&T Bell Laboratories Multilocation queuing for telephone calls
US5032989A (en) * 1986-03-19 1991-07-16 Realpro, Ltd. Real estate search and location system and method

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3573747A (en) * 1969-02-24 1971-04-06 Institutional Networks Corp Instinet communication system for effectuating the sale or exchange of fungible properties between subscribers
US4577062A (en) * 1983-09-02 1986-03-18 Butler National Corporation Method for dispensing information
US4649563A (en) * 1984-04-02 1987-03-10 R L Associates Method of and means for accessing computerized data bases utilizing a touch-tone telephone instrument
US4645873A (en) * 1985-01-23 1987-02-24 Telecue Systems Transactional telecommunication system
US4870576A (en) * 1986-03-19 1989-09-26 Realpro, Ltd. Real estate search and location system and method
US5032989A (en) * 1986-03-19 1991-07-16 Realpro, Ltd. Real estate search and location system and method
US4799156A (en) * 1986-10-01 1989-01-17 Strategic Processing Corporation Interactive market management system
US4817129A (en) * 1987-03-05 1989-03-28 Telac Corp. Method of and means for accessing computerized data bases utilizing a touch-tone telephone instrument
US4855905A (en) * 1987-04-29 1989-08-08 International Business Machines Corporation Multiprotocol I/O communications controller unit including emulated I/O controllers and tables translation of common commands and device addresses
US4757267A (en) * 1987-06-17 1988-07-12 Applied Telematics, Inc. Telephone system for connecting a customer to a supplier of goods
US4757267B1 (en) * 1987-06-17 1991-05-21 Applied Telematics Inc
US4953204A (en) * 1989-10-17 1990-08-28 At&T Bell Laboratories Multilocation queuing for telephone calls

Cited By (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6483895B2 (en) * 1995-01-09 2002-11-19 Qwest Communications International Inc. Electronic classified advertising interface method and instructions with direct ad access for advertisers
US6470323B1 (en) * 1995-12-08 2002-10-22 Fujitsu Limited Goods sales management system
WO1998024040A1 (en) * 1996-11-29 1998-06-04 Ncr International, Inc. Multi-transaction service system
WO1999007116A1 (en) * 1997-07-29 1999-02-11 Northern Telecom Limited Method and apparatus for processing multi-protocol communications
WO1999007164A2 (en) * 1997-07-29 1999-02-11 Northern Telecom Limited Method and apparatus for processing multi-protocol communications
WO1999007164A3 (en) * 1997-07-29 1999-04-29 Northern Telecom Ltd Method and apparatus for processing multi-protocol communications
EP0905635A2 (en) * 1997-09-29 1999-03-31 Matsushita Graphic Communication Systems, Inc. Apparatus and method for transferring electronic mail
US6658456B1 (en) 1997-09-29 2003-12-02 Panasonic Communications Co., Ltd. Electric mail transferring apparatus and electric mail transferring method
EP0905635B1 (en) * 1997-09-29 2004-06-09 Panasonic Communications Co., Ltd. Apparatus and method for transferring electronic mail
EP0910030A3 (en) * 1997-10-14 2001-02-14 Ncr International Inc. Point-of-sale system including isolation layer
EP0910030A2 (en) * 1997-10-14 1999-04-21 Ncr International Inc. Point-of-sale system including isolation layer
US6052735A (en) * 1997-10-24 2000-04-18 Microsoft Corporation Electronic mail object synchronization between a desktop computer and mobile device
EP2273435A1 (en) * 1997-10-24 2011-01-12 Microsoft Corporation Electronic mail object synchronization between a desktop computer and mobile device
US6128661A (en) * 1997-10-24 2000-10-03 Microsoft Corporation Integrated communications architecture on a mobile device
EP1607875A3 (en) * 1997-10-24 2007-01-17 Microsoft Corporation System and method for interaction between a desktop computer and multiple mobile devices
WO1999022305A1 (en) * 1997-10-24 1999-05-06 Microsoft Corporation System and method for interaction between a desktop computer and multiple mobile devices
WO1999022322A1 (en) * 1997-10-24 1999-05-06 Microsoft Corporation Electronic mail object synchronization between a desktop computer and mobile device
US6272545B1 (en) 1997-10-24 2001-08-07 Microsoft Corporation System and method for interaction between one or more desktop computers and one or more mobile devices
WO1999022325A1 (en) * 1997-10-24 1999-05-06 Microsoft Corporation System and method for managing application installation for a mobile device
WO1999022304A1 (en) * 1997-10-24 1999-05-06 Microsoft Corporation Integrated communications architecture on a mobile device
US6496979B1 (en) 1997-10-24 2002-12-17 Microsoft Corporation System and method for managing application installation for a mobile device
WO1999062012A1 (en) * 1998-05-22 1999-12-02 Cambridge Consultants Limited Electronic communications system
EP1118056A4 (en) * 1998-09-10 2003-11-05 Sanctum Ltd Method and system for protecting operations of trusted internal networks
EP1118056A1 (en) * 1998-09-10 2001-07-25 Sanctum Ltd. Method and system for protecting operations of trusted internal networks
US6324544B1 (en) 1998-10-21 2001-11-27 Microsoft Corporation File object synchronization between a desktop computer and a mobile device
WO2000052880A3 (en) * 1999-03-01 2001-01-25 Mediacell Inc Method and apparatus for communicating between a client device and a linear broadband network
US6377782B1 (en) * 1999-03-01 2002-04-23 Mediacell, Inc. Method and apparatus for communicating between a client device and a linear broadband network
WO2000052880A2 (en) * 1999-03-01 2000-09-08 Mediacell, Inc. Method and apparatus for communicating between a client device and a linear broadband network
AU785154B2 (en) * 1999-03-01 2006-10-05 Pacific Communications Limited Method and apparatus for communicating between a client device and a linear broadband network
US9477740B1 (en) 1999-03-23 2016-10-25 Microstrategy, Incorporated System and method for management of an automatic OLAP report broadcast system
US9208213B2 (en) 1999-05-28 2015-12-08 Microstrategy, Incorporated System and method for network user interface OLAP report formatting
US7486780B2 (en) * 1999-09-13 2009-02-03 Microstrategy, Incorporated System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, with telephone-based service utilization and control
US8995628B2 (en) 1999-09-13 2015-03-31 Microstrategy, Incorporated System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services with closed loop transaction processing
EP1152363A2 (en) * 2000-05-04 2001-11-07 InSitu Limited Method and apparatus for enhancing communication between points of sale devices
GB2362009A (en) * 2000-05-04 2001-11-07 Insitu Ltd Financial transaction communications
EP1152363A3 (en) * 2000-05-04 2003-06-04 InSitu Limited Method and apparatus for enhancing communication between points of sale devices
GB2362009B (en) * 2000-05-04 2002-07-24 Insitu Ltd Method and apparatus for enhancing communication between points of sale devices
US7882017B2 (en) 2000-06-23 2011-02-01 Ebs Group Limited Deal matching in an anonymous trading system
US7937306B2 (en) 2000-06-23 2011-05-03 Ebs Group Limited Architecture for anonymous trading system
US6983259B1 (en) 2000-06-23 2006-01-03 Ebs Group Limited Anonymous trading system
US7333952B1 (en) 2000-06-23 2008-02-19 Ebs Group Limited Compound order handling in an anonymous trading system
US7366690B1 (en) 2000-06-23 2008-04-29 Ebs Group Limited Architecture for anonymous trading system
US7024386B1 (en) 2000-06-23 2006-04-04 Ebs Group Limited Credit handling in an anonymous trading system
US7184982B1 (en) 2000-06-23 2007-02-27 Ebs Group Limited Architecture for anonymous trading system
US7774260B2 (en) 2000-06-23 2010-08-10 Ebs Group Limited Deal matching in an anonymous trading system
US7827085B1 (en) 2000-06-23 2010-11-02 Ebs Group Limited Conversational dealing in an anonymous trading system
US8639607B2 (en) 2000-06-23 2014-01-28 Ebs Group Limited Conversational dealing in an anonymous trading system
US8566221B2 (en) 2000-06-23 2013-10-22 Ebs Group Limited Compound order handling in an anonymous trading system
US8090643B2 (en) 2000-06-23 2012-01-03 Ebs Group Limited Compound order handling in an anonymous trading system
US8027895B2 (en) 2000-06-23 2011-09-27 Ebs Group Limited Architecture for anonymous trading system
US7996225B2 (en) 2000-07-20 2011-08-09 Microsoft Corporation Utilizing speech grammar rules written in a markup language
US7389234B2 (en) 2000-07-20 2008-06-17 Microsoft Corporation Method and apparatus utilizing speech grammar rules written in a markup language
DE10040444B4 (en) * 2000-08-18 2007-11-15 Siemens Ag Method and arrangement for data conversion between an input and an output signaling protocol
WO2002019609A3 (en) * 2000-09-01 2002-05-02 724 Solutions Internat Srl Public key infrastructure systems and methods
WO2002019609A2 (en) * 2000-09-01 2002-03-07 724 Solutions International Srl Public key infrastructure systems and methods
US7162024B2 (en) 2000-09-22 2007-01-09 Santera Systems, Inc. System and method for telephony call control
US7251316B2 (en) * 2002-04-11 2007-07-31 Fuji Xerox Co., Ltd. Methods and systems for enabling conversations about task-centric physical objects
JP2014158196A (en) * 2013-02-18 2014-08-28 Oki Electric Ind Co Ltd Private branch exchange and call center system

Also Published As

Publication number Publication date
AU6015594A (en) 1994-07-19

Similar Documents

Publication Publication Date Title
WO1994015294A1 (en) Interactive computer system with multi-protocol capability
WO1994023383A1 (en) Interactive computer system with self-publishing catalogue, advertiser notification, coupon processing and inbound polling
US5995976A (en) Method and apparatus for distributing supplemental information related to printed articles
US7792702B1 (en) Methods and system for providing offers in real time while preserving confidential information
US6895084B1 (en) System and method for generating voice pages with included audio files for use in a voice page delivery system
US7457397B1 (en) Voice page directory system in a voice page creation and delivery system
US5953406A (en) Generalized customer profile editor for call center services
US6707889B1 (en) Multiple voice network access provider system and method
US7386485B1 (en) Method and system for providing offers in real time to prospective customers
US7624044B2 (en) System for marketing goods and services utilizing computerized central and remote facilities
US8793165B1 (en) Method, program storage device, and apparatus for offering a user a plurality of scenarios under which to conduct a primary transaction
US20070288329A1 (en) Publicly Accessible Deferred Purchasing System With Vendor Review Access To Deferred Purchase Requests
JP2002222302A (en) System and method for corresponding to reaction of consumer with respect to demand stimulus on demand
WO2003069428A2 (en) Mobile marketing system
US20040019531A1 (en) Publicly accessible deferred purchasing system with vendor bidding
US20070168252A1 (en) Method and system for dynamically prioritizing advertiser communications over a network based on telephone numbers
US7580863B2 (en) Method, system, and computer program product for operating a publicly accessible purchasing system
Anderson Customer relationship management in an e-business environment
US20030050851A1 (en) Hybrid business model having infinitely variable business support services
WO2001020525A1 (en) System, method and computer program product for registering consumer products and distributing consumer product information
JP4629204B2 (en) Sales promotion system
WO2001007987A2 (en) Systems and methods for the completion of transactions
US20030037067A1 (en) Method and apparatus for distributing supplemental information related to articles
KR20010000141A (en) A business servering system using the internet
WO2001016827A2 (en) Systems and methods for providing customized outer-wrap product information

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AT AU BB BG BR BY CA CH CZ DE DK ES FI GB HU JP KP KR KZ LK LU LV MG MN MW NL NO NZ PL PT RO RU SD SE SK UA US VN

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
ENP Entry into the national phase

Ref country code: US

Ref document number: 1996 711222

Date of ref document: 19960624

Kind code of ref document: A

Format of ref document f/p: F

NENP Non-entry into the national phase

Ref country code: CA