Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
The Symmetric Proxy pattern is as much a discovery as an invention. Heliotis and Schreiner found that they could establish instances of two player objects arranged as peers over the Internet. Each side has both a proxy and a "real" player. Likewise, the referees on each side have the same information. Whatever move a player makes is treated the same by each of the referees. The referee object has no idea where a move comes from—it's clueless, as Heliotis and Schreiner note. All that the referee has to do is to call the players when the game is over and let them know the outcome. The referees are perfectly synchronized because they're reacting to the same state information, without caring whether the information is local or from a proxy; as a result, when the game-over conditions are met, both inform the players in exactly the same way, resetting all variables, and prepare for the next game.
Figure 13-3 shows the object diagram of the Symmetric Proxy Pattern: