Sunday, October 05, 2008

Application Streaming

Here is a problem... You want to increase the bandwidth per pin on a chip but power budget dictates that the core cannot be run faster. So you increase the number of cores and buffer to meet the bandwidth per pin. Why is this important to application streaming?

Systems are deal with real-time information do not have the luxury of disk storage. Most of the RT information is computed inside the chip complex and semiconductor technology places the current bottleneck at the pins. To remain real-time, we need to get the information off the chip and on the network on its way to its consumer as fast as possible. If I am a remote consumer of information, the core that is provisioned to me is not the bottleneck but the pins that it drives to get data to my handheld is.

So I have now resigned to the fate that my desktop will be hosted in the cloud and my service provider will charge me for the resolution at which I interact with it. Higher the resolution, higher the charge. I am sure they are not thinking that people will be sharing a remote session on a server like 1970s mainframe. What will make people give up their local desktop is if the desktop is like TV. Consumer buys the screen and the service provider delivers information. Service providers also differentiate among one another through the range of supported peripherals like today's MMPOG (games).

All of this puts the emphasis on application streaming. Moving code to client for execution is not going to fly. To make it usable, I need a thick client and that kills the cloud economics. Remote session is too slow. Streaming looks like the only approach right now. And for it to be useful, the chips need to increase the bandwidth per pin.

Tuesday, June 10, 2008

Location Based Services

At Apple's WWDC Jobs said there is a proliferation of LBSes on the mobile. Having a GPS inside the phone provides location as a parameter for all applications. I do not think there is a class of services called LBS. Classes of applications on the mobile generally fall into four categories

1. Sync and Search which are data intensive

2. Mapping which is graphics intensive

3. Social/Sharing which is network intensive

4. Monitoring which is sensor intensive.

Of course there is the voice and other standard media player type phone functions that we already have.

All these categories will benefit from location. But the point is there is no one application called LBS. Also, more services will be delivered to the phone over its wifi network than over its cellular. The phones add on functionalities at a far rapid pace. The carriers simply won't be able to keep up.

Thursday, May 15, 2008

Mobile Applications Framework

If you play with the various mobile platforms out there such as Android, LiMo, S60 etc., the one thing you will notice is that application development frameworks on these platforms are quite immature. One of the big advantages of having a framework is to not have to write custom code to reason with a new resource type. JDBC essentially created the whole application server market. We need something like that for mobile applications as well.

Mobile frameworks are essentially client side libraries that hide the myriads of APIs that are available to access resources over the web.

Wednesday, April 30, 2008

Home Area Network

Did you know that an average american household contains appliances that use at least six different network protocols everyday. They are

1. Cordless Phone Network
2. Bluetooth Network
3. Cellular Network
4. WiFi Network
5. Cable Network
6. POTs network

This does not even include the many remote controls which use point to point proprietary protocols. Remotes like

1. TV/Audio or Anything IR
2. Garage Door Opener
3. Keyless Entry on Car

And increasingly the devices on these networks are not stateless. When I add someone to my cell phone's addressbook, it does not automatically update the addressbook on the cordless at home or outlook on my laptops and desktop. When I talk over Vonage, something should automagically throttle a mp3 file being downloaded.

There has go to be a switch which can switch control/data over these networks.

Sunday, March 16, 2008

Buttons on the Web

The industry keeps searching for the next killer application when it is sitting right in front of us. All we need to do is add functionality to it. The killer application is the Web and it has buttons.

The first one (circa 1995) is called "View". We click on this button and we browse the web, view videos and listen to audio. It is now called Web 1.0.

Then we started to notice a new button begin to appear on the web. With time we could read it as "Edit". Using the functionality provided by this button, we can now edit wikipedia, blogs and podcast ourselves. This button's backend infrastructure is being developed at companies such as Amazon, Google, Cisco (Webex), SF.com etc.

Once again there is a new button that is appearing, but people can't quite read its title just yet. Those who can read it are making frequent rounds to their neigbourhood venture community. Unfortunately, but for a few select ones, they will see it when it is too late. That button is titled "Run". Yes, the same thing as when you press the "windows" key + "r". The coolness of this new button is you can pretty much type anything (assuming an application exists) in the run box and it (the applicaton/service) will appear from somewhere on the web. You can use the application as long or as little as you want and save your results to local disk or a webdisk. All of this as part of subcription from your friendly ISP.

Hope the industry can rally the resources to fund and develop this new infrastructure to support this "run" button. This is where the next Google is going to come from.

Sunday, January 13, 2008

Tata Nano Design Should be Open Sourced

While the whole world is focussed on the price of the Tata nano ($2500), I think the biggest innovation coming out of Tata Motors (TTM) is the packaging and delivery that is enabled by a modular design. Nano comes as a package to your door and you can assemble it.

What Tata should be doing is open sourcing the design of the Nano along the lines of GPL. This will spark a revolution in the auto industry with Tata as its spiritual leader. Tata could build a cult of enthusiasts around the world who will mod the base model and add to the open source IP of Nano.

Tata may want to take a few cues from IBM's experience with design of the PC. PC was based on open architecture. It was not IBM that made money on the PC but Microsoft and Intel. What Tata should do is open source the design and make money on the engine and gadget-ware that go with the car.

The last time someone open sourced the design of a manufacturable product, it turned into a ubiqutious entity albeit with notoriety. Yes, I am talking about AK-47 rifle. Tata has the opportunity here to make the world's first open source car. Common Ratan Tata, just do it for India Yaar!

Saturday, January 12, 2008

Theory of Virtualization

IMHO, virtualization is about what resource you want to hold constant and what you want to scale. The most popular version of virtualization is where one fixes the hardware configuration and scales on hosting environment. This type of virtualization done by VMWare/Xen etc. is what most people think of when one says virtualization. We can generalize this to define virtualization types based on which one or two resources one holds constants and which ones one scales.

I think virtualization as a field is function of hardware, hosting environment, collective and application and of course the user (identity).









Virtualization Types

Hold Constant

Scaling Dimension

Type

HardwareHosting EnvironmentVMWare Type
Hosting EnvironmentHardwareGrid Type
Hardware & Hosting EnvironmentIdentitySingle Sign On
Hardware, Hosting Environment, IdentityApplicationsWeb Application Delivery Type