Geeks With Blogs

News Clicky Web Analytics

web stats View David Caddick ('s profile on LinkedIn

Search this Site!

Locations of visitors to this page
View My Stats eXTReMe Tracker
This posting is provided "AS IS" with no warranties, and confers no rights. The opinions expressed within are my own and should not be attributed to any other Individual, Company or the one I work for. I just happen to be a classic techie who is passionate about getting things to work as they should do (and are sometimes advertised and marketed as being able to?) and when I can I drop notes here to help others falling in to the same traps that I have fallen in to. If this has helped then please pass it on - if you feel that I have commented in error or disagree then please feel free to discuss with me either publically or privately? Cheers, Dave
Thin Clients, VDI and Linux integration from the front lines.... Raw and sometimes unedited notes based on my experiences with VMware, Thin Clients, Linux etc.

I have been doing some brainstorming with Charles@eknowlogy over the past few days regarding Virtualization and how this may change the face and use of Citrix and Terminal Servers and he has pointed out some new developments that might have some far reaching effects like:
Marathon Launches Next Generation Application Availability Software Solution Built on Patented Virtualization Technology

So based on this, and an article Brian Madden did a little while back regarding this I have put together my thoughts

Brian's original Post +++++++++++++++++++++++++
Providing Windows Applications to Users: Nine Different Theories and Architectures
In this article, I’ll look at nine different application access architectures that we can use to provide Windows applications to users, and I’ll evaluate the pros and cons of each.

The options are:

  1. The old way. Install each application on the end user’s computer.
  2. Automated Software Distribution. Use a tool like SMS or Altiris to remotely install and update applications on end users’ computers.
  3. Citrix / Server-Based Computing. Install the application centrally on a terminal server and provide RDP or ICA access from the client device.
  4. Application Streaming. Use something like Softricity to stream the application to the user’s device on demand.
  5. Operating System Streaming. Use something like Ardence to stream the entire disk image (OS and all) to the user’s client device.
  6. Bladed PC. Install Windows XP on a server blade and then provide 1-to-1 remote access via XP’s built-in RDP remote desktop functionality.
  7. VMware PC. Build a huge VMware server and divide it into multiple VMs, with each VM running Windows XP. Provide remote access via XP’s built-in remote desktop.
  8. VMware Clients within Terminal Server / Citrix Sessions. Build a server and install terminal services and Citrix. Install VMware Workstation (or Microsoft Virtual PC) as a publish application in Citrix. Then “publish” a VMware disk image for each user. Users connect to the published VM via ICA.
  9. The Future. Application execution components can execute on whichever backend systems they need (in a grid-like way), and presentation components can be displayed and consumed wherever they are needed.


Now of these I'd like to look at Option 7 in more detail:

Option 7. Centralized VMware PC
Build a huge VMware server and divide it into individual VMs, with each VM running Windows XP. Provide remote access via XP’s built-in remote desktop. Clients connect from thin client devices. (I've written about this in the past.)

This is a lot like Option 6, except this option has each user going to a Windows XP session in a VM instead of to their own native blade. Using VMware provides several options, mainly, that VMware sessions and be suspended (and unloaded from memory) and resumed later on (much like hibernating a laptop). For instance, imagine that after a 30-minute idle period, the user’s session is disconnected. Their session would remain active on the server for four hours, but after that the virtual machine is suspended and its memory contents dumped to disk. At this point that VM is consuming no server resources and can stay suspended forever. When the user finally comes back (even after several weeks), their session is just retrieved from disk and restored to any available server, and the user picks up right where they left off.

This will be really cool when Citrix gets involved. Even though they haven’t announced anything, you know that Citrix has to be thinking about this. For example, right now this technique involves a user connecting to a Windows XP workstation via RDP and the workstation’s built-in remote desktop functionality. This is a perfect opportunity for Citrix to come in with ICA, and to let the users connect to their desktop VMs via ICA.

Also, and more importantly, Citrix could provide the crucial middleware “glue” to hold all this together. This method requires that a user authenticates, and then the system has to figure out which VM host has capacity, find the users virtual disk files, fire up a VM using those files, and then connect the user via ICA to that VM. This is complex. However, Citrix has experience managing all of these issues in a Presentation Server world, so I would imagine it’s not too difficult to apply this technology to VMware. Look for major announcements from these two companies in this space.


  • Better performance.
  • No application compatibility issues.
  • Better / easier security.
  • You can "suspend" individual VMs and then move them from server to server.
  • The clients run the "workstation" version of software.
  • Users have more control over their individual desktop.
  • Users can take their sessions with them when they go offline (by “checking out” their disk images and running them on a local VM on a client device (like ACE).
  • Central backups.


  • A lot of server hardware is required.
  • Management tools are needed for the desktop VM.
  • Good luck if you want to do this today


So now that has set the scene, so to speak, I would like to suggest considering using something like the SystemGuard functionality inside SoftGrid to replace the concept of using Virtual Desktops, if this could work effectively with VMware's ESX Server and VMotion this could almost eliminate the Con's?

Only now I'd like to take the discussion a bit further than that....

In today's IT world where we are dealing with Business and Enterprises that are evolving faster than ever and trying to be as near to real-time as possible while at the same time trying to maintain a logistical supply line that by its very definition is a close to just-in-time as it can get, not only for the enterprise itself, but all of it's suppliers are doing the same.

With this in mind, a classical Citrix Presentation Server Farm design has one fundamental flaw, in that it is simply highly redundant and NOT resilient. What do I mean by that? Well you may find that occasionally you will have problems with one or two users disconnecting etc, but you may find that at some stage you have a problem with the server and then you potentially loose anything from 25 - 90 Users plus depending on the App, the Server, the time of day etc. Even though the rest of the Farm is fine these users have not had their session saved and transferred to another running server - their work (since the last AutoSave?) has been lost and they now will logon to another available Server - this is what I mean by being highly redundant and NOT resilient.

Now this is fine up to a point, and we can start to see that Brian's Option 7 of a Centralized VMware PC starts to over come this but at the expense of some serious Hardware AND you are still left with the perennial problem of Managing loads of Desktops, and it won't matter whether they are Virtual or Physical, they will still represent a significant Admin overhead.

So why are we bothering to rehash this and discuss it again? How about we now think about how SoftGrid works with it's SystemGuard? In a nutshell (shell - get it? never mind...;-) this is a mini O/S that allows each Application to run in an effective Virtual environment - right? So why bother having the Application (in a Virtual O/S) run on another Virtual O/S that's the acting as the Host/Desktop which in turn is running on the VMware Host Server? That certainly sounds like one or two many Virtual Layers, don't you think?

  • So seeing as SoftGrid seem to have their SystemGuard looking pretty slim and "fit for purpose" let's consider that as the Virtualization method of choice for the Application Layer?
  • Now if we could host these directly from a Server 2003 x64 as individual Applications instances, let's call this the underlying O/S Layer?
  • And perhaps we can glue this together by a VMware/VMotion layer that would allow the Apps to be controlled remotely by Thin Clients?

What I'm imagining here is that instead of Logging on to a traditional Server, you are making a call from the thin client to a "undefined at present" middle layer component that is able to "auto start" an Application encased in a SystemGuard Shell that could then be run on say a Server 2003 x64 System by virtue of a VMware/VMotion layer.

Is this feasible? perhaps not right now, but this would appear to have potential of stripping each layer to it's bare essentials and keeping things extremely simple (so that we are not having to deal with Desktop management issues...) and light. If this middle layer component was able to deliver some reasonable level of Load Balancing then we could almost take a hit on the resilience, because the redundancy would now be based not on Servers, Sessions or Users but at the individual Application level.

So at this point 99.99% on a per Application basis sounds pretty good?

C'mon guys - let's get the grey matter going? let me know what you think of this wild idea?

Posted on Wednesday, April 19, 2006 8:56 PM Citrix , IT Management , Real Cool Stuff , Microsoft Tips , VMware and other Virtualization tools , Security | Back to top

Comments on this post: Where is Virtualization heading, and how this might effect the design and use of Citrix and Terminal Servers?

# re: Where is Virtualization heading, and how this might effect the design and use of Citrix and Terminal Servers?
Requesting Gravatar...
Yeah this is interesting. The OS gets abstracted up another layer closer to the apps. (Or the apps move down a layer closer to the OS / hardware.) I think that the virtualization technology that is being built into the hardware from Intel and AMD will also affect this. Maybe then the app/systemguard can talk directly to the hardware? I guess you'd still need some kind of general OS to handle networking and the display and stuff, but I definitely like the generic modularized approach here...
Left by Brian Madden on Apr 20, 2006 12:52 PM

# re: Where is Virtualization heading, and how this might effect the design and use of Citrix and Terminal Servers?
Requesting Gravatar...

developments include an increased understanding of the brain's function
through the study of neuroscience, the development of effective new
medications and therapies, and the standardization of diagnostic codes
for mental illnesses
Left by Mental Health on Dec 26, 2006 12:01 PM

# re: Where is Virtualization heading, and how this might effect the design and use of Citrix and Terminal Servers?
Requesting Gravatar...

Improvements also continue to be made in the automated processes used to
develop pictures and have lead to the availability of one-hour photo
processing facilities. The real future of photography may lie in the area
of digital imagery, a computer-based technology, which produces images
electronically. In the future it is likely that methods of capturing and
printing digital images may rival the quality of chemical prints
Left by photographs on Dec 26, 2006 12:03 PM

Your comment:
 (will show your gravatar)

Copyright © Dave Caddick | Powered by: