Kerika's Storage Server
Kerika's storage server, which currently runs on our data center, works in a very simple way: if you are update a shared item (a page, a document, a task, whatever...), and some of your buddies are not online, they would normally not get your latest changes. That's how "pure peer-to-peer" technology works -- just think of instant messaging as an example: if your buddies are not online, you can't chat with them.
This can be a very significant problem when you have a team of people that are distributed by geography, or where you are working with people with different work habits (and sleep cycles!) than yourself: the chances that everyone is online at the same time can be very small indeed.
Kerika solves this problem very simply: we have a special peer that we call the storage server that runs all the time at our data center, just waiting to step and be helpful whenever you need to pass on an update to an absent buddy.
Here's how it works:
Your machine always knows when your buddies are online or not: we have another server at our data center, which we call the rendezvous server, that hooks you up with your buddies. If you update something that you are sharing with a bunch of other Kerika users, your machine can automatically detect if some of these buddies are not online. If anyone is missing from your team, your machine packages up a message for your absent buddy and sends it to the storage server to act as a forwarding service.
The storage server gets the message from your machine and unwraps it just enough to figure out who it is intended for: i.e. the names of your absent buddies. It then sits waiting for your buddies to come back online, which could minutes, days, or weeks later.
Whenever a Kerika user comes online, their computer first checks in with the rendezvous server to let the Kerika community know that this user is now online. The rendezvous server lets this user's machine know if any of his or her buddies are currently online, and if so, how to reach them (i.e. it tells each user the IP addresses of the user's online buddies).
The users' computer also checks in with the storage server at our data center to find out if there are any messages waiting for him (or her).
(This is just like coming back to your hotel after a day's sight-seeing: you ask the front desk or concierge if there are any messages waiting for you. Checking in at the front desk also lets the hotel know that you have returned, so if anyone calls and asks for you they will be connected directly to your room.)
All of this works silently in the background: you, as the user, need never concern yourself with the details of how Kerika magically connects you with your buddies regardless of where they are, what sort of machine they are using, or even whether they are currently online or not!
If you do have any messages waiting for you, the storage server hands them off and then gets rid of its local copies. This is a critical point to note: the storage server does not keep messages any longer than necessary: once the absent buddy shows up and gets his or her messages, the storage server cleans out its queue!
So the bottom line is that the storage server only gets involved when it needs to, and stays involved only for the minimum time involved. We do not have any humans or computer programs running on our data center that scan these messages, because we are in the privacy business not the advertisement business!
0 Comments:
Post a Comment
<< Home