Patent ID: 7334233

Claim:
A method in a data processing system for managing requests for data by processes, the method comprising: receiving, within a single physical device that is operating in slave mode, requests for data from a plurality of processes; listening, by the single physical device having a single slave address, for data on a physical bus that is addressed to the single slave address, a plurality of master devices communicating with the single physical device using only the single slave address; receiving, by a device driver that is included in the single physical device, data from the physical bus that is addressed to the single slave address; storing data received by the device driver from ones of the plurality of master devices as stored data; sending the stored data to the plurality of processes, wherein the device driver is not required to handle requests for the plurality of processes while the single physical device is operating in the slave mode; in response to a receipt of data by the device driver, storing, using a daemon, the received data in a buffer to form the stored data; in response to storing the received data in the buffer, resetting, by the daemon, the device driver so that the device driver is ready to start receiving new data, wherein, after receipt of data, the device driver does not process the data and remains continually ready to receive new data; providing an abstraction layer within the single physical device; receiving, by the abstraction layer, the requests for data from the plurality of processes; placing the requests within a queue that is included in the abstraction layer, each one of the requests including an identification of one of the plurality of processes that made the request; in response to the stored data being present in the buffer, identifying, by the abstraction layer, all of the requests that are in the queue; identifying all of the plurality of processes that made the requests in the queue; awakening, by the abstraction layer, all of the identified plurality of processes; and broadcasting, by the abstraction layer, all of the stored data to all of the identified plurality of processes.