Sunday, April 27, 2008

We are the Cloud

There's been lots of news lately about "cloud computing" and suches. Google's out there with their new app engine, Amazon has their web services, Microsoft probably has something (I tend to ignore them :)). And there's also the data portability organization. It's all got me wondering.

It's no news that people are posting huge amounts of data on the web. Photos on flickr, text on blogs and sribd, videos on youtube, etc. etc. etc. The idea (my understanding of the idea, anyway) of data portability is that we should control our data. If we post a photo on flickr and then want it, instead, elsewhere (just on our local computer, on some other photo service), we should have the ability to do so. Web services should interact, like if we want to order printed copies of those photos from some other service, we should be able to tell flickr to let the other service grab the picture. There are things in place for this sort of thing to happen (oauth, companies opening up APIs for their services).

It seems to me, though, that there might be another way for us to store our data "in the cloud", and allow web services or individuals to access it, once we give them permission. The other project I have in mind when I've been thinking about this is bittorrent. I'm trying to envision a decentralized cloud, where we can store and interact with (and allow others to do so as well) our data. So instead of having our data with google or amazon (even if we have 'control' over it there), I'm wondering about maybe running a client on my computer (kinda like a bittorrent client), from which I can store and access files among the other people running the client. In order to use the client, I agree to set aside some of my hard drive space, and I'm then allowed to store some related amount among the others using this system. Rednundancy and privacy and encryption all built in, of course. So my computer dies, but the data is all stored in the wild, and I can retrieve it. The folks doing openid have a decentralized system, and I can't help but hope lots of the same ideas work for storing files in this cloud.

There's also no reason there should only be one client for this system. There are lots of bittorrent clients. The system is really the architecture and protocols. Then there probably should be some people keeping track of "trusted clients" or something, because if I'm storing my data on other people's computers, I want to know they aren't doing things with it that they shouldn't be.

I know none of that was precise, well thought out, or well described. I know that I don't know enough right now to even pretend that I can take this idea very far. Issues of privacy and safety and copyright and... I don't have answers to. My hope is that there is a kernel of a worthwhile idea here, and that somebody in a position to do something about it finds it.


Josh said...

Very interesting thoughts...I'm not sure of the security implications but thinking out loud like that is very constructive.

My company is in the Identity space and we are constantly trying to think of outside the box concepts like this, regardless of the practicality. Who knows what you come up with?

sumidiot said...

Thanks for the encouragement. I've been thinking about things more, and hope to get another post up in the next few days.

In the mean time, I found Enomalism. While I haven't gotten time to look into it more, it seems like it might be relevant.