1: Server 101 receives a “Create Thread” write request<br />C<br />Server 101<br />Rw<br />Server 301<br />Server 201<br />
2: Server 101 assigns it threadID of 1101 and writes it to its store<br />1101<br />C<br />Server 101<br />Server 301<br /...
3: Server 101 chooses a backup server (least loaded or random if equal load) and requests a backup write<br />1101<br />C<...
4: Server 201 writes the data to its store as a backup<br />1101<br />C<br />Server 101<br />Server 301<br />Server 201<br...
5: Server 201 receives a “Create Thread” write request, writes it to store, sends a backup request to next highest ID, who...
6: Server 101 recieves a read request for Thread 1101. Data is fetched from it’s own store, and returned.<br />1101<br />C...
7: Server 101 recieves a read request for Thread 1201. Request is forwarded to Server 201, data is returned and passed bac...
8: Server 201 dies.<br />1101<br />C<br />Server 101<br />Server 301<br />Server 201<br />1201<br />1101<br />1201<br />
9: Server 101 receives a read request for 1201. It attempts to retrieve the data from Server 201, but gets nowhere as Serv...
10: Server 101 sends a request to other known servers for Server 201’s backup. It gets the data from there, and until 201 ...
11: Server 101 receives a write request. It writes it to its own store (as 2101) and attempts to send a backup request to ...
12: Server 101 chooses a second backup server (least loaded), and backup request like usual. Thread is written in new serv...
12: Server 201 recovers. Server 101 notices, and requests that Server 301 (temporary backup) move its backup back to Serve...
Upcoming SlideShare
Loading in …5
×

Server Logic

505 views
377 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
505
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Server Logic

  1. 1. 1: Server 101 receives a “Create Thread” write request<br />C<br />Server 101<br />Rw<br />Server 301<br />Server 201<br />
  2. 2. 2: Server 101 assigns it threadID of 1101 and writes it to its store<br />1101<br />C<br />Server 101<br />Server 301<br />Server 201<br />
  3. 3. 3: Server 101 chooses a backup server (least loaded or random if equal load) and requests a backup write<br />1101<br />C<br />Server 101<br />Rb: 1101<br />Server 301<br />Server 201<br />
  4. 4. 4: Server 201 writes the data to its store as a backup<br />1101<br />C<br />Server 101<br />Server 301<br />Server 201<br />1101<br />
  5. 5. 5: Server 201 receives a “Create Thread” write request, writes it to store, sends a backup request to next highest ID, who in turn writes it to store (ie, process repeated)<br />1101<br />C<br />Server 101<br />Rw<br />Server 301<br />Server 201<br />1201<br />1101<br />1201<br />Rb: 1201<br />
  6. 6. 6: Server 101 recieves a read request for Thread 1101. Data is fetched from it’s own store, and returned.<br />1101<br />C<br />Server 101<br />Server 301<br />Server 201<br />1201<br />1101<br />1201<br />
  7. 7. 7: Server 101 recieves a read request for Thread 1201. Request is forwarded to Server 201, data is returned and passed back on to client<br />1101<br />C<br />Server 101<br />Server 301<br />Server 201<br />1201<br />1101<br />1201<br />
  8. 8. 8: Server 201 dies.<br />1101<br />C<br />Server 101<br />Server 301<br />Server 201<br />1201<br />1101<br />1201<br />
  9. 9. 9: Server 101 receives a read request for 1201. It attempts to retrieve the data from Server 201, but gets nowhere as Server 201 is down.<br />1101<br />C<br />Server 101<br />Rw<br />2101<br />Server 301<br />Server 201<br />1201<br />1101<br />1201<br />
  10. 10. 10: Server 101 sends a request to other known servers for Server 201’s backup. It gets the data from there, and until 201 reinstates, it uses the new server as a 201 source.<br />1101<br />C<br />Server 101<br />Rw<br />2101<br />Server 301<br />Server 201<br />1201<br />1101<br />1201<br />
  11. 11. 11: Server 101 receives a write request. It writes it to its own store (as 2101) and attempts to send a backup request to Server 201.<br />1101<br />2101<br />C<br />Server 101<br />Rw<br />Rb: 2101<br />Server 301<br />Server 201<br />1201<br />1101<br />1201<br />
  12. 12. 12: Server 101 chooses a second backup server (least loaded), and backup request like usual. Thread is written in new server, like before.<br />1101<br />2101<br />C<br />Server 101<br />Rw<br />Rb: 2101<br />Server 301<br />Server 201<br />1201<br />2101<br />1101<br />1201<br />
  13. 13. 12: Server 201 recovers. Server 101 notices, and requests that Server 301 (temporary backup) move its backup back to Server 201.<br />1101<br />2101<br />C<br />Server 101<br />Rm<br />Server 301<br />Server 201<br />1201<br />1101<br />1201<br />2101<br />

×