Patent ID: 8578064

Claim:
A computer-implemented method for processing an input/output (I/O) operation, comprising: loading a virtual computing environment stored on a portable storage device into a host computer system coupled to the portable storage device, wherein the host computer system includes a physical memory; maintaining a mapping of logical memory locations in the virtual computing environment to memory locations in the portable storage device; intercepting an invocation of the I/O operation from the virtual computing environment in the host computer system to the portable storage device, wherein the I/O operation is one of a read operation or a write operation, and wherein intercepting a write operation involves processing the write operation by: storing the write operation in a log that stores write operations that are yet to be processed, and returning control to the virtual computing environment upon storing the write operation in the log; decoupling the invocation of the I/O operation from the processing of the I/O operation, wherein the decoupling comprises providing a representation of the I/O operation to the virtual computing environment, wherein processing a write operation involves transferring data specified by the write operation from the log to the portable storage device; and processing the I/O operation in the portable storage device independently of the representation of the I/O operation to the virtual computing environment in the host computer system using the mapping.