Try this:
https://www.google.com/?q=software+rights+management[
^]
Protecting your software will cost money. This makes sense, since you'd be interested in protection only if you want to sell your software for money.
You may want to take a closer look at this one:
www.safenet-inc.com/software-monetization-solutions/[
^]
If your organization can invest the required resources, you can build an alternative solution yourself. For instance, an activation key that depends on hardware (serial numbers of HD, network card, ...) but does not get invalidated if someone upgrades a video card or adds RAM: also, virtual computers are cloneable by definition, so this may not be enough. Rolling your own solution will be typically more expensive than buying a commercial solution from someone whose core business is software rights management.
Just my two bits,
Pablo.