More details about Citrix XenClient internals

Posted by virtualization.info Staff   |   Wednesday, May 19th, 2010   |  

virtualization.info already reported about several aspects (features, GA availability and strategy) of the new Citrix client hypervisor launched two weeks ago at Synergy 2010 (see event coverage).

Now, while additional feedbacks about the release candidate are being published by early adopters, and while Citrix is busy answering VMware on the value of client hypervisors for BYOC models, we are able to share additional details about its internals.

During the conference in fact, Ian Pratt (Chairman of Xen.org and Vice President of Advanced Virtualization Products at Citrix) and Tom James (Desktop Virtualization Manager of Business Client Platform Division at Intel) shared interesting details about the XenClient and Synchronizer internals.

About XenClient

The client hypervisor doesn’t just run the end-user virtual machines. It also run a lightweight additional one called Service VM, where all Citrix management components are installed. They include the interface to switch from one virtual desktop to another, the control panel, the Citrix Receiver and Synchronizer agents (if available).
XenClient can run more than one Service VM, and it’s probably here that Citrix looks for extensibility by third parties. Security vendors like McAfee, for example, may deploy their out of band security servers as Service VMs.

Besides the Service VM, there’s a Control Domain, which is responsible for direct access to physical hardware and chipset capabilities (like the Intel vPro features).
Part of physical components, like the GPU, can be exposed to the virtual desktops through Intel VT-d technology but there’s a severe limitation: only one virtual machine per time, the nominated VM, can have direct access to the GPU.
This means that while one virtual desktop will have near native graphic performance, the other (or the others) will have worse rendering, solely relying on para-virtualized graphic drivers.
Despite this direct GPU access for one virtual desktop, the Control Domain will still decide where and how pixels must be rendered on screen. This is done to prevent hacking attacks through the GPU, like screen scraping or pixel injection.

PortICA is being used to expose the applications of one virtual desktop on another through the seamless window technology.
As virtualization.info reported in a previous article, there’s no direct connection between virtual desktops and all traffic has to pass through the networking layer. Anyway PortICA traffic will not.
It’s not clear if Citrix is allowing its flow across an internal virtual switch that is not exposed to the physical network or in other ways.

XenClient features a so-called Secure Keyboard.
All keyboard activities are directed to the Control Domain which routes them only on the currently active virtual desktop. This is done to avoid keyboard attacks like key injection and keylogging from non-active VMs.

The Control Domain also owns the USB host controller.
All virtual desktops have a para-virtualized driver that emulates their own USB host controller, and the Once a new USB device is connected to the laptop, the Control Domain will check and apply security policyt to it, then it will forward the USB messages from its controller to the emulated ones.

XenClient will leverage Intel Trusted Execution Technology (TXT), which is part of Intel vPro, to verify its integrity and recognize any manipulation in its configuration states.
The configuration states are encrypted. The encryption key is sealed in the Trusted Computing Platform, and released only if the checksum matches.

About Synchronizer

Citrix Synchronizer comes as a virtual appliance for XenServer.
It listens to a single HTTPs port and features a web-based administration interface.
The authentication to this interface can be done using a local user database or a remote Microsoft Active Directory directory service.

Every time something changes in XenClient virtual desktops, a live snapshot is being taken in the background and sent back to the Synchronizer (it’s not clear with which frequency the whole thing happens).
Snapshots are taken leveraging block level differencing and compression to reduce the size as much as possible.
Synchronizer receives these snapshots from XenClient in the form of VHDs. Over time, multiple VHDs of the same virtual desktop are merged together in the background.


Labels: ,

blog comments powered by Disqus


virtualization.info Newest articles
Release: Oracle VM VirtualBox 4.1.8.

December 20th, 2011

Oracle has released version 4.1.8 of its virtualization platform VM VirtualBox. This version which can be considered a maintenance release can be installed on top of any VM VirtualBox 4.1.x…

Release: VKernel vOperations Suite 4.5

December 20th, 2011

VKernel, recently acquired by Quest Software has released version 4.5. of its vOperations Suite (vOps). vOperations is a suite of products providing Performance Analysis, Capacity Management, Resource Optimization, Reporting and…

Release: Teradici PCoIP client firmware 3.5.0

December 7th, 2011

Teradici is the developer of the PC-over-IP (PCoIP) remote desktop protocol, which is leveraged in software (by VMware view) and provided with Teradici hardware solutions which are OEM’ed by several…

Paper: Windows 2008 R2 Optimization Guide For Desktop Virtualization with XenApp 6 / 6.5

December 7th, 2011

Citrix has released a whitepaper titled:"Windows 2008 R2 Optimization Guide For Desktop Virtualization with XenApp 6 / 6.5", the paper which contains 23 pages outlines optimization for XenApp 6 and…

Release: Microsoft Assessment and Planning Toolkit 6.5

December 6th, 2011

In November Microsoft released a public beta of the Microsoft Assessment and Planning Toolkit (MAP) version 6.5. Today Microsoft announced its release, which is the follow-up of version 6.0 which…

Release: Red Hat Enterprise Linux 6.2

December 6th, 2011

Open source vendor Red Hat has released version 6.2 of its Linux distribution, Red Hat Enterprise Linux. This version is the follow-up of version 6.1 which was released in May…

Release: Linux Integration Services for Microsoft Hyper-V 3.2

December 6th, 2011

Microsoft has released version 3.2 of the Linux Integration Services for its hypervisor Hyper-V. This version is the follow-up of version 3.1 which was released in July this year.
The…

Login Virtual Session Indexer 3.5 is now available

November 29th, 2011

Since its first official release beginning 2009, the Virtual Session Indexer(VSI) has gained popularity as an independent benchmarking tool. One of the projects using the VSI tool is Project Virtual…

Release: VMware Fusion 4.1 – UPDATED

November 21st, 2011

VMware has released version 4.1 of its desktop virtualization platform for Apple Mac: Fusion. This release is considered an minor upgrade for version 4.0 which was released in September this…

Release: VMware Workstation 8.0.1/Player 4.0.1

November 21st, 2011

In September VMware released a new major version of its virtualization platform Workstation 8.0 and in October it released Player 4.0. Now VMware released an update for its virtualization platform…

Release: VMware ThinApp 4.7

November 17th, 2011

VMware has released version 4.7 of of its application virtualization solution ThinApp. This version includes the ability to use ThinApp packages in combination with its Software as a Service (SaaS)…

Quest acquires VKernel

November 17th, 2011

VKernel, provider of performance and capacity management products, has announced its acquisition by Quest Software. VKernel will operate as a independent subsidiary of Quest.
VKernel entered the virtualization market in…

Release: Lanamark Suite 2012

November 16th, 2011

Lanamark has released a new version of its Capacity Planning platform Suite, this version is the follow up of version 2010 which was released in March last year.
Suite 2012…

Release: Oracle Solaris 11

November 15th, 2011

In November last year, started releasing Solaris 11 Express, the development version eventually leading to the release of Oracle Solaris 11 which was released last week. Solaris is one of…

 
Monthly Archive