Spooling system call data to facilitate data transformation
AssigneeInternational Business Machines Corporation
InventorsRichard Ory Jerrell, Ury Segal, Galia Diamant
Life of this patent
Estimating the term…
Abstract
The techniques herein provide for “time-shifting” of intercepted system calls to enable a one-to-many (1:n) or a many-to-one (n:1) mapping of intercepted-to-real system calls. Any action that needs to be applied on the logical boundaries of the data (instead of the physical boundaries) presented upon system call interception spools (buffers) the data before taking the action and then unspools the result when finished. The action may be quite varied, e.g., examining the data, redacting the data, changing the data, restricting the data, processing the data, and updating the data, among others. The technique may be implemented in a database access control system.
Claims20
A method for processing a system call in a computing system having a memory, the system call having an associated source, and a destination, comprising:
- upon intercepting a system call, applying a function that executes in a hardware element to spool data associated with two or more real system calls until a complete set of data associated with the system call has been spooled by:
- calling each real system call within the intercepted system call;
- as each real system call returns:
- determining whether a logical boundary for the data is complete;
- when the logical boundary for the data is not yet complete, holding the data;
- when the logical boundary data is complete, applying a transformation to the complete set of data;
- and
- responsive to receipt of a result of applying the transformation to the complete set of data, releasing the system call by unspooling the result to the destination.
Apparatus, comprising:
- a processor;
- computer memory holding computer program instructions that when executed by the processor perform operations to process a system call having an associated source, and a destination, the operations comprising:
- upon intercepting the system call, applying a function to spool data associated with two or more real system calls until a complete set of data associated with the system call has been spooled by:
- calling each real system call within the intercepted system call;
- as each real system call returns:
- determining whether a logical boundary for the data is complete;
- when the logical boundary for the data is not yet complete, holding the data;
- when the logical boundary data is complete, applying a transformation to the complete set of data;
- and
- responsive to receipt of a result of applying the transformation to the complete set of data, releasing the system call by unspooling the result to the destination.
A computer program product in a non-transitory computer readable medium for use in a data processing system, the computer program product holding computer program instructions which, when executed by the data processing system, perform a method for processing a system call having an associated source, and a destination, the method comprising:
- upon intercepting the system call, applying a function to spool data associated with two or more real system calls until a complete set of data associated with the system call has been spooled by:
- calling each real system call within the intercepted system call;
- as each real system call returns:
- determining whether a logical boundary for the data is complete;
- when the logical boundary for the data is not yet complete, holding the data;
- when the logical boundary data is complete, applying a transformation to the complete set of data;
- and
- responsive to receipt of a result of applying the transformation to the complete set of data, releasing the system call by unspooling the result to the destination.
Dependencies are inferred from the claim text.