Virtual printer with asynchronous job and device status

    公开(公告)号:US07095523B2

    公开(公告)日:2006-08-22

    申请号:US10318717

    申请日:2002-12-12

    IPC分类号: G06F3/12 G06K15/00

    摘要: A flexible and extensible virtual printer architecture is provided. According to one aspect of the present invention final status associated with a presentation job (e.g., a fax job or a print job) is made available to an output server. One or more host processing threads or processes are spawned for each new presentation job received by the output server. Then, the presentation job is submitted to a presentation device for which the presentation job is destined by way of an instance of a wrapper process that is capable of communicating bi-directionally with the presentation device. After submitting the presentation job, a host job status thread or process waits for status pertaining to the presentation job. Ultimately, a final status associated with the presentation job is received by the wrapper process and the wrapper process reports the final status to the host job status thread or process. According to another aspect of the present invention, job and device status may be reported asynchronously. One or more host processing threads or processes are spawned for each new presentation job received. A first presentation job is submitted to a presentation device for which the presentation job is destined by way of a first instance of a wrapper process that communicates bi-directionally with the presentation device. Subsequently, a second presentation job is submitted to the presentation device by way of a second instance of the wrapper process. A first and second job status thread or process wait for status pertaining to the first and second presentation jobs, respectively. A final status associated with the second presentation job is received by the second instance of the wrapper before a final status associated with the first presentation job is received by the first instance of the wrapper. Then, the second instance of the wrapper process reports the final status to the second job status thread or process.