1. A method for managing a virtual machine, the method comprising: monitoring, by a first availability monitor comprising a first agent resident on a first computer, a virtual machine hosted by the first computer located in a first cluster, the first computer being identified by a meta language, and the first agent communicating with the first availability monitor using a first communications protocol; relocating, based on the monitoring, the virtual machine to a second computer upon the occurrence of a triggering event, the second computer being located in a second cluster, the second computer being identified by the meta language, and the second computer is monitored by a second availability monitor comprising a second agent resident on the second computer, wherein the second agent communicating with the second availability monitor using a second communications protocol, wherein the meta language that enables the first availability monitor to communicate with the second availability monitor is different from the first communications protocol and the second communications protocol, and wherein the first availability monitor is distinct from the second availability monitor and uses a first referencing system to identify computers included in the first cluster and the second availability monitor uses a second referencing system to identify computers included in the second cluster and wherein the first referencing system is different than the second referencing system; executing the relocated virtual machine on the second computer; and monitoring, by the second availability monitor, the relocated virtual machine.