Browse Prior Art Database

Multithreaded, multiple queue device driver system with error recovery.

IP.com Disclosure Number: IPCOM000028712D
Original Publication Date: 2004-May-27
Included in the Prior Art Database: 2004-May-27
Document File: 2 page(s) / 26K

Publishing Venue

IBM

Abstract

A multi-threaded, multi-queue printer device driver system is proposed in order to: 1. Minimize the application turn-around time 2. Optimize the printer throughput for a variety of transports 3. Ease the handling of the printer error recovery 4. Offer a composite device service

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 54% of the total text.

Page 1 of 2

Multithreaded, multiple queue device driver system with error recovery.

    To achieve this, multiple queues and threads are located at strategic points throughout the printer driver system as follows:

1. Minimize the application turn-around time:

In order to minimize the application turn-around time, a printer driver queue ( pending queue) with its own thread is located close to the entry point of the printer driver system. This pending queue allows the application thread to quickly queue user requests to the printer driver system and return as fast as possible. As a result, this queue effectively decouples the application thread from the printer driver thread.

2. Optimize the printer throughput for a variety of bus transports

User requests are dequeued from the pending queue. These requests are device independent commands and need to be translated into device specific (dependent) commands. Further the user requests coming from the pending queue are also bus independent command sequences. As a result, they need to be grouped and formatted appropriately to be efficiently transported on a variety of transport infrastructures e.g. RS-485, USB, RS-232, etc. These translated user requests are now queued to the Printer Writer queue (input queue).

3. Ease the handling of the printer error recovery

To handle the printer errors and exceptions, a separate sent queue is introduced. This queue collects translated user requests which were sent to the printer but not executed by the printer firmware. Once the printer firmware signals the completion of these translated user requests, they are removed from the sent queue. Upon an unexpected error or exception, all of...