Abstract:
A system for operating news groups or discussion groups requires a user who posts a message to specify two or more categories for reply messages. The system associates the categories with the message. The system requires a user who posts a reply to a message to categorize the reply into one of the categories. When the system displays a message thread the system displays messages in each category differently. In a preferred embodiment there are two categories and reply messages in a first one of the categories are displayed on a first side of a display and reply messages in a second one of the categories are displayed on a second side of the display. A user can see the general point of view of reply messages without reading the text of the reply messages. The system may be applied in a manner which permits users to see a graphical display which indicates which reply messages to a posting agree with the point of view expressed in the posting and which reply messages disagree with the expressed point of view.

Description:
REFERENCE TO RELATED APPLICATION  
       [0001]     This is a continuation of application Ser. No. 09/391,187 filed on 7 Sep. 1999 and entitled System for Categorizing and Displaying Reply Messages in Computer Facilitated Discussions, which is hereby incorporated herein by reference. 
     
    
     TECHNICAL FIELD  
       [0002]     This invention relates to computer discussion group and bulletin board systems. Such systems permit users to post messages expressing points of view for viewing by others and to reply to messages posted by others. The invention has particular application to Internet or intranet news groups and discussion groups.  
       BACKGROUND  
       [0003]     Computer discussion groups are well known. In such discussion groups a user can start a discussion by posting a message. The message may ask a question, express a point of view, or otherwise provide fruit for further discussion. Other users can post reply messages in reply to the message. A single message may provoke numerous reply messages. On the Internet, news groups are hosted on servers. Users run suitable client software, which may be called “news group reader” software on their computers. The client software facilitates reading the contents of news groups, posting reply messages to previously posted messages and posting messages to start new threads.  
         [0004]     Existing news groups, discussion groups and bulletin boards have linear structures. A “thread” consists of a set of reply messages to the original message and a sequence of replies to the reply messages. Many types of news group reader software will sort messages in a news group into threads and will arrange links to the various messages so that a user can tell by viewing the links something about the sequence in which the messages were posted and which messages are replies to which other messages.  
         [0005]     A disadvantage of existing news group reader software is that a user must view each message in a thread in order to understand the positions taken by the authors of the different messages.  
         [0006]     The Internet has spawned a number of experiments in direct democracy. Various Internet web sites have been set up for the purpose of polling public opinion, whether on the subject of politics, consumer goods or other topics. Such sites typically provide users with the opportunity to select the one of two or more prepared statements which most closely matches the user&#39;s opinion on the topic at hand. A counter simply counts up the number of times each statement is selected. Such polls suffer from the disadvantages that the questions are pre-defined and users are forced to select one of several statements without having an opportunity to explain their positions.  
         [0007]     A problem with Internet discussion groups is that users can post messages under pseudonyms. Therefore it is not always possible to know whether a point of view expressed in a posted message is reliable. Even worse, an Internet user can post messages which purport to be from someone else, for example a trusted public figure.  
         [0008]     There is a need for a system which permits users of computer networks, whether those computer networks are global in nature or more localized, to better exchange ideas. There is a particular need for systems which permit users to know whether they can be confident that a posted message was really posted by the person listed as its author or whether the posted message is unverified, or even unverifiable, and could have been posted by anyone at all.  
       SUMMARY OF INVENTION  
       [0009]     This invention provides systems for operating computer facilitated discussion groups which enable a user who posts a message to specify a group of two or more categories for sorting replies to the message. When a second user replies to a message then the second user chooses one category from the group of categories to be associated with the reply. When a user displays a message and a thread of replies to the message then the system can display the reply messages in a manner which visually distinguishes reply messages in one category from reply messages in other categories. This permits a user to understand the point of view from which a reply message is posted without needing to read the reply message itself. The system can also compute the number of reply messages associated with each category.  
         [0010]     Preferred aspects of the invention associate verification information with each posted message. The verification information preferably specifies whether the message is unverifiable, verifiable or verified. A user can choose whether to view all messages, only verified and verifiable messages, or only verified messages. This permits the user to selectively view only messages for which the identity of the author is known, or can be discovered. Such messages are likely to be more reliable than messages posted by completely anonymous authors.  
         [0011]     Further aspects and advantages of the invention are described below.  
     
    
     BRIEF DESCRIPTION OF DRAWINGS  
       [0012]     In drawings which illustrate non-limiting embodiments of the invention,  
         [0013]      FIG. 1A  is a schematic view of a computer network on which the invention may be practised;  
         [0014]      FIG. 1B  is a schematic view illustrating software on server and user computers;  
         [0015]      FIG. 2  illustrates schematically a web page comprising a form for posting new messages to a server according to the invention;  
         [0016]      FIG. 3  illustrates schematically a web page comprising a form for posting a reply to a previously posted message to a server;  
         [0017]      FIG. 4  illustrates schematically a web page for displaying a thread;  
         [0018]      FIG. 5  illustrates a possible format for records of messages in a database for use in a system according to the invention;  
         [0019]      FIG. 6  is an example of a possible table returned by a query of a database;  
         [0020]      FIG. 7  is a flowchart illustrating a method for posting messages at a server according to the invention;  
         [0021]      FIG. 8  is a flowchart illustrating a method for posting replies to messages at a server according to the invention;  
         [0022]      FIG. 9  is a flowchart illustrating a method for displaying a thread of replies to a message according to the invention; and,  
         [0023]      FIG. 10  illustrates a data structure according to the invention. 
     
    
     DESCRIPTION  
       [0024]      FIG. 1  shows a computer network  10  which connects a server computer  12  to a plurality of user computers  14 . Server computer  12  typically comprises a processing unit and a memory accessible to the processing unit. Network  10  may be a global computer network such as the Internet, a local area network, a wide area network, or any other network capable of carrying data between server  12  and user computers  14 . Users of user computers  14  can forward messages to server  12 . The messages are stored at server  12 . Users of computers  14  can also view messages which have been previously posted on server  12  by themselves or others.  
         [0025]     As shown in  FIG. 1B , server  12  runs web server software and has access to a plurality of stored web page templates  20 . User computers  14  run web browser software  22  capable of requesting web pages from server  12  and displaying images of the web pages on a display  24 . Server  12  has access to a database  16  to which it can read or write information. When a user requests a web page from server  12 , the active web server software loads an appropriate one of templates  20  and, if necessary, retrieves data from database  16  to complete a web page. Server  12  then sends the completed web page to the user&#39;s computer  14  via network  10 . Web browser software  22  causes the web page to be displayed on display  24 . The general operation of web servers and web browsers is well understood to those skilled in the art and will therefore not be described here in detail.  
         [0026]     According to this invention, users of computers  14  can post messages to server  12 . In the preferred embodiment, when a user wishes to post a message, the user causes web browser  22  to display a “new message” page from server  12 . A sample new message page  30  is shown in  FIG. 2 . New message page  30  comprises a form into which a user can enter data via user interface  26 . The user can then cause data entered into the form to be forwarded to server  12  on network  10  by activating a “submit” button  32 .  
         [0027]     Form  30  contains a field  34  into which a user can enter a subject for the message, a field  36  into which the user can enter text of the message, and a field  38  into which a user can specify response categories for the categorization of responses to the message. Form  30  also provides a “clear” button  40  for clearing any data entered into the fields of form  30 .  
         [0028]     Field  38  requires a person posting a new message to server  12  to specify a set of response categories into which responses to the message will be sorted. This distinguishes the system of this invention from previous systems which permit users to post messages to a server. In the example of  FIG. 2 , the user is required to specify a pair of response categories. The invention could, however, be practised with three or more different categories for responses. Form  30  may provide predefined descriptive titles for the categories. In addition to or instead of providing predefined category titles users may be permitted to specify their own category titles. Some examples of possible category titles where there are two categories are: FOR/AGAINST; YES/NO; TRUE/FALSE; AGREE/DISAGREE, and so on. Some examples of possible category titles where there are three categories are: YES/MAYBE/NO; AGREE/DON&#39;T KNOW/DISAGREE; WORSE/THE SAME/BETTER, and so on. A person posting a new message may be provided with the opportunity to specify both the number of categories into which reply messages will be sorted as well as descriptive titles for each category.  
         [0029]     When server  12  receives data from form  30  then server  12  stores the data in database  16 . After one or more messages have been posted to server  12  then the message, or messages may be viewed. A user can view previously posted messages by navigating to a web page hosted by server  12  which displays a list of messages available for viewing. Server  12  prepares the web page by querying database  16  for a list of available messages and adding the list of available messages to a template  20 . Server  12  then sends the web page to the user&#39;s computer  14  on network  10 .  
         [0030]     A user can signal an intention to reply to a message by, for example, selecting the subject line of the message to which the user wishes to respond with input device  26 . In response to the receipt of a signal indicating that a user wishes to reply to a message, server  12  supplies a form which requires the user to specify which one of the categories associated with the message the reply should be associated with.  FIG. 3  shows an example of a form  42  which may be generated by server  12  and forwarded to a user&#39;s computer  14  for the purpose of receiving a reply to a previously posted message. Form  42  is similar to form  30  with the addition of a section  44  which requires the user to select one of the response categories specified by the originator of the message being replied to. In the example of  FIG. 3 , section  44  comprises two radio buttons, one located next to the descriptive title for each of the two possible reply categories. Section  44  could be implemented in numerous different ways. Instead of providing a single form  42  for reply messages, server  12  could first supply separate forms for requiring a user to specify a category for a reply and for providing the reply itself. What is necessary is that a user be prompted to specify one of a group of two or more categories associated with a message when replying to that message.  
         [0031]     After a message has received one or more replies then a user  14  may view a display which shows a representation of each reply and indicates visually which of the categories each reply is associated with. Server  12  may generate such a display in the form of a web page which is delivered to a computer  14  on network  10 . This may be done by querying database  16  for all replies to a message and then inserting the result returned by database  16  into a template  20 .  
         [0032]      FIG. 4  shows one possible example of a web page  50  displaying a representation of a message  54  and representations  57  of replies to the message. In the example web page  50  of  FIG. 4 , the original message  54  is displayed at the top of page  50  and representations  57  of replies to message  54  are displayed in a lower section  56  of page  50 . The representations  57  of replies to message  50  may be the reply messages themselves, the time and first few words of each reply message, as shown in  FIG. 4 , graphic icons representing the reply messages, or some other displayable representation of replies to message  54 .  
         [0033]     Section  56  is divided into two columns  56 A and  56 B. Column  56 A contains representations of reply messages associated with the category having the descriptive title “YES”. Column  56 B contains representations of reply messages associated with the category having the descriptive title “NO”. The descriptive titles for the categories associated with reply messages of each column are displayed at locations  58 A and  58 B respectively.  
         [0034]     A user viewing page  50  can immediately ascertain which reply messages are associated with which point of view. The user may view any one of the reply messages in its entirety by selecting the underlined hyperlink which comprises part of each representation  57 . The user may choose to read only reply messages which are categorized in a way which agrees with the user&#39;s point of view. If the user so chooses, the user may opt to read only reply messages which are categorized in a way which challenges the user&#39;s point of view. Server  12  can easily collect statistical information regarding the number of users on one side or another side of an issue. The number of reply messages  59 A, and  59 B in each category may be displayed at the head of each of columns  56 A and  56 B.  
         [0035]     There are alternative ways to achieve a display having the general appearance of page  50  any of which may be used in the invention. For example, section  56  may comprise two frames located side-by-side, each displaying representations of reply messages associated with a particular category. Other formats of display may also be used to practice the invention. For example, instead of being located in different portions of a display, representations of reply messages associated with different categories could be colored or given different appearances to indicate which category they are associated with.  
         [0036]     In the alternative to server  12  formatting a web page containing representations of replies to a message, server  12  could send to user computer  14  a set of records describing each of the reply messages in a thread and specifying the category associated with each reply message. In place of, or in addition to web browser software, user computers  14  could run software which receives such records and prepares and formats a display which shows representations of each reply displayed in such a way that reply messages in each category in the group of categories associated with the message being replied to are visually distinguished from one another.  
         [0037]     Database  16  may be replaced with any sort of memory of storage device into which server  12  can store and retrieve data. Database  16  is not limited to traditional “database” software. Database  16  is preferably a relational database.  FIG. 5  shows a possible structure for records of messages in database  16 . The indx field contains a unique number which identifies each message. The thread_id field holds a NULL value in messages which do not reply to any other message. In the records for messages which reply to a previous message the thread_id field holds the value of the indx field for the previous message being replied to. Also, in the records for messages which reply to a previous message the category_# field identifies one category (as specified in the record for the message being replied to) with which the message is associated. The subject field contains the text of the subject of the message. The discussion field contains the text of the discussion. The fields category#1_title, category#2_title contain descriptive titles for the categories into which replies to the message must be categorized. If more than two categories are permitted then there will be additional fields specifying descriptive titles for the additional categories and, where convenient, a field specifying the number of categories. The msg_stamp field contains a time and date stamp for the message. The author field contains the name of the message&#39;s author.  
         [0038]     It can be appreciated that as the invention is used, database  16  will come to contain a data structure in which records for individual messages are linked to one another in a manner which indicates both which messages are included in a thread and the stance being taken in replies to an original posting.  FIG. 10  shows an example of a data structure  116 . Data structure  116  contains records  117  in three threads  119 . Each thread  119  consists of a record  117 A for an originating message which replies to no other message, and zero or more records  117 B for replies to either the originating message or to replies to the originating message. Records  117 A may be called “originating records”. Records  117 B may be called reply records. Each record  117  specifies two or more categories  120  into which replies to the corresponding message must be classified. Each reply record  117 B includes pointers  121  which identify both the message  117  being replied to and a category with which the reply record is associated. Data structure  116  is useful because it facilitates the automatic extraction of useful data from data structure  116  in a manner that would not be possible with conventional newsgroups or the like.  
         [0039]     When server  12  receives a signal which indicates that a user wishes to display a thread, for example, as shown in  FIG. 4 , then server  12  queries database  16  to retrieve the original message (using the value of the indx field for the original message) and to retrieve a table containing all other messages for which the thread_id field has the same value as the indx field of the original message. An example of a table  59  which might be returned by such a query is shown in  FIG. 6 .  
         [0040]     Server  12  retrieves the messages in table  59  one at a time depending upon the value in the category field server  12  places a representation of each message either in left hand column  56 A of page  50  or in right hand column  56 B of page  50 .  
         [0041]      FIG. 7  is a flow chart illustrating a method  60  for receiving and posting messages on a server according to the invention. At step  62  server  12  receives a signal containing a request by a user to post a new message. Such a signal may be generated at a user computer  14  when a user activates a “new message” button on a web page generated by server  12 . At step  64  server  12  prepares and forwards to the user computer  14  a form  30 . At step  66  user computer  14  receives and displays the form  30  on display  24 . As noted above, form  30  requires a user to specify categories into which replies to the message will be sorted. At steps  68  and  69 , which may be completed in any order, the user specifies categories for replies to the message and inputs a subject and text for the message. In the example given above this is done by filling in form  30 . At step  70  user computer  14  forwards the data input into form  30  to server  12  on network  10 . At step  72  the data is received at server  12 . At step  74  the data, including the response categories is saved by server  12  in database  16 .  
         [0042]      FIG. 8  illustrates a method  80  for posting reply messages to a previously posted message. At  82  server  12  receives a request from a user computer  14  indicating that a user wishes to post a reply to a message. Such a signal may be generated at a user computer  14  when a user activates a “reply” button on a web page generated by server  12  or activates a hot spot connected to a reply function. At  84  server  12  prepares a reply form. To do this, server  12  retrieves from database  16  the descriptive titles for each category in the group of categories associated with the message being replied to. At step  86  user computer  14  receives and displays the form, for example, form  42 . The form forces the user to select one category from the group of categories into which the reply will be categorized. Steps  88 ,  89  and  90  may be completed in any order. these steps may be completed, for example, by allowing a user to complete a form  42  using an input device  26 . At step  92  user computer  14  forwards data from the completed form  42  to server  12  over network  10 . At step  96  server  12  stores a record of the reply in database  16 .  
         [0043]      FIG. 9  is a flowchart which illustrates a method  100  for displaying a thread according to the invention. When server  12  receives a signal indicating that a user wishes to see a display of a thread (step  102 ) then server  12  queries database  16  for reply messages belonging to the thread at step  104 . At step  106  server  12  sorts the reply messages by category. At step  108  server  12  assembles a web page from a template  20  and the sorted reply messages. On the web page, reply messages which are in different categories are visually distinguished from one another. This may be done, for example, by displaying representations of reply messages which are associated with different categories in physically separate parts of the web page, using a different icon to represent reply messages in different categories, providing a different color attribute for representations of reply messages in different categories. It is preferred to display representations of the reply messages in physically separated parts of the web page image. At step  110  server  12  sends the web page to user computer  14  on network  10 . User computer  14  receives the web page at step  112  and displays the web page on display  24  at step  112 .  
         [0044]     The methods, systems and data structures of the invention may be enhanced by providing verification functions which allow users to assess the credibility of posted messages. Internet users can post messages anonymously or under pseudonyms. In a preferred embodiment of the invention, each message in database  16  includes information specifying whether or not the message is “verifiable”. Most preferably, database  16  categorizes each message as being one of “unverifiable”, “verifiable” and “verified”. Unverifiable messages are messages posted anonymously. It is not readily possible to determine who is the author of an unverifiable message or, if the person posting the message has provided a name, whether that name is the person&#39;s real name. Verifiable messages are messages for which the user posting the message has provided sufficient information about themselves that the true name of the user posting the message could be ascertained and the user posting the message could be contacted to verify the accuracy of the posted message. A verified message is a message for which the true name of the user posting the message has been ascertained and the accuracy of the contents of the message has been verified.  
         [0045]     Verification may be conducted automatically by server  12  by sending an e-mail message to a known e-mail address for a particular user and receiving a reply to the e-mail message. For example, consider the case where a message purporting to be from the president of the United States has been posted to server  12 . Server  12  could automatically generate an e-mail to the known e-mail address for the president, president@whitehouse.gov seeking confirmation that the president was, in fact, the originator of the posted message. The Server  12  could mark the message as being “verified” upon receiving such a validation. Verification could also be done manually. Once a message has been verified, users of server  12  can see that the message has been verified and can trust that the message was posted by someone known to the operators of server  12  and, if the name of an author is given, that the named author is responsible for the content of the posted message.  
         [0046]     In a preferred embodiment of the invention, users who wish to view the messages posted on server  12  can specify whether they wish to see all posted messages, only messages which are either verifiable or verified, or only verified messages. If the user signals to server  12  that the user wishes to view all posted messages, or both verifiable and verified messages then preferably each message displayed on a page  50  or other display, are somehow marked to indicate whether the message is unverifiable, verifiable or verified. For example, different colors may be used to display a representation of each of these types of message or a small icon could be presented as part of the representation of each message, the icon indicating the verification status of the message.  
         [0047]     A field indicating whether or not each message in a database of posted messages can be, or is, verified could be provided and used in conjunction with any database of posted messages. The application of this inventive feature is not limited to methods and systems which provide multiple categories for reply messages as described above.  
         [0048]     It can be appreciated that by including in database  16  verification information specifying whether each message is unverified, verified or verifiable, a user reading messages from database  16  can determine how much trust to place in each message.  
         [0049]     Preferably users who post messages to server  12  may select whether or not to allow their names to be made public as the authors of messages by sending a signal to server  12 . If the signal indicates that the name of the author of a message should be made public then the author&#39;s name is forwarded on the communication network together with the message to other users who wish to view the message. In a preferred embodiment of the invention, users who view messages posted on server  12  can choose whether they wish to view only messages for which the name of the person posting the message is displayed or whether they are willing to also view messages for which the name of the user who posted the message will not be provided to them.  
         [0050]     While the invention has been described above as being embodied in a computer network in which the methods of the invention are carried out, the invention could also be embodied in a computer readable storage medium such as a floppy disc, a CD ROM, a DVD, or some other physical carrier of computer readable instructions upon which is stored computer instructions which, when executed on a computer will cause the computer to operate so as to carry out any method of the invention.  
         [0051]     As will be apparent to those skilled in the art in the light of the foregoing disclosure, many alterations and modifications are possible in the practice of this invention without departing from the spirit or scope thereof. While the invention has been described with reference to a system wherein communications between users and a server are mediated by web browsers which communicate with a web server, this is not necessary. Computers  14  could communicate with server  12  using a different protocol than is used for the exchange of web pages. The way in which server  12  stores and retrieves messages and the structure of database  16  can be varied significantly without departing from the invention. There are a multitude of data structures capable of recording associations between a message and a group of reply categories and between a reply and a category. The displays depicted in the figures are by way of illustration only. There are many alternative ways to display replies to messages in a way which allows a user to see how the replies have been categorized. Accordingly, the scope of the invention is to be construed in accordance with the substance defined by the following claims.