Browse Prior Art Database

Method for managing access to a single POS Peripheral from multiple applications. Disclosure Number: IPCOM000013449D
Original Publication Date: 1999-Oct-01
Included in the Prior Art Database: 2003-Jun-18

Publishing Venue


Related People

Richard Kairis


Disclosed is a method for sharing access to POS Peripherals that are normally locked when accessed by an application. In the POSS for Windows environment or with RS232 attached devices, all peripherals are locked to other applications once one application opens and acquires it. In order to share access to multiple applications like the Industrywide OPOS specification requires of some devices, such as cash drawer and keylock, a method is available to enable the device to appear to be sharable. To share access to the devices, a separate thread is started for every copy of the application that requests access to the device. The device monitors an event, or semaphore, to see if another application needs access to the device. If it receives the event, and currently has the device acquired, it releases the device, and resets a device acquired semaphore. Once the requesting application sees the device acquired semaphore is reset, it acquires it and performs the functions it needs on the device. It will continue to be the application that "owns" it until such time as another application request "ownership". Another issue is that only the application that owns the device receives messages from Poss for Windows, such as when the device goes off-line or when the status of the cash drawer changes or the keylock position changes. Since all the applications need to know when these events happen, separate threads are created for each type of event. These threads monitor a named event or semaphore that is set whenever the owning application receives this event. When the owning application receives the message, it sets the event and all other non-owning applications monitoring the corresponding will know to update internal values to reflect the status change. 1