Wednesday, December 22, 2010

Occasionally Connected Clouds

At the NetHope Summit I got the pleasure of meeting one of Intel’s visionaries, Chris Thomas who is their Chief Strategists. He gave an inspiring talk and one of the topics he discussed at lengths was what he called Occasionally Connected Clouds. Throughout the week I had the opportunity to speak with him further on this concept and it was fun to explore this concept even further with him.

First of all I liked his definition of what is cloud computing. Pretty much all the different technologies we have been developing over the last few years (virtualization, social media, etc.) have been grouped together under this term cloud computing. That’s great because that means we all are experts in cloud computing already…

What cloud computing brings us is a transitional shift where we stop “building and maintaining” and start “buying and using”. This in turn means that the technology buying decisions move from the IT departments to the users. By not having to build the solutions within your organization your entry level costs are also much lower.

But we have all heard these and other reasons for moving into a cloud based architecture. But what about when most of your operations are outside of the well connected, always on first world we live in here in the Northern Hemisphere?

According to Chris’ estimate over 80% of the applications built in the last 15 years don’t work with the latency you experience on connections in the developing world. While those of us in the 1st world have moved most of our applications to the web, these solutions are often hardly usable in the developing world.

Part of the problem according to Chris is that developers and researchers keep getting faster and faster connections and more powerful computers so they end up developing solutions that don’t work in the real world.

That is where occasionally connected architectures come in. In occasionally connected architectures you design your solutions in such a way that you can still do your work even when you are not connected to the Internet. When you do get connection you synchronize back any changes you made and get back any changes made by others.

Many of us are already using solutions that follow this architecture principle. If you are like me and use Microsoft Outlook as your email client then you are already using an occasionally connected solution. Outlook caches the contents of your email folders on your laptop. You can still read your email, reply to email and delete email even though you are not connected (I very often use long flights to clean up my inbox). When you do get connected those changes get synchronized back to the server and you get the new mail that you have been sent.

Another Microsoft Office product, formerly known as Groove was also designed around this principle, but it added the peer-to-peer synchronization amongst clients connected to a local network into the mix. This was one of the reasons it became a popular solutions amongst the humanitarian community.

The key to creating solutions that work in this manner is to create these local caches of the information. While the main repository of information sits in the cloud (or in a private data center) the client contains a cache. In an optimal solution you should be able to synchronize the cache via Internet downloads, memory sticks or other media.

The concept of occasionally connected cloud solutions is gaining ground, especially with the growth of Smartphones. Many of the applications you see today running on iPhones, Androids or Windows Phones are built around this occasionally connected cloud model.

The back-end solution is a cloud based solution that often also has a web-based interface for those sitting at their laptops in a well connected environment. But for the mobile client they can’t expect to always have connectivity, so data is cached on the client and occasionally synchronized with the back-end cloud.

We in the humanitarian world will reap the benefits of more developers understanding the occasionally connected environments. This means that some of the enterprise based solutions we haven’t been able to utilize in the field, might get occasionally connected clients in the future. Clients that will work, even where there is not constant gigabit internet available and endless amounts of low cost electricity.

In a future post I will discuss how we can take this occasionally connected cloud model and help build the humanitarian cloud.

1 comment:

  1. Unfortunately, the present state of the art Occasionally Connection Applications lack transparent server synchronization methods. This explains why Occasionally Connection Applications are currently not very widespread.
    A breakthrough is upcoming: transaction-input-oriented server synchronization.
    Watch the video: http://www.youtube.com/watch?v=8Lie7NaBwFE

    ReplyDelete