Abstract:
Community ratings are determined for users of an electronic marketplace. In a typical configuration, the community rating of an individual reflect the individual&#39;s reputation in the electronic community (e.g. feedback rating) as well as the reputations of the users the individual sponsors and the reputations of each user they sponsor, and so on. Various methodologies are provided for determining a community rating, such as aggregating feedback ratings, or weighting or thresholding these feedback ratings.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a Continuation of U.S. Non-Provisional patent application Ser. No. 09/503,960, filed Feb. 14, 2000, which application is incorporated by reference herein in its entirety. 
    
    
     COPYRIGHT NOTICE 
     Contained herein is material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction of the patent disclosure by any person as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all rights to the copyright whatsoever. 
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The invention relates generally to the field of online commerce. More particularly, the invention relates to rating systems and user feedback mechanisms for use in electronic environments, e.g., online trading environment, online shopping site, online auctioning site, online person-to-person trading site, online gaming site or other electronic environment were user feedback is provided, including those within an Internet marketplace community. 
     2. Description of the Related Art 
     The Internet and the World Wide Web (“Web”) have changed the landscape of information delivery and affected numerous aspects of life, including commerce and entertainment. One area that has benefited from this technological development is the ability of individuals to buy and sell products within an Internet marketplace community. 
     Many companies operate auctions and other selling mechanisms on servers connected to the users over one or more networks, typically including the Internet. The users buying and/or selling items over these networks loosely comprise a market place community within an electronic environment. A distinction between non-electronic selling devices such as traditional garage sales and current electronic selling mechanisms is the component of anonymity inherent in electronic environment, which is not always conducive to forming a trusting environment in which two or more users wish to form a buyer-seller relationship. 
     To overcome some reservations about the anonymity component within the electronic marketplace community and to provide incentives for participating in transactions within the electronic marketplaces. Internet marketplaces, such as auction sites run by eBay, Inc. of San Jose, Calif. provide feedback ratings generated from feedback between users regarding trading transactions. A user&#39;s feedback rating is an indication of the user&#39;s reputation within the electronic community, and provides some indication of the trustworthiness and responsiveness of the user. A representation of a user&#39;s feedback rating is typically displayed along with a buying or selling transaction request by the user which provides the other party to the transaction an indication of the trustworthiness or past participation level of the user. 
     One implementation of feedback rating is illustrated in  FIG. 1  in which feedback ratings  131 - 137  have been respectively established for marketplace users  121 - 127  based on votes  110  received from other users. These votes could reflect a positive recommendation and add one or more points to a user&#39;s feedback rate; or could reflect a negative experience and subtract one or more points from a users feedback rating. 
     Feedback ratings provide a good mechanism for indicating a level of indicating a user&#39;s trustworthiness or past participation within an electronic commerce forum. Users desire to increase their feedback ratings because they are one indication of a user&#39;s reputation in the electronic community and some marketplace providers give awards or identify the users whose feedback ratings have reached a certain value, or some number of users with the highest feedback ratings. 
     However, feedback ratings do not provide a direct incentive for expanding the electronic marketplace. Needed is a new mechanism to provide an incentive for bringing new users into the electronic community. 
     SUMMARY OF THE INVENTION 
     A method and apparatus are described for determining a community rating for a particular user within an electronic community. According to one embodiment a characteristic value is maintained for each user within the electronic community. The value may be representative of any characteristic of the user that is valuable or useful within the electronic community. For example, in an electronic trading community through which goods and services are bought and sold, it is advantageous for a user to have a measure of the reputation of other users with whom the user is conducting a buying or a selling transaction. A set of relationships between the various members of the electronic community is also maintained as applicable. For example, the set of relationships might contain information about new users that were brought into the community by a particular user. A community rating is derived for a particular user of the electronic community based on a characteristic value associated with the particular user and the characteristic values associated with users related to the particular user. 
     Advantages and other features of the invention will be apparent to one skilled in the art from the accompanying drawings and from the following detailed description. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The appended claims set forth the features of the invention with particularity. The invention, together with its advantages, may be best understood from the following detailed description taken in conjunction with the accompanying drawings of which: 
         FIG. 1  is a block diagram of a prior art approach for determining feedback ratings for users in the Internet community; 
         FIG. 2  is a block diagram of an exemplary embodiment of a methodology for determining community feedback ratings for users in accordance with the invention; 
         FIG. 3  is a block diagram of an exemplary operating environment in which the invention may be practiced; 
         FIG. 4  is a block diagram of an exemplary operating architecture in which the invention may be practiced; 
         FIG. 5A  is a block diagram of an exemplary data structure for maintaining a feedback rating for a user and the relationship of the user to other users within the electronic community; 
         FIG. 5B  is a block diagram of an exemplary configuration of populated data structures corresponding to the exemplary configuration illustrated in  FIG. 2 ; and 
         FIGS. 6A-B  are high-level flow diagrams for determining a community feedback rating for a user in an embodiment of the invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     A rating system is described for use in an online environment. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced without some of these specific details. In other instances, well-known structures and devices are shown in block diagram form. 
     As will be described in greater detail below, the present invention includes features for enhancing the online trading experience for both buyers and sellers. For example, the improved rating system may be structured to encourage existing members to refer new members thereby increasing community registrations and the pool of potential trading partners. According to one feature of the present invention, when a user attaches feedback to another user, the feedback contributes to two different ratings, a Feedback Rating and a Community Rating. A user&#39;s Community Rating is based upon the user&#39;s Feedback Rating and the Feedback Ratings of other users associated with that user. For example, a user&#39;s Community Rating may be represented by the sum of the user&#39;s Feedback Rating, the number of users the user has referred to the online trading community, and the Community Ratings of all users referred. Advantageously, in this manner, the relative value of a user&#39;s contributions to the online community can be measured in terms of the number of referrals and trustworthiness of the referred users. 
     In the preferred embodiment, the steps of the present invention are embodied in machine-executable instructions. The instructions can be used to cause a general-purpose or special-purpose processor, which is programmed with the instructions to perform the steps of the present invention. Alternatively, the steps of the present invention might be performed by specific hardware components that contain hardwired logic for performing the steps, or by any combination of programmed computer components and custom hardware components. 
     The present invention may be provided as a machine-readable medium computer having stored thereon a computer program comprising instructions which may be used to program a computer (or other electronic devices) to perform a process according to the present invention. The machine-readable medium may include, but is not limited to, floppy diskettes, optical disks, CD-ROMs, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, magnet or optical cards, or other type of media/machine-readable medium suitable for storing electronic instructions. Moreover, the present invention may also be downloaded as a computer program product, wherein the program may be transferred from a remote computer (e.g., a server) to a requesting computer (e.g., a client) by way of data signals embodied in a carrier wave or other propagation medium via a communication link (e.g., a modem or network connection). 
     Importantly, while embodiments of the present invention will be described with respect to an online person-to-person trading environment, the method and apparatus described herein are equally relevant to other electronic environments in which ratings or values are assigned to users. For example, it is envisioned that an online gaming forum might want to provide an aggregate community rating based on the skill level of a particular gamer and fellow gamers with whom he/she is associated. 
     For purposes of the specification, the term “characteristic value” shall be an indication, whether alphabetic, graphic, symbolic, or otherwise, of a characteristic of a user within a community or group of related communities. For example, as discussed herein, a “feedback rating,” which is a characteristic value based on feedback received from other users about a user relative to transactions conducted by the user, is one type of characteristic value of a user. Other characteristic values could include, but are not limited to, measures of the user&#39;s honesty, the quality of products or services provided by the user, or the skill or expertise of the user relative to a purpose of the community. The term “community rating” shall include any indication, whether numeric, graphic or otherwise, of a characteristic of a user&#39;s relationships within a community or group of related communities. For example, a user may have a community rating based on the aggregate of all the feedback ratings of other users be referred to the community. The characteristic values or community ratings of users may be indicated in any number of ways such as a thumbs-up symbol to indicate a favorable rating or a number indicating a relative measure when compared to other users or a defined scale. 
     Community Rating Overview 
       FIG. 2  and its discussion herein are intended to provide a description of a general approach to determining a community feedback rating for a user, with scope of the invention including many variations of this general approach. The invention provides different methodologies for manipulating the individual feedback ratings and other data elements and the relationships among the various users to derive a community rating for an individual user. Typically, a community rating tier the individual user is, at least partially, determined by the number of other users the individual user brings into the electronic community, and in some instances, the reputation or feedback ratings of the other users. 
     User relationships are represented as an nary tree, where any user brought into the electronic community by sponsoring user is a child of the sponsoring user, and children of a same sponsoring user are siblings. An electronic community typically contains numerous trees of users, with the root of each tree representing a user who did not identify a sponsoring user. Embodiments of the invention allow a user to specify more than one sponsor, and these embodiments determine the community rating accordingly. 
       FIG. 2  illustrates one potential grouping of users  121 - 127  of  FIG. 1 , and further identifies an exemplary set of relationships  241 - 252  among these users  121 - 127  in the electronic community. For example, this configuration represents that user astoyroid  124  sponsored users red-deer  125  and dygsp  126 , red-deer  125  sponsored carter  123 , carter sponsored p2p  122  and coin-nut  121 , and dygsp  126  sponsored antyques  127 . The exemplary set of feedback ratings  131 - 137  for users  121 - 127  are further illustrated. 
     The various exemplary community ratings  231 - 237  respectively for users  121 - 127  are presented in  FIG. 2 . As previously mentioned, the invention provides for various methodologies to determine a community rating for an individual user by manipulating such factors as the feedback ratings, other data elements, and/or the relationships among the users of the electronic community. The methodology represented by the community ratings  231 - 237  is to aggregate the feedback rating  131 - 137  for the individual user with all the community ratings  231 - 237  of users brought into the electronic community by the individual user. In other words, by representing the relationships among users as a tree structure the community rating  131 - 137  for a user is the aggregate of the feedback ratings of the user and all its descendents. In this manner, the community rating  232  of p2p  122  is its feedback rating  132 ; the community rating  233  for cart  123  is the sum of the feedback ratings  131 - 33  for users coin-nut  121 , p2p  122  and carter  123 ; and the community rating  234  of astroyriod  124  is the sum of feedback ratings  131 - 137 . 
     Additional variations of this methodology include adding one or more points to the community rating for each child node, weighting the effect a descendent user has on a community rating of a patriarch based on how many degrees removed the user is from the patriarch, or using some variation of the feedback rating (e.g., if the feedback rating is negative, use zero; use a weighted or threshold value instead of the actual feedback rating, adding a fixed amount such as one or five points to a community rating for each sponsored user rather than using the actual feedback ratings). Additionally, multiple community ratings for an individual user can be determined and presented using a number of various methodologies applied to determine the community rating and the different characteristic values that are used to derive the community rating. 
     Computing Environment Overview 
       FIG. 3  and its discussion herein are intended to provide a description of an exemplary computing environment in which the invention can be practiced. The invention, however, is not limited to a single computing environment. Moreover, the architecture and functionality of the invention as taught herein and would be understood by one skilled in the art is extensible to an unlimited number of computing environments and embodiments in keeping with the scope and spirit of the invention. 
     Illustrated are viewing computer  355 , communications network  345 , and server computer  305 . In an embodiment of the invention, sellers and buyers use a viewing computer (or a plurality of computers)  355 , and server computer (or a plurality of computers)  305  receives the feedback input from sellers and buyers and determines the community ratings for the individual users. 
     Viewing computer  355  typically comprises a standard computer platform or a specialized computer platform, including, but not limited to a desktop computer, a laptop computer, personal data assistant, and a handheld computer. For purposes of simplicity, only one viewing computer  355  is shown; however, the number of viewing computers supported by the invention is unbounded, and can be especially large with network  345  comprises the Internet or other wide-area networking technology. In an embodiment, viewing computer  355  comprises a processor  360 , memory  365 , storage devices  370 , a network interface  349 , and a display  380 , which are electrically coupled via bus  362 . Network interface  349  is connected to a communications network  345  (e.g., one or more networks, including, but not limited to the Internet, private or public telephone, cellular, wireless, satellite, cable, local area, metropolitan area and/or wide area networks) over connection  348 . Memory  365  is one type of computer-readable medium, and typically comprises random access memory (RAM), read only memory (ROM), integrated circuits, and/or other memory components. Memory  365  typically stores computer-executable instructions to be executed by processor  360  and/or data which is manipulated by processor  360  for implementing functionality in accordance with the invention. Storage devices  370  are another type of computer-readable medium, and typically comprise disk drives, diskettes, networked services, tape drives, and other storage devices. Storage devices  370  typically store computer-executable instructions to be executed by processor  360  and/or data that is manipulated by processor  360  for implementing functionality in accordance with the invention. Additionally, viewing computer  355 , communications network  345 , and server computer  305  could be implemented in a single computer platform, with the communications network  345  being an internal information sharing mechanism such as message passing or shared memory. 
     Server computer  305  typically comprises one or more standard computer platforms or a specialized computer platforms (e.g., a computer platform optimized for retrieving information and sending information to clients), including, but not limited to one or more desktop computers, servers, mainframes, laptop computers, handheld computers, and personal data assistants. For simplicity, only one server computer  305  is depicted. However, the number of server computers contemplated by the invention is unbounded. When the invention is used in conjunction with a wide geographic area such as over the Internet, typically numerous viewing computers  355  and numerous serving computers  305  are used. When a plurality of serving computers  305  are used, they can be collocated, or distributed across the communications network  345 . Typically, when the plurality of viewing computers are distributed across the communications network  345 . 
     In an embodiment, server computer  305  comprises a processor  310 , memory  315 , storage devices  320 , and a network interface  341 , which are electrically coupled via bus  312 . Network interface  341  is connected to the communications network  345  (e.g., Internet, email network, private or public network) over a public or private telephone, cellular, wireless, satellite, local area and/or wide area network connection  342 . Memory  315  is one type of computer-readable medium, and typically comprises random access memory (RAM), read only memory (ROM), integrated circuits, and/or other memory components. Memory  315  typically stores computer-executable instructions to be executed by processor  310  and/or data, which are manipulated by processor  310  for implementing the server functionality. Storage devices  320  are another type of computer-readable medium, and typically comprise disk drives, diskettes, networked services, tape drives, and other storage devices. Storage devices  320  typically store computer-executable instructions to be executed by processor  310  and/or data which is manipulated by processor. 
     Architecture Overview 
     Turning now to  FIG. 4 , illustrated is an embodiment  400  of the invention, further illustrating an embodiment of elements  460 - 490  within viewing computer  355 , and an embodiment of elements  410 - 440  within server computer  305 . Viewing computer  355  typically comprises a network communication component or process  490  which interfaces with communications network  345  and enables communication with server computer  305 ; one or more data structures  470  for temporarily and/or permanently storing information; and an information viewer (e.g., browser)  460  for providing a user interface to a user of viewing computer  355 . Server computer  305  typically comprises a network communication component or process  440  which interfaces with communications network  345  and enables communication with one or more viewing computers  305 ; one or more data structures  430  for temporarily and/or permanently storing information; and an information server  410  tier providing information to viewing computer  305 ; and a community rater component or process  420  tier determining the community ratings for various users. 
     In an embodiment, the community rater  420  is comprised of both a valuator  421  and an aggregator  422 . The aggregator  422  performs a recursive routine, which aggregates the feedback ratings or characteristic values of all users in lineal succession to a patriarchal user for which a community rating is being determined. The valuator  421  combines (e.g. adds, determines a weighted average, etc.) the patriarchal user&#39;s characteristic value with the aggregate value determined by the aggregator  422  to determine the patriarchal users community rating. Other embodiments of the invention are envisioned that use another methods for determining the community rating that do not specifically utilize aggregator and valuator components or routines. 
     Exemplary Data Structure 
       FIG. 5A  illustrates one of numerous data structures  500  which can be used in embodiments of the present invention for storing information about users in the electronic community and their relationships. A data structure  500  is typically used for each user and typically comprises an identifier  500 A (e.g., a name of a user), a feedback rating  500 B, and two relationship indicators; a closest sibling pointer  500 C, and first child pointer  500 D. Numerous other data structures and formats could be used, such as incorporating additional pointers or distributing the information contained in data structure  500  among several data structures and possibly representing this information in other representations (e.g., lists, arrays etc.), instead of a linked list data element. 
       FIG. 5B , illustrates a block diagram showing a linked list data structure configuration for the group of users previously introduced in  FIG. 2  and using the data structure  500  illustrated in  FIG. 5A . Shown are seven users represented by data structures  521 - 527 . List or hash table  510  provides direct access to any single user data structure  521 - 527 . The interrelatedness of the data structures  521 - 527  is shown with arrows representing the closest sibling and first child pointers as they might be contained in each of the data structures to implement the tree structure illustrated in  FIG. 2 . 
     Community Rating Determination 
       FIGS. 6A &amp; 6B  illustrate a high-level flow diagrams describing the operation for determining a community rating for an identified user within the linked data structure embodiment illustrated in  FIG. 5B  using the valuator  421  and aggregator  422  introduced supra. The invention provides for variations and different flow diagrams and methodologies to be used in various embodiments to conform to design decisions in implementing the invention. Moreover, the invention could be embodied in any combination of software, hardware, firmware, etc. Furthermore, the invention provides for programming the functionality required for practicing the invention using any programming technology, paradigm, and/or language that exist today or may be developed in the future, including, but not limited to parallel programming, object-oriented technology, distributed processing, multi-processing, Java, C, C++, and assembly language. 
       FIG. 6A  is a high level flow diagram illustrating a routine that may be performed by a valuator  421  to determine a community rating for the identified user. The routine begins at step  600 , and proceeds to step  605  where the community rating for the identified user is set to the identified user&#39;s feedback rating. Next, step  610  is performed to determine whether the identified user has any children. If the identified user does not, the identified user&#39;s community rating is identical to its feedback rating and the feedback rating is returned as the identified user&#39;s community rating in step  620 . If the identified user has at least one child, step  615  is invoked and a recursive aggregator routine is performed as illustrated in  FIG. 6   b  and discussed infra. After an aggregate value is returned from the recursive aggregator routine representing the first child&#39;s community rating, the aggregate value is added to the identified user&#39;s feedback rating and the value representing the identified user&#39;s community rating is returned in step  620 . 
       FIG. 6B  is a high level flow diagram illustrating a recursive routine that may be performed by an aggregator  422  to determine an aggregate value of all the feedback values of all lineal descendents of the identified user. The routine begins at step  650 , and proceeds to step  655  where the community rating for the first child of the identified user is set to the first child&#39;s feedback rating. Next, in steps  660  &amp;  665 , the feedback values for all lineal descendents of the first child are aggregated and the value returned is added to the first child&#39;s community rating. If the identified user had at least two children, the sibling field in the first child&#39;s related data structure will have a pointer to the second child. Accordingly, for each n+1th child of the identified user, the nth child will have a pointer in the sibling field to that child (where n is an integer of at least 1). In steps  670  &amp;  675  an aggregate community value for all children other than the first child of the identified user (who are all siblings of the first child) is determined and this value is added to the community rating of the first child. Finally, the aggregate value of the community rating for all the children is returned to the valuator in step  680  to be added with the feedback rating of the identified user to determine the identified user&#39;s community rating as discussed supra. 
     In view of the many possible embodiments to which the principles of our invention may be applied, it will be appreciated that the embodiments and aspects thereof described herein with respect to the drawings/figures are only illustrative and should trot be taken as limiting the scope of the invention. To the contrary, the invention as described herein contemplates all such embodiments as may come within the scope of the following claims and equivalents thereof. For instance, there are many recursive routines well known to those of ordinary skill in the art that could be used to traverse a relationship tree such as the tree shown in  FIG. 2 . The methodology presented supra in  FIGS. 5A ,  5 B,  6 A &amp;  6 B is therefore merely representative.