ext_5965: (Default)

Re:

posted by [identity profile] palfrey.livejournal.com at 11:22am on 19/02/2004
Two thoughts:
1) In my system, only *some* of the machines will be servers, and they're specifically designated as such. Average punters only have clients. So, ergo you can at least try and give them a bit more hardware/redundancy to reduce the crashing problems.
2) The algorithm for figuring out who's responsible for what part of the world at any one time is going to be dynamic based on where clients are, but also there will be some providing for backing up of world state, probably along the lines of backing up each world section state to another server every n seconds. Then, if the server responsible for a particular world section doesn't talk for more than n (same one) seconds, the backup announces the death to all of the clients that needed the new section. If the old server comes back, then next time it polls it's clients to check if they're still alive, it'll get told it's got voted out (NB: doesn't imply we trust the clients, as this information can be checked with the server that has voted us out), and so it can figure out what the new status quo is.
ext_5965: (Default)

Re:

posted by [identity profile] palfrey.livejournal.com at 11:25am on 19/02/2004
Forgot to mention: This does result in some loss of state due to the difference between the backup and the current state, but this can be reduced by suitably low n's. N gets tweaked depending on your balance between available bandwidth and need for avoiding loss. Also depends on the size of the world sections... yup, many details still need to be thought about.

February

SunMonTueWedThuFriSat
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22 23
 
24
 
25
 
26
 
27
 
28