Abstract:
An online system for conducting live interactive evaluation, comparison and selection of proposals includes a standardized database architecture that integrates proposal submission and proposal judgement procedures. The system can host multiple applications, each configured separately by the respective application administrator, each with a separate background process and each with a separate application database containing information about proposals, users, and proposals not yet judged by identified users. The separate background processes are registered in a hash table and the different application databases in a settings table in a separate system database. The proposal submission procedure allows users to submit proposals, and the judgement procedure allows users to judge submitted proposals. The respective background process rules the application by controlling the flow of proposals, and by facilitating and enhancing interaction by users.

Description:
CROSS-REFERENCES TO RELATED APPLICATIONS 
   This application is the U.S. national phase of international application PCT/SE02/00125 filed 24 Jan. 2002, which designated the U.S., the entire contents of which are hereby incorporated herein by reference. 
   TECHNICAL FIELD 
   The present invention relates to online voting systems. More particularly, the present invention relates to a database system facilitating live interactive evaluation and categorization of proposals over a network such as the Internet. 
   BACKGROUND OF THE INVENTION 
   The Internet provides a wonderful forum for mass distribution of information. Associated with the concept of mass distribution of information is the problem of information overload and difficulties identifying relevant pieces of information. 
   Another known problem is the difficulty of involving large numbers of people in intellectual processes. To allow efficient handling of information the number of people involved at critical stages of the information handling process, such as setting the agenda or formulating problems, has to be reduced to one or a few persons. 
   A process allowing many people to be efficiently involved in the identification of the most relevant pieces of information would solve both problems. 
   SUMMARY OF THE INVENTION 
   Thus, generally in an online system for conducting live interactive evaluation and comparison of proposals a standardized database architecture is provided that integrates proposal submission and proposal judgment procedures. The system has a system database containing information about different applications and a separate application database for every application. The system also has a Hash Table containing information about the background processes of the different applications and a separate background process for every application. There is also a server to transfer information to and receive information from the users of the system over a network, e.g. the Internet. The system includes web server software. 
   A proposal submission procedure is provided allowing users to submit proposals and a judgment procedure allowing users to judge submitted proposals. The administrator of an application has a procedure to create new user identities and to adjust the parameters of the system. A login procedure and a logout procedure are provided. 
   An application database has a table for storing information about multiple proposals, a table for storing information about the users and a table for identifying proposals not judged by a particular user. 
   The background process comprises multiple methods to advance or propagate the proposals through the system with respect to stated criteria concerning every possible advancement. One of these methods includes a method to evaluate, compare and select winning proposals using judgments entered by users. There is also a method to delete old proposals and a method to delete old judgments. The background process also has a method to calculate how urgently a proposal needs another judgment to be safely included in or excluded from the winning group of proposals, a method to calculate the probability that a proposal will finally belong to the winning proposals and a method to calculate the possibly adjusted mean of registered judgments for a proposal. 
   The system can be used to enhance interactivity on Web sites, to enhance interactivity in discussions, to improve the democratic process, to empower employees and members of organisations, to encourage intellectual contributions by employees and members of organisations, to collect and analyse data and to enhance interactivity in association with broadcast media. 
   Thus generally, there is in an online system for facilitating live interactive evaluation, comparison and selection of a specified number of proposals by users a server comprising a processor and a memory for storing an application database. The application database includes a proposal table into which incoming proposals are entered and which also contains other information on the proposals. In the memory there is thus an area for storing information for all the proposals and a memory place in the area for the information associated with each proposal. The proposals are discarded or moved from a stage to a following stage in an automatic process. The stages are arranged in a predetermined successive order and there are at least three stages. One stage can be a judgment or voting stage. User means are provided for the users, such as a personal computer and software executed by the computer. The user means are connected to the server such as over the Internet. The user means comprise displaying means such as a monitor and software controlling what is displayed on the monitor. In particular the displaying means allow a user to be informed of information in the application database and in particular of information stored in said memory area for the proposals. The user means further comprise input means for entering information such as a keyboard and associated software. In particular the input means include means for entering, to fields in the memory area, information on judgments or grades given to proposals that are in the judgment stage. The server is preferably arranged so that the memory place for a proposal in the memory area includes a stage field, in which an indication is stored of the stage in which the proposal is. Generally also, the stages include, in addition to the judgment stage an evaluation stage following directly after the judgment stage and another stage following directly after the evaluation stage. 
   The server is arranged to execute a background process in which information about proposals is automatically eliminated so that thereby proposals are discarded, and in which the indications stored for proposals are to automatically changed so that thereby proposals are displaced from a stage to a following one. The automatic eliminating and changing of the indications are executed depending on information entered by the users and according to predetermined rules. The rules are unique for proposals of the same stage, i.e., for proposals for which the indications stored at their memory places indicate that they are in the same stage, and they are also unique for each displacement of proposals from a stage to a following stage, i.e., for each change of indication of stage. 
   Furthermore, the server can be arranged to execute the background process so that for all proposals in the judgment stage, i.e., for all proposals for which the indications stored in their stage fields indicate that they are in the judgment stage, the information stored on the memory places for these proposals about the information on judgments or grades given by the users is evaluated in such a way that only a predetermined number is moved to the next stage. This means that from proposals in the judgment stage only a predetermined number of proposals are selected and then their indications stored in the stage field are changed to indicated the next stage. The selection can preferably be made at the end of periodically repeated time periods. The other proposals in the judgment stage are discarded, i.e., the information stored on their memory places is eliminated. 
   Additional objects and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The objects and advantages of the invention may be realized and obtained by means of the methods, processes, instrumentalities and combinations particularly pointed out in the appended claims. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     While the novel features of the invention are set forth with particularly in the appended claims, a complete understanding of the invention, both as to organization and content, and of the above and other features thereof may be gained from and the invention will be better appreciated from a consideration of the following detailed description of non-limiting embodiments presented hereinbelow with reference to the accompanying drawings, in which: 
       FIG. 1  is a diagrammatic illustration of a simple computer network system having a client and a Web site. 
       FIG. 2  is a flow diagram showing steps available to a user (non-administrator) of the system. 
       FIG. 3  is a flow diagram showing steps available to the administrator of an application. 
       FIG. 4  is a diagrammatic illustration of the background process. 
       FIG. 5  is a diagrammatic illustration of a settings table maintained as a database data structure at the Web site. 
       FIG. 6  is a diagrammatic illustration of an application database maintained at the Web site. 
       FIG. 7  is a diagrammatic illustration of a proposals table maintained as a database data structure at the Web site. 
       FIG. 8  is a diagrammatic illustration of the table Personal, containing information about users of the system, maintained as a database data structure at the Web site. 
       FIG. 9  is a diagrammatic illustration of an unrated proposals table, containing information about proposals not judged by particular users, maintained as a database data structure at the Web site. 
   

   DETAILED DESCRIPTION 
   A computer network system, particularly one on the scale of the Internet, has many host network servers connected to serve data to many clients over a network.  FIG. 1  shows a simple computer network system  20  representative of the familiar, large-scale Internet environment. The system  20  has a client computer  22  resident at a user&#39;s premises. Although illustrated as a desktop PC, the client computer  22  is representative of many different types of computing devices, including portable computers, hand held computers, pagers, Web-phones, set-top boxes for TVs, and so forth. 
   The client computer  22  connects to the Internet  24  via a modem, network card, or other type of interface. The client computer  22  runs a Web browser application, not shown, to access content provided on the World Wide Web. The Web content is maintained at a variety of Web sites, as represented by the Web site  26 . 
   The Web site  26  has one or more server computers, collectively referred to as server  28 . The server computers may be implemented in various ways, including Unix-based server computers or PC-based computers. The server  28  includes electronic processing means such one more processors running a Web server software program  30  that accepts requests from the client-based Web browser, accesses data stored in a memory in or at the server, the data including a HashTable  32  with corresponding background processes  34  and a system database Pages  42  with corresponding application databases  44 . 
   The Web pages are transmitted using conventional network protocols, such as TCP/IP (Transmission Control Protocol/Internet Protocol), HTTP (Hypertext Transfer Protocol) and DCOM (Distributed Component Object Model). The client-based browser, or other application, renders the Web page into human-perceptible form. The Web page might include text, images, sound, video, active code, and so forth. 
   Of particular interest in this system  20  is a technique for conducting live interactive evaluation and comparison of proposals. A proposal submission procedure  58  invoked by a servlet SProposalSubmit allows one or more users to submit proposals. A judgment procedure  56  invoked by a servlet SUnratedView allows users to judge proposals according to a method common to all proposals in the application. The system uses one or more evaluation procedures to evaluate and/or compare submitted proposals using judgment submitted by the users. The result of the evaluation procedure is distributed to individuals or other systems for further use or used to select a fraction of the proposals for further use or distribution to individuals or to other systems. 
   To illustrate the context, consider the following scenario, which will be relied upon throughout this discussion. Suppose that the web site  26  contains a discussion forum where current political issues are discussed by the public. 
   Then, the Proposal Submission Procedure  58  executed in the server  28  allows users to submit proposals for issues to discuss. The Judgment Procedure  56  allows users to enter judgments concerning proposals. The Login Procedure  52  and the Logout Procedure  54  allow users to enter and exit the application. A procedure Create Users  62  allows an administrator to issue new user identities for distribution to potential new users of the application. The administrator can access a Procedure Adjust Parameters  64  to adjust values of different system parameters. Each application has a Background Process  34 , described in detail below, which is executed by the processing means of the server and controls the flow of proposals through the application and invokes a number of different methods contained in the process. 
   The Background Process will now be described using object oriented terminology and concepts used in the Java language. Every application of the System  20  corresponds to a separate application of the Background Process. To separate the different Background Processes the HashTable  32  contains a unique identifier for each application. 
   The Background Process  34  is implemented by the class PSP, which inherits the class Thread and is executed independently in a separate thread. A Background Process thus exists for every application of the system. The Background Process is arranged in an “eternal” loop in the method run( ). 
   The Background Process is illustrated in  FIG. 4 . It contains the methods ProcessState 0   71 , ProcessState 1   72 , ProcessState 2   73 , CleanUpProposals  74 , CleanUpGrades  75 , CalculateMean  76 , CalculateJuNe  77 , and CalculateCurRes  78 . 
   The method ProcessState 0   71  compares all the proposals in the table Proposal, see the discussion hereinafter, to criteria for removal to state 1. A criterion for removal to state 1 may be that a certain amount of time has elapsed since the time indicated by the time stamp in the field Transition Time in the table Proposal. A compulsory criterion is that the proposal to be removed is currently in state 0 as indicated in the field State in the table Proposal, as will be described below. Proposals found to fulfil the criteria are removed to state 1 by the same method  71 , by changing the value in the field State from 0 to 1. At the same time the time stamp in the field Transition Time is updated. 
   The method ProcessState 1   72  compares all the proposals in the table Proposal to criteria for removal to state 2. A criterion for removal to state 2 is that all the users registered in the system have judged the proposal. Another, independent, criterion is that a specified amount of time has elapsed since the time indicated by the time stamp in the field Transition Time in the table Proposal, as will be described below. A compulsory criterion is that the proposal to be removed is currently in state 1. Proposals found to fulfil the criteria are removed to state 2 by the same method  72 , by changing the value in the field State from 1 to 2. At the same time the time stamp in the field Transition Time is updated. 
   The method ProcessState 2   73  first calculates the difference between present time and the time registered in the field Transition Time in the table Proposals for the proposal last transferred to state 3. If this difference is smaller than the value of C as entered by the administrator, see the discussion below, the remaining part of the method is not executed, and the Background Process continues instead with the method CleanUpProposals  74 . If the difference is found to be equivalent to or larger than C the remaining part of the method is executed. The method then compares all the proposals in the table Proposal to criteria for removal to state 3. A criterion for removal to state 3 in the described application is that the value registered for the proposal in the field Mean in the table Proposal belongs to the highest N values, to be described below, registered in this field among proposals in state 2, i.e., that the proposal is among the N best proposals and thus considered to be a “winner”. The method evaluates and compares every proposal in state 2 to the other proposals in state 2 to find out if the proposal should be selected or rejected. A compulsory criterion for removal to state 3 is that the proposal is currently in state 2. Proposals found to fulfil the criteria are selected and removed to state 3 by the same method  73 , by changing the value in the field State from 2 to 3. At the same time the time stamp in the field Transition Time is updated. 
   The method CleanUpProposals  74  compares all the proposals in the table Proposal to criteria for deletion. Criteria for deletion in the described application is that an amount of time equivalent to or exceeding the parameter ET as registered in the table Settings in the database Pages, as will described below, has elapsed since the time indicated by the time stamp in the field Transition Time in the table Proposal and that the proposal is currently in state 2. Proposals found to fulfil the criteria are deleted from the table Proposal by the same method  74 . 
   The method CleanUpGrades  75  compares all the entered judgments as registered in the table Proposal to criteria for deletion. A criterion for deletion is that an amount of time equivalent to or exceeding the parameter JL as registered in the table Settings in the database Pages has elapsed since the judgment was entered. Judgments found to fulfil the criteria are deleted from the table Proposal by the same method  75 . 
   The method CalculateMean  76  calculates the mean of entered judgments using the formula 
             m   i     =         ∑     x   ki       +   C         n   i     +   1             
where m i  is the mean,
 
x ki  the judgment of an individual proposal,
 
C a constant, and
 
n i  the number of judgments concerning the proposal entered by the users.
 
   The information is found in the table Proposal. The users are stratified using values of date of birth and sex found in the table Personal to be described below, and the mean for each stratum is calculated using the above formula. A weighted average is then calculated, the weight of every stratum being proportional to the number of users in the stratum. The calculated weighted average is entered into the field Mean in the table Proposal by the same method  76 . 
   The method CalculateJuNe  77  calculates the value of JuNe using the formula 
                   JuNe   a     =         φ   2     ⁡     (         m   a     -     m   r             σ   a         n   a         +       σ   r         n   r             )       ·       σ   a   2           σ   a   2     ⁢     n   r       +       σ   r   2     ⁢     n   a           ·       n   r       n   a                   where               φ   ⁡     (   x   )       =       1     σ   ⁢       2   ⁢           ⁢   π           ·     ⅇ         -       (     x   -   μ     )     2       /   2     ⁢           ⁢     σ   2                       
m a  is the calculated mean of the proposal considered,
 
m r  is the calculated mean of a reference proposal, the reference proposal being proposal N+1 in a list of all proposals arranged in a falling order according to calculated mean when the considered proposal is ranked N or better in the same list, the reference proposal being proposal N when the considered proposal is ranked N+1 or worse in the same list,
 
n a  is the number of judgments entered concerning the considered proposal,
 
n r  is the number of judgments entered concerning the reference proposal,
 
σ a  is the standard deviation of the judgments of the considered proposal and
 
σ r  is the standard deviation of the judgments of the reference proposal,
 
the standard deviation being calculated using the formula
 
             σ   j   2     =       A   +     ∑       (       x   ki     -     m   i       )     2       +         min   ⁡     (     B   ,   p     )       ·       ∑     k   ≠   j       ⁢     s   k   2           (     p   -   1     )           B   +     n   j     -   1   +     min   ⁡     (     B   ,   p     )                 
where x ki  the judgment of an individual proposal,
 
m i  is the mean of judgments of the same proposal
 
             ∑     k   ≠   j       ⁢     s   k   2           
is the mean of standard deviations for all the other proposals in the application,
 
p is the number of judgments concerning a proposal entered by the users, and
 
A and B are constants.
 
   The calculated value of JuNe is entered into the field JuNe in the table Proposal by the same method  77 . 
   The method CalculateCurRes  78  calculates the probability that a proposal will be among the winning N proposals using a simulation procedure with S simulations. The considered proposal will be found in place N, see the description below, or better G times. The value calculated by the method is G/S. Simulation is performed using random numbers
 
Z j εN(m j ,σ j )
 
where
 
m j  is the mean and
 
σ j  is the standard deviation
 
the standard deviation being calculated using the formula
 
             σ   j   2     =       A   +     ∑       (       x   ki     -     m   i       )     2       +         min   ⁡     (     B   ,   p     )       ·       ∑     k   ≠   j       ⁢     s   k   2           (     p   -   1     )           B   +     n   j     -   1   +     min   ⁡     (     B   ,   p     )                 
where x ki  the judgment of an individual proposal,
 
is the mean of judgments of the same proposal
 
             ∑     k   ≠   j       ⁢     s   k   2           
is the mean of standard deviations for all the other proposals in the application,
 
p is the number of judgments concerning a proposal entered by the users, and
 
A and B are constants.
 
   The calculated value is entered into the field Current Results in the table Proposal by the same method  78 . 
   The Application Database 
   The configuration of the application database is shown in  FIG. 6 . It contains three tables: Personal, Proposals and UnratedProposals, all described in detail below. Each table is stored in the memory of the server and the records and the fields of the records have corresponding storing places in the memory. 
   The Table Personal 
   The layout of the table Personal is illustrated in  FIG. 8 . Each record or line of the table contains fields for a unique identifier for every user, password, first name, last name, email address, telephone number, sex and date of birth. Specifically, the field PersonID contains the unique identifier and is filled in automatically by the servlet SCreateUsers when requested by the administrator. The field Password is filled in automatically by the same servlet. All fields except the PersonID field may be filled in and changed by the user identified in the PersonID field, with the exception of the PersonID field which may not be altered. Each user has a personal row in the table and the number of rows corresponds to the number of users registered. 
   The Table Proposal 
   The layout of the records of the table proposal is shown in  FIG. 7 . Each record contains fields having information about all the proposals in the application. In particular, the field ProposalID contains a unique identifier for each proposal and is filled in automatically by the servlet SProposalSubmit when a proposal is submitted to the system by a user. The field State contains information about how far the proposal has progressed within the application. The value “0” indicates that the proposal has not been the objective of judgments by users. The value “1” indicates that the proposal is available for users to judge, but is not yet being evaluated or compared to other proposals. The value “2” indicates that the evaluation and reciprocal comparison of the proposal, based on judgments entered by users, has started. The value “3” indicates that the proposal has not been removed from the application and has been categorized as a winner based on reciprocal comparison with other proposals. The proposal is available for further use. The field is filled in by the servlet SProposalSubmit when a user enters a proposal and is updated by the methods ProcessState 0 , ProcessState 1  and ProcessState 2  of the Background Process. 
   The table Proposal contains in each line a key to the table Personal in the field PersonID, containing the unique identifier of the user who submitted the proposal and is filled in automatically by the servlet SProposalSubmit. The field Subject contains information about the proposal entered by the user and the field Proposal contains the proposal as a text file, sound file, picture file or other file. The remaining fields correspond to the judgment method used in the system. In this application the fields are ABS, indicating the number of registered users who have not yet judged the proposal, BF 1  indicating the number of users who have judged the proposal giving it grade 1, BF 2  indicating the number of users who have judged the proposal giving it grade 2, BF 3  indicating the number of users who have judged the proposal giving it grade 3, BF 4  indicating the number of users who have judged the proposal giving it grade 4 and BF  5  indicating the number of users who have judged the proposal giving it grade 5. The field JuNe contains a number indicating how strongly the proposal “needs” another judgment by a user to be safely differentiated from the border between the N winning proposals, see the discussion below, and the remaining proposals. The field is filled in automatically by the method CalculateJuNe of the Background Process. The field Current Results contains a number indicating the probability that the proposal will be among the N winning proposals and is filled in automatically by the method CalculateCurRes of the Background Process. The field Mean contains the mean value of judgments entered by users and is filled in automatically by the method CalculateMean of the Background Process. The field TransitionTime contains a time stamp indicating the time for the latest significant event in the history of the proposal, namely submission or latest change of state, as has been indicated above. Every proposal has a separate row in the table and the number of rows corresponds to the number of proposals registered. 
   The Table UnratedProposals 
   The table Unrated Proposals is shown in  FIG. 9 . It contains information about proposals not yet judged by a user. Every row has a unique identifier in the field ID, filled in automatically by the System. The field ProposalID contains the unique identifier of a proposal not yet judged by a user and the field PersonID contains the unique identifier of the user who has not yet judged the proposal. 
   The System Database Pages 
   The configuration of the database Pages is shown in  FIG. 5 . It contains the table Settings. Each record or line of this table includes a field DatabaseName containing a unique identifier for every application in the System and corresponding to a particular group of users, i.e. members of a certain organisation using the system. The field is filled in by a “global administrator”. The field Root contains information about where information about the layout used in the application can be found, allowing different groups of users to have their own graphical design of the interface. The remaining fields contain values for the parameters of every application, N, C, ET and JL as defined below. Every application is represented by a separate row in the table, and the number of rows corresponds to the number of applications registered in the system. 
   User Action 
   The general actions taken by a user and the responses to the actions are illustrated by the flowchart of  FIG. 2 . 
   When a user requests the login page in the form of a HTML- or XML-document by submitting the address to the page in a Web browser, a login file login.html is passed to the user and the file is shown as a login-picture on the screen of the user&#39;s terminal by the user&#39;s Web browser. The user enters data in different fields in the login picture, such as username and password. This information is passed to the server  28  and is processed by a servlet SLogin. If the obtained data are found to be correct when compared to information stored in the database in the table Personal, the user is connected to the requested application. The file FrameSet.thtml is then passed to the user&#39;s terminal and showed by the Web browser as a picture. The picture corresponding to the part of the file named Leftframe.htm is a menu which is showed in all the pictures of the application. The menu contains the alternatives “Submit proposal”, “Judge proposal”, “Personal” and “Logout”. By marking or clicking, i.e. with a mouse, a field containing the text of an alternative, the Server  28  either passes a new file to the user&#39;s terminal  22  or starts a Procedure. 
   When a user activates the alternative “Submit proposal”, a file Proposal.htm is passed to the user&#39;s terminal and is shown by the users Web browser as a new picture. In this picture the user is invited to submit a new proposal. When the alternative “Judge proposal” is activated the servlet SUnratedView generates a file RateProposal.thtml, containing a proposal which has not been judged by the user. The file is passed to the user&#39;s terminal, where it is shown as a picture by the Web browser. The picture contains information about the proposal and a field to enter a judgment concerning the proposal according to a predetermined method used in the entire application for all proposals, i.e., grades on a scale 1-5 or a judgment based on comparison with another proposal shown in the same picture. The proposal passed to the user is either chosen automatically by the servlet or manually by the user, both procedures described in detail below. When a user activates the alternative “Personal” a servlet SpersonView is activated. This servlet requests personal data for the user from the table Personal and creates a file which is sent to the terminal of the user and showed as a picture by the Web browser. In this picture personal information of the user is shown and the user may change this information, with the exception of PersonID which may not be changed. When a user activates the alternative “Logout” a servlet Slogout is activated, terminating the session and allowing the user to leave the application. 
   The actions taken by a persons administrating an application and the system responses thereto are illustrated by the flowchart of  FIG. 3 . Thus, when an administrator logs in the same events take place as when a user logs in as described above, with the difference that the file LeftFrameAdmin.htm is used instead of the file LeftFrame.htm, showing a menu containing the alternatives “Adjust Parameters” and “Create new users”. When the alternative “Adjust Parameters” is activated the servlet SAdmin creates a file which is sent to the administrator&#39;s terminal and showed as a picture by the Web browser. This picture shows the different parameters of the application and their current values, which can be adjusted by the administrator. When the alternative “Create new users” is activated a file NewUsers.htm is passed to the administrator&#39;s terminal and showed as a picture by the Web browser. This picture allows the administrator to create new user identities and corresponding passwords which can then be passed to new users allowing them to become users of the application. 
   When a user activates the alternative “Submit Proposal” the file Proposal.htm is sent to the user&#39;s terminal as a part of the file FrameSet.thtml and showed as a part of the picture presented on the screen by the Web browser. The picture contains one or more fields where a proposal and information about the proposal may be entered by the user. When the proposal has been entered by the user, a servlet SproposalSubmit is started, generating a unique identifier ProposalID for the new proposal and entering the new proposal including the identifier and submitted information about the proposal into the table Proposal, also indicating the current state of the proposal, see below. The same servlet then sends a file ThanxProposal.htm to the user&#39;s terminal, shown by the Web browser as a text informing the user that the proposal has been accepted by the application. The servlet SProposalSubmit also enters the unique identifier of the user PersonID into the corresponding field in the table Proposal and enters the value 0 into the field State. 
   When the alternative “Judge proposal” is activated by the user one of two alternative procedures is started in order to choose a proposal to present to the user allowing the user to submit a judgment. 
   In the first alternative, the servlet SUnratedView has been configured to evaluate and compare proposals and select the proposal among proposals in state 1 and 2 not yet judged by the user with the highest value in the field JuNe in the table Proposal. Information from the table Unrated Proposals is used to identify the proposals not yet judged by the user. The proposal, information about the proposal and information about how the proposal may be judged (i.e. on a scale 1-5) is retrieved from the table and used to generate a file RateProposal.thtml. 
   In the second alternative, activation of the alternative “Judge proposal” activates the servlet SUnratedList, which generates a list containing all proposals in state 1 or 2 not yet judged by the user. Information about these proposals are stored in the tables UnratedProposals and Proposal. The proposals are evaluated, compared and ranked by the value in the field Current Results in the table Proposal. The information is used to generate a file VoteProposals.thtml which is passed to the user&#39;s terminal and showed as a picture by the Web browser. The picture contains a list with the proposals arranged after the value in the field Current Results in the table Proposals, with the proposal with the best chance of being among the N winning proposals (se below) on top of the list followed by the proposal with the second best chance of being among the winners and so forth, with the proposal with the least chance of being among the winners last. The user may choose the proposal he or she wishes to judge from the list. The list shows information about the proposals as entered when the proposals were submitted, i.e. a brief description or an indication of the chosen subject. For every proposal there is a field where the user may indicate that he or she wishes to judge the proposal. When this field is activated the servlet SUnratedView is started. In this alternative the servlet is configured to use the identifier of the chosen proposal ProposalID to retrieve information about the proposal and information about how the proposal may by judged, e.g. on a scale of 1-5). The servlet uses the information to generate a file RateProposal.thtml. 
   The file RateProposal.thtml is passed to the user&#39;s terminal and showed by the Web browser as a picture. The picture contains the proposal, information about the proposal and a field to enter a judgment concerning the proposal according to a predetermined method used in the entire application for all proposals, i.e. grades on a scale 1-5 or a judgment based on comparison with another proposal shown in the same picture. The generated pictures may look different in different applications, depending on which information is shown and the used method for judgment. When a user has entered information about how he or she judges the proposal, a servlet SRate is started. This servlet uses the identifier ProposalID and the chosen judgment to register the chosen judgment in the table Proposal. The judged proposal is removed from the table UnratedProposals. The same servlet also passes a file to the user&#39;s terminal, showed by the Web browser as a text indicating that the judgment has been accepted by the application. 
   When the alternative “Personal” is chosen a servlet SPersonView is started. The servlet uses the identifier PersonID (described below) to retrieve information from the table Personal, which is passed to the user&#39;s terminal and showed by the Web browser as a picture containing information about the user, i.e. name, email address, telephone number, sex, date of birth. There are also fields where information not available in the database may be entered by the user and fields where the user may update the information. The identifier PersonID is a unique identifier and may not be changed by the user. When the user after entering new information activates a field with the text “OK” the information is passed to the application and entered into the table Personal. 
   When an administrator activates the alternative “Adjust Parameters” the servlet SAdmin creates a file which is sent to the administrator&#39;s terminal and shown as a picture by the Web browser. This picture shows the different parameters of the application, the value for each parameter used by the application and a field to start and stop the Background Process. In this picture the administrator may enter or adjust values of the parameters N, the Number of winning proposals each time that results are produced, C, the length of each cycle, i.e. the time period between the times when results are produced, ET, the Evaluation Time, the amount of time any given proposal is being compared with other proposals, and JL, Judgment Life Span, the maximum time period during which an entered judgment is valid. When values are entered or adjusted the servlet SAdminSet enters the values into the table Settings in the database Pages. The servlet then activates the servlet SAdmin. 
   When the alternative “Create new users” is activated by the administrator a file NewUsers.htm is passed to the administrators terminal and showed as a picture by the Web browser. The picture contains a field allowing the administrator to enter the number of new users wished, called NumberOfUsers. When the number has been entered, the servlet SCreateUsers starts. The servlet creates a number of new identities PersonID equivalent to the number entered by the administrator, with corresponding passwords. For every new user identity a new row is added to the table Personal. The servlet then generates a file NewUsersList.thtml, which is passed to the administrator and shown by the Web browser as a picture. This picture shows the created user identities and corresponding passwords, allowing the administrator to distribute them to new users of the application. 
   EXAMPLE 
   The system will now be described in the context of the example briefly mentioned above; an Internet site containing a discussion forum where current political issues are discussed by the public. The public is invited to submit proposals for subjects to be discussed. 
   A visitor to the site chooses the Proposal Submission Procedure after completing the Login Procedure, and submits a proposal “Health insurance is expensive and important. How is it best arranged?” and the text “Health insurance” as information about the proposal. The text files are entered into the fields Proposal and Subject of the table Proposals respectively. The servlet SProposalSubmit generates a unique identifier and completes the field ProposalID, and enters the value 0 into the field State. A time stamp is registered in the field Transition Time. 
   If the method ProcessState( ) of the Background Process does not contain specified criteria for removal of Proposals to state 1 it will almost instantaneously change the value in the field State from 0 to 1. The proposal will initially be ignored by the methods ProcessState 1 , ProcessState 2 , CleanUpProposals and CleanUpGrades. The methods CalculateMean, CalculateJuNe and CalculateCurRes will enter values into the fields Mean, JuNe and Current Results respectively. 
   The proposal is presented to visitors to the site choosing the Judgment Procedure and their judgments are entered into the fields BF 1 , BF 2 , BF 3 , BF 4  and BF 5  respectively. The values registered in the fields JuNe, Current Results and Mean are continuously updated by the Background Process. The method CleanUpGrades will continuously delete judgments older than the specified JL. 
   When a time equivalent to or exceeding the time specified as a criterion in the method ProcessState 1  has passed, or when all registered users of the application have judged the proposal, ProcessState 1  will change the value in the field State from 1 to 2. The next time the method ProcessState 2  is activated the proposal will be compared with other proposals. If the value in the field Mean for the discussed proposal is found to be among the N best values by the method, the value 3 is entered into the field State. The proposal is then available for further use and can be transmitted as a subject to the discussion on the described Internet site. 
   If the proposal is never transferred to state 3 it will finally be deleted by the method CleanUpProposals, when the time elapsed since the registered Transition Time exceeds ET as entered by the administrator. 
   The system can be used in many contexts, and the above is only an example. The system allows participative agenda setting and is thus valuable in a democratic process. If statements in a discussion are entered as proposals into the system, participants in the discussion will be able to moderate the discussion in cooperation. An organisation can use the system as a tool to encourage intellectual contributions (proposals and judgments) by employees or members, presenting the best contributions to the managers at regular intervals. The system allows a researcher to pose an open question to a group of respondents of unlimited size, and thus constitutes a new method for qualitative data collection and analysis, allowing simultaneous collection of quantitative data. The system can also be used to support interactive functions associated with broadcast media. The audience of a program can propose, select and present proposals and questions in real time. 
   Although the invention has been described in language specific to structural features and/or methodological steps, it is to be understood that the invention defined in the appended claims is not necessarily limited to the specific features or steps described. Rather, the specific features and steps are disclosed as preferred forms of implementing the claimed invention. 
   While specific embodiments of the invention have been illustrated and described herein, it is realized that numerous additional advantages, modifications and changes will readily occur to those skilled in the art. Therefore, the invention in its broader aspects is not limited to the specific details, representative devices and illustrated examples shown and described herein. Accordingly, various modifications may be made without departing from the spirit or scope of the general inventive concept as defined by the appended claims and their equivalents. It is therefore to be understood that the appended claims are intended to cover all such modifications and changes as fall within a true spirit and scope of the invention.