System and method for inspecting a virtual appliance runtime environment
First Claim
1. A system for inspecting a virtual appliance runtime environment, comprising:
- a runtime environment having one or more processors configured to;
execute a base image in a virtual machine having a guest operating system and a user space file system to execute the base image;
load a new image having a pointer to the base image, wherein the new image initially comprises an empty file;
receive one or more read requests to read data from the user space file system associated with the guest operating system, wherein the one or more read requests reference one or more memory blocks or clusters in the base image;
read the data associated with the one or more read requests from the new image if the one or more memory blocks or clusters referenced in the one or more read requests have been allocated in the new image;
read the data associated with the one or more read requests from the base image and write the one or more memory blocks or clusters referenced in the one or more read requests to the new image if the one or more memory blocks or clusters have not been allocated in the new image;
receive one or more write requests to write data to the user space file system associated with the guest operating system; and
write the data associated with the one or more write requests to the new image to process the one or more write requests; and
a monitoring engine configured to compare the new image to the base image to generate a runtime log that describes runtime activity attributable to the one or more read requests and the one or more write requests.
19 Assignments
0 Petitions
Accused Products
Abstract
A system and method for inspecting a virtual appliance runtime environment is provided. In particular, runtime activity within a virtual machine may be monitored and tracked to manage a file system associated with the runtime activity. For example, a new image having a pointer to a base image being executed may be created, wherein the new image may be empty when created, and wherein data may be written to the new image in response to any files being created, deleted, modified, or otherwise accessed during execution of the base image within the virtual machine. Thus, a file system for the new image may be compared to a file system for the base image to analyze the runtime activity for the base image, wherein the new image may preserve runtime changes to the file system and provide visibility into particular runtime modifications to the file system.
-
Citations
38 Claims
-
1. A system for inspecting a virtual appliance runtime environment, comprising:
-
a runtime environment having one or more processors configured to; execute a base image in a virtual machine having a guest operating system and a user space file system to execute the base image; load a new image having a pointer to the base image, wherein the new image initially comprises an empty file; receive one or more read requests to read data from the user space file system associated with the guest operating system, wherein the one or more read requests reference one or more memory blocks or clusters in the base image; read the data associated with the one or more read requests from the new image if the one or more memory blocks or clusters referenced in the one or more read requests have been allocated in the new image; read the data associated with the one or more read requests from the base image and write the one or more memory blocks or clusters referenced in the one or more read requests to the new image if the one or more memory blocks or clusters have not been allocated in the new image; receive one or more write requests to write data to the user space file system associated with the guest operating system; and write the data associated with the one or more write requests to the new image to process the one or more write requests; and a monitoring engine configured to compare the new image to the base image to generate a runtime log that describes runtime activity attributable to the one or more read requests and the one or more write requests. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A system for inspecting a virtual appliance runtime environment, comprising:
-
a runtime environment configured to; execute an application in a virtual machine having a guest operating system and a user space file system to execute the application with data stored on a disk; receive one or more read requests to read from the user space file system associated with the application executed in the virtual machine; forward activity relating to the one or more read requests to a monitoring engine, wherein the forwarded activity relating to the one or more read requests includes data that the virtual machine read from the disk to process the one or more read requests and one or more timestamps to describe when the virtual machine read the data associated with the one or more read requests from the disk; receive one or more write requests to write to the user space file system associated with the application executed in the virtual machine; and forward activity relating to the one or more write requests to the monitoring engine, wherein the forwarded activity relating to the one or more write requests includes data that the virtual machine wrote to the disk to process the one or more write requests and one or more timestamps to describe when the virtual machine wrote the data associated with the one or more write requests to the disk; and one or more processors to execute the monitoring engine, wherein the one or more processors to execute the monitoring engine are configured to; determine a startup state associated with the user space file system, wherein the startup state associated with the user space file system corresponds to a state associated with the data stored on the disk when the runtime environment started to execute the application in the virtual machine; construct a first version associated with the user space file system at a first point in time using the startup state associated with the user space file system, the forwarded activity relating to the one or more read requests, and the forwarded activity relating the one or more write requests; construct a second version associated with the user space file system at a second point in time using the startup state associated with the user space file system, the forwarded activity relating to the one or more read requests, and the forwarded activity relating to the one or more write requests; and compare the first version associated with the user space file system to the second version associated with the user space file system to generate a runtime log that describes runtime activity associated with the application executed in the virtual machine that occurred between the first point in time and the second point in time. - View Dependent Claims (18, 19)
-
-
20. A method for inspecting a virtual appliance runtime environment, comprising:
-
loading a runtime environment configured to execute a base image in a virtual machine having a guest operating system and a user space file system to execute the base image; loading a new image having a pointer to the base image, wherein the new image initially comprises an empty file; receiving one or more read requests to read data from the user space file system associated with the guest operating system, wherein the one or more read requests reference one or more memory blocks or clusters in the base image; reading the data from associated with the one or more read requests from the new image if the one or more memory blocks or clusters referenced in the one or more read requests have been allocated in the new image; reading the data associated with the one or more read requests from the base image and writing the one or more memory blocks or clusters referenced in the one or more read requests to the new image if the one or more memory blocks or clusters have not been allocated in the new image; receiving one or more write requests to write data to the user space file system associated with the guest operating system; writing the data associated with the one or more write requests to the new image to process the one or more write requests; and comparing the new image to the base image to generate a runtime log that describes runtime activity attributable to the one or more read requests and the one or more write requests. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
-
-
36. A method for inspecting a virtual appliance runtime environment, comprising:
-
executing an application in a runtime environment, wherein the runtime environment includes a virtual machine having a guest operating system and a user space file system to execute the application with data stored on a disk; read a state associated with the data stored on the disk in response to the runtime environment starting to execute the application in the virtual machine, wherein a monitoring engine reads the state associated with the data stored on the disk to capture a startup state associated with the user space file system; receiving one or more read requests to read from the user space file system associated with the application executed in the virtual machine; forwarding activity relating to the one or more read requests from the virtual machine to the monitoring engine, wherein the forwarded activity relating to the one or more read requests includes data that the virtual machine read from the disk to process the one or more read requests and one or more timestamps to describe when the virtual machine read the data associated with the one or more read requests from the disk; receiving one or more write requests to write to the user space file system associated with the application executed in the virtual machine; forwarding activity relating to the one or more write requests from the virtual machine to the monitoring engine, wherein the forwarded activity relating to the one or more write requests includes data that the virtual machine wrote to the disk to process the one or more write requests and one or more timestamps to describe when the virtual machine wrote the data associated with the one or more write requests to the disk; constructing, at the monitoring engine, a first version associated with the user space file system at a first point in time using the startup state associated with the user space file system, the forwarded activity relating to the one or more read requests, and the forwarded activity relating the one or more write, requests; constructing, at the monitoring engine, a second version associated with the user space file system at a second point in time using the startup state associated with the user space file system, the forwarded activity relating to the one or more read requests, and the forwarded activity relating to the one or more write requests; and comparing, at the monitoring engine, the first version associated with the user space file system to the second version associated with the user space file system to generate a runtime log that describes runtime activity associated with the application executed in the virtual machine that occurred between the first point in time and the second point in time. - View Dependent Claims (37, 38)
-
Specification