Are you ready, Neo? Windows apps enter the (virtualization) matrix

First it was just in time inventory. Now it's just in time application delivery. An innovator in this area, Softricity Inc.'s SoftGrid, is blurring the carefully drawn lines of how we view what a client-side application is and where it resides. Windows applications are ready to enter The Matrix of grid computing.

SoftGrid provides a virtualized environment that allows applications to run on a Windows machine - but  without changing any settings within  Windows itself. Those are all managed in a local SoftGrid virtualization layer, which means that registry settings remain pristine and DLL conflicts never arise. Applications within SoftGrid are aware of the underlying Windows environment - they can print and interact with other applications - but the Windows environment and other appliations running within it are insulated from any changes that a virtualized application might make.

That's a godsend for folks that must spend hours packaging up application installations and doing regresssion testing of every system build to avoid conflicts.

But SoftGrid also can deliver those virtualized applications on the fly, maintaining just enough of each application in a local cache to allow it to execute while downloading other modules from a central server as needed. New applications begin running as soon as enough code is downloaded to allow it - typically about 20% of the total program, the company claims.

I've been fascinated with SoftGrid since I first wrote about it in a July 2004 story, Avoiding Application Conflicts. (Recently Computerworld's Mark Hall wrote an update on Softricity's technology in his weekly On the Mark column).

So I was delighted to have a conversation today with Softricity co-founder and marketing VP David Greschler about the technology and where it's heading.

It's fascinating that, to a large extent, Softricity's niche has been created by Microsoft's failures. While Microsoft has made headway eradicating Windows application conflicts such as the infamous DLL hell by creating best practices for writing and developing installation routines for Windows applications (the  Windows Installer service and .MSI installer format, for example), conflicts remain. "Going forward, they may have components that will solve these problems. But do they come up with solutions that fix the sins of the past? I don't see it...our value proposition is here to say," Greschler says confidently.

What's especially cool is how SoftGrid packages up and delivers applications. Its Sequencer runs through the application's installation process, capturing all changes it makes to the Windows environment. Then it "sequences" the installation, creating a "map," or timeline of what it should load first in order to get the application up and running as quickly as possible. This gets saved into a single file that the SoftGrid server streams down to the client when the application is requested. The application can start running even before all desired components within the application load. After the application is used for  the first time and the user exists the program, core pieces of the application remain in a local disk cache.

The application can then be used offline or access can be set to expire after a certain period of time. The approach is portable - a user can approach any Windows machine with a SoftGrid client, authenticate and access his own applications, which can then expire when the user is done.

SoftGrid is similar in some ways to other, lower layer  virtualization tools. VMware, for example, turns virtual machine environments into files that are transportable (see the Computerworld story, Ghosts in the Machine). SoftGrid does the same at the application layer.

To the extent that the application becomes just another file to manage, SoftGrid's server starts to look a bit like caching wide are file service (WAFS) storage appliances such as Tacit Networks' iShare.  The iShare appliance is designed to allow remote access to file servers by caching frequently accessed files locally and managing file sharing from a central device in data center, where the data resides. This allows IT to centralize all file servers in the data center, where they can be manged and backed up.

Both products support "delta block" changes to files so that only the portion of a file that has changed is updated across the wire: the rest comes out of the cache. For the data that must be pushed across the wire, both iShare and SoftGrid employ compression and use protocol optimization techniques.

In the Tacit model the "real" file lives on the back end server where it can be managed. In the VMware model the file that is the VM may move to another machine, but it remains a single entity. But in Greschler's vision, the file that your application has become doesn't just reside on a back-end server. The virtual application becomes a streamed service, with the supporting code coming from the server, the PC - or both.

SoftGrid, Greschler says, is the first step toward distributed composite applications for the client. "We're building the foundation for something much bigger. At the end of the day each system becomes a server and a client," he says. Which is the server and which the client? Eventually the distinction will become irrelevant, he says.

Copyright © 2005 IDG Communications, Inc.

Shop Tech Products at Amazon