Patent ID: 8307177

Claim:
A method of performing storage operations on data of virtual machines in a heterogeneous computing environment that includes virtual machines and non-virtual machines, wherein the method is performed by one or more computing systems, each computing system having a processor and memory, the method comprising: automatically detecting, by the one or more computing systems, two or more virtual machines in a heterogeneous computing environment that includes virtual machines and non-virtual machines, wherein the two or more virtual machines include at least two virtual machines running different types of operating systems, wherein automatically detecting two or more virtual machines includes automatically performing at least one of the following: (a) accessing a virtual machine host that hosts one or more virtual machines, and determining, from information provided by the virtual machine host, the one or more virtual machines hosted by the virtual machine host; (b) accessing a virtual machine manager that manages one or more virtual machines and determining, from information provided by the virtual machine manager, the one or more virtual machines managed by the virtual machine manager; and (c) determining a set of member machines in the heterogeneous computing environment, wherein each member machine may be either a virtual machine or a non-virtual machine, querying each member machine in the set to determine if it is a virtual machine, and based upon its response to the query, determining if it is a virtual machine; associating a storage policy with at least one of the detected virtual machines running a first operating system and at least one of the detected virtual machines running a second operating system, wherein the second operating system is a different type of operating system from the first operating system, wherein the storage policy includes a set of criteria associated with performing a file-level storage operation on the data of the at least one virtual machine running the first operating system and the data of the at least one virtual machine running the second operating system, and wherein the storage policy is also associated with at least one non-virtual machine in the heterogeneous computing environment; receiving an indication to perform a storage operation in accordance with the set of criteria specified in the storage policy; and performing the file-level storage operation on the data of the at least one virtual machine running the first operating system and the data of the at least one virtual machine running the second operating system in accordance with the set of criteria specified in the storage policy.