Microsoft Application Virtualization

From Wikipedia, the free encyclopedia

Microsoft Application Virtualization (formerly Microsoft SoftGrid)[1] is an application virtualization and application streaming solution from Microsoft. It was acquired by Microsoft during the acquisition of Boston, Massachusetts-based Softricity on July 17, 2006.[2] Softgrid represents Microsoft's entry to a new avenue of virtualization product, alongside their existing Hyper-V package, Microsoft Virtual Server, Microsoft Virtual PC, and other products newly announced in 2006, such as System Center Virtual Machine Manager, the latter of which is designed for "Datacenter Virtualization".[3]

Contents

[edit] Overview

Microsoft Application Virtualization platform allows applications to be deployed in real-time to any client from a virtual application server. It removes the need for local installation of the applications. Instead, only the SoftGrid runtime needs to be installed on the client machines. All application data is permanently stored on the virtual application server. Whichever software is needed is streamed from the application server on demand and run locally. The SoftGrid stack sandboxes the execution environment so that the application does not make changes to the client itself. SoftGrid applications are also sandboxed from each other, so that different versions of the same application can be run under SoftGrid concurrently. This approach enables any application to be streamed without making any changes to its code.

SoftGrid thus allows centralized installation and management of deployed applications. It supports policy based access control; administrators can define and restrict access to the applications by certain users by defining policies governing the usage. SoftGrid can require that applications not be run 'cached' from workstations, or require that 'cached' SoftGrid applications routinely update license information from the SoftGrid server, enforcing license compliance. These policies are centrally applied on the application repository. SoftGrid also allows replication of the applications across multiple application servers for better scalability and fault tolerance, and also features a tracking interface to track the usage of the virtualized application.

The SoftGrid client runtime presents the user with a list of applications, to which the user has access. The user can then launch a virtualized streamed instance of the application. Depending on the configuration, the systems administrator can be either notified of the action via email or it can require an explicit confirmation from the administator for the application to start streaming and initialize or it can just simply check the active directory for the user's rights and stream the application to the user if it is authorized to run the application. The SoftGrid client can also install local shortcuts that bootstrap the process of launching individual virtualized software instances.

[edit] Architecture

The SoftGrid system architecture is composed of the following components:

  • Microsoft Systems Center Virtual Application Server, also called SoftGrid Application Server, which hosts virtualized application packages and streams them to the client computers for local execution. It also authorizes requesting clients and logs their application usage. Applications are converted to virtualized packages using the SoftGrid Sequencer.
  • Microsoft SoftGrid Application Virtualization for Desktops, also called SoftGrid client, is the client side runtime which requests the application server to stream some application, receives the streamed virtual application packages, sets up the runtime environment and executes the applications locally.
  • SoftGrid Management Console, the management tool to set up, administer and manage SoftGrid servers. It can be used to define policies that govern the usage of the applications. It can also be used to create, manage, update and replicate virtualized application packages.

[edit] Operation

SoftGrid Application Virtualization is composed mainly of two components - SystemGuard and SoftGrid Sequencer. SystemGuard tracks and analyses configuration repositories and resources used by the application and intercepts the use of these resources, redirecting them to the virtualized instances of the resources. Virtualized resources include virtualized data such as user profile information and data; virtualized system services, such as COM controls, windows services and copy/paste abilities; and virtualized configuration repositories like registry hives and INI files. Not all applications that run as a service can be virtualized, although these limitations may change in future product versions. The virtualized instances are created in the runtime sandbox which hosts the virtualized instance, representing the resources of the actual client system the application is being executed on. Thus the application is decoupled from the resources of the system the application is installed on. Each application, or multiple instances of the same application, is run in its own virtual sandbox, each with its own set of virtual resources. The SystemGuard runtime environments can include specific dependencies such as DLL files as well. Multiple SystemGuard runtime environments can be in execution simultaneously.

SoftGrid sequencer is the server side component which packages an application for virtualization and streaming. It analyzes the application for the resources that it requires and creates the SystemGuard runtime environment that it will require. It also packages specific DLL files that it might require at the client side. It then packs all the application code and data into SoftGrid's proprietary format that makes it more suitable for streaming. Individual libraries are packed separately so that each library can be streamed as required, rather than having the client to download the entire application at the beginning. When a streaming request is made, an entire sequencer package is transferred to the client, who unpacks and initializes the SystemGuard environment and hosts the application inside it. Each package is cached by the client for the duration of the application session. User settings are stored in the local system itself.

Virtualized application packages can also locally reside at the client computer, thus eliminating the need of application server and streaming. Microsoft Systems Management Server can be used to push these packages to the client computer in the absence of a virtual application server. In this scenario, the SoftGrid SMS Connector can be used to locally manage the application packages.

[edit] Alternatives

VMware ThinApp

[edit] References

[edit] External links

Languages