Patent ID: 8108560
Filing Date: 2012-01-31
Classification: G06F

Abstract:
1. A method for managing data transfer in a computer memory of a client computer connected via a TCP/IP network to a server computer comprising the steps of: determining whether a zero copy data transfer provided by page remapping is active for an application program when a learning threshold has been exceeded, wherein said determination is based on a threshold percentage of potential copy on write (COW) faults recorded for said application program in each of previous data transfers from an application program memory in the computer memory to a network socket in a kernel memory, wherein a kernel module uses the network socket to transfer the data to the server computer via the TCP/IP network, and wherein said learning threshold is based on a number of writes between said application program and said network socket; transferring data associated with said application program from said application program memory to said network socket using said zero copy data transfer when the zero copy data transfer provided by the page remapping is active; transferring data associated with said application program from said application program memory to an another memory location and then transferring said data from said another memory location to said network socket using a normal copy data transfer when the zero copy data transfer provided by the page remapping is inactive; monitoring the number of potential copy on write (COW) faults by said application program in subsequent data transfers from said application program memory to said network socket; activating the use of zero copy data transfer by said application program for transferring data to said network socket in subsequent data transfers when said monitored potential COW faults by said application program falls below a predetermined threshold; and continuing deactivating the use of zero copy transfer and transferring data associated with said application program from said application memory so that the data to be transferred from the application memory is first copied to an another memory location and then transferring said data from said another memory location to said network socket in a subsequent transfer when said monitored potential COW faults exceeds said predetermined threshold.