How vote servers exchange information



next up previous contents
Next: Security and privacy Up: Vote server Previous: Interface module communication

How vote servers exchange information

The vote servers exchange information in a fashion similar to the news servers. At regular intervals each vote server contacts its neighbors and offers to exchange packets of votes with them. Before contacting other vote servers, a server combines all the votes received from local users since the last information exchange into a single packet. The vote server then offers to send each neighbor the packet of new votes and any packets the server has recently received from other neighbors.

When a server receives a packet for the first time, the server combines the votes from the packet into the server's vote database. The server records the packet as having been accepted so the server will not accept the same packet twice. The server continues to store the packet however, so that the packet can be offered to the server's other neighbors. Once the server has offered the packet to all its neighbors, the packet will be deleted.

As a trivial implementation of this, the news system itself can be used to exchange the votes. Consider two sites which wish to exchange vote information. If these two sites do not already exchange Net News, a simple change to their newsfeeds or sys file can set up the news servers so that they exchange only one group, a new group that will be created just for exchanging ratings. Another one line addition to the newsfeeds or sys file can cause the news server to hand off each article received in the votes group to a batcher script which prepares the vote packets for input into the vote server. Since the vote packets are processed and fed into the vote server as soon as they are received, the expiration time on this votes group can be set to the shortest possible time. Unlike the case described in section gif, the votes group will be minimally small as we are only co-opting the Net News system's transfer mechanism, not its storage mechanism.

If a further reduction in network traffic is required, the system could again take advantage of the summarized nature of the exchanged votes and create a hierarchy of vote servers. In this arrangement, each vote server only sends votes to its parent node and the other children of the parent. The parent node would combine the summaries of its children to form a summary which represented all the nodes under the parent. This super-summary could then be transported up the tree in a repeat of the process.



next up previous contents
Next: Security and privacy Up: Vote server Previous: Interface module communication



David A. Maltz (dmaltz@cs.cmu.edu)