I was actually just thinking about this yesterday and came up with a very simple way to provide synchronization across clients in a way that doesn't require a central server. In other words, no central agent would be required to store all your personal data, and you'd still be able to synchronize your media across all your devices.
I don't think that's the starting place. Let's just come up with the absolute simplest version and then build up from there.
emacsen.net is one server in the network