One of the more frequent questions that comes up on the VMware Communities forums is how application licensing models are supported under virtualization. Some Microsoft customers, in particular, are frustrated right now with licensing terms related to virtualization.For licensing purposes, some applications require that parallel, serial, or USB port dongles be made available to the VM. Others need access to the physical CPU serial number, but there are any number of other schemes that use some aspect of the hardware to provide licensing for the application.Any way that it's handled, application licensing will add to the complexity of your virtual infrastructure deployment. The use of dongles will limit the functionality of the server to disallow the migration of running machines from host to host via vMotion. In effect the use of a dongle pins the VM to a specific host. You can get around this with a solution that presents a serial or USB port to a VM as an IP based device. Digiboard USBAnywhere makes one, for example. Not all virtualization servers can allow access to the host USB ports, however.There's not much you can do for applications that require access through parallel ports, except give in and pin the VM to that machine. There is no way, unfortunately, for a VM using VMware Virtual Infrastructure to gain access to a CPU ID, so applications requiring that access will fail. It's possible in some cases to use a MAC Address for licensing, but that should also be avoided: It is trivial to change a MAC address on a virtual NIC, thereby either gaining access to a license or disallowing access to a license.Software manufacturers need to change the way licensing works and use non-hardware based licensing solutions that can work more easily within a virtual environment. They should also use cryptography so the licensing steps can't be easily avoided. As it is, simply getting vendor licensing schemes to work within the virtual infrastructure that you've built can add significant costs on top of the application and virtualization licenses. That's another reason it's important to look closely at the applications you're trying to run in a virtualized environment before you take any steps to make the move. It's not the customer's responsibility to work around a vendor's unwillingness to make necessary licensing changes. Virtualization is here to stay and it is the responsibility of the vendors to keep up with it. Insist that they do, and choose vendors that will work with you to make the licenses work.Virtualization expert Edward L. Haletky is the author of "VMWare ESX Server in the Enterprise: Planning and Securing Virtualization Servers," Pearson Education (2008.) He recently left Hewlett-Packard, where he worked in the Virtualization, Linux, and High-Performance Technical Computing teams. Haletky owns AstroArch Consulting, providing virtualization, security, and network consulting and development. Haletky is also a champion and moderator for the VMware discussion forums, providing answers to security and configuration questions.