Implementation Design (4)
Multiple servers
- A master server stores the master copy of all upgrades
- Upgrades pushed from master server to other servers
- Each server sends upgrades to its clients and each client processes upgrades as in the single server implementation
- Problem: need to maintain consistency when a client talks to multiple servers---an upgrade may arrive at one server before another
- Client acts as relay to restore consistency: each commit request is tagged with serial number of newest upgrade at client