Patent ID: 7383364

Claim:
A method for performing bus arbitration, the method comprising: receiving, by a device driver layer from one of a plurality of applications included in an application layer, a request to perform a first device access operation on one of a plurality of end devices, the device driver layer including a plurality of device drivers that communicate with the plurality of end devices utilizing a bus; each one the plurality of end devices being connected to the bus; determining, by the device driver layer, whether the one of the plurality of end devices is locked; responsive to the one of the plurality of end devices not being locked, locking, by the device driver layer, the one of the plurality of end devices and performing the first device access operation for the one of the plurality of applications; responsive to the first device access operation completing, unlocking the one of the plurality of end devices; and another one of the plurality of applications performing a second device access operation to access another one of the plurality of end devices while the first device access operation is being performed, wherein the bus is not locked while the first device access operation is being performed and the one of the plurality of end devices is locked.