However, arbitrators are more general and thus can be more useful. At one extreme, arbitrators can be used to enforce game rules. In this case, the client program is replicated at each client and all important confrontation is done at the arbitrator. At the other extreme, arbitrators can contain an entire program at the arbitrator. In this case, the hablet essentially becomes an instance of a client program under the control of a server, and the clients are basically just GUIs in the classic client-server sense.
Arbitrators can also force the synchronization of events on all clients.
For example, clients that run on different hardware may run at different speeds. To keep all events in lock-step, the arbitrator may require all clients to run no faster than the speed of the client on the slowest processor. The com-manager accepts events and makes sure that they go to all the appropriate clients. Although the com-managers are currently located in the server, Habanero is designed to allow each client to do its own routing. Networking Habanero takes care of networking for you.