Patent ID: 9218304
Filing Date: 2015-12-22
Classification: G06F

Abstract:
1. A method for intercepting I/O requests and responses in a closed proprietary operating environment or a hypervisor utilizing open-source software or general-public-license device drivers, the method comprising: identifying an I/O stream between the closed proprietary environment or the hypervisor and a device driver, the I/O stream being an I/O request or an I/O response, and the device driver being an open-source device driver or a general-public-license device driver; intercepting the I/O stream at a point of a compatibility library for the open-source device driver or the general-public-license device driver, the point of the compatibility library being a point at which a context is established for calling the device driver or a point at which an I/O completion from the device driver is forwarded to the compatibility library, the compatibility library comprising a published source code; transmitting the I/O stream to an added functionality module for processing, the added functionality module being dynamically linked to the compatibility library by a function pointer, and the added functionality module providing at least one of encryption, de-duplication or compression of the I/O stream; processing the I/O stream at the added functionality module to create a processed I/O stream; and transmitting the processed I/O stream to the device driver if the I/O stream was intercepted at the point in which the context was established for calling the device driver or to the proprietary operating environment if the I/O stream was intercepted at the point at which the I/O completion from the device driver was forwarded to the compatibility library.