WO2000021006A9 - Computer system and computer-implemented method for electronic commerce - Google Patents

Computer system and computer-implemented method for electronic commerce

Info

Publication number
WO2000021006A9
WO2000021006A9 PCT/US1999/022885 US9922885W WO0021006A9 WO 2000021006 A9 WO2000021006 A9 WO 2000021006A9 US 9922885 W US9922885 W US 9922885W WO 0021006 A9 WO0021006 A9 WO 0021006A9
Authority
WO
WIPO (PCT)
Prior art keywords
product
customer
merchant
features
objectives
Prior art date
Application number
PCT/US1999/022885
Other languages
French (fr)
Other versions
WO2000021006A1 (en
Inventor
Robert H Guttman
Original Assignee
Massachusetts Inst Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Massachusetts Inst Technology filed Critical Massachusetts Inst Technology
Priority to AU65059/99A priority Critical patent/AU6505999A/en
Publication of WO2000021006A1 publication Critical patent/WO2000021006A1/en
Publication of WO2000021006A9 publication Critical patent/WO2000021006A9/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/02Marketing; Price estimation or determination; Fundraising

Definitions

  • Electronic commerce has come to be known as any activity of commerce over a digital medium. Although technologies such as Electronic Data Interchange (EDI), automated teller machines, and electronic credit card processing have been around for some time, the advent and popularity of the Internet has given new meaning to the term "electronic commerce.” Today, electronic commerce over the Internet involves a broad range of issues including the economics of Internet pricing, marketing and advertising, payment mechanisms, security and privacy, trust and reputation, law and contracts, back-office management, supply chain management, and the buying and selling of goods and services.
  • EDI Electronic Data Interchange
  • automated teller machines automated teller machines
  • electronic credit card processing have been around for some time
  • the advent and popularity of the Internet has given new meaning to the term "electronic commerce.”
  • Online shopping is both an opportunity and a threat to today's retail merchants. It is an opportunity because the Internet offers traditional merchants an additional channel to advertise and sell products to existing and new customers, thus potentially increasing sales. Online marketplaces also are more efficient than their physical-world counterparts, which lowers transaction costs for both merchants and consumers.
  • Computer implemented methods, and computer apparatus and programs are provided for a user to engage in electronic commerce by providing a set of, including product features and merchant features, and to obtain suggestions as to the product offerings from various merchants.
  • the user receives a list of product offerings, their value to him or her based on the provided criteria, and the ability to iteratively modify his or her criteria.
  • An ontology shared and common to various components and modules allow easy and efficient computation, while a communication protocol allows for efficient communication between various components and modules.
  • the invention features obtaining, at a buyer agent, information concerning a customer's objectives; receiving, at the buyer agent, data from a plurality of sales agents associated with a plurality of merchants, wherein the data includes a plurality variables characterizing features associated with at least one product offering by at least one of the merchants; and processing, at the buyer agent, the plurality of variables in view of the customer's objectives to arrive at a singular value characterizing value of that product offering.
  • the invention features receiving data characterizing a product offering by a merchant, the data including at least one variable characterizing merchant service features associated with the merchant; and processing the product offering and the variable in view of a customer's objectives to arrive a value for that product offering.
  • Embodiments of this aspect of the invention can include one or more can include one or more of the following features.
  • Various graphical interfaces are displayed, A graphical user interface is displayed on a display, where the graphical user interface includes an input area for the customer to input data relating to customer's objectives.
  • a graphical user interface is displayed on a display, where the graphical user interface includes an input area for the customer to input data relating to customer's objectives concerning merchant service features.
  • a graphical user interface is displayed on a display, where the graphical user interface includes an area for displaying information relating to the at least one product.
  • a graphical user interface is displayed on a display, the graphical user interface including an area for displaying information relating to the arrived at value, and a region, wherein when activated, causes information indicating the details of the product offering and the assessing step to be displayed to the customer.
  • a graphical user interface is to be displayed on a display, where the graphical user interface includes an area for displaying information relating to the at least one product, the information including a first expression of a feature associated with the product offering, the first expression being a translation of a second expression of the feature associated with the product offering, the seconcl expression being provided by the merchant and translated into the first expression in accordance with a selected ontology.
  • the sales agent can be located remotely from the plurality of sales agents.
  • the buyer agent can send and receives data to and from the sales agents over a network, such as the internet.
  • the sales agents can also obtain information from their respective merchants and store the information on a database and the buyer agent receiving the data from the merchants by accessing the database.
  • the variables include a numeric range and an attribute having an offer value comprising a real number.
  • the numeric range is characterized by a minimum bound and a maximum bound for an expected offer value, wherein the offer value can be less than minimum bound or greater than the maximum bound, although the deviation can affect the computed value of the product offering to the consumer.
  • the variables can include a discrete range. T he discrete range defines a plurality of tokens.
  • the variables include an attribute having an offer value comprising a token selected from the plurality of tokens and an attribute having an offer value comprising a token not selected from the plurality of tokens, although the deviation can affect the computed value of the product offering to the customer.
  • the variables can include a discrete set, the discrete set defining a plurality of tokens, and the plurality of variables includes an attribute having an offer value comprising a subset of the plurality of tokens.
  • the received data includes variables characterizing a merchant service feature of the at least one of the merchants.
  • the user's objectives includes a plurality of desired features and a relative position indicating an ordering of the desired product features. Processing the plurality of variables further includes assessing the value of the at least one product offering based on the relative positions of the plurality of the desired features.
  • the user's objectives include, for each of the plurality of desired features, an active flag indicating whether the value of the product feature is to be assessed. Processing the plurality of variables includes assessing values of only of those product features of the at least one product for which the active flag included in the user's objectives indicates that the product feature is to be used.
  • Each of the plurality of product features comprises at least one attribute, the at least one attribute having an offer value defined by the at least one product offering and a criterion defined by the user's objectives.
  • the received data can include a second plurality of variables characterizing features associated with at least one other product offering, the processing step further including processing the second product offering to arrive at a second singular value characterizing value of the second product offering.
  • the product offerings are ordered according to the arrived at values of the product offerings.
  • a graphical user interface is displayed on a display, the graphical user interface including an area for displaying information relating to the product offerings in accordance with the ordering.
  • One of the product offerings is recommended to the user based on the ordering of the plurality of product offerings.
  • the criteria defined by the user's objectives comprise at least one utility function and a raw value assessment function. Processing the variables can include assessing the value of the at least one product offering using the raw value assessment function and the one utility function to generate a raw value assessment.
  • Processing the multiples variables can include generating attribute utility values for at least one attribute of the features; generating an average of the attribute utility values; and multiplying the average of the utility values of the at least one attribute of the feature by a weight of the feature corresponding to the relative position of the feature to generate a weighted utility of the feature.
  • Processing the multiples variables can also include: summing the weighted utilities of the at least one feature of the at least one product to generate the raw value assessment.
  • Processing the multiples variables can include performing a comparison between the raw value assessment and an ideal value assessment of the value of the at least one product; and generating an absolute value assessment of the value of the at least one product based on the results of the comparison. Processing the multiples variables includes generating the ideal value assessment by summing weights of the at least one feature.
  • User's objectives include, for each of the plurality of product features, an active flag indicating whether the value of the product feature is to be assessed, and where the at least one feature comprises the product features of the at least one product for which the active flag included in the user's objectives indicates that the product feature is to be assessed.
  • the product can be a good, or a service.
  • the invention features sending, at a buyer agent, an criteria performative from a buyer agent to a seller agent associated with a merchant, the criteria perforamtive including data concerning a customer's objectives; receiving, at the buyer agent, a proposal performative including a plurality of variables characterizing features associated with at least one product offering by the merchant; and processing the proposal performative to provide information to the customer information concerning the product offering.
  • the proposal performative is processed in view of the customer objectives to determine whether the product offering meet criteria established by the customer objectives.
  • the buyer agent receives an indication from the user that the user intends to purchase the product offering, and sends an acceptance performative indicating the user's intention to purchase the product informative.
  • the buyer agent receives a change in the customer objectives from the customer; and sends a critique performative to the merchant indicating the change in user's objectives.
  • the data in the critique performative can be substantially limited to data indicating the change in user's objectives.
  • the buyer agent receives a counter-proposal performative sent from the merchant in response to the critique performative, counter-proposal performative including data indicating a change in the product offering.
  • the buyer agent receives an indication form the user indicating the user's desire to end a buying session, and sends a withdraw performative to the merchant indicating the user's desire to end a buying session.
  • the buyer agent receives a withdraw performative from the merchant indicating the merchant's desire to end a buying session, and ends communications with the merchant for that buying session.
  • the invention features facilitating online shopping by a customer by displaying a graphical user interface for obtaining information from the customer regarding the customer objectives, the customer objectives including a desired merchant service feature.
  • the invention features facilitating online shopping by a customer by displaying a graphical user interface displaying information corresponding to a product offering by merchant, the information including a value assigned to the product offering based on the customer's objective, customer objectives including a merchant service feature.
  • the invention features facilitating online shopping by a customer by displaying a graphical user interface displaying information corresponding to a product offering by a merchant, the information including a value assigned to the product offering based on relationships between a first plurality of variables characterizing the product offering and a second plurality of variables characterizing the customer objectives, and detailed data on the relationships.
  • the invention features facilitating online shopping by a customer by displaying a graphical user interface displaying information corresponding to a product offering by a merchant, the information including a first expression of a feature associated with the product offering, the first expression being a translation of a second expression of the feature associated with the product offering, the second expression being provided by the merchant and translated into the first expression in accordance with a selected ontology.
  • the invention features a graphical user interface in a computer system to facilitate evaluation by a user of a plurality of product proposals provided by at least one merchant, the plurality of proposals including a plurality of features, the graphical user interface including a graphical display displaying information corresponding to the plurality of product proposals, the graphical display indicating an ordering of the plurality of product proposals based on singular values assigned to the plurality of product proposals derived from a plurality of variables received from the merchants and a plurality of criteria defined by the user, where the variables received from the merchants and the plurality criteria characterize merchant service features.
  • Embodiments of this aspect of the innovation may include one or more of the following features.
  • the graphical user interface can include a control element to change the ordering of the plurality of product proposals in response to input from the user.
  • the control element controls a value of a select one of the plurality of criteria.
  • the graphical display displays, for at least two of the plurality of product proposals, a plurality of feature displays corresponding to the plurality of features, the plurality of feature displays being arranged in a user-specified order.
  • At least one feature control inactivates at least one of the plurality of feature displays in response to user input.
  • the graphical user interface can include a selection control element to select a particular one of the plurality of product proposals in response to selection input from the user, and a product specification display to display information descriptive of features of the particular one of the plurality of product proposals.
  • the information descriptive of features of the particular one of the plurality of product proposals indicates a user-specified ordering of the features of the particular one of the plurality of product proposals.
  • the graphical user interface includes a selection control element to select at least one of the plurality of product proposals in response to selection input from the user, and a product specification display to display information descriptive of the at least one product proposal including information descriptive of features of the at least one of the plurality of product proposals.
  • the information descriptive of features of the at least one of the plurality of product proposals indicates a selected ordering of the features of the at least one of the plurality of product proposals.
  • the plurality of features include a first plurality of features belonging to a first category and a second plurality of features belonging to a second category, and the graphical display indicates that the first plurality of features belong to the first category and that the second plurality of features belong to the second category.
  • the graphical user interface can include a feature editing element to modify a select one of H e plurality of features in response to input from the user.
  • a user profile indicating at least one criterion specified by the user for assessing the values of the plurality of product proposals
  • the graphical user interface can include a criterion control element to modify the at least one criterion in response to input from the user.
  • the graphical user interface includes a criteria display displaying criteria information descriptive of at least one of the plurality of criteria.
  • the invention features assessing a value of at least one product offering by a merchant with respect to a customer's objectives by obtaining data representing expressions of a plurality of features associated with said at least one product offering by the merchant; translating at least one of the expressions into a second expression expressed in accordance with a selected ontology; and assessing values of the plurality of features of the at least one product in view of criteria defined by the customer's objectives by using said converted expression in place of the at least one of the expression.
  • Embodiments of this invention can include one or more of the followings features.
  • the ontology can include product features, merchant offering features, and merchant service features
  • the ontology can be dynamically updated by input by customers of an online shopping service.
  • the ontology is a list of features associated with a product domain.
  • the invention features obtaining information concerning a customer's objectives; receiving data from a plurality of sales agents associated with a plurality of merchants, where the data includes a plurality variables characterizing features associated with at least one product offering by at least one of the merchants; accessing an ontology to retrieve information in response to the received data, and processing the plurality of variables in view of the customer's objectives and the information from the ontology to arrive at a singular value characterizing value of that product offering.
  • the invention features receiving data from a plurality of sales agents associated with a plurality of merchants, each one of the sales agents being associated with at least one of the merchants, where the data includes a plurality variables characterizing features associated with at least one product offering by at least one of the merchants; accessing an ontology to retrieve information in response to the received data; processing the received data in view of the information retrieved from the ontology; and displaying the processed data.
  • the invention features receiving data from a merchant; accessing an ontology to retrieve information in response to the received data; and forming a product offering based on the received data and the information retrieved from the ontology.
  • FIG. 1 is a schematic diagram of a computer implemented online shopping system.
  • FIG. 2 is a schematic diagram of an embodiment of the online shopping system of FIG. 1.
  • FIG. 3 is a data flow diagram of the operation of the online shopping system of FIG. 2.
  • FIGs. 4 and 4A are graphical user interfaces for selecting a stereotypical customer profile.
  • FIGs. 5 and 5A-D are graphical user interfaces entering customer objectives.
  • FIG. 6 is a data flow diagram of a decision support module of the online shopping system of FIG. 2.
  • FIGs. 7 and 7A are graphical user interfaces for showing results of an online search for product offerings.
  • FIGs. 8 and 8 A are graphical user interfaces for showing how a product offering matches a customer's objectives.
  • Online shopping system 1 allows a customer 10 at a computer 12 to shop online for a product, such as a good or a service. (Note that, other terms including “shopper” and “user” will be used interchangeably with the term “customer” herein.)
  • Online shopping system 1 includes a buyer agent 14 which is a computer program module running, for example, in distributed mariner on computer 12 and a remote server, where communication between modules running on computer 12 and those running on the remote server take place over a network such as an intranet or the Internet.
  • Buyer agent 14 obtains a set of customer objectives from customer 10.
  • the customer objectives typically relate to features of a desired product, and features of a merchant from whom the customer would like to obtain the product.
  • Buyer agent 14 receives data concerning product offerings by merchants 16 through a number of sales agents 18 associated with various merchants 16. In some embodiments, described below, sales agents 18 provide the data with respect to the product offerings in response to a request sent by the buyer agent. The request outlines the objectives. Sales agents 18 configure various product offerings in part based on the user preferences sent by buyer agent 14. In those embodiments, buyer agent 14 can negotiate with sales agents 18 to arrive at a product offering most closely matching the customer objectives. In other embodiments, sales agents 18 supply data regarding merchants 16 and their products to a central database which is then accessed by buyer agent 14.
  • the data received by buyer agent 14 includes multi variable data concerning various features associated with the product offerings by merchants 16, including features associated with the product, features associated with the sale of the product by the merchants, and features associated with the policies and value-added services provided by the merchants.
  • Buyer agent 14 assesses the multivariable data associated with each product offering to arrive at a single value representative of the value of each product offering to customer 10 given the customer's objectives.
  • some of the merchants 16 use terms to express the features of the offered products which are different from terms used by other merchants.
  • the differing terms are converted into a normalized set of expressions based on a common and shared ontology.
  • Buyer agent 14 then provides the product offerings and their ranking to customer 10 in a graphical user interface, based on the common and shared ontology.
  • Customer 10 also has the option of gaining access to the underlying calculations which resulted in buyer agent 14's conclusion.
  • buyer agent 14 includes a shopping client 104 executing on customer computer 12.
  • Shopping client 104 acts as an interface between customer 10 and shopping server 106.
  • Shopping client 104 can be written in the Java programming language, and can run as an applet in a window of a standard web browser.
  • Shopping client 104 can also be implemented according to any other programming language and be implemented as a standalone application program or a component of a standalone application program.
  • Shopping client 104 interacts with customer 10 through various graphical user interfaces provided by graphical user interface engine 128.
  • Shopping server 106 includes a shopping agent manager 108 to manage one or more shopping agents 110.
  • shopping client 104 connects to shopping server 106.
  • shopping agent manager 108 creates a shopping agent corresponding to shopping client 104 and establishes a logical connection between shopping client 104 and the newly-created shopping agent.
  • Merchant host computer 112 includes a products database 124 that includes information descriptive of products offered by the merchant associated with sales agent manager 114 and a services database 126 that includes information descriptive of services offered by the merchant associated with sales agent manager 114.
  • Each of the sales agents 116 may access its own products database 124 and services database 126.
  • These databases can also be implemented as a single database of products and services. These databases can be implemented as, for example, any data structure, object, or combination thereof that performs the same functions as products database 124 and services database 126. It should be understood that the depiction of only one shopping client 104 and only one sales agent manager 114 in FIG. 2 is for illustration purposes only. Online shopping system 1 typically includes multiple shopping clients and multiple sales agent managers in communication through shopping server 106.
  • the locations of the components (e.g., shopping client 104, shopping agent manager 108, sales agent manager, 114, and sales agents 116) of the online shopping system 1 shown in FIG. 2 are for purposes of example only and can be implemented so as to be located anywhere.
  • Shopping agent 110 in communication with shopping client 104 retrieves a list of registered merchants from a registry 122 of registered merchants. To do so, shopping agent 110 sends a "request to connect" message to each of the registered merchants' respective sales agent managers (such as sales agent manager 114 executing on merchant host computer 112). Similarly, each sales agent manager 114 creates a logical connection between one or more of its sales agents 116 and shopping agent 110.
  • sales agent manager 114 may register that sales agent with shopping server 106.
  • shopping server 106 may register the sales agent in registry 122.
  • Shopping server 106 also mcludes a user profiles database 118.
  • Each user profile in the user profiles database 118 includes a predefined set of criteria that can be selected by a user for assessing the value of a product proposal offered by a merchant.
  • Shopping client 104 retrieves user profiles from the user profiles database 118 and allows the user to select one of the user profiles for assessment of product proposals, as will be described below.
  • shopping server 106 can store in database 118 specific customized profile for individual customers.
  • the shopping server also includes a storage media for storing the ontology, here a dictionary database 120 that includes definitions of features for products offered by merchants through their sales agents 116.
  • the ontology is a collection of lists of merchant features and product features for various product domains.
  • the ontology may also include description of the features, various synonyms for the features, and other content related to the features.
  • FIG. 3 is a data diagram of the data flow diagram outlining the data manipulation and processing performed by online shopping system 1.
  • Buyer agent 110 includes a customer objective data receiver 305 which obtains customer objective data 310 interactively from customer 10 using various graphical user interface.
  • the obtained data characterize customer objectives with respect to product features and merchant features.
  • the product feature are features of the product itself. They include, for example, the type of processor included in a computer, the quality of the components and their manufacturers, or the number of times an exterminator service sprays a dwelling.
  • the merchant features include merchant offering features and merchant service features.
  • the merchant offering features are those features which specifically relate to the manner in which the merchant can provide the product to the customer, that is the sales features associated with the actual sale and delivery of the product by that merchant. They include the product's price, the current availability the product, and the various delivery options available to the customer for shipping the product.
  • the merchant service features are merchant policies and value-added services which relate neither to product features nor to merchant offering features. Instead, merchant service features are those policies and value- added services which apply to substantially all customers of the merchant, or at least to customers of a particular product domain (that is, product class or categories, such as computers, notebook computers, men's apparel, etc.
  • return policies such as the permitted return period, re-stocking fees, shipping fee responsibility, and shipping and handling charges, etc.
  • availability of extended warranties the merchant's privacy policies, the merchant's payment plans, policies regarding who pays for the shipping costs, merchant's community involvement, and quality measurements such as third party ranking of merchants based on their service.
  • shopping client 104 includes graphical user interface (GUI) engine 128 for interacting with customer 10 to obtain the customer's objective data.
  • GUI graphical user interface
  • FIGs. 4, 4A, 5, and 5A-D Various embodiments of GUIs for obtaining the customer objective data are shown in FIGs. 4, 4A, 5, and 5A-D.
  • FIG. 4 and 4 A shopping client 104 allows customer 10 to select a default profile from among a number of user profiles stored in the user profile database 118 using a stereotype profile GUI 400 displayed by the graphical user interface engine 128.
  • FIG. 5 A shows an alternative embodiment of a stereotype profile selection GUI 405.
  • the stereotype profiles can be either static or dynamic. Static stereotypes remain the same unless modified by a system administrator.
  • dynamic stereotypes are dynamically defined based on how shoppers of a self-selected stereotype actually define their preferences while shopping. For example, the customer's preference selection can be tracked during a shopping session. After the customer finishes the shopping session, the customer's preferences are averaged into the stereotype definition that the customer self-selected. In some embodiments, a certain number of these preferences for each stereotype are maintained with older ones decaying out of the definition first.
  • the averaging mechanism may use a mean-square difference or equally simple statistical algorithm to determine the stereotypical settings for each criterion.
  • stereotypes can be dynamically formed by identifying significant clusters of shoppers and automatically generating a list of stereotypes with an administrator only needing to assign a label to each cluster.
  • shopping client 104 displays various merchant and product feature selection GUIs for selecting attributes of the features and their importance to customer 10.
  • FIGs. 5A-C show an implementation of merchant and product feature selection interface using multiple GUIs.
  • buyer agent 14 may perform some processing to convert the selection into a set of attributes representing the selected features.
  • Buyer agent 14 uses three types of attributes for the various available features: numeric range, discrete range, and discrete set. Each feature is defined by one or more attributes.
  • the attribute type of feature determines how the feature's offer value and customer criterion are represented in the various GUIs and within negotiation protocols, as will be described below. Each one of the attribute types will now be described in detail.
  • the numeric range attribute type characterizes a feature with a real number range between established minimum and maximum bounds.
  • An offer value for a numeric range attribute is a real number within these bounds.
  • a numeric range criterion type is used to define a criterion for a numeric range attribute type.
  • the numeric range criterion defines a real number range between established lower and upper bounds, each of which falls within its attribute's minimum and maximum bounds.
  • the real numbers defining an attribute's numeric range, an offer value, and a criterion's range are each tagged with a unit of measurement. Note that a proposal from a merchant may have a value outside of the numeric range criterion, which depending on whether it is beneficial to the customer or not, would affect the raw value assessment computations.
  • the discrete range attribute type characterizes a feature by an ordered list of tokens.
  • An offer value for a discrete range attribute is one of the attribute's list of tokens.
  • a discrete range criterion type is used to define a criterion for a discrete range attribute type.
  • the discrete range criterion defines a sub-range of the attribute's ordered list of tokens between established lower and upper bounds.
  • Discrete set attribute type characterizes a feature with an unordered set of tokens.
  • An offer value for a discrete set attribute is an unordered subset of the attribute's set of tokens.
  • a discrete set criterion type is used to define a criterion for a discrete set attribute type. Like the offer value, discrete set criterion defines an unordered set of tokens that are a subset of the attribute's set of tokens. Note that the tokens may also be ordered.
  • customer preference data transmitter 310 transmits the customer objectives to various sales agents 18 associated with various merchants 16.
  • the protocol for communication between buyer agent 14 and sales agents 18 is based on XML (extensible markup language), a meta-language based on SGML (structured general markup language).
  • XML is chosen as the medium for inter-agent negotiation protocol because it is sufficiently expressive, yet simple to understand. Furthermore, XML is currently gaining support as a potential HTML replacement and the meta-language for the exchange of business-to-business documents.
  • Buyer agents and sales agents can be implemented using XML parser provided by Microsoft Corporation to encode and decode their XML performatives.
  • Buyer agent 14 initiates the negotiation a process by sending a CRITERIA performative to each sales agent as a request for proposals.
  • the CRITERIA performative includes the shopper's default preferences as defined by the initially selected stereotype as well as meta-data to further define the interaction.
  • the CRITERIA performative is defined as shown in Table 1.
  • the USERID field in the criteria performative uniquely identifies the shopper to the sales agent. For example, the shopper may have an account with the merchant and the userid would map to this unique account. Alternately, the shopper may shop anonymously.
  • the MAXPROPOSALS field in the criteria performative indicates the maximum number of proposals each sales agent is permitted to send in response. The shopping agent enforces this constraint for purposes of scalability.
  • the UFN field refers to a utility function that defines the relative weightings of the features. For example, a value of "LinearPreferLowerUFN" indicates a linear utility function with a preference towards features that have lower criterion positions. Other utility functions are also available.
  • the features listed in the CRITERIA performative contain each attribute's default criterion and are defined as shown in Table 2.
  • Field Value name the name of the feature position the position (i.e., vertical orientation) of the feature active 'true' if the feature is active; 'false' otherwise attribute+ one or more attributes with criterion
  • Table 2 The feature definition for the criteria performative
  • Field Value name the name of the attribute units the criterion's units of measurement ufh the function defining the criterion's weightings lowerbound the criterion's lower bound (a real number) upperbound the criterion's upper bound (a real number)
  • Field Value name the name of the attribute ufh the function defining the criterion's weightings lowerbound the criterion's lower bound (a token) upperbound the criterion's upper bound (a token) item+ an ordered list of one or more tokens
  • the discrete set attribute's criterion definition for the criteria performative
  • the UFN fields in the criterion definitions refer to a utility function that defines the criterion's weightings of the feature's offer value.
  • the ITEM field in the discrete range criterion definition is the complete ordered list of tokens for the attribute.
  • the ADDITEM field in the discrete set criterion definition lists the attribute's default preferences.
  • sales agents 18 include an ontological transformer 325 that accesses a common and shared ontology stored on a computer readable storage media, and convert the merchant specific terminology and expressions of the features into terms and expressions determined by the common and shared ontology.
  • the ontology will be discussed in further detail.
  • product offering compiler 330 compiles at least one product offering 335 for the merchant.
  • product offering compiler 330 may merely transmit the retrieved information to buyer agent 14.
  • product offering compiler may, in some embodiments, send the data to be stored in a centralized database, which buyer agent 14 can then access.
  • product offering compiler 330 may actively configure and customize product offerings closely matching the customer objective, as will be described in further detail below.
  • Product offering 335 is transmitted to decision support engine 200 (also shown in FIG. 2) of shopping agent manager 106.
  • An initial response is first sent. This initial response has the data structure shown in Table 6.
  • the response to an initial criteria request includes zero or more proposal performatives
  • each product offering is packaged as a Proposal performative as shown in Table
  • the ID of the proposal is unique for a given merchant. It allows the merchant's sales agent to manage the proposal throughout negotiations. This includes altering one or more of its offer values or withdrawing the proposal so that a new one could take its place.
  • the manufacturer ID and product ID uniquely define a specific base product - for example, a manufacturer ID of "Compaq" and a product ID of "Presariol625.” Proposals may have a one-to-one mapping with specific base products. If deemed optimal, a sales agent may send multiple proposals for the same base product (but likely configured in different ways).
  • the features listed in the PROPOSAL performative contain each attribute's offer value and are defined as shown in Table 8.
  • Field Value name the name of the feature at_ribute+ one or more attributes with offer values
  • each PROPOSAL performative contains the offer values of its associated product offering as defined in Table 9, Table 10, and Table 11.
  • Field Value name the name of the attribute units the offer value's units of measurement value the offer value (a real number)
  • Table 9 The numeric range attribute's offer value definition for the PROPOSAL performative
  • Table 10 The discrete range attribute's offer value definition for the PROPOSAL perfoi imative
  • Table 11 The discrete set attribute's offer value definition for the PROPOSAL performative
  • decision support engine 200 assesses a value of a product offering receiving from one of the sales agents 18. Note that, although the decision support engine 200 is shown in FIG. 2 as residing in shopping agent manager 108, this is for purposes of example only and decision support engine 200 can reside anywhere in system 1. Decision support engine 200 assists users in making tradeoffs to determine which product offering offered by one or more merchants most closely meets the customer objectives. In one embodiment, the decision support engine utilizes multi-attribute utility theory (MAUT) to provide such assistance to users by formulating the goal of identifying an optimal product proposal from sales agents as a multi-objective decision.
  • MAUT multi-attribute utility theory
  • Decision support engine 200 includes a raw value assessor 202 to generate a raw value assessment "v" 210 of a product proposal using features 204 of the product offering and criteria 206 defined by the user.
  • An ideal value assessor 208 generates an ideal value "iv” 212 of the product offering based on the user criteria 206.
  • An absolute value assessor 214 generates an absolute value "av” 216 based on a comparison of the raw value "v” 210 to the ideal value "iv” 212.
  • Decision support engine 200 generates absolute values for a plurality of product offerings, generated by one or more sales agents associated with one or more merchants. Decision support engine may also recommend one or more product proposals to the user based on the absolute values of the product proposals.
  • Raw value assessor 202 can generate the raw value assessment "v" 210 in many ways.
  • An example formula that may be used is Equation 1 :
  • x is the normalized utility of attribute i
  • fj(xj) is the weighted utility of attribute i
  • nj is the number of attributes in feature j
  • Wj is the relative weighting for feature j
  • m is the number of active features.
  • the calculation proceeds as follows: for every j active feature, raw value assessor 202 normalizes each i attribute, resulting in x_, and then weights the normalized attribute using f_(x_).
  • Raw value assessor 202 averages the weighted attribute utilities for each feature resulting in a normalized utility for the feature.
  • Raw value assessor 202 weights each feature j relative to other features using relative weighting W j .
  • the raw value assessor 202 sums the feature utilities, resulting in raw value assessment "v" 210.
  • absolute value assessor 214 compares raw value "v” 210 to ideal value "iv” 212 to generate absolute value "av” 216.
  • Equation 2 may be derived from Equation 1 by assigning each weighted attribute utility a value of 1.
  • ideal value assessor 208 calculates ideal value "iv" 212 by summing the weights W j of each feature defined by user criteria 206.
  • decision support engine orders the product offerings based on the calculated values, and causes GUI engine 128 to display the results in an appropriate GUI, as shown in FIGs. 7 and 7A.
  • Each product offering is identified in the GUIs with its name 705 and its associated calculated value represented by a number 705 or a value bar 715, or both.
  • Each of these values, and the corresponding value bar can be linked to another GUI. such as those in FIGs. 8 and 8A, which would show in detail the exact relationship between the features of the product offering and the customer objectives.
  • the shopping agent associated with shopping client 104 may also select an optimal product offering, such as the product offering having the greatest value, and display a product specification GUI, such as those shown in FIGs. 8 and 8A by the graphical user interface engine 128.
  • a product specification GUI such as those shown in FIGs. 8 and 8A by the graphical user interface engine 128.
  • customer 10 may initiate a purchase of the product offered by the displayed product offering by, for example, selecting a "Buy" button 710 shown in Fig. 7.
  • customer 10 can select multiple product offerings using a graphical user interface, causing multiple product specification displays to be displayed simultaneously for comparison by the user.
  • Buyer agent 14 also allows the user to modify one or more of the user's criteria 206.
  • Modification to a criterion causes the decision support engine 200 to re-assess the absolute values of product offerings offered by merchants and to instruct the graphical user interface engine 128 to update the display, such as by modifying, deleting, and adding the display.
  • buyer agent 14 allows customer 10 to change the weighting of a criterion relative to the weighting of other criteria.
  • the graphical user interface engine 128 may display a vertical list of criteria, where the order of the list corresponds to the relative importance of the criteria to the user. The user may re-order the list using the graphical user interface 128, thereby changing the relative weighting of the corresponding criteria.
  • a CRITIQUE performative is sent.
  • CRITIQUE performatives are defined similarly to CRITERIA performatives except that only changes to criterion are sent. All of the other fields are optional. This requires that each sales agent maintain the shopping agent's criteria state. The benefit of this approach (over sending the entire criteria each time) is that the size of CRITIQUE performatives are much smaller than CRITERIA performatives. Table 12 shows an example CRITIQUE performative showing the change in the criteria
  • Table 12 An example CRITIQUE performative for the "Delivery Time” feature
  • sales agents can either add, update, or remove either of their previously sent proposals. Updating the configuration of a product offering is accomplished by sending a COUNTER-PROPOSAL performative.
  • COUNTERPROPOSAL performatives are like PROPOSAL performatives except that only changes to offer values are sent and that the base product cannot be changed (only its configuration). All of the other fields are optional. This requires that each shopping agent maintain each sales agent's set of proposals and each proposal's state. As with CRITIQUE performatives, the benefit of this approach is that the size of counter-proposal performatives are much smaller than proposal performatives.
  • Table 12 shows an example counter-proposal performative showing a change in offer value for the "Delivery Time" and "Total Price" attributes.
  • shopping agents 110 take advantage of these previous assessments by maintaining their partial results. Specifically, shopping agents 110 remember each product offering's raw value assessment v and weighted utilities fj(xj) of each of its attributes. A counter-proposal updates the normalized utilities x of one or more attributes. For each attribute change, the product offering's value is reassessed as follows:
  • the shopper may either withdraw from the shopping session or accept a proposal.
  • Buyer agent 14 sends either a WITHDRAW or an ACCEPT performative in response.
  • WITHDRAW performatives are simple messages indicating a withdrawal from the shopping session.
  • ACCEPT performatives are only sent to the sales agent offering the accepted proposal and not broadcast to all sales agents, unlike the other performatives.
  • ACCEPT performatives are also simple messages and lead the shopper to the payment and delivery stage.
  • Sales agents may also add and replace product offerings. Adding a new product offering is equivalent to sending another PROPOSAL performative. However, sales agents 18 are not permitted to exceed their maximum number of proposals (as defined by the maxproposals field in CRITERIA and CRITIQUE performatives). Therefore, sales agents may also need to send WITHDRAW-PROPOSAL performatives to remain within their allotted number of proposals.
  • a WITHDRAW-PROPOSAL performative contains the proposalid of the proposal to withdraw as shown in Table 14.
  • product offerings can be configured to better match the customer objectives.
  • Buyer agent 14 or decision support module 200 can be burdened with assessing the value of product offerings from sales agents.
  • buying agent 14 or decision supports module 200 are burdened with configuring each product offering to closely meet the needs of customer 10, they can be easily overwhelmed with the computational burden of assessing the value of various product configurations, specially where a product is highly configurable, many merchants offer the products and merchants submit multiple proposals.
  • sales agents 18 are better positioned to focus on the product offering.
  • the burden of configuring each product offering is distributed among sales agents 18 to implement a distributed constraint satisfaction system.
  • each sales agent configures its own product offering and only sends n of these to buyer agent 14 (where n can be dynamically set at run-time). This reduces the customer's consideration set to a reasonable number of only the most closely matching product offerings viewed as a distributed constraint satisfaction system. This distributed, loosely-coupled design makes the system highly scalable.
  • sales agents use a customizer that is an extension of the same decision support module used by shopping agents to assess the value of fully configured product offerings. This allows sales agents to accurately determine which of their product offerings closely meet the needs of each shopper. However, merchants have their own needs such as profit margin which also affect customizing product offerings.
  • each sales agent maintains a local list of potential product offerings, one per base product. For example, if a merchant sells ten different notebook computers, then the sales agent would maintain a local list often potential product offerings (PPOs).
  • the customizer allows any numeric range or discrete range attribute to have one or more configurable options.
  • the configurable attributes include delivery time, warranty length, system memory, hard drive size, display size, modem speed, network card, and processor speed. The number of options that each of these attributes have depends upon the product and the merchant. For example, Dell's "Latitude CP" is a base product that can be configured along each of the product attributes above. Compaq's "Presario 1625", however, is an already fully configured base product. However, all merchants tend to support a variety of delivery and extended warranty options. This means that all PPOs are at least minimally configurable. Upon initialization, each sales agent enumerates all of the possible configurations for each PPO.
  • a PPO is optimized by first assessing each of its enumerated configurations based on the shopper's preferences, the merchant's preference for profit, and the product's inventory level.
  • the options of that configuration must propagate its costs to the total price attribute. For example, an option for overnight delivery will accrue added costs that must be included in the configuration's total price.
  • the customizer also keeps track of each option's actual cost and offer price along with the base product's actual cost (to the merchant) and its offer price. For example, an extra 32 MB of RAM may cost a merchant $50 but the merchant may prefer to charge $ 100 for the service of adding the memory to a base product due to the merchant's extra labor costs and profit needs.
  • the configuration's profit is equal to the summation of its offer prices minus the summation of its actual costs. This profit is included in the configuration's value assessment as a numeric range attribute whose feature is positioned by the merchant relative to the other features. This approach allows merchants to assign arbitrary importance to their profit needs when simultaneously attempting to satisfy the needs of its customers.
  • a further attribute interaction is that if a product is out of stock (i.e., has a 0 inventory level), then the configuration's delivery time attribute must include when the merchant expects the product to be in stock and its ultimate delivery time.
  • each PPO is set to the configuration with the greatest assessed value.
  • the sales agent identifies the most closely n PPOs (where n is the value of the maxproposals field in the criteria performative), and sends these product offerings as a response to the shopping agent as PROPOSAL performatives.
  • n is the value of the maxproposals field in the criteria performative
  • these proposal performatives define all of the product and merchant features of the product offering, not just the configurable options.
  • the sales agent may receive CRITIQUE performatives from the shopping agent. The sales agent updates its local representation of the shopper's preferences and reevaluates its list of PPOs.
  • More sophisticated configuration algorithms can also be used.
  • the characteristics of price-dependent customization lends itself to a linear programming solution. Including total price (the complicating constraint) in the objective function of a Lagrangian relaxation algorithm could result in much better performance for even highly configurable products.
  • the customizer could include other types of analysis to assess profit or even dynamically adjust price.
  • an ontology is used by sales agents 18.
  • decision support module 200 can receive as input a set of product offerings expressed in various manner depending on merchants 16 from which they originated. Decision support engine module 200 can then access the ontology to retrieve the appropriate information before performing its value calculations.
  • buyer agent can access an ontology to convert a merchant provided product offering before displaying the product offering in a GUI.
  • the ontology may be implemented as a database, dictionary, or other data structures.
  • the ontology is a collection of lists of merchant features and product features for various product domains.
  • the ontology may also include description of the features, various synonyms for the features, and other content related to the features.
  • the data structure particularly enables mapping from one set of expression on to a common and shared ontology.
  • the common ontology can be maintained by human administrators Alternatively, an ontology management mechanism can dynamically maintain the ontology.
  • Product and merchant features within product domains can be proposed by consumers, merchants, and manufacturers.
  • the ontology management mechanism can provide a "Create Feature" and "Edit Feature" options allowing consumers to propose new features not yet known to the system.
  • the ontology management mechanism can provide a "Create Feature" and "Edit Feature" options allowing consumers to propose new features not yet known to the system.
  • the ontology management mechanism can provide a "Create Feature" and "Edit Feature
  • the new feature is then added to the ontology as an inactive feature within each stereotype in the product domain making the feature immediately accessible to all shoppers. Other shoppers can then manually add this new feature to their active list of features and have the features sent as critique performatives along with their other preferences.
  • merchants may not understand these newly added feature requests initially and can choose to ignore them.
  • the merchants can have their sales agents monitor the occurrences of new features and, if many customers find a new feature to be an important dimension of consideration, then sales agents can alert their merchants. Merchants may then be compelled to address their customers' needs. Merchants may also wish introduce their own features to further differentiate themselves in the marketplace. Similarly, manufacturer's would benefit from knowing which product features shoppers clamor for and would likely want to learn about and introduce new product features.
  • the stereotype could evolve to include the new feature in the active list of preferences.
  • features that were once important, but are no longer considered while shopping would get "demoted" to the inactive list.
  • particularly unimportant features drop out of a stereotype's definition of the product offering (and perhaps the ontology database) entirely.
  • a limit may be imposed on the number of new features added by a single consumer. Manufacturer or merchant to prevent abuses of the system.
  • An "Edit Feature” option allows consumers and merchants to modify description and attributes of an existing feature. Once proposed, the feature could be added as if it were a new feature, i.e., added to the inactive list of features for each stereotype. Features with multiple versions could be tagged as such. A simple user interface element could alert shoppers of new definitions for features which they can opt to use instead of the old definition. Of course, it will still be up to merchants to support them. In many cases, changes may be minor such as adding a new display type to the appropriate discrete set attribute in a notebook computer domain. New attributes would impose similar issues as adding new features (discussed above). Changes in core attribute types, however, can be problematic, and may possibly not be permitted.
  • Such dynamic, distributed, and evolvable shared ontology mechanism is important for reducing consumer search costs and assisting merchant is distinguishing themselves from other merchants. Basing the evolution on what product and merchant features are important to stereotypical shoppers while they shop may be a viable approach to take as outlined above.
  • Another alternative approach is to adopt standards from industry associations and other standards bodies. For example, the RosettaNet consortium aims to define the business interfaces for Information Technology (IT) supply chains. The problem with using a single "standards body,” however, is that it often takes too long for the partners to make progress and reach a consensus. This is particularly problematic for the potential dizzying pace of electronic commerce.
  • buyer agent can send all of the customer's preferences to sales agents. Since, this may result in price discrimination, in other embodiments, buyer agent 14 may reveal all of its owner's preferences except the price preferences. Buyer agent 14 can also obtain customer objective using other interactive models. For example, a common "wizard" type interface can be used to interview customer 10 to obtain the customer's objectives. Buyer agent 14 can display a GUI where in one segment customer 10 is asked a number of questions. For example, in the case of a notebook computer, customer 10 is asked, "Do you need fast access to the Internet?" and "Do you intend to play games on your computer?". Hand-crafted heuristics would then translate the answers to these questions into specific preferences for features. In response to answers by customer 10, buyer agent 14 then displays how those answers map to specific feature preferences, which helps build confidence in the system and helps facilitate transactions.
  • Another technique for obtaining a customer's objective is to perform a conjoint analysis of product offering alternatives.
  • customer 10 may simply express a preference of one product over another without explaining why.
  • Buyer agent 14 then extracts or refines specific preferences and utilities based on analyzing the differences in feature sets of those products.
  • This mode of shopping can be implemented by having customer 10 express his or her conjoint preferences through the acfof dragging and dropping product offering value bars above or below one another.
  • the vertical orientation of the value bars represents the relative value that each product offering brings to the shopper.
  • Preferences could be saved for future consideration, account information would only need to be entered once, and email alerts could be sent of interesting marketplace events such as the assessed value of a product reaching a shopper-specified threshold. This last suggestion would, of course, require that the shopping agent proactively shop for the shopper even when the shopper is not actively online shopping.
  • the decision support engine 200 only evaluates "active" features when generating the raw value assessment "v” 210 and the ideal value assessment "iv” 212.
  • the graphical user interface 128 may display a GUI (as shown in FIG. 5D) to allow the user to change the active status of individual features.
  • passive information sales agents retrieve information from merchants and store them in a database.
  • Such sales agents can be implemented, for example, by advanced spidering technologies.
  • Buyer agent 14 requests and receives data on product offerings by merchants from the database rather than from sales agents directly.
  • Buyer agent 14 uses that information in the same manner as it would product offerings from dynamic agents.
  • the raw assessment value can be calculated straight from the attribute values without calculating features values.
  • a computer system for implementing the system of FIGS. 1-9A as a computer program typically includes a main unit connected to both an output device which displays information to a user and an input device which receives input from a user.
  • the main unit generally includes a processor connected to a memory system via an interconnection mechanism.
  • the input device and output device also are connected to the processor and memory system via the interconnection mechanism.
  • O or more output devices may be connected to the computer system.
  • Example output devices include a cathode ray tube (CRT) display, liquid crystal displays (LCD), printers, communication devices such as a modem, and audio output.
  • One or more input devices may be connected to the computer system.
  • Example input devices include a keyboard, keypad, track ball, mouse, pen and tablet, communication device, and data input devices such as sensors. It should be understood the invention is not limited to the particular input or output devices used in combination with the computer system or to those described herein.
  • the computer system may be a general purpose computer system which is programmable using a computer programming language, such as C++, Java, or other language, such as a scripting language or assembly language.
  • the computer system may also include specially programmed, special purpose hardware.
  • the processor is typically a commercially available processor, of which the series x86, Celeron, and Pentium processors, available from Intel, and similar devices from AMD and Cyrix, the 680X0 series microprocessors available from Motorola, the PowerPC microprocessor from IBM and the Alpha-series processors from Digital Equipment Corporation, are examples. Many other processors are available.
  • Such a microprocessor executes a program called an operating system, of which Windows NT, Linux, UNIX, DOS, VMS and OS 8 are examples, which controls the execution of other computer programs and provides scheduling, debugging, input/output control, accounting, compilation, storage assignment, data management and memory management, and communication control and related services.
  • the processor and operating system define a computer platform for which application programs in high-level programming languages are written.
  • a memory system typically includes a computer readable and writeable nonvolatile recording medium, of which a magnetic disk, a flash memory and tape are examples.
  • the disk may be removable, known as a floppy disk, or permanent, known as a hard drive.
  • a disk has a number of tracks in which signals are stored, typically in binary form, i.e., a form interpreted as a sequence of one and zeros. Such signals may define an application program to be executed by the microprocessor, or information stored on the disk to be processed by the application program.
  • the processor causes data to be read from the nonvolatile recording medium into an integrated circuit memory element, which is typically a volatile, random access memory such as a dynamic random access memory (DRAM) or static memory (SRAM).
  • DRAM dynamic random access memory
  • SRAM static memory
  • the integrated circuit memory element allows for faster access to the information by the processor than does the disk.
  • the processor generally manipulates the data within the integrated circuit memory and then copies the data to the disk when processing is completed.
  • a variety of mechanisms are known for managing data movement between the disk and the integrated circuit memory element, and the invention is not limited thereto. It should also be understood that the invention is not limited to a particular memory system.
  • the computer system may be a multiprocessor computer system or may include multiple computers connected over a computer network.
  • Each module (e.g. 12, 106, and 112) in FIG. 1 may be separate modules of a computer program, or may be separate computer programs. Such modules may be operable on separate computers.
  • Data e.g. 204, 206, 210, 212, 216) may be stored in a memory system or transmitted between computer systems.
  • the invention is not limited to any particular implementation using software or hardware or firmware, or any combination thereof.
  • the various elements of the system either individually or in combination, may be implemented as a computer program product tangibly embodied in a machine-readable storage device for execution by a computer processor.
  • Various steps of the process may be performed by a computer processor executing a program tangibly embodied on a computer-readable medium to perform functions by operating on input and generating output.
  • Computer programming languages suitable for implementing such a system include procedural programming languages, object-oriented programming languages, and combinations of the two.

Abstract

Computer-implemented system and method for facilitating online shopping. A purchase by a user of a product offered by a merchant is facilitated by providing the user with an assessment of a value of the product based on a plurality of features of the product.

Description

COMPUTER SYSTEM AND COMPUTER-IMPLEMENTED METHOD FOR
ELECTRONIC COMMERCE
Cross-Reference Of Related Application
This application claims priority from U.S. Provisional Application Serial No. 60/102,949, filed October 2, 1998, now pending U.S. Provisional Application Serial No. 60/119,176, filed February 8, 1999, now pending, U.S. Provisional Application Serial No. 60/119, 182, filed February 8, 1999, now pending, and Provisional Application 60/119, 183 filed February 8, 1999, now pending, all of which are incorporated by reference in their entirety. Background of the Invention
Electronic commerce has come to be known as any activity of commerce over a digital medium. Although technologies such as Electronic Data Interchange (EDI), automated teller machines, and electronic credit card processing have been around for some time, the advent and popularity of the Internet has given new meaning to the term "electronic commerce." Today, electronic commerce over the Internet involves a broad range of issues including the economics of Internet pricing, marketing and advertising, payment mechanisms, security and privacy, trust and reputation, law and contracts, back-office management, supply chain management, and the buying and selling of goods and services.
Online shopping is both an opportunity and a threat to today's retail merchants. It is an opportunity because the Internet offers traditional merchants an additional channel to advertise and sell products to existing and new customers, thus potentially increasing sales. Online marketplaces also are more efficient than their physical-world counterparts, which lowers transaction costs for both merchants and consumers.
Along with these opportunities, however, come great challenges. On the Internet, competitors' Web storefronts are only a "mouse-click away" — as opposed to a car- ride away in the physical world — making it relatively easy for consumers to compare merchants' offerings. At the same time, it is becoming increasingly difficult for consumers to find and consider product offerings as the number of online merchants and quantity of Web pages grow exponentially. In the face of this information glut, online merchants are straggling to differentiate themselves and attract shoppers to their sites.
Summary of the Invention Computer implemented methods, and computer apparatus and programs, are provided for a user to engage in electronic commerce by providing a set of, including product features and merchant features, and to obtain suggestions as to the product offerings from various merchants. The user receives a list of product offerings, their value to him or her based on the provided criteria, and the ability to iteratively modify his or her criteria. An ontology shared and common to various components and modules allow easy and efficient computation, while a communication protocol allows for efficient communication between various components and modules.
In one aspect, the invention features obtaining, at a buyer agent, information concerning a customer's objectives; receiving, at the buyer agent, data from a plurality of sales agents associated with a plurality of merchants, wherein the data includes a plurality variables characterizing features associated with at least one product offering by at least one of the merchants; and processing, at the buyer agent, the plurality of variables in view of the customer's objectives to arrive at a singular value characterizing value of that product offering.
In another aspect, the invention features receiving data characterizing a product offering by a merchant, the data including at least one variable characterizing merchant service features associated with the merchant; and processing the product offering and the variable in view of a customer's objectives to arrive a value for that product offering.
Embodiments of this aspect of the invention can include one or more can include one or more of the following features. Various graphical interfaces are displayed, A graphical user interface is displayed on a display, where the graphical user interface includes an input area for the customer to input data relating to customer's objectives. A graphical user interface is displayed on a display, where the graphical user interface includes an input area for the customer to input data relating to customer's objectives concerning merchant service features. A graphical user interface is displayed on a display, where the graphical user interface includes an area for displaying information relating to the at least one product. A graphical user interface is displayed on a display, the graphical user interface including an area for displaying information relating to the arrived at value, and a region, wherein when activated, causes information indicating the details of the product offering and the assessing step to be displayed to the customer. A graphical user interface is to be displayed on a display, where the graphical user interface includes an area for displaying information relating to the at least one product, the information including a first expression of a feature associated with the product offering, the first expression being a translation of a second expression of the feature associated with the product offering, the seconcl expression being provided by the merchant and translated into the first expression in accordance with a selected ontology.
The sales agent can be located remotely from the plurality of sales agents. The buyer agent can send and receives data to and from the sales agents over a network, such as the internet. The sales agents can also obtain information from their respective merchants and store the information on a database and the buyer agent receiving the data from the merchants by accessing the database.
The variables include a numeric range and an attribute having an offer value comprising a real number. The numeric range is characterized by a minimum bound and a maximum bound for an expected offer value, wherein the offer value can be less than minimum bound or greater than the maximum bound, although the deviation can affect the computed value of the product offering to the consumer. The variables can include a discrete range. T he discrete range defines a plurality of tokens. The variables include an attribute having an offer value comprising a token selected from the plurality of tokens and an attribute having an offer value comprising a token not selected from the plurality of tokens, although the deviation can affect the computed value of the product offering to the customer. The variables can include a discrete set, the discrete set defining a plurality of tokens, and the plurality of variables includes an attribute having an offer value comprising a subset of the plurality of tokens. The received data includes variables characterizing a merchant service feature of the at least one of the merchants.
The user's objectives includes a plurality of desired features and a relative position indicating an ordering of the desired product features. Processing the plurality of variables further includes assessing the value of the at least one product offering based on the relative positions of the plurality of the desired features. The user's objectives include, for each of the plurality of desired features, an active flag indicating whether the value of the product feature is to be assessed. Processing the plurality of variables includes assessing values of only of those product features of the at least one product for which the active flag included in the user's objectives indicates that the product feature is to be used. Each of the plurality of product features comprises at least one attribute, the at least one attribute having an offer value defined by the at least one product offering and a criterion defined by the user's objectives. Note that the order of the features may also be captured by absolute orders, not configurable by the user. The received data can include a second plurality of variables characterizing features associated with at least one other product offering, the processing step further including processing the second product offering to arrive at a second singular value characterizing value of the second product offering. The product offerings are ordered according to the arrived at values of the product offerings. A graphical user interface is displayed on a display, the graphical user interface including an area for displaying information relating to the product offerings in accordance with the ordering. One of the product offerings is recommended to the user based on the ordering of the plurality of product offerings. The criteria defined by the user's objectives comprise at least one utility function and a raw value assessment function. Processing the variables can include assessing the value of the at least one product offering using the raw value assessment function and the one utility function to generate a raw value assessment.
The user's objectives define, for each of the plurality of features of the product, a relative position of the feature of the product among the plurality of features of the product. Processing the multiples variables can include generating attribute utility values for at least one attribute of the features; generating an average of the attribute utility values; and multiplying the average of the utility values of the at least one attribute of the feature by a weight of the feature corresponding to the relative position of the feature to generate a weighted utility of the feature. Processing the multiples variables can also include: summing the weighted utilities of the at least one feature of the at least one product to generate the raw value assessment. Processing the multiples variables can include performing a comparison between the raw value assessment and an ideal value assessment of the value of the at least one product; and generating an absolute value assessment of the value of the at least one product based on the results of the comparison. Processing the multiples variables includes generating the ideal value assessment by summing weights of the at least one feature. User's objectives include, for each of the plurality of product features, an active flag indicating whether the value of the product feature is to be assessed, and where the at least one feature comprises the product features of the at least one product for which the active flag included in the user's objectives indicates that the product feature is to be assessed. The product can be a good, or a service.
In another aspect, the invention features sending, at a buyer agent, an criteria performative from a buyer agent to a seller agent associated with a merchant, the criteria perforamtive including data concerning a customer's objectives; receiving, at the buyer agent, a proposal performative including a plurality of variables characterizing features associated with at least one product offering by the merchant; and processing the proposal performative to provide information to the customer information concerning the product offering. Embodiments of this aspect of the invention can include one or more of the following features.
The proposal performative is processed in view of the customer objectives to determine whether the product offering meet criteria established by the customer objectives. The buyer agent receives an indication from the user that the user intends to purchase the product offering, and sends an acceptance performative indicating the user's intention to purchase the product informative.
The buyer agent receives a change in the customer objectives from the customer; and sends a critique performative to the merchant indicating the change in user's objectives. The data in the critique performative can be substantially limited to data indicating the change in user's objectives. The buyer agent receives a counter-proposal performative sent from the merchant in response to the critique performative, counter-proposal performative including data indicating a change in the product offering. The buyer agent receives an indication form the user indicating the user's desire to end a buying session, and sends a withdraw performative to the merchant indicating the user's desire to end a buying session. The buyer agent receives a withdraw performative from the merchant indicating the merchant's desire to end a buying session, and ends communications with the merchant for that buying session.
In yet another aspect, the invention features facilitating online shopping by a customer by displaying a graphical user interface for obtaining information from the customer regarding the customer objectives, the customer objectives including a desired merchant service feature. In another aspect, the invention features facilitating online shopping by a customer by displaying a graphical user interface displaying information corresponding to a product offering by merchant, the information including a value assigned to the product offering based on the customer's objective, customer objectives including a merchant service feature. In another aspect, the invention features facilitating online shopping by a customer by displaying a graphical user interface displaying information corresponding to a product offering by a merchant, the information including a value assigned to the product offering based on relationships between a first plurality of variables characterizing the product offering and a second plurality of variables characterizing the customer objectives, and detailed data on the relationships.
In another aspect, the invention features facilitating online shopping by a customer by displaying a graphical user interface displaying information corresponding to a product offering by a merchant, the information including a first expression of a feature associated with the product offering, the first expression being a translation of a second expression of the feature associated with the product offering, the second expression being provided by the merchant and translated into the first expression in accordance with a selected ontology.
In anther aspect, the invention features a graphical user interface in a computer system to facilitate evaluation by a user of a plurality of product proposals provided by at least one merchant, the plurality of proposals including a plurality of features, the graphical user interface including a graphical display displaying information corresponding to the plurality of product proposals, the graphical display indicating an ordering of the plurality of product proposals based on singular values assigned to the plurality of product proposals derived from a plurality of variables received from the merchants and a plurality of criteria defined by the user, where the variables received from the merchants and the plurality criteria characterize merchant service features.
Embodiments of this aspect of the innovation may include one or more of the following features. The graphical user interface can include a control element to change the ordering of the plurality of product proposals in response to input from the user. The control element controls a value of a select one of the plurality of criteria. The graphical display displays, for at least two of the plurality of product proposals, a plurality of feature displays corresponding to the plurality of features, the plurality of feature displays being arranged in a user-specified order. At least one feature control inactivates at least one of the plurality of feature displays in response to user input. The graphical user interface can include a selection control element to select a particular one of the plurality of product proposals in response to selection input from the user, and a product specification display to display information descriptive of features of the particular one of the plurality of product proposals. The information descriptive of features of the particular one of the plurality of product proposals indicates a user-specified ordering of the features of the particular one of the plurality of product proposals. The graphical user interface includes a selection control element to select at least one of the plurality of product proposals in response to selection input from the user, and a product specification display to display information descriptive of the at least one product proposal including information descriptive of features of the at least one of the plurality of product proposals.
The information descriptive of features of the at least one of the plurality of product proposals indicates a selected ordering of the features of the at least one of the plurality of product proposals. The plurality of features include a first plurality of features belonging to a first category and a second plurality of features belonging to a second category, and the graphical display indicates that the first plurality of features belong to the first category and that the second plurality of features belong to the second category. The graphical user interface can include a feature editing element to modify a select one of H e plurality of features in response to input from the user. Associated with the user is a user profile indicating at least one criterion specified by the user for assessing the values of the plurality of product proposals, and the graphical user interface can include a criterion control element to modify the at least one criterion in response to input from the user. The graphical user interface includes a criteria display displaying criteria information descriptive of at least one of the plurality of criteria.
In yet another aspect, the invention features assessing a value of at least one product offering by a merchant with respect to a customer's objectives by obtaining data representing expressions of a plurality of features associated with said at least one product offering by the merchant; translating at least one of the expressions into a second expression expressed in accordance with a selected ontology; and assessing values of the plurality of features of the at least one product in view of criteria defined by the customer's objectives by using said converted expression in place of the at least one of the expression. Embodiments of this invention can include one or more of the followings features. The ontology can include product features, merchant offering features, and merchant service features The ontology can be dynamically updated by input by customers of an online shopping service. The ontology is a list of features associated with a product domain.
In yet another aspect, the invention features obtaining information concerning a customer's objectives; receiving data from a plurality of sales agents associated with a plurality of merchants, where the data includes a plurality variables characterizing features associated with at least one product offering by at least one of the merchants; accessing an ontology to retrieve information in response to the received data, and processing the plurality of variables in view of the customer's objectives and the information from the ontology to arrive at a singular value characterizing value of that product offering. In another aspect, the invention features receiving data from a plurality of sales agents associated with a plurality of merchants, each one of the sales agents being associated with at least one of the merchants, where the data includes a plurality variables characterizing features associated with at least one product offering by at least one of the merchants; accessing an ontology to retrieve information in response to the received data; processing the received data in view of the information retrieved from the ontology; and displaying the processed data.
In another aspect, the invention features receiving data from a merchant; accessing an ontology to retrieve information in response to the received data; and forming a product offering based on the received data and the information retrieved from the ontology.
Brief Description of the Drawings FIG. 1 is a schematic diagram of a computer implemented online shopping system. FIG. 2 is a schematic diagram of an embodiment of the online shopping system of FIG. 1.
FIG. 3 is a data flow diagram of the operation of the online shopping system of FIG. 2. FIGs. 4 and 4A are graphical user interfaces for selecting a stereotypical customer profile.
FIGs. 5 and 5A-D are graphical user interfaces entering customer objectives. FIG. 6 is a data flow diagram of a decision support module of the online shopping system of FIG. 2.
FIGs. 7 and 7A are graphical user interfaces for showing results of an online search for product offerings.
FIGs. 8 and 8 A are graphical user interfaces for showing how a product offering matches a customer's objectives.
Detailed Description
Referring to FIG 1, prior to describing in detail, we first describe a computer- implemented on line shopping system in detail. Online shopping system 1 allows a customer 10 at a computer 12 to shop online for a product, such as a good or a service. (Note that, other terms including "shopper" and "user" will be used interchangeably with the term "customer" herein.) Online shopping system 1 includes a buyer agent 14 which is a computer program module running, for example, in distributed mariner on computer 12 and a remote server, where communication between modules running on computer 12 and those running on the remote server take place over a network such as an intranet or the Internet. Buyer agent 14 obtains a set of customer objectives from customer 10. The customer objectives typically relate to features of a desired product, and features of a merchant from whom the customer would like to obtain the product. Buyer agent 14 receives data concerning product offerings by merchants 16 through a number of sales agents 18 associated with various merchants 16. In some embodiments, described below, sales agents 18 provide the data with respect to the product offerings in response to a request sent by the buyer agent. The request outlines the objectives. Sales agents 18 configure various product offerings in part based on the user preferences sent by buyer agent 14. In those embodiments, buyer agent 14 can negotiate with sales agents 18 to arrive at a product offering most closely matching the customer objectives. In other embodiments, sales agents 18 supply data regarding merchants 16 and their products to a central database which is then accessed by buyer agent 14. The data received by buyer agent 14 includes multi variable data concerning various features associated with the product offerings by merchants 16, including features associated with the product, features associated with the sale of the product by the merchants, and features associated with the policies and value-added services provided by the merchants. Buyer agent 14 assesses the multivariable data associated with each product offering to arrive at a single value representative of the value of each product offering to customer 10 given the customer's objectives.
In some embodiments, some of the merchants 16 use terms to express the features of the offered products which are different from terms used by other merchants. To enable a meaningful valuation of the product offerings and a meaningful comparison among the various product offerings, the differing terms are converted into a normalized set of expressions based on a common and shared ontology. Buyer agent 14 then provides the product offerings and their ranking to customer 10 in a graphical user interface, based on the common and shared ontology. Customer 10 also has the option of gaining access to the underlying calculations which resulted in buyer agent 14's conclusion. Having described in general terms the shopping system 1 of FIG. 1, a particular embodiment shown in FIG. 2 will now be described in detail. In online shopping system 1 buyer agent 14 includes a shopping client 104 executing on customer computer 12. Shopping client 104 acts as an interface between customer 10 and shopping server 106. Shopping client 104, for example, can be written in the Java programming language, and can run as an applet in a window of a standard web browser. Shopping client 104 can also be implemented according to any other programming language and be implemented as a standalone application program or a component of a standalone application program. Shopping client 104 interacts with customer 10 through various graphical user interfaces provided by graphical user interface engine 128.
Shopping server 106 includes a shopping agent manager 108 to manage one or more shopping agents 110. Shopping agent manager 108 manager communications between shopping client 104 and a sales agent manager 114 executing on a merchant host computer 112 of a merchant. To initiate facilitated online shopping, shopping client 104 connects to shopping server 106. In response, shopping agent manager 108 creates a shopping agent corresponding to shopping client 104 and establishes a logical connection between shopping client 104 and the newly-created shopping agent.
Merchant host computer 112 includes a products database 124 that includes information descriptive of products offered by the merchant associated with sales agent manager 114 and a services database 126 that includes information descriptive of services offered by the merchant associated with sales agent manager 114. Each of the sales agents 116 may access its own products database 124 and services database 126. These databases can also be implemented as a single database of products and services. These databases can be implemented as, for example, any data structure, object, or combination thereof that performs the same functions as products database 124 and services database 126. It should be understood that the depiction of only one shopping client 104 and only one sales agent manager 114 in FIG. 2 is for illustration purposes only. Online shopping system 1 typically includes multiple shopping clients and multiple sales agent managers in communication through shopping server 106. Similarly, the locations of the components (e.g., shopping client 104, shopping agent manager 108, sales agent manager, 114, and sales agents 116) of the online shopping system 1 shown in FIG. 2 are for purposes of example only and can be implemented so as to be located anywhere.
Shopping agent 110 in communication with shopping client 104 retrieves a list of registered merchants from a registry 122 of registered merchants. To do so, shopping agent 110 sends a "request to connect" message to each of the registered merchants' respective sales agent managers (such as sales agent manager 114 executing on merchant host computer 112). Similarly, each sales agent manager 114 creates a logical connection between one or more of its sales agents 116 and shopping agent 110.
To make one of the sales agent 116 available for involvement in negotiations with one or more of shopping agents 110, sales agent manager 114 may register that sales agent with shopping server 106. In response, shopping server 106 may register the sales agent in registry 122.
Shopping server 106 also mcludes a user profiles database 118. Each user profile in the user profiles database 118 includes a predefined set of criteria that can be selected by a user for assessing the value of a product proposal offered by a merchant. Shopping client 104 retrieves user profiles from the user profiles database 118 and allows the user to select one of the user profiles for assessment of product proposals, as will be described below. In addition, shopping server 106 can store in database 118 specific customized profile for individual customers.
The shopping server also includes a storage media for storing the ontology, here a dictionary database 120 that includes definitions of features for products offered by merchants through their sales agents 116. The ontology is a collection of lists of merchant features and product features for various product domains. The ontology may also include description of the features, various synonyms for the features, and other content related to the features. After the user selects a user profile from the user profiles database 118, the shopping agent that is in communication with shopping client 104 may retrieve definitions of features of a product of interest to the user from the dictionary database 120 and transmits the definitions to the shopping client. The shopping agent may also initialize shopping client 104 according to the criteria defined by the user profile selected by the user. The shopping agent may then transmit the criteria to each of the sales agents 116 (and to any other sales agents that are in communication with shopping client 104), thus commencing negotiations between shopping client 104 and the sales agents 116.
FIG. 3 is a data diagram of the data flow diagram outlining the data manipulation and processing performed by online shopping system 1. In the data flow diagram, those components belonging to a particular buyer agent or sales agent are shown under that agent. Buyer agent 110 includes a customer objective data receiver 305 which obtains customer objective data 310 interactively from customer 10 using various graphical user interface. The obtained data characterize customer objectives with respect to product features and merchant features. The product feature are features of the product itself. They include, for example, the type of processor included in a computer, the quality of the components and their manufacturers, or the number of times an exterminator service sprays a dwelling. The merchant features include merchant offering features and merchant service features. The merchant offering features are those features which specifically relate to the manner in which the merchant can provide the product to the customer, that is the sales features associated with the actual sale and delivery of the product by that merchant. They include the product's price, the current availability the product, and the various delivery options available to the customer for shipping the product. The merchant service features are merchant policies and value-added services which relate neither to product features nor to merchant offering features. Instead, merchant service features are those policies and value- added services which apply to substantially all customers of the merchant, or at least to customers of a particular product domain (that is, product class or categories, such as computers, notebook computers, men's apparel, etc. They include such things as return policies (such as the permitted return period, re-stocking fees, shipping fee responsibility, and shipping and handling charges, etc.), availability of extended warranties, the merchant's privacy policies, the merchant's payment plans, policies regarding who pays for the shipping costs, merchant's community involvement, and quality measurements such as third party ranking of merchants based on their service.
Referring again to FIG. 2, shopping client 104 includes graphical user interface (GUI) engine 128 for interacting with customer 10 to obtain the customer's objective data. Various embodiments of GUIs for obtaining the customer objective data are shown in FIGs. 4, 4A, 5, and 5A-D. Referring to FIGs. 4 and 4 A, shopping client 104 allows customer 10 to select a default profile from among a number of user profiles stored in the user profile database 118 using a stereotype profile GUI 400 displayed by the graphical user interface engine 128. FIG. 5 A shows an alternative embodiment of a stereotype profile selection GUI 405.
The stereotype profiles can be either static or dynamic. Static stereotypes remain the same unless modified by a system administrator. In contrast, dynamic stereotypes are dynamically defined based on how shoppers of a self-selected stereotype actually define their preferences while shopping. For example, the customer's preference selection can be tracked during a shopping session. After the customer finishes the shopping session, the customer's preferences are averaged into the stereotype definition that the customer self-selected. In some embodiments, a certain number of these preferences for each stereotype are maintained with older ones decaying out of the definition first. The averaging mechanism may use a mean-square difference or equally simple statistical algorithm to determine the stereotypical settings for each criterion. Alternatively, stereotypes can be dynamically formed by identifying significant clusters of shoppers and automatically generating a list of stereotypes with an administrator only needing to assign a label to each cluster. Referring to FIGs. 5, 5A-C, when customer 10 selects a stereotypical profile, shopping client 104, through graphical user interface engine 128, displays various merchant and product feature selection GUIs for selecting attributes of the features and their importance to customer 10. Note that FIGs. 5A-C show an implementation of merchant and product feature selection interface using multiple GUIs. After obtaining the customer objectives, buyer agent 14 may perform some processing to convert the selection into a set of attributes representing the selected features. Buyer agent 14 uses three types of attributes for the various available features: numeric range, discrete range, and discrete set. Each feature is defined by one or more attributes. The attribute type of feature determines how the feature's offer value and customer criterion are represented in the various GUIs and within negotiation protocols, as will be described below. Each one of the attribute types will now be described in detail.
The numeric range attribute type characterizes a feature with a real number range between established minimum and maximum bounds. An offer value for a numeric range attribute is a real number within these bounds. A numeric range criterion type is used to define a criterion for a numeric range attribute type. The numeric range criterion defines a real number range between established lower and upper bounds, each of which falls within its attribute's minimum and maximum bounds. The real numbers defining an attribute's numeric range, an offer value, and a criterion's range are each tagged with a unit of measurement. Note that a proposal from a merchant may have a value outside of the numeric range criterion, which depending on whether it is beneficial to the customer or not, would affect the raw value assessment computations.
The discrete range attribute type characterizes a feature by an ordered list of tokens. An offer value for a discrete range attribute is one of the attribute's list of tokens. A discrete range criterion type is used to define a criterion for a discrete range attribute type. The discrete range criterion defines a sub-range of the attribute's ordered list of tokens between established lower and upper bounds.
Discrete set attribute type characterizes a feature with an unordered set of tokens. An offer value for a discrete set attribute is an unordered subset of the attribute's set of tokens. A discrete set criterion type is used to define a criterion for a discrete set attribute type. Like the offer value, discrete set criterion defines an unordered set of tokens that are a subset of the attribute's set of tokens. Note that the tokens may also be ordered.
Referring back to FIG. 3, after obtaining the customer objectives, customer preference data transmitter 310 then transmits the customer objectives to various sales agents 18 associated with various merchants 16.
The protocol for communication between buyer agent 14 and sales agents 18 is based on XML (extensible markup language), a meta-language based on SGML (structured general markup language). XML is chosen as the medium for inter-agent negotiation protocol because it is sufficiently expressive, yet simple to understand. Furthermore, XML is currently gaining support as a potential HTML replacement and the meta-language for the exchange of business-to-business documents. Buyer agents and sales agents can be implemented using XML parser provided by Microsoft Corporation to encode and decode their XML performatives.
Buyer agent 14 initiates the negotiation a process by sending a CRITERIA performative to each sales agent as a request for proposals. The CRITERIA performative includes the shopper's default preferences as defined by the initially selected stereotype as well as meta-data to further define the interaction. The CRITERIA performative is defined as shown in Table 1.
Field Value userid the ID of the shopper or "anonymous" requestid the ID of the request during this shopping domain the product domain being shopped maxproposals the max. # of proposals permitted in response ufn the function defining the features' relative weightings feature* zero or more features
Table 1: The criteria performative
The USERID field in the criteria performative uniquely identifies the shopper to the sales agent. For example, the shopper may have an account with the merchant and the userid would map to this unique account. Alternately, the shopper may shop anonymously. The MAXPROPOSALS field in the criteria performative indicates the maximum number of proposals each sales agent is permitted to send in response. The shopping agent enforces this constraint for purposes of scalability. The UFN field refers to a utility function that defines the relative weightings of the features. For example, a value of "LinearPreferLowerUFN" indicates a linear utility function with a preference towards features that have lower criterion positions. Other utility functions are also available. The features listed in the CRITERIA performative contain each attribute's default criterion and are defined as shown in Table 2.
Field Value name the name of the feature position the position (i.e., vertical orientation) of the feature active 'true' if the feature is active; 'false' otherwise attribute+ one or more attributes with criterion
Table 2: The feature definition for the criteria performative
Each of the three types of attributes and criterion are defined somewhat differently. The criterion for the numeric range, discrete range, and discrete set attributes are defined respectively in Table 3, Table 4, and Table 5.
Field Value name the name of the attribute units the criterion's units of measurement ufh the function defining the criterion's weightings lowerbound the criterion's lower bound (a real number) upperbound the criterion's upper bound (a real number)
Table 3: The numeric range attribute's criterion definition for the criteria performative
Field Value name the name of the attribute ufh the function defining the criterion's weightings lowerbound the criterion's lower bound (a token) upperbound the criterion's upper bound (a token) item+ an ordered list of one or more tokens
Table 4: The discrete range attribute's criterion definition for the criteria performative
Field Value name the name of the attribute ufh the function defining the criterion's eightings additem* an unordered set of zero or more tokens
Table 5: The discrete set attribute's criterion definition for the criteria performative The UFN fields in the criterion definitions refer to a utility function that defines the criterion's weightings of the feature's offer value. The ITEM field in the discrete range criterion definition is the complete ordered list of tokens for the attribute. Finally, the ADDITEM field in the discrete set criterion definition lists the attribute's default preferences. After receiving the CRITERIA performative, product information retrievers 320 at each one of sales agents 18 of the various merchants retrieve data from their respective merchants. One of the difficulties encountered at this stage is that various merchants use different expressions and terminology to describe same or similar features. Hence, to enable a meaningful comparison, sales agents 18 include an ontological transformer 325 that accesses a common and shared ontology stored on a computer readable storage media, and convert the merchant specific terminology and expressions of the features into terms and expressions determined by the common and shared ontology. The ontology will be discussed in further detail. After converting the product features terminology and expression provided by the corresponding merchant, product offering compiler 330 compiles at least one product offering 335 for the merchant. To compile the product offering, product offering compiler 330 may merely transmit the retrieved information to buyer agent 14. Indeed, as mentioned above, product offering compiler may, in some embodiments, send the data to be stored in a centralized database, which buyer agent 14 can then access. In other embodiments, product offering compiler 330 may actively configure and customize product offerings closely matching the customer objective, as will be described in further detail below.
After being formed, Product offering 335 is transmitted to decision support engine 200 (also shown in FIG. 2) of shopping agent manager 106. An initial response is first sent. This initial response has the data structure shown in Table 6.
Field Value merchantid the ID of the merchant requestid the ID of the request being responded to (from criteria) note? a note to the shopper (optional) proposal* zero or more product offerings
Table 6: The response to an initial criteria request includes zero or more proposal performatives
The value of the PROPOSAL field is zero or more product offerings. Following this first response, each product offering is packaged as a Proposal performative as shown in Table
7.
Field Value proposalid the ID of the proposal manufactureri the ID of the manufacturer of the base product d productid the ID of the base product productname the product's name and model imageurl the URL of an image of the product feature* zero or more features
Table 7: The proposal performative
The ID of the proposal is unique for a given merchant. It allows the merchant's sales agent to manage the proposal throughout negotiations. This includes altering one or more of its offer values or withdrawing the proposal so that a new one could take its place. The manufacturer ID and product ID uniquely define a specific base product - for example, a manufacturer ID of "Compaq" and a product ID of "Presariol625." Proposals may have a one-to-one mapping with specific base products. If deemed optimal, a sales agent may send multiple proposals for the same base product (but likely configured in different ways). The features listed in the PROPOSAL performative contain each attribute's offer value and are defined as shown in Table 8.
Field Value name the name of the feature at_ribute+ one or more attributes with offer values
Table 8: The feature definition for the proposal performative The types of attributes in product offerings must exactly match those in the initial criteria request. However, instead of containing criterion, each PROPOSAL performative contains the offer values of its associated product offering as defined in Table 9, Table 10, and Table 11.
Field Value name the name of the attribute units the offer value's units of measurement value the offer value (a real number)
Table 9: The numeric range attribute's offer value definition for the PROPOSAL performative
Field Value name the name of the attribute value the offer value (a token)
Table 10: The discrete range attribute's offer value definition for the PROPOSAL perfoi imative
Field Value name the name of the attribute additem* an unordered set of zero or more tokens
Table 11 : The discrete set attribute's offer value definition for the PROPOSAL performative
Referring also to FIG. 6, decision support engine 200 assesses a value of a product offering receiving from one of the sales agents 18. Note that, although the decision support engine 200 is shown in FIG. 2 as residing in shopping agent manager 108, this is for purposes of example only and decision support engine 200 can reside anywhere in system 1. Decision support engine 200 assists users in making tradeoffs to determine which product offering offered by one or more merchants most closely meets the customer objectives. In one embodiment, the decision support engine utilizes multi-attribute utility theory (MAUT) to provide such assistance to users by formulating the goal of identifying an optimal product proposal from sales agents as a multi-objective decision. Decision support engine 200 includes a raw value assessor 202 to generate a raw value assessment "v" 210 of a product proposal using features 204 of the product offering and criteria 206 defined by the user. An ideal value assessor 208 generates an ideal value "iv" 212 of the product offering based on the user criteria 206. An absolute value assessor 214 generates an absolute value "av" 216 based on a comparison of the raw value "v" 210 to the ideal value "iv" 212. Decision support engine 200 generates absolute values for a plurality of product offerings, generated by one or more sales agents associated with one or more merchants. Decision support engine may also recommend one or more product proposals to the user based on the absolute values of the product proposals.
Raw value assessor 202 can generate the raw value assessment "v" 210 in many ways. An example formula that may be used is Equation 1 :
Figure imgf000020_0001
where x; is the normalized utility of attribute i, fj(xj) is the weighted utility of attribute i, nj is the number of attributes in feature j, Wj is the relative weighting for feature j, and m is the number of active features. The calculation proceeds as follows: for every j active feature, raw value assessor 202 normalizes each i attribute, resulting in x_, and then weights the normalized attribute using f_(x_). Raw value assessor 202 averages the weighted attribute utilities for each feature resulting in a normalized utility for the feature. Raw value assessor 202 weights each feature j relative to other features using relative weighting Wj. The raw value assessor 202 sums the feature utilities, resulting in raw value assessment "v" 210.
As described above, absolute value assessor 214 compares raw value "v" 210 to ideal value "iv" 212 to generate absolute value "av" 216. An example formula by which the ideal value assessor 208 generates the ideal value "iv" 212 is Equation 2: m iv = ∑ Wj (2)
Equation 2 may be derived from Equation 1 by assigning each weighted attribute utility a value of 1. In one embodiment, ideal value assessor 208 calculates ideal value "iv" 212 by summing the weights Wj of each feature defined by user criteria 206. An example formula by which absolute value assessor 214 generates absolute value
"av" 216 by calculating absolute value "av" 216 as a percentage of ideal value "iv" 212 is Equation 3: av = 100 ; (3) Although raw value assessor 202, ideal value assessor 208, and absolute value assessor 214 are described above as generating results according to Equations 1, 2, and 3, components 202, 208, and 216 may evaluate product offerings according to the product offering features 204 and the user criteria 206 in any way. For example, an assessment of the difference between raw value assessment "v" 210 and ideal value assessment "iv" 212 may be performed using any of the similarity measures or difference measures described in T. Kohonen, Content- Addressable Memories, 2nd Ed., Springer-Verlag (1987) at pp. 19-29, incorporated herein by reference,
After calculating a single value for each offering, decision support engine orders the product offerings based on the calculated values, and causes GUI engine 128 to display the results in an appropriate GUI, as shown in FIGs. 7 and 7A. Each product offering is identified in the GUIs with its name 705 and its associated calculated value represented by a number 705 or a value bar 715, or both. Each of these values, and the corresponding value bar, can be linked to another GUI. such as those in FIGs. 8 and 8A, which would show in detail the exact relationship between the features of the product offering and the customer objectives.
The shopping agent associated with shopping client 104 may also select an optimal product offering, such as the product offering having the greatest value, and display a product specification GUI, such as those shown in FIGs. 8 and 8A by the graphical user interface engine 128. When the product specification display is visible, customer 10 may initiate a purchase of the product offered by the displayed product offering by, for example, selecting a "Buy" button 710 shown in Fig. 7. Alternatively, customer 10 can select multiple product offerings using a graphical user interface, causing multiple product specification displays to be displayed simultaneously for comparison by the user. Buyer agent 14 also allows the user to modify one or more of the user's criteria 206.
Modification to a criterion causes the decision support engine 200 to re-assess the absolute values of product offerings offered by merchants and to instruct the graphical user interface engine 128 to update the display, such as by modifying, deleting, and adding the display. In one embodiment, buyer agent 14 allows customer 10 to change the weighting of a criterion relative to the weighting of other criteria. For example, the graphical user interface engine 128 may display a vertical list of criteria, where the order of the list corresponds to the relative importance of the criteria to the user. The user may re-order the list using the graphical user interface 128, thereby changing the relative weighting of the corresponding criteria. To transmit the changed information, a CRITIQUE performative is sent. CRITIQUE performatives are defined similarly to CRITERIA performatives except that only changes to criterion are sent. All of the other fields are optional. This requires that each sales agent maintain the shopping agent's criteria state. The benefit of this approach (over sending the entire criteria each time) is that the size of CRITIQUE performatives are much smaller than CRITERIA performatives. Table 12 shows an example CRITIQUE performative showing the change in the criteria
Field Value
Userid "debbie"
Requestid 14 feature 1
Name "Delivery Time" attribute 1
Name "Delivery Time"
Lowerbound 1
Upperbound 5
Table 12: An example CRITIQUE performative for the "Delivery Time" feature In response to a CRITIQUE performative, sales agents can either add, update, or remove either of their previously sent proposals. Updating the configuration of a product offering is accomplished by sending a COUNTER-PROPOSAL performative. COUNTERPROPOSAL performatives are like PROPOSAL performatives except that only changes to offer values are sent and that the base product cannot be changed (only its configuration). All of the other fields are optional. This requires that each shopping agent maintain each sales agent's set of proposals and each proposal's state. As with CRITIQUE performatives, the benefit of this approach is that the size of counter-proposal performatives are much smaller than proposal performatives. Table 12 shows an example counter-proposal performative showing a change in offer value for the "Delivery Time" and "Total Price" attributes.
Field Value merchantid "CompUSA" requestid 14 note? "Hello, Debbie!" proposal 1 proposalid 4 feature 1 name "Delivery Time" attribute 1 name "Delivery Time" value 1 feature 2 name "Total Price" attribute 1 name "Total Price" value 1999.00
Table 13: An example counter-proposal performative
Since counter-proposal, however, represents only the changes of a previously assessed product offering, shopping agents 110 take advantage of these previous assessments by maintaining their partial results. Specifically, shopping agents 110 remember each product offering's raw value assessment v and weighted utilities fj(xj) of each of its attributes. A counter-proposal updates the normalized utilities x of one or more attributes. For each attribute change, the product offering's value is reassessed as follows:
Figure imgf000023_0001
Compared with the value assessment for proposals, assessing counter-proposals are relatively more efficient.
At any point during negotiations, the shopper may either withdraw from the shopping session or accept a proposal. Buyer agent 14 sends either a WITHDRAW or an ACCEPT performative in response. WITHDRAW performatives are simple messages indicating a withdrawal from the shopping session. ACCEPT performatives are only sent to the sales agent offering the accepted proposal and not broadcast to all sales agents, unlike the other performatives. ACCEPT performatives are also simple messages and lead the shopper to the payment and delivery stage.
Sales agents may also add and replace product offerings. Adding a new product offering is equivalent to sending another PROPOSAL performative. However, sales agents 18 are not permitted to exceed their maximum number of proposals (as defined by the maxproposals field in CRITERIA and CRITIQUE performatives). Therefore, sales agents may also need to send WITHDRAW-PROPOSAL performatives to remain within their allotted number of proposals. A WITHDRAW-PROPOSAL performative contains the proposalid of the proposal to withdraw as shown in Table 14.
Field Value
proposalid the ID of the proposal
Table 14: The withdraw-proposal performative As stated above, in some embodiments, product offerings can be configured to better match the customer objectives. Buyer agent 14 or decision support module 200 can be burdened with assessing the value of product offerings from sales agents. However, if either buying agent 14 or decision supports module 200 are burdened with configuring each product offering to closely meet the needs of customer 10, they can be easily overwhelmed with the computational burden of assessing the value of various product configurations, specially where a product is highly configurable, many merchants offer the products and merchants submit multiple proposals. Hence, sales agents 18 are better positioned to focus on the product offering. In other words, the burden of configuring each product offering is distributed among sales agents 18 to implement a distributed constraint satisfaction system. In particular, each sales agent configures its own product offering and only sends n of these to buyer agent 14 (where n can be dynamically set at run-time). This reduces the customer's consideration set to a reasonable number of only the most closely matching product offerings viewed as a distributed constraint satisfaction system. This distributed, loosely-coupled design makes the system highly scalable.
In one embodiment, sales agents use a customizer that is an extension of the same decision support module used by shopping agents to assess the value of fully configured product offerings. This allows sales agents to accurately determine which of their product offerings closely meet the needs of each shopper. However, merchants have their own needs such as profit margin which also affect customizing product offerings.
First, each sales agent maintains a local list of potential product offerings, one per base product. For example, if a merchant sells ten different notebook computers, then the sales agent would maintain a local list often potential product offerings (PPOs). In general, the customizer allows any numeric range or discrete range attribute to have one or more configurable options. In the notebook computer example, the configurable attributes include delivery time, warranty length, system memory, hard drive size, display size, modem speed, network card, and processor speed. The number of options that each of these attributes have depends upon the product and the merchant. For example, Dell's "Latitude CP" is a base product that can be configured along each of the product attributes above. Compaq's "Presario 1625", however, is an already fully configured base product. However, all merchants tend to support a variety of delivery and extended warranty options. This means that all PPOs are at least minimally configurable. Upon initialization, each sales agent enumerates all of the possible configurations for each PPO.
When a sales agent receives the initial CRITERIA performative from a shopping agent, the sales agent optimizes each PPO. A PPO is optimized by first assessing each of its enumerated configurations based on the shopper's preferences, the merchant's preference for profit, and the product's inventory level. In order to assess a configuration, the options of that configuration must propagate its costs to the total price attribute. For example, an option for overnight delivery will accrue added costs that must be included in the configuration's total price. The customizer also keeps track of each option's actual cost and offer price along with the base product's actual cost (to the merchant) and its offer price. For example, an extra 32 MB of RAM may cost a merchant $50 but the merchant may prefer to charge $ 100 for the service of adding the memory to a base product due to the merchant's extra labor costs and profit needs.
The configuration's profit is equal to the summation of its offer prices minus the summation of its actual costs. This profit is included in the configuration's value assessment as a numeric range attribute whose feature is positioned by the merchant relative to the other features. This approach allows merchants to assign arbitrary importance to their profit needs when simultaneously attempting to satisfy the needs of its customers. A further attribute interaction is that if a product is out of stock (i.e., has a 0 inventory level), then the configuration's delivery time attribute must include when the merchant expects the product to be in stock and its ultimate delivery time.
After all of a PPO's configurations have been assessed, each PPO is set to the configuration with the greatest assessed value. Once all PPOs are optimized in this way, the sales agent identifies the most closely n PPOs (where n is the value of the maxproposals field in the criteria performative), and sends these product offerings as a response to the shopping agent as PROPOSAL performatives. Note that these proposal performatives define all of the product and merchant features of the product offering, not just the configurable options. After the initial proposals are sent, the sales agent may receive CRITIQUE performatives from the shopping agent. The sales agent updates its local representation of the shopper's preferences and reevaluates its list of PPOs. If a PPO that was sent earlier was reconfigured due to the critique and the PPO is still one of the best n PPOs, then the changes in the product offering's configuration are sent as a COUNTER-PROPOSAL performative to the shopping agent. If a PPO is valued greater than a previously sent product offering, then the sales agent sends a WITHDRAW-PROPOSAL performative to remove the outdated product offering from consideration and, in addition, sends a new PROPOSAL performative defining the product offering that has a greater value than the one it replaced.
More sophisticated configuration algorithms can also be used. In particular, the characteristics of price-dependent customization lends itself to a linear programming solution. Including total price (the complicating constraint) in the objective function of a Lagrangian relaxation algorithm could result in much better performance for even highly configurable products. Also, the customizer could include other types of analysis to assess profit or even dynamically adjust price.
Also as stated above, an ontology is used by sales agents 18. However, note that instead of sales agents 18, other components of online shopping system 1 can access and perform the same tasks as performed by sales agents 18. Hence, decision support module 200 can receive as input a set of product offerings expressed in various manner depending on merchants 16 from which they originated. Decision support engine module 200 can then access the ontology to retrieve the appropriate information before performing its value calculations. Similarly, buyer agent can access an ontology to convert a merchant provided product offering before displaying the product offering in a GUI.
The ontology may be implemented as a database, dictionary, or other data structures. The ontology is a collection of lists of merchant features and product features for various product domains. The ontology may also include description of the features, various synonyms for the features, and other content related to the features. In some embodiments, the data structure particularly enables mapping from one set of expression on to a common and shared ontology. The common ontology can be maintained by human administrators Alternatively, an ontology management mechanism can dynamically maintain the ontology. Product and merchant features within product domains can be proposed by consumers, merchants, and manufacturers. For example, the ontology management mechanism can provide a "Create Feature" and "Edit Feature" options allowing consumers to propose new features not yet known to the system. Along with the name of a new feature a consumer enters text describing the meaning of the feature along with each of the attributes characterizing the feature including which of the three attribute types best represent the attribute.
The new feature is then added to the ontology as an inactive feature within each stereotype in the product domain making the feature immediately accessible to all shoppers. Other shoppers can then manually add this new feature to their active list of features and have the features sent as critique performatives along with their other preferences. Of course, merchants may not understand these newly added feature requests initially and can choose to ignore them. However, the merchants can have their sales agents monitor the occurrences of new features and, if many customers find a new feature to be an important dimension of consideration, then sales agents can alert their merchants. Merchants may then be compelled to address their customers' needs. Merchants may also wish introduce their own features to further differentiate themselves in the marketplace. Similarly, manufacturer's would benefit from knowing which product features shoppers clamor for and would likely want to learn about and introduce new product features.
If many shoppers within a stereotype find the new feature useful, the stereotype could evolve to include the new feature in the active list of preferences. At the same time, features that were once important, but are no longer considered while shopping, would get "demoted" to the inactive list. Eventually, particularly unimportant features drop out of a stereotype's definition of the product offering (and perhaps the ontology database) entirely. There would need to be a chronological decay function to help determine when such features get demoted or dropped. Also, a limit may be imposed on the number of new features added by a single consumer. Manufacturer or merchant to prevent abuses of the system.
An "Edit Feature" option allows consumers and merchants to modify description and attributes of an existing feature. Once proposed, the feature could be added as if it were a new feature, i.e., added to the inactive list of features for each stereotype. Features with multiple versions could be tagged as such. A simple user interface element could alert shoppers of new definitions for features which they can opt to use instead of the old definition. Of course, it will still be up to merchants to support them. In many cases, changes may be minor such as adding a new display type to the appropriate discrete set attribute in a notebook computer domain. New attributes would impose similar issues as adding new features (discussed above). Changes in core attribute types, however, can be problematic, and may possibly not be permitted.
Such dynamic, distributed, and evolvable shared ontology mechanism is important for reducing consumer search costs and assisting merchant is distinguishing themselves from other merchants. Basing the evolution on what product and merchant features are important to stereotypical shoppers while they shop may be a viable approach to take as outlined above. Another alternative approach is to adopt standards from industry associations and other standards bodies. For example, the RosettaNet consortium aims to define the business interfaces for Information Technology (IT) supply chains. The problem with using a single "standards body," however, is that it often takes too long for the partners to make progress and reach a consensus. This is particularly problematic for the potential dizzying pace of electronic commerce.
For example, in some embodiments, buyer agent can send all of the customer's preferences to sales agents. Since, this may result in price discrimination, in other embodiments, buyer agent 14 may reveal all of its owner's preferences except the price preferences. Buyer agent 14 can also obtain customer objective using other interactive models. For example, a common "wizard" type interface can be used to interview customer 10 to obtain the customer's objectives. Buyer agent 14 can display a GUI where in one segment customer 10 is asked a number of questions. For example, in the case of a notebook computer, customer 10 is asked, "Do you need fast access to the Internet?" and "Do you intend to play games on your computer?". Hand-crafted heuristics would then translate the answers to these questions into specific preferences for features. In response to answers by customer 10, buyer agent 14 then displays how those answers map to specific feature preferences, which helps build confidence in the system and helps facilitate transactions.
Another technique for obtaining a customer's objective, is to perform a conjoint analysis of product offering alternatives. Hence, customer 10 may simply express a preference of one product over another without explaining why. Buyer agent 14 then extracts or refines specific preferences and utilities based on analyzing the differences in feature sets of those products. This mode of shopping can be implemented by having customer 10 express his or her conjoint preferences through the acfof dragging and dropping product offering value bars above or below one another. The vertical orientation of the value bars represents the relative value that each product offering brings to the shopper. Preferences could be saved for future consideration, account information would only need to be entered once, and email alerts could be sent of interesting marketplace events such as the assessed value of a product reaching a shopper-specified threshold. This last suggestion would, of course, require that the shopping agent proactively shop for the shopper even when the shopper is not actively online shopping.
In one embodiment, the decision support engine 200 only evaluates "active" features when generating the raw value assessment "v" 210 and the ideal value assessment "iv" 212. The graphical user interface 128 may display a GUI (as shown in FIG. 5D) to allow the user to change the active status of individual features.
As stated above, in some embodiments, instead of having active negotiating sales agents, passive information sales agents retrieve information from merchants and store them in a database. Such sales agents can be implemented, for example, by advanced spidering technologies. Buyer agent 14 then requests and receives data on product offerings by merchants from the database rather than from sales agents directly. Buyer agent 14 then uses that information in the same manner as it would product offerings from dynamic agents.
In other embodiments, the raw assessment value can be calculated straight from the attribute values without calculating features values.
A computer system for implementing the system of FIGS. 1-9A as a computer program typically includes a main unit connected to both an output device which displays information to a user and an input device which receives input from a user. The main unit generally includes a processor connected to a memory system via an interconnection mechanism. The input device and output device also are connected to the processor and memory system via the interconnection mechanism.
O or more output devices may be connected to the computer system. Example output devices include a cathode ray tube (CRT) display, liquid crystal displays (LCD), printers, communication devices such as a modem, and audio output. One or more input devices may be connected to the computer system. Example input devices include a keyboard, keypad, track ball, mouse, pen and tablet, communication device, and data input devices such as sensors. It should be understood the invention is not limited to the particular input or output devices used in combination with the computer system or to those described herein. The computer system may be a general purpose computer system which is programmable using a computer programming language, such as C++, Java, or other language, such as a scripting language or assembly language. The computer system may also include specially programmed, special purpose hardware. In a general purpose computer system, the processor is typically a commercially available processor, of which the series x86, Celeron, and Pentium processors, available from Intel, and similar devices from AMD and Cyrix, the 680X0 series microprocessors available from Motorola, the PowerPC microprocessor from IBM and the Alpha-series processors from Digital Equipment Corporation, are examples. Many other processors are available. Such a microprocessor executes a program called an operating system, of which Windows NT, Linux, UNIX, DOS, VMS and OS 8 are examples, which controls the execution of other computer programs and provides scheduling, debugging, input/output control, accounting, compilation, storage assignment, data management and memory management, and communication control and related services. The processor and operating system define a computer platform for which application programs in high-level programming languages are written.
A memory system typically includes a computer readable and writeable nonvolatile recording medium, of which a magnetic disk, a flash memory and tape are examples. The disk may be removable, known as a floppy disk, or permanent, known as a hard drive. A disk has a number of tracks in which signals are stored, typically in binary form, i.e., a form interpreted as a sequence of one and zeros. Such signals may define an application program to be executed by the microprocessor, or information stored on the disk to be processed by the application program. Typically, in operation, the processor causes data to be read from the nonvolatile recording medium into an integrated circuit memory element, which is typically a volatile, random access memory such as a dynamic random access memory (DRAM) or static memory (SRAM). The integrated circuit memory element allows for faster access to the information by the processor than does the disk. The processor generally manipulates the data within the integrated circuit memory and then copies the data to the disk when processing is completed. A variety of mechanisms are known for managing data movement between the disk and the integrated circuit memory element, and the invention is not limited thereto. It should also be understood that the invention is not limited to a particular memory system.
Various computer platforms, processors, or high-level programming languages can be used for implementation. Additionally, the computer system may be a multiprocessor computer system or may include multiple computers connected over a computer network. Each module (e.g. 12, 106, and 112) in FIG. 1 may be separate modules of a computer program, or may be separate computer programs. Such modules may be operable on separate computers. Data (e.g. 204, 206, 210, 212, 216) may be stored in a memory system or transmitted between computer systems. The invention is not limited to any particular implementation using software or hardware or firmware, or any combination thereof. The various elements of the system, either individually or in combination, may be implemented as a computer program product tangibly embodied in a machine-readable storage device for execution by a computer processor. Various steps of the process may be performed by a computer processor executing a program tangibly embodied on a computer-readable medium to perform functions by operating on input and generating output. Computer programming languages suitable for implementing such a system include procedural programming languages, object-oriented programming languages, and combinations of the two.
Having now described a few embodiments, it should be apparent to those skilled in the art that the foregoing is merely illustrative and not limiting, having been presented by way of example only. Numerous modifications and other embodiments are within the scope of one of ordinary skill in the art and are contemplated as falling within the scope of the invention. What is claimed is:

Claims

1. A computer implemented method comprising: obtaining, at a buyer agent, information concerning a customer's objectives; receiving, at the buyer agent, data from a plurality of sales agents associated with a plurality of merchants, wherein the data includes a plurality variables characterizing features associated with at least one product offering by at least one of the merchants; processing, at the buyer agent, the plurality of variables in view of the customer's objectives to arrive at a singular value characterizing value of that product offering.
2. The method of claim 1 further comprising: sending data, at the buyer agent, to the sales agents over the Internet.
3. The method of claim 1 further comprising: receiving data from the sales agents, at the buyer agent, through the Internet.
4. The method of claim 1 further comprising: causing a graphical user interface to be displayed on a display, the graphical user interface including an input area for the customer to input data relating to customer's objectives.
5. The method of claim 1 further comprising: causing a graphical user interface to be displayed on a display, the graphical user interface including an input area for the customer to input data relating to customer's objectives concerning merchant service features.
6. The method of claim 1 further comprising: causing a graphical user interface to be displayed on a display, the graphical user interface including an area for displaying information relating to said at least one product.
7. The method of claim 1 further comprising: causing a graphical user interface to be displayed on a display, the graphical user interface including an area for displaying information relating to said arrived at value.
8, The method of claim 7 wherein the graphical user interface further includes a region, wherein when activated, causes information indicating the details of the product offering and the assessing step to be displayed to the customer.
9. The method of claim 1 comprising the step of causing a graphical user interface to be displayed on a display, the graphical user interface including an area for displaying information relating to said at least one product, the information including a first expression of a feature associated with the product offering, the first expression being a translation of a second expression of the feature associated with the product offering, the second expression being provided by the merchant and translated into the first expression in accordance with a selected ontology.
10. The method of claim 1 wherein the sales agent is located remotely from the plurality of sales agents.
11. The method of claim 10 wherein the data between the buyer agent and the sales agents is transmitted over a network.
12. The method of claim 11 wherein the network include the Internet.
13. The method of claim 1 wherein the sales agents obtain information from their respective merchants and store the information on a database and the buyer agent receiving the data from the merchants by accessing the database.
14. The method of claim 1 , wherein the plurality of variables includes a numeric range.
15. The method of claim 14, wherein the plurality of variables includes an attribute having an offer value comprising a real number.
16. The method of claim 15 wherein the numeric range is characterized by a minimum bound and a maximum bound for an expected offer value..
17. The method of claim 16 wherein the offer value is less than minimum bound or greater than the maximum bound.
18. The method of claim 1, the plurality of variables includes a discrete range.
19. The method of claim 18, wherein the discrete range defines a plurality of tokens.
20. The method of claim 19 wherein the plurality of variables includes an attribute having an offer value comprising a token selected from the plurality of tokens.
21. The method of claim 19 wherein the plurality of variables includes an attribute having an offer value comprising a token not selected from the plurality of tokens.
22. The method of claim 1 , the plurality of variables includes a discrete set.
23. The method of claim 22, wherein the discrete set defines a plurality of tokens, and the plurality of variables includes an attribute having an offer value comprising a subset of the plurality of tokens.
24. The method of claim 1 wherein the received data includes variables characterizing a merchant service feature of the at least one of the merchants.
25. The method of claim 1 wherein the user's objectives includes a plurality of desired features and a relative position indicating an ordering of the desired product features.
26. The method of claim 25, wherein processing the plurality of variables further includes assessing the value of the at least one product offering based on the relative positions of the plurality of the desired features.
27. The method of claim 25, wherein the user's objectives include, for each of the plurality of desired features, an active flag indicating whether the value of the product feature is to be assessed.
28. The method of claim 27, wherein processing the plurality of variables includes assessing values of only of those product features of the at least one product for which the active flag included in the user's objectives indicates that the product feature is to be used.
29. The method of claim 24, wherein each of the plurality of product features comprises at least one attribute, the at least one attribute having an offer value defined by the at least one product offering and a criterion defined by the user's objectives.
30. The method of claim 1 wherein the received data includes a second plurality of variables characterizing features associated with at least one other product offering, the processing step further including processing the second product offering to arrive at a second singular value characterizing value of the second product offering, the method further comprising: ordering the product offerings according to the arrived at values of the product offerings.
31. The method of claim 30 comprising the step of causing a graphical user interface to be displayed on a display, the graphical user interface including an area for displaying information relating to the product offerings in accordance with the ordering.
32. The method of claim 30, further comprising a step of: recommending at least one of the plurality of product offerings to the user based on the ordering of the plurality of product offerings.
33. The method of claim 1 , wherein the criteria defined by the user ' s obj ectives comprise at least one utility function and a raw value assessment function, and wherein processing the variables includes: assessing the value of the at least one product offering using the raw value assessment function and the one utility function to generate a raw value assessment.
34. The method of claim 33 , wherein the user ' s obj ectives define, for each of the plurality of features of the product, a relative position of the feature of the product among the plurality of features of the product, and wherein processing the multiples variables further includes: generating attribute utility values for at least one attribute of the features; generating an average of the attribute utility values; and multiplying the average of the utility values of the at least one attribute of the feature by a weight of the feature corresponding to the relative position of the feature to generate a weighted utility of the feature.
35. The method of claim 34 wherein processing the multiples variables further includes:: summing the weighted utilities of the at least one feature of the at least one product to generate the raw value assessment.
36. The method of claim 34, wherein processing the multiples variables includes: performing a comparison between the raw value assessment and an ideal value assessment of the value of the at least one product; and generating an absolute value assessment of the value of the at least one product based on the results of the comparison.
37. The method of claim 36, wherein processing the multiples variables further includes: a step of: generating the ideal value assessment by summing weights of the at least one feature.
38. The method of claim 33 , wherein the user ' s obj ectives include, for each of the plurality of product features, an active flag indicating whether the value of the product feature is to be assessed, and wherein the at least one feature comprises the product features of the at least one product for which the active flag included in the user's objectives indicates that the product feature is to be assessed.
39. The method of claim 1, wherein the at least one product comprises at least one good.
40. The method of claim 1 , wherein the at least one product comprises at least one service.
41. A computer program stored on computer readable medium, the program comprising instructions for: obtaining information concerning a customer's objectives; receiving data from a plurality of sales agents associated with a plurality of merchants, each one of the sales agents being associated with at least one of the merchants, wherein the data includes variables characterizing features associated with at least one product offering by at least one of the merchants; processing the plurality of variables in view of the customer's objectives to arrive at a singular value characterizing value of that product offering.
42. A system comprises: an input device for obtaining information concerning a customer's objectives; a receiver for receiving data from a plurality of sales agents associated with a plurality of merchants, wherein the data includes a plurality variables characterizing features associated with at least one product offering by at least one of the merchants; a processor for processing, at the buyer agent, the plurality of variables in view of the customer's objectives to arrive at a singular value characterizing value of that product offering.
43. A system comprises: means for obtaining information concerning a customer's objectives; means for receiving data from a plurality of sales agents associated with a plurality of merchants, wherein the data includes a plurality variables characterizing features associated with at least one product offering by at least one of the merchants; means for processing, at the buyer agent, the plurality of variables in view of the customer's objectives to arrive at a singular value characterizing value of that product offering.
44. A computer implemented method comprising steps of: receiving data characterizing a product offering by a merchant, the data including at least one variable characterizing merchant service features associated with the merchant; and processing the product offering and the variable in view of a customer's objectives to arrive a value for that product offering.
45. The method of claim 44 wherein the merchant is one of a plurality of merchants providing product offering.
46. The method of claim 44 further comprising: receiving second data characterizing a second product offering by another one of the merchants, the data including a second variable characterizing merchant service features associated with the other one of the merchants; and processing the second product offering and the second variable in view of a customer's objectives to arrive at a second value for the second product offering.
47. The method of claim 46 further comprising: ordering the product offerings according to the first-mentioned value and the second value.
48. The method of claim 47 comprising the step of causing a graphical user interface to be displayed on a display, the graphical user interface including an area for displaying information relating to the product offerings in accordance with the ordering.
49. The method of claim 47, further comprising: recommending at least one of the plurality of product offerings to the user based on the ordering of the product offerings .
50. The method of claim 44 wherein the processing step further comprises: defining criteria based on the user's objectives including at least one utility function and a raw value assessment function, assessing the value of the at least one product offering by using the raw value assessment function and the at least one utility function to generate a raw value assessment.
51. The method of claim 44 wherein the data is received and processed at a buyer agent.
52. The method of claim 51 wherein the buyer agent receives the data from a sales agent module associated with a merchant.
53. The method of claim 52 wherein the sales agent transmits the data to the buyer agent over the Internet.
54. The method of claim 44 comprising the step of causing a graphical user interface to be displayed on a display, the graphical user interface including an input area for the customer to input data relating to customer's objectives.
55. The method of claim 44 comprising the step of causing a graphical user interface to be displayed on a display, the graphical user interface including an input area for the customer to input data relating to customer's objectives concerning merchant service features.
56. The method of claim 44 comprising the step of causing a graphical user interface to be displayed on a display, the graphical user interface including an area for displaying information relating to the product offering.
57. The method of claim 44 comprising the step of causing a graphical user interface to be displayed on a display, the graphical user interface including an area for displaying information relating to said arrived at value.
58. The method of claim 57 wherein the graphical user interface further includes a region, wherein when activated causes information indicating the details of the product offering and the processing step to be displayed to the customer.
59. The method of claim 44 comprising the step of causing a graphical user interface to be displayed on a display, the graphical user interface including an area for displaying information relating to said at least one product, the information including a first expression of a feature associated with the product offering, die first expression being a translation of a second expression of the feature associated with the product offering, the second expression being provided by the merchant and translated into the first expression in accordance with a selected ontology.
60. A computer program stored on computer readable medium, the program comprising instructions for: receiving data characterizing a product offering by a merchant, the data including at least one variable characterizing merchant service features associated with the merchant; and processing the product offering and the variable in view of a customer's objectives to arrive a value for that product offering.
61. A system comprising : a receiver for receiving data characterizing a product offering by a merchant, the data including at least one variable characterizing merchant service features associated with the merchant; and a processor processing the product offering and the variable in view of a customer's objectives to arrive a value for that product offering.
62. A system comprising: means for receiving data characterizing a product offering by a merchant, the data including at least one variable characterizing merchant service features associated with the merchant; and means processing the product offering and the variable in view of a customer's objectives to arrive a value for that product offering.
63. A computer implemented method comprising: sending, at a buyer agent, an criteria performative from a buyer agent to a seller agent associated with a merchant, the criteria perforamtive including data concerning a customer's objectives; receiving, at the buyer agent, a proposal performative including a plurality of variables characterizing features associated with at least one product offering by the merchant; and processing the proposal performative to provide information to the customer information concerning the product offering.
64. The method of claim 63 wherein processing the proposal performative further comprises: processing, the proposal performative in view of the customer objectives to determine whether the product offering meet criteria established by the customer objectives.
65. The method of claim 63 further comprising: receiving, at the buyer agent, an indication from the user that the user intends to purchase the product offering; and sending, at the buyer agent, an acceptance performative indicating the user's intention to purchase the product informative.
66. The method of claim 63 further comprising: receiving, at the buyer agent, a change in the customer objectives from the customer; and sending, at the buyer agent, a critique performative to the merchant indicating the change in user's objectives.
67. The method of claim 63 wherein the data in the critique performative is substantially limited to data indicating the change in user's objectives.
68. The method of claim 66 further comprising: receiving, at the buyer agent, a counter-proposal performative sent from the merchant in response to the critique performative, counter-proposal performative including data indicating a change in the product offering.
69. The method of claim 63 further comprising: receiving, at the buyer agent, an indication form the user indicating the user's desire to end a buying session; and sending, at the buyer agent, a withdraw performative to the merchant indicating the user's desire to end a buying session.
70. The method of claim 63 further comprising: receiving, at the buyer agent, a withdraw performative from the merchant indicating the merchant's desire to end a buying session; and ending, at the buyer agent, communications with the merchant for that buying session.
71. A computer program stored on computer readable medium, the program comprising instructions for: sending a criteria performative from a buyer agent to a seller agent associated with a merchant, the criteria perforamtive including data concerning a customer's objectives; receiving a proposal performative including a plurality of variables characterizing features associated with at least one product offering by the merchant; and processing the proposal performative to provide information to the customer information concerning the product offering.
72. A system comprising: a sender for sending a criteria performative from a buyer agent to a seller agent associated with a merchant, the criteria perforamtive including data concerning a customer's objectives; a receiver for receiving, at the buyer agent, a proposal performative including a plurality of variables characterizing features associated with at least one product offering by the merchant; and a processor for processing the proposal performative to provide information to the customer information concerning the product offering.
73. A system comprising: means for sending a criteria performative from a buyer agent to a seller agent associated with a merchant, the criteria perforamtive including data concerning a customer's objectives; means for receiving, at the buyer agent, a proposal performative including a plurality of variables characterizing features associated with at least one product offering by the merchant; and means for processing the proposal performative to provide information to the customer information concerning the product offering.
74. A computer program stored on computer readable medium, the program comprising instructions for: receiving a criteria performative from a buyer agent to a seller agent associated with a merchant, the criteria perforamtive including data concerning a customer's objectives; sending a proposal performative including a plurality of variables characterizing features associated with at least one product offering by the merchant.
75. A system comprising: a receiver for receiving a criteria performative from a buyer agent to a seller agent associated with a merchant, the criteria perforamtive including data concerning a customer's objectives; a sender for sending a proposal performative including a plurality of variables characterizing features associated with at least one product offering by the merchant.
76. A system comprising: means for receiving a criteria performative from a buyer agent to a seller agent associated with a merchant, the criteria perforamtive including data concerning a customer's objectives; means for sending a proposal performative including a plurality of variables characterizing features associated with at least one product offering by the merchant.
77. A computer-implemented method for facilitating online shopping by a customer the method comprising a step of: displaying a graphical user interface for obtaining information from the customer regarding the customer objectives, the customer objectives including a desired merchant service feature.
78. A computer-implemented method for facilitating online shopping by a customer the method comprising a step of: displaying a graphical user interface displaying information corresponding to a product offering by merchant, the information including a value assigned to the product offering based on the customer's objective, customer objectives including a merchant service feature.
79. A computer-implemented method for facilitating online shopping by a customer the method comprising a step of: displaying a graphical user interface displaying information corresponding to a product offering by a merchant, the information including a value assigned to the product offering based on relationships between a first plurality of variables characterizing the product offering and a second plurality of variables characterizing the customer objectives, and detailed data on the relationships.
80. A computer-implemented method for facilitating online shopping by a customer the method comprising a step of: displaying a graphical user interface displaying information corresponding to a product offering by a merchant, the information including a first expression of a feature associated with the product offering, the first expression being a translation of a second expression of the feature associated with the product offering, the second expression being provided by the merchant and translated into the first expression in accordance with a selected ontology.
81. A graphical user interface in a computer system to facilitate online shopping by a customer, the graphical user interface comprising: a graphical display for obtaining information from the customer regarding the customer objectives, the customer objectives including a desired merchant service feature.
82. A computer-implemented method for facilitating online shopping by a customer, the graphical user interface comprising: displaying a graphical user interface displaying information corresponding to a product offering by merchant, the information including a value assigned to the product offering based on the customer's objective, customer objectives including a merchant service feature.
83. A graphical user interface in a computer system to facilitate online shopping by a customer, the graphical user interface comprising a graphical display displaying information corresponding to a product offering by a merchant, the information including a value assigned to the product offering based on relationships between a first plurality of variables characterizing the product offering and a second plurality of variables characterizing the customer objectives, and detailed data on the relationships.
84. A graphical user interface in a computer system to facilitate online shopping by a customer, the graphical user interface comprising: a graphical display displaying information corresponding to a product offering by a merchant, the information including a first expression of a feature associated with the product offering, the first expression being a translation of a second expression of the feature associated with the product offering, the second expression being provided by the merchant and translated into the first expression in accordance with a selected ontology.
85. A graphical user interface in a computer system to facilitate evaluation by a user of a plurality of product proposals provided by at least one merchant, the plurality of proposals including a plurality of features, the graphical user interface comprising: a graphical display displaying information corresponding to the plurality of product proposals, the graphical display indicating an ordering of the plurality of product proposals based on singular values assigned to the plurality of product proposals derived from a plurality of variables received from the merchants and a plurality of criteria defined by the user, wherein the variables received from the merchants and the plurality criteria characterize merchant service features.
86. The graphical user interface of claim 85, further comprising: a control element to change the ordering of the plurality of product proposals in response to input from the user.
87. The graphical user interface of claim 86, wherein the control element controls a value of a select one of the plurality of criteria
88. The graphical user interface of claim 85, wherein the graphical display displays, for at least two of the plurality of product proposals, a plurality of feature displays corresponding to the plurality of features, the plurality of feature displays being arranged in a user-specified order.
89. The graphical user interface of claim 88, further comprising: at least one feature control to inactivate at least one of the plurality of feature displays in response to user input.
90. The graphical user interface of claim 85, further comprising: a selection control element to select a particular one of the plurality of product proposals in response to selection input from the user; and a product specification display to display information descriptive of features of the particular one of the plurality of product proposals.
91. The graphical user interface of claim 90, wherein the information descriptive of features of the particular one of the plurality of product proposals indicates a user-specified ordering of the features of the particular one of the plurality of product proposals.
92. The graphical user interface of claim 85, further comprising: a selection control element to select at least one of the plurality of product proposals in response to selection input from the user; and a product specification display to display information descriptive of the at least one product proposal including information descriptive of features of the at least one of the plurality of product proposals.
93. The graphical user interface of claim 92, wherein the information descriptive of features of the at least one of the plurality of product proposals indicates a selected ordering of the features of the at least one of the plurality of product proposals.
94. The graphical user interface of claim 85, wherein the plurality of features include a first plurality of features belonging to a first category and a second plurality of features belonging to a second category, and wherein the graphical display indicates that the first plurality of features belong to the first category and that the second plurality of features belong to the second category.
95. The graphical user interface of claim 85, further comprising a feature editing element to modify a select one of the plurality of features in response to input from the user.
96. The graphical user interface of claim 85, wherein associated with the user is a user profile indicating at least one criterion specified by the user for assessing the values of the plurality of product proposals, and wherein the graphical user interface further comprises: a criterion control element to modify the at least one criterion in response to input from the user.
97. The graphical user interface of claim 85, further comprising: a criteria display displaying criteria information descriptive of at least one of the plurality of criteria.
98. A computer-implemented method for facilitating evaluation by a user having objectives of a plurality of product proposals provided by at least one merchant, the plurality of proposals including a plurality of features, the method comprising a step of: (A) displaying information corresponding to the plurality of product proposals, the information indicating an ordering of the plurality of product proposals based on values of the plurality of product proposals assessed with respect to criteria defined by the user's objectives, wherein the variables received from the merchants and the plurality criteria characterize merchant service features.
99. The method of claim 98, further comprising a step of:
(B) receiving input from the user indicating a changed ordering of the plurality of product proposals; and
(C) updating the displayed information to indicate the changed ordering of the plurality of product proposals based on the values of the plurality of product proposals assessed with respect to the criteria.
100. The method of claim 99, wherein the step (B) comprises a step of:
(B)(1) receiving input from the user indicating a change to at least one of the criteria.
101. The method of claim 98, wherein the step (A) comprises a step of: (A)(1) displaying, for each of the plurality of product proposals, a plurality of graphical elements corresponding to the plurality of features, the plurality of elements being arranged in a selected order.
102. The method of claim 98, further comprising steps of: (B) receiving a selection input from the user to select a particular one of the plurality of product proposals;
(C) displaying product specification information descriptive of features of the selected one of the plurality of proposals.
103. The method of claim 102, wherein the product specification information indicates a selected ordering of the features of the selected one of the plurality of product proposals.
104. The method of claim 98, further comprising steps of: (B) receiving a selection input from the user to select at least one of the plurality of product proposals; and
(C) displaying product specification information descriptive of the at least one product proposal including information descriptive of features of the at least one product proposal.
105. The method of claim 104, wherein the product specification information indicates a selected ordering of the features of the at least one product proposal.
106. The method of claim 98, wherein the plurality of features includes a first plurality of features belonging to a first category and a second plurality of features belonging to a second category, and wherein the information further indicates that the first plurality of features belong to the first category and that the second plurality of features belongs to the second category.
107. he method of claim 98, further comprising a step of:
(B) modifying at least one of the criteria in response to input from the user.
108. The method of claim 98, wherein associated with the user is a user profile indicating at least one criterion specified by the user for assessing the values of the plurality of product proposals, and wherein the method further comprises a step of:
(B) modifying the at least one criterion in response to input from the user.
109. A computer implemented method of assessing a value of at least one product offering by a merchant with respect to a customer's objectives, the method comprising steps of: obtaining data representing expressions of a plurality of features associated with said at least one product offering by the merchant; translating at least one of the expressions into a second expression expressed in accordance with a selected ontology; assessing values of the plurality of features of the at least one product in view of criteria defined by the customer's objectives by using said converted expression in place of the at least one of the expression.
110. The method of claim 109 wherein the ontology includes product features.
111. The method of claim 109 wherein the ontology includes merchant offering p features.
112. The method of claim 109 the ontology is a list of features associated with a product domain.
113. The method of claim 109 wherein the ontology includes merchant service features
114. The method of claim 109 wherein the ontology is dynamically updated by input by customers of an online shopping service.
115. A computer implemented method comprising: obtaining information concerning a customer's objectives; receiving data from a plurality of sales agents associated with a plurality of merchants, wherein the data includes a plurality variables characterizing features associated with at least one product offering by at least one of the merchants; accessing an ontology to retrieve information in response to the received data, processing the plurality of variables in view of the customer's objectives and the information from the ontology to arrive at a singular value characterizing value of that product offering.
116. A computer program stored on computer readable medium comprising instructions for: obtaining information concerning a customer's objectives; receiving data from a plurality of sales agents associated with a plurality of merchants, wherein the data includes a plurality variables characterizing features associated with at least one product offering by at least one of the merchants; accessing an ontology to retrieve information in response to the received data, processing the plurality of variables in view of the customer's objectives and the information from the ontology to arrive at a singular value characterizing value of that product offering.
117. A system : an input device for obtaining information concerning a customer's objectives; a receiver for receiving data from a plurality of sales agents associated with a plurality of merchants, wherein the data includes a plurality variables characterizing features associated with at least one product offering by at least one of the merchants; a processor for a accessing an ontology to retrieve information in response to the received data, and processing the plurality of variables in view of the customer's objectives and the information from the ontology to arrive at a singular value characterizing value of that product offering.
118. A system : means for obtaining information concerning a customer's objectives; means for receiving data from a plurality of sales agents associated with a plurality of merchants, wherein the data includes a plurality variables characterizing features associated with at least one product offering by at least one of the merchants; means for a accessing an ontology to retrieve information in response to the received data; and means for processing the plurality of variables in view of the customer's objectives and the information from the ontology to arrive at a singular value characterizing value of that product offering.
119. A computer implemented method comprising: receiving data from a plurality of sales agents associated with a plurality of merchants, each one of the sales agents being associated with at least one of the merchants, wherein the data includes a plurality variables characterizing features associated with at least one product offering by at least one of the merchants; accessing an ontology to retrieve information in response to the received data; processing the received data in view of the information retrieved from the ontology; displaying the processed data.
120. A computer program stored on computer readable medium comprising instructions for: receiving data from a plurality of sales agents associated with a plurality of merchants, each one of the sales agents being associated with at least one of the merchants, wherein the data includes a plurality variables characterizing features associated with at least one product offering by at least one of the merchants; accessing an ontology to retrieve information in response to the received data; processing the received data in view of the information retrieved from the ontology; displaying the processed data.
121. A system comprising : a receiver for receiving data from a plurality of sales agents associated with a plurality of merchants, each one of the sales agents being associated with at least one of the merchants, wherein the data includes a plurality variables characterizing features associated with at least one product offering by at least one of the merchants; a processor for accessing an ontology to retrieve information in response to the received data, and processing the received data in view of the information retrieved from the ontology; and a display for displaying the processed data.
122. A system comprising: means for receiving data from a plurality of sales agents associated with a plurality of merchants, each one of the sales agents being associated with at least one of the merchants, wherein the data includes a plurality variables characterizing features associated with at least one product offering by at least one of the merchants; means for accessing an ontology to retrieve information in response to the received data, and processing the received data in view of the information retrieved from the ontology; and means for displaying the processed data.
123. A computer implemented method comprising : receiving data from a merchant; accessing an ontology to retrieve information in response to the received data, forming a product offering based on the received data and the information retrieved from the ontology.
124. A computer program stored on computer readable medium comprising instructions for: receiving data from a merchant; accessing an ontology to retrieve information in response to the received data, forming a product offering based on the received data and the information retrieved from the ontology.
125. A system comprising: a receiver for receiving data from a merchant; and a processor for accessing an ontology to retrieve information in response to the received data and forming a product offering based on the received data and the information retrieved from the ontology.
126. A system comprising: means for receiving data from a merchant; and means for accessing an ontology to retrieve information in response to the received data and forming a product offering based on the received data and the information retrieved from the ontology.
PCT/US1999/022885 1998-10-02 1999-10-01 Computer system and computer-implemented method for electronic commerce WO2000021006A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU65059/99A AU6505999A (en) 1998-10-02 1999-10-01 Computer system and computer-implemented method for electronic commerce

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US10294998P 1998-10-02 1998-10-02
US60/102,949 1998-10-02
US11917699P 1999-02-08 1999-02-08
US11918299P 1999-02-08 1999-02-08
US11918399P 1999-02-08 1999-02-08
US60/119,176 1999-02-08
US60/119,183 1999-02-08
US60/119,182 1999-02-08

Publications (2)

Publication Number Publication Date
WO2000021006A1 WO2000021006A1 (en) 2000-04-13
WO2000021006A9 true WO2000021006A9 (en) 2002-09-26

Family

ID=27493302

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1999/022885 WO2000021006A1 (en) 1998-10-02 1999-10-01 Computer system and computer-implemented method for electronic commerce

Country Status (2)

Country Link
AU (1) AU6505999A (en)
WO (1) WO2000021006A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8893179B2 (en) 2005-09-12 2014-11-18 Qualcomm Incorporated Apparatus and methods for providing and presenting customized channel information

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7330826B1 (en) 1999-07-09 2008-02-12 Perfect.Com, Inc. Method, system and business model for a buyer's auction with near perfect information using the internet
AU2001277278A1 (en) * 2000-07-31 2002-02-13 Realhome Com Method and system of providing competitive comparative terms to the user
JP2002203125A (en) 2000-12-28 2002-07-19 Yamaha Corp Computer for site or trader, recording medium recorded with program used for the computer, and method of selling article using the computer
WO2002091251A1 (en) * 2001-04-20 2002-11-14 Books.Com Co., Ltd. A integrated system and a method for recommending and stocking commodities
GB2376768A (en) * 2001-06-22 2002-12-24 Hewlett Packard Co Tools and data structures for negotiations
US7565506B2 (en) 2005-09-08 2009-07-21 Qualcomm Incorporated Method and apparatus for delivering content based on receivers characteristics
US8600836B2 (en) * 2005-11-08 2013-12-03 Qualcomm Incorporated System for distributing packages and channels to a device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8893179B2 (en) 2005-09-12 2014-11-18 Qualcomm Incorporated Apparatus and methods for providing and presenting customized channel information

Also Published As

Publication number Publication date
AU6505999A (en) 2000-04-26
WO2000021006A1 (en) 2000-04-13

Similar Documents

Publication Publication Date Title
US7912761B2 (en) Initial product offering system and method
US7016866B1 (en) System and method for assisting the buying and selling of property
US20050216364A1 (en) System and method for a buyer driven transaction
US20010005833A1 (en) Product distribution system and method for providing information to customer in context of such system
JP2002041842A (en) Electronic mediation service and price determination for selling/buying article
US20030171995A1 (en) Method and system for transacting and negotiating business over a communication network using an infomediary computer
US20020002501A1 (en) System and method for an independent retailer business-to-business market exchange
KR20190073039A (en) Shopping mall integrated management method and system
US8583513B1 (en) Systems and methods for offer selection
US11776042B2 (en) Determining generic items for orders on an online concierge system
KR20200096182A (en) Methods for Fishing Goods Recommendation Based on Big Data
US20160034939A1 (en) Method and apparatus for providing internet based marketing channels
KR20120087321A (en) System and method for managment cupon
WO2000021006A9 (en) Computer system and computer-implemented method for electronic commerce
TWI239453B (en) Network-based virtual commodity exchange
KR102249527B1 (en) Online shopping mall integrated payment platform
US20050021402A1 (en) Method and apparatus for providing internet based marketing channels
US20040044593A1 (en) Internet based collectables management and sale system
WO2000045628A2 (en) Computer system and computer-implemented method for electronic commerce
WO2001016818A1 (en) System for collecting commodity specifications and related customer information
Ozok et al. Impact of consistency in customer relationship management on e-commerce shopper preferences
KR101096405B1 (en) A method and a system for intermediating among electronic commercial entities
KR100656946B1 (en) System and method for providing information relative to exhibition, and storage media having program thereof
TWI804270B (en) Automated commodity/service offering system and method
JP2003076887A (en) Used item transaction system, used item transaction support device and used item transaction method

Legal Events

Date Code Title Description
ENP Entry into the national phase in:

Ref country code: AU

Ref document number: 1999 65059

Kind code of ref document: A

Format of ref document f/p: F

AK Designated states

Kind code of ref document: A1

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

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

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
AK Designated states

Kind code of ref document: C2

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: C2

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

COP Corrected version of pamphlet

Free format text: PAGES 1/15-15/15, DRAWINGS, REPLACED BY NEW PAGES 1/14-14/14; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE