Patent ID: 7873966
Filing Date: 2011-01-18
Classification: G06F

Abstract:
1. A computer program product in a data processing system that includes a slave device that includes a single device driver, the slave device coupled to a plurality of physical master devices, the computer program product comprising: a computer recordable-type medium storing computer usable program code for transferring data from the slave device to a plurality of applications that are executing on the slave device, said computer program product including: said device driver permitting only one virtual device at a time, said device driver including a routing mechanism that acts as said virtual device with respect to said device driver; computer usable program code for managing, by each one of a plurality of applications, one of said plurality of physical master devices; computer usable program code for receiving, from each one of said plurality of applications by said routing mechanism, a request that was generated by each one of said plurality of applications for a slave I/O operation, all of said plurality of applications having concurrently pending requests; computer usable program code for registering, by said routing mechanism, each one of said plurality of applications in a queue when each one of said plurality of applications makes a request for a slave I/O operation; each one of said plurality of applications having an application identifier that corresponds to one of said plurality of physical master devices that is managed by said one of said plurality of applications; computer usable program code for receiving first data, from a first one of said plurality of physical master devices by said device driver, said first one of said plurality of physical master devices associating a first application identifier with said first data, said first application identifier identifying a first one of said plurality of applications that manages said first one of said plurality of physical master devices; computer usable program code for passing, by said device driver, said first data to said routing mechanism; computer usable program code for parsing, by said routing mechanism, said first data for said first application identifier; computer usable program code for using, by said routing mechanism, said first application identifier to locate said first one of said plurality of applications in said queue; and computer usable program code for sending, by said routing mechanism, said first data to said first one of said plurality of applications.