Home > Websphere > IBM Dynamic Application Virtualization

IBM Dynamic Application Virtualization

Before we begin understanting Dynamic Application Virtualization, Let’s refresh virtualization first.

Virtualization. The big Buzzword in computer system management . But what is virtualization?

There are several ways of virtualization in the IT business.

Quote from Wikipedia: “In computing, virtualization is a broad term that refers to the abstraction of computer resources.” Another useful definition is “a technique for hiding the physical characteristics of computing resources from the way in which other systems, applications, or end users interact with those resources. This includes making a single physical resource (such as a server, an operating system, an application, or storage device) appear to function as multiple logical resources; or it can include making multiple physical resources (such as storage devices or servers) appear as a single logical resource.”

First, let’s categorize the different types of virtualization:

  1. Hardware Virtualization
  2. Presentation Virtualization
  3. Connectivity Virtualization
  4. Application Virtualization

Presentation Virtualization

In 2008 a new player comes to that market to provide application sharing without a Terminal server. You simply need a Windows XP machine, SVS, DAV (codename of the product) and an Internet connection.

Users get access to a website where they have to logon, and they have full access to all the applications that they share.

What is IBM Dynamic Application Virtualization?

IBM® Dynamic Application Virtualization provides the ability to off-load function calls in a computationally intensive application to remote, high-performance computation nodes, thereby significantly reducing time to deployment, with minimal code changes and disruption to business.

In financial services, IBM Dynamic Application Virtualization can help developers to quickly deploy new applications that take advantage of accelerated math libraries running on new or remote hardware systems. In particular, where original applications were not written to offload calculations to remote hardware, IBM Dynamic Application Virtualization can be used to prepare the application for invoking remote libraries, thereby avoiding a re-writing or customization of the original code base.

Specifically, this technology can cut down overall time to deployment for business-critical applications that require ultra-high speed and low latency; such applications include options pricing (for example, Monte Carlo simulations) and FIX message parsing. In the past, such applications may have required significant application development time, prolonging the potential for a return on new investment, sometimes making the project cost-prohibitive. By using IBM Dynamic Application Virtualization to call the remotely deployed application functions residing on high-performance computation nodes, combined with the low-latency infrastructure provided by IBM Dynamic Application Virtualization, application calculation times can also be reduced.

The technology virtualizes application libraries by examining the library’s exported functions and capturing additional semantics. Library functions, when invoked from an application, appear to be executed locally, insulating developers from the specifics of the computation nodes and reducing the effort involved in calling remote functions.

IBM Dynamic Application Virtualization supports applications written in C/C++, Java™, and Excel spreadsheets (Visual Basic Application (VBA)), and it harnesses the power of the IBM BladeCenter® QS2X with Cell Broadband Engine™. The technology promotes heterogeneous adaptation; that is, it allows client applications running on one architecture (such as Intel®/Windows® XP) to execute functions hosted on a different architecture (such as Cell Broadband Engine).

How does it work?

IBM Dynamic Application Virtualization consists of an Eclipse plug-in called Tooling that virtualizes an application library by generating the appropriate client- and server-side code from the library specification (a C .h file).The Eclipse CDT is used to parse the customer library header file, and the user specifies additional semantics (such as array lengths). This latest update of IBM Dynamic Application Virtualization provides a semantics verifier within the Tooling plug-in that allows the library provider to test and verify the specified semantics locally before generating and deploying the server-side code. The Tooling component of IBM Dynamic Application Virtualization allows the generated client-side code to be linked with the client application, it builds the server-side code, and then this server-side code is deployed to the computation nodes.

The client-side code then prepares a computational request and sends it to the service broker, which selects an available computation node, passing the function parameters to the generated server-side code on the selected node. This generated server-side code invokes the application library to perform the actual computation. On completion, the result is sent back to the client application through the client-side generated code.

Also new in this update are support for requests from Linux® clients and the ability to run the Tooling component on a Linux client. Remote deployment is further simplified by a new tool that automates the distribution of Tooling-generated server-side code to computation nodes.

References: http://www.alphaworks.ibm.com


  1. Lasitha Silva
    02/12/2009 at 2:41 am

    This topic is heavily studied in my BSc and is also regarded important to understand how the architecture maps with the available resources. Memory management, virtualization were hot topics when we studeis them about 2 years ago.Keep it up…!

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: