Recursive Complexity

Thoughts and musings of a programmer and wanna be entrepreneur

Posts Tagged ‘Smart phone

The smartphone and the cloud…few possibilities (part 3)

leave a comment »

This is the 3rd article in a series of 3 articles talking about the use of the cloud for the smart phones. The previous 2 articles can be found here and here.

In this article I talk about how the cloud can be used to extend the storage space available to a smart phone. Smart phones of today and in the near future typically have/will have a storage space big enough to store lots of data. If you want to store lot of movies and want them readily available for viewing on your smart phone, you can store those movies locally. But that would consume vital disk space that can be used for apps or other more useful data (considering that movies are not that useful and only serve as entertainment 🙂 ).

Devices on the cloud typically have some local storage space. Now, can we use the storage space available on those devices in order to store and retrieve data ? Yes we can and the technology required would also be simple and an extension of what is already there for desktop and server systems.

Remote storage area

In the above figure, the smart phone accesses the storage space available on another smart phone, desktop, laptop or storage device that forms part of the cloud. These device that offer storage space need to have some kind of hardware or software support that enables another device on the cloud to access them and request for use of their storage area. The smart phone that accesses this storage space makes it appear as a local storage area for the user. All data transfer to and from this remote storage space is made just like it would happen for data transfers to and from local storage area. The lower levels of the smart phone operating system would take care of the steps required to send and receive the data to the remote storage area.

The concept is the same as the iSCSI, FCoE and FC technologies that enable desktop/laptop/server systems to login to and access disk area present on a remote system which is accessible. A target system has a software running on it which listens for in coming requests to access the storage space and after authenticating the requests provides permission to access the storage area. The client making the request is known as the initiator. This initiator target concept originates from SCSI protocol.

Although this process is network intensive and consumes a lot of bandwidth, it is assumed that in the future the network would we very fast and free of any glitches which makes this idea very viable.


  • Hardware or software support to make the remote storage space available for clients.
  • Hardware or software support on clients to access the remote storage area.
  • Fast networks.
  • Secure networks.


  • The smart phone may become entirely diskless. All data can be sent to and accessed from this remote storage area.
  • Critical data my be stored on other remote devices which provides redundancy and data loss protection.
  • Data can sent from one device to the other without much effort. This for example can help the user to download a move on his mobile phone and store it on his desktop. When he/she returns home, can view it easily on his/her desktop.
  • No need for mobile devices to support huge storage devices.
  • The mobile devices can become smaller and more portable as less space storage devices occupy less space.


  • The remote device that provides access to the storage area has to be running all the time. This consumes a lot of power.
  • Security is a problem as eaves dropping and spoofing are common on public networks.
  • If the network is slow, it’s a pain to wait till all data is transferred.

The smart phone in the future will be a full-fledged computing device and the network will have many more capabilities added to it repertoire. Hence, the ideas talked about in this series make sense and will be available to the user soon. This ends my 3 article series. Hope you enjoyed it :-).


Written by Vivek S

July 16, 2011 at 8:58 am

Posted in Tech

Tagged with , ,

The smartphone and the cloud…few possibilities (part 2)

with one comment

This is the second article in a series of 3 articles, about the use of the cloud for the smart phone.

As I mentioned in my previous article, the cloud can be used to bring up a mobile phone, saving memory occupied by the OS along with many other advantages as mentioned in that article.

Now let us take it a bit further and make the mobile phone boot off of another mobile phone, laptop, desktop or a storage device that is part of the cloud.

Boot from another storage device

Cloud boot

When the user switches on his mobile phone, a ROM embedded in the device is loaded in main memory. This ROM then initializes the network stack and establishes a connection to the cloud. This connection establishment is actually to the individual device which contains the boot image. However, for the end user, he is just establishing a connection to the cloud. The protocol used to establish the connection and make a request for the boot image should contain some facility to specify whether the boot image is located on a particular device or in the data center. Based on this parameter, the  cloud internally establishes a connection to this device and requests it to deliver the required boot image. This boot image is then forwarded to the end user. The protocol used inside the cloud may be entirely different from the one used for the communication between the end user and the cloud or the same, whichever is safe and convinient.


  • Special software (embedded ROM) or hardware support for the boot process in the device that serves the boot image.
  • The individual device on the cloud should be up and running.
  • Secure access to the boot image from the user to the cloud.


  • No need for data centre access which might cost money.
  • Mutlitple mobile phones, but just one OS image is necessary. This saves cost as the user has to pay for an OS image.
  • Customized OS to suit the user need.
  • One place upgrade of OS components.


  • The device needs to be up and running when the request for the boot image is made.
  • Secure access to individual devices is a tricky business as it has to be done by the person owning the device. In a data center, security is a given as people pay for the services. In this scenario, there is no money involved.
  • Special software (embedded ROM) or hardware support for the boot process on the individual devices.

This process serves a back up for the one described in my previous article. When there is no access to the data center, the user can boot his mobile phone from a nearby laptop or a desktop provided he/she has set it up to provide the boot image.

Written by Vivek S

July 3, 2011 at 5:05 pm

Posted in Tech

Tagged with , ,

The smartphone and the cloud…few possibilities (part 1)

with one comment

This is the first article in a series of 3, discussing applications of the cloud for the smartphones of the future not far off.

In this article, I will discuss booting a smart phone off the cloud.

The ideas presented in this series can be debated and have drawbacks, but I am sure this is the direction the smartphones are headed. The desktops and servers of today are already there and the next step is for the mobile phones to do the same.

I use the term smart phone assuming that all mobile phones of the future will be smart enough to interact with the cloud.

Boot is a term widely used for computers and as I am unaware of the term used to bring up a mobile phone, I will use the same here.

Booting a smart phone off the cloud.

Smartphones of today have the operating system (OS) image stored in permanent memory that comes along with them. When we power on a smart phone, the OS image is loaded into main memory (RAM), the control is transferred to it, after doing some necessary initialization and error checking and the phone starts to boot. Imagine a scenario where the OS image is stored in the cloud, in data centers and when we power on the smart phone, it requests the desired image from the cloud which is then provided to it by the cloud. See figure below.

Booting a smart phone from the cloud

Prerequisites for this process would be,

  • A ROM burned into the device that can communicate with the cloud.
  • User/client specific access to data stored on the cloud.
  • Security against snooping, hacking and other malicious activities.

The steps for the process would be,

  • The smart phone is powered on by the user.
  • The ROM is loaded into main memory and given control.
  • It establishes a secure connection to the cloud.
  • A request for the user OS image is made.
  • The cloud finds the user specific OS image by communicating internally.
  • The cloud then securely responds to this request.
  • The OS image is downloaded to the smart phone and then loaded into main memory and given control.
  • The phone starts to boot.
  • After the user is done using the phone, he powers off the phone.
  • A background process initiates a ‘save all changes’ session to the cloud.
  • All changes made to the OS and its application are saved to the cloud.
  • The device powers off.
  • The next time the user powers on the device, the updated OS image is provided.

As mobile phones are used by almost everyone today including me :-), a scenario observed is that we never switch off our phones. So when do the changes get committed to the cloud ?

An answer to this would be to have the back ground process save the changes, if any, at regular intervals, which the user can customize.

This idea is merely an extension of what is already there for desktop and server systems. Technologies like PXE, iSCSI, FC and FCoE are widely used in SAN environments to remotely (diskless) boot computers. The same technologies adapted to portable devices or new technologies based on them may be brought forward to achieve remote boot of mobile phones.


  • If a mobile phone is lost or damaged, data is still present on the cloud. No need to worry about data loss.
  • Data centers have advanced backup facilities that cannot be replicated by the user.
  • One place upgrade of OS and other applications which serves all clients.
  • Saves storage space previously occupied by the OS.

Disadvantages or drawbacks

  • Security is a major concern as is with all things associated with the cloud.
  • Cannot boot a mobile phone if there is no access to the cloud as can happen in remote places.
  • Slow network speeds can make the boot process a terribly long wait.

Given that networks all over the world are becoming more secure and everything is moving to the cloud, this seems to me to be a logical step for the smart phones of the future.

Written by Vivek S

June 26, 2011 at 10:56 am

Posted in Tech

Tagged with ,

TED Blog

The TED Blog shares interesting news about TED, TED Talks video, the TED Prize and more.