At least one computing device comprising a processor, a memory, and a computer-implemented hypervisor file system (HVFS), the computer implemented HVFS comprising:
- a HVFS manager being configured to target, by the at least one computing device, predetermined file system objects from a first virtual machine and predetermined file system objects from a second virtual machine for storage in a computer storage device located within a hypervisor of the HVFS;
- the HVFS manager being further configured to in response to a predetermined file system event, receive by the at least one computing device, at a first set of hypervisor file system (HVFS) drivers located in an operating system (OS) kernel of an operating system of the first virtual machine, from a first requestor, a first file system request, the first file system request relating to at least one of the predetermined file system objects from the first virtual machine and to service the first file system request based on at least one of the following:
- a configuration or at least one source file system implementation of the at least one of the predetermined file system objects from the first virtual machine, the servicing comprising translating the first file system request to a first storage device request, storing the at least one of the predetermined file system objects from the first virtual machine in the computer storage device located within the hypervisor of the HVFS, and providing an anti-malware solution to the at least one of the predetermined file system objects from the first virtual machine;
- the first set of HVFS drivers configured to forward, by the at least one computing device, the first file system request from the first virtual machine to a set of HVFS Application Program Interfaces (APIs);
- the set of HVFS APIs configured to receive the first file system request, by the at least one computing device, from the first set of HVFS drivers, forward the first file system request from the first virtual machine to the HVFS manager, and return a response to the first file system request to the first requestor and the first set of HVFS drivers;
- the HVFS manager being further configured to, in response to the predetermined file system event, receive by the at least one computing device, at a second set of HVFS drivers located in an OS kernel of an operating system of the second virtual machine, from a second requestor, a second file system request, the second file system request relating to at least one of the predetermined file system objects from the second virtual machine and to service the second file system request based on at least one of the following:
- a configuration or at least one source file system implementation of the at least one of the predetermined file system objects from the second virtual machine, the servicing comprising translating the second file system request to a second storage device request, storing the at least one of the predetermined file system objects from the second virtual machine, and providing the anti-malware solution to the at least one of the predetermined file system objects from the second virtual machine;
- the second set of HVFS drivers being configured to forward, by the at least one computing device, the second file system request from the second virtual machine to the set of HVFS APIs;
- and
- the set of HVFS APIs further configured to receive the second file system request, by the at least one computing device, from the second set of HVFS drivers, forward the file system requests to the HVFS manager, and return a response to the second file system request to the second requestor and the second set of HVFS drivers.