Method and implementation for message-driven job processing

Seifi, Mustafa

Patent Application Summary

U.S. patent application number 10/156443 was filed with the patent office on 2003-12-04 for method and implementation for message-driven job processing. Invention is credited to Seifi, Mustafa.

Application Number20030223090 10/156443
Document ID /
Family ID29586319
Filed Date2003-12-04

United States Patent Application 20030223090
Kind Code A1
Seifi, Mustafa December 4, 2003

Method and implementation for message-driven job processing

Abstract

A method and implementation for job managing is disclosed which enables the creating of a job in a client system and sending a job creation instruction message to a job manager to notify that a new job has entered a processing queue. At least one processing message is sent from the job manager to at least one respective component. A first job state change message is sent from the respective component to the job manager to notify the job manager when the component begins to process a given job. A second job state change message is sent to the job manager from the component to notify the job manager when the component is done processing the given job.


Inventors: Seifi, Mustafa; (Irvine, CA)
Correspondence Address:
    TUCKER, ELLIS & WEST LLP
    1150 HUNTINGTON BUILDING
    925 EUCLID AVENUE
    CLEVELAND
    OH
    44115-1475
    US
Family ID: 29586319
Appl. No.: 10/156443
Filed: May 28, 2002

Current U.S. Class: 358/1.15
Current CPC Class: G06F 9/4843 20130101; Y10S 707/959 20130101; Y10S 707/99945 20130101; H04N 1/00915 20130101; H04N 1/00954 20130101; Y10S 707/99931 20130101; Y10S 707/99944 20130101; G06F 3/1211 20130101; H04N 1/32502 20130101; H04N 1/32529 20130101; Y10S 707/954 20130101; G06F 9/546 20130101; Y10S 707/915 20130101; G06F 3/126 20130101; G06F 3/1285 20130101
Class at Publication: 358/1.15
International Class: B41J 001/00; G06F 015/00

Claims



I claim:

1. A method for job managing comprising: creating a job in a client system, sending a job creation instruction message to a job manager to notify that a new job has entered a processing queue; sending at least one processing message from the job manager to at least one respective component; sending a first job state change message from the respective component to the job manager to notify the job manager when the component begins to process a given job; sending a second job state change message to the job manager from the component to notify the job manager when the component is done processing the given job.

2. The method of claim 1 wherein receipt of one of a job creation message and a job state change message by the job manager will cause the job manager to process all the jobs in the queue.

3. The method of claim 1 wherein if processing of the job is interrupted, an "interrupt" message is sent from the component to the job manager, who then reports the interruption to one of a user and a system administrator.

4. The method of claim 1 wherein, upon receipt of a message with a configurable interval of time (T), the job manager will process any jobs in the queue if the current time (CT) minus T is greater than the last time (LT) when the job manager received a "job create" or a "state change" message such that ((CT-T)>LT).

5. The method of claim 1 wherein the job is a printing job and the respective component for completing the job is a network printer.

6. The method of claim 1 wherein a respective component is assigned to process jobs in the queue for each respective client.

7. The method of claim 1 wherein the messages are sent and received using any type of conventional messaging system.

8. A job manager comprising: an implementation for creating a job in a client system, an implementation for sending a job creation instruction message to a job manager to notify that a new job has entered a processing queue; an implementation for sending at least one processing message from the job manager to at least one respective component; an implementation for sending a first job state change message from the respective component to the job manager to notify the job manager when the component begins to process a given job; an implementation for sending a second job state change message to the job manager from the component to notify the job manager when the component is done processing the given job.

9. The job manager of claim 8 further comprising an implementation wherein receipt of one of a job creation message and a job state change message by the job manager will cause the job manager to process all the jobs in the queue.

10. The job manager of claim 8 further comprising an implementation wherein if processing of the job is interrupted, an "interrupt" message is sent from the component to the job manager, who then reports the interruption to one of a user and a system administrator.

11. The job manager of claim 8 further comprising an implementation wherein, upon receipt of a message with a configurable interval of time (T), the job manager will process any jobs in the queue if the current time (CT) minus T is greater than the last time (LT) when the job manager received a "job create" or a "state change" message such that ((CT-T)>LT).

12. The job manager of claim 8 wherein the job is a printing job and the respective component for completing the job is a network printer.

13. The job manager of claim 8 wherein a respective component is assigned to process jobs in the queue for each respective client.

14. The job manager of claim 8 wherein any type of conventional messaging system is employed for sending and receiving messages.
Description



BACKGROUND OF THE INVENTION

[0001] In a network, it is common to process jobs, e.g. printing jobs, in a queue. Jobs are assigned a position in the queue and a network device, e.g. a network printer, processes each of the jobs in a predetermined order. Fort example, the jobs can be processed in the order they have been received. Also, the jobs can be processed in accordance with priority, with high priority jobs being given preference.

[0002] In a network, the operation of the queue can be implemented in a number of different ways. In one common previous-type method of processing jobs in a queue, the system constantly loops through all the jobs in the queue to insure that the jobs are being processed quickly. However, this method requires that the queue be monitored at all time, even when no jobs are awaiting processing. This approach therefore uses up lots of CPU time by monitoring the queue at all times, and therefore inefficiently manages system resources.

[0003] In another previous-type method of job processing, a "daemon" process can be implemented that "wakes up" in predefined time intervals and processes any jobs that are waiting in the queue. While this method puts less demand on the CPU, it suffers from the drawback that jobs may sit idle for an undesirable period of time until the daemon process wakes up to service the waiting jobs. In this way, this approach is inefficient at managing the performance of the system.

SUMMARY OF THE INVENTION

[0004] The difficulties and drawbacks of the previous-type approaches are resolved by the method and implementation for job managing of the present invention which enables the creation of a job in a client system and sending a job creation instruction message to a job manager to notify that a new job has entered a processing queue. At least one processing message is sent from the job manager to at least one respective component. A first job state change message is sent from the respective component to the job manager to notify the job manager when the component begins to process a given job. A second job state change message is sent to the job manager from the component to notify the job manager when the component is done processing the given job.

[0005] As will be realized, the invention is capable of other and different embodiments and its several details are capable of modifications in various respects, all without departing from the invention. Accordingly, the drawing and description are to be regarded as illustrative and not restrictive.

BRIEF DESCRIPTION OF THE DRAWINGS

[0006] FIG. 1 is a block diagram showing the process flow of the job manager in accordance with the present invention.

DETAILED DESCRIPTION OF THE INVENTION

[0007] The present invention includes a job manager that ensures continuous and timely attendance to the jobs in the queue. In the present method and implementation, as particularly shown in FIG. 1, a job (e.g. a printing job) is created by a client system, and a job creation instruction message is sent to the job manager to notify that a new job has entered the queue. The message can be sent and received using any type of conventional messaging system. The job manager then sends processing messages to one or more components that are assigned to process the jobs in the queue for each specific client. A job state change message is sent from a component to the job manager to notify the job manager when the component begins to process a given job. Another job state change message is sent to the job manager from the component to notify the job manager when the component is done processing the given job.

[0008] Any "job create" and "job state change" message to the job manager will cause the job manager to process all the jobs in the queue. As long as components continue to process of their respective jobs and notify job manager of their progress the jobs in the queue will be processed. If the processing of a job is interrupted for any reason, e.g. if a printer runs out of paper, an "interrupt" message is sent from the component to the job manager, who then reports the interruption to a user or system administrator. All other jobs in the queue will be processed normally.

[0009] To ensure communication continuity between the job manager and other components, the job manager will receive a message from a thread within its process based on a configurable amount of time (T). This message will cause the job manager to process all the jobs in the queue if the current time (CT) minus T is greater than the last time (LT) when the job manager received a "job create" or a "state change" message. The above condition can also be written as: job processing if ((CT-T)>LT).

[0010] As described hereinabove, the present invention solves many problems associated with previous type devices. However, it will be appreciated that various changes in the details, materials and arrangements of parts which have been herein described and illustrated in order to explain the nature of the invention may be made by those skilled in the area within the principle and scope of the invention will be expressed in the appended claims.

* * * * *


uspto.report is an independent third-party trademark research tool that is not affiliated, endorsed, or sponsored by the United States Patent and Trademark Office (USPTO) or any other governmental organization. The information provided by uspto.report is based on publicly available data at the time of writing and is intended for informational purposes only.

While we strive to provide accurate and up-to-date information, we do not guarantee the accuracy, completeness, reliability, or suitability of the information displayed on this site. The use of this site is at your own risk. Any reliance you place on such information is therefore strictly at your own risk.

All official trademark data, including owner information, should be verified by visiting the official USPTO website at www.uspto.gov. This site is not intended to replace professional legal advice and should not be used as a substitute for consulting with a legal professional who is knowledgeable about trademark law.

© 2024 USPTO.report | Privacy Policy | Resources | RSS Feed of Trademarks | Trademark Filings Twitter Feed