JP2009105754A - Image processor and precedence determining method - Google Patents
Image processor and precedence determining method Download PDFInfo
- Publication number
- JP2009105754A JP2009105754A JP2007276733A JP2007276733A JP2009105754A JP 2009105754 A JP2009105754 A JP 2009105754A JP 2007276733 A JP2007276733 A JP 2007276733A JP 2007276733 A JP2007276733 A JP 2007276733A JP 2009105754 A JP2009105754 A JP 2009105754A
- Authority
- JP
- Japan
- Prior art keywords
- printing
- processing
- priority
- queue
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Facsimiles In General (AREA)
Abstract
Description
本発明は、画像処理装置及び優先順位決定方法に係り、特に優先順位に基づいた順番で処理を実施する画像処理装置及び優先順位決定方法に関する。 The present invention relates to an image processing apparatus and a priority order determination method, and more particularly to an image processing apparatus and a priority order determination method for performing processing in an order based on the priority order.
画像処理装置の一例としての複合機には、PC(Personal Computer)等の外部の機器からネットワーク経由で受信した要求に応じて、プロッタやスキャナ等の搭載機能により処理を行うものがあった。例えば従来の複合機には、外部の機器からXML(Extensible Markup Language)を利用したSOAP(Simple Object Access Protocol)により要求を受信するものがあった。 Some multifunction peripherals as an example of an image processing apparatus perform processing using a mounting function such as a plotter or a scanner in response to a request received from an external device such as a PC (Personal Computer) via a network. For example, some conventional multifunction peripherals receive a request from an external device using SOAP (Simple Object Access Protocol) using XML (Extensible Markup Language).
外部の機器から所定の処理を複合機に対して要求する場合には、外部の機器からの要求を所定の形式で定義した構造化データ(以下、SOAPメッセージという)により複合機へ送信し、複合機が要求に応じて処理を行った後に、その結果をまとめたSOAPデータを外部の機器へ送信するというSOAPを利用したメッセージ交換方式が広く採用されている。 When a predetermined process is requested from an external device to the multifunction device, the request from the external device is transmitted to the multifunction device by structured data (hereinafter referred to as a SOAP message) defined in a predetermined format. A message exchange method using SOAP is widely used in which SOAP data is sent to an external device after the machine performs processing according to a request.
SOAPとは、XMLをベースとしたメッセージ交換の為のプロトコル仕様で、HTTP(Hypertext Transfer Protocol)やSMTP(Simple Mail Transfer Protocol)などのプロトコルの上位に位置し、そのパケットの中でSOAPメッセージの交換を行うためのプロトコルである。SOAPは、送受信するSOAPメッセージにIPアドレスやポート番号などの宛先情報や所定の処理を指示するアクション情報などのXML文書本体以外の付加情報を付加できる。 SOAP is a protocol specification for exchanging messages based on XML. It is positioned above protocols such as HTTP (Hypertext Transfer Protocol) and SMTP (Simple Mail Transfer Protocol), and exchange of SOAP messages in the packet. Is a protocol for performing SOAP can add additional information other than the XML document body, such as destination information such as an IP address and a port number, and action information for instructing predetermined processing, to a SOAP message to be transmitted and received.
このように、外部の機器とのメッセージ交換にSOAPを利用することで、複合機は自機の情報を外部の機器に提供したり、外部の機器からの要求に応じてプロッタやスキャナ等の搭載機能により処理を行ったりすることができる。複合機は外部の機器から受信したSOAPメッセージを解析し、実施する処理の切り分けを行っていた。複合機が実施する処理は、大別すると、印刷に関する処理と、印刷に関する処理以外の処理(以下、その他の処理という)とがある。 In this way, by using SOAP for exchanging messages with external devices, the MFP can provide its own information to external devices, or it can be equipped with plotters, scanners, etc. in response to requests from external devices. Processing can be performed by function. The multi-function peripheral analyzes a SOAP message received from an external device and classifies processing to be performed. The processes performed by the multifunction peripheral are roughly classified into a process related to printing and a process other than a process related to printing (hereinafter referred to as other processes).
従来の複合機は、比較的時間の掛かる印刷に関する処理と、印刷に関する処理よりも比較的時間の掛からない、その他の処理とを異なるキューに入れて実施することで、その他の処理のレスポンスを早めていた。例えば特許文献1には、ジョブを優先度に応じて複数のキューに振り分けて処理を実施する内容が開示されている。
しかしながら、従来の複合機は印刷に関する処理の実施時であっても、異なるキューに入れて実施することで、その他の処理のレスポンスを早めることができるが、印刷に関する処理のうち、レスポンスを早めたい処理を優先して実施する等、印刷に関する処理の中でレスポンスを早めたい処理に対処することができないという問題があった。 However, even when a conventional multifunction device is executing processing related to printing, it can speed up the response of other processing by putting it in a different queue, but I want to speed up the response among processing related to printing. There is a problem that it is not possible to deal with a process for which a response is desired to be speeded up among processes relating to printing, such as prioritizing the process.
本発明は、上記の点に鑑みなされたもので、印刷に関する処理のうち、レスポンスを早めたい処理に対処することができる画像処理装置及び優先順位決定方法を提供することを目的とする。 SUMMARY An advantage of some aspects of the invention is that it provides an image processing apparatus and a priority order determination method capable of dealing with a process for which a response is desired to be accelerated among processes related to printing.
上記の課題を解決するため、本発明は、外部の機器から所定のメッセージを受信し、前記メッセージを解析して前記メッセージに応じた処理を実施する、印刷機能を備えた画像処理装置であって、外部の機器から受信した前記メッセージを解析して印刷に関する処理と、印刷に関する処理以外の処理とを切り分ける処理切り分け手段と、前記切り分け手段により切り分けられた前記印刷に関する処理の優先順位を所定の要因に基づいて決定する優先順位決定手段と、前記優先順位に基づいた順番で前記印刷に関する処理を実施する処理実施手段と、を有することを特徴とする。 In order to solve the above-described problems, the present invention is an image processing apparatus having a printing function that receives a predetermined message from an external device, analyzes the message, and performs processing according to the message. Analyzing a message received from an external device and separating a process related to printing and a process other than a process related to printing; and a priority of the process related to printing divided by the dividing means according to a predetermined factor Priority order determining means for determining based on the priority, and processing execution means for performing processing relating to the printing in an order based on the priority order.
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。 In addition, what applied the component, expression, or arbitrary combination of the component of this invention to a method, an apparatus, a system, a computer program, a recording medium, a data structure, etc. is also effective as an aspect of this invention.
本発明によれば、印刷に関する処理のうち、レスポンスを早めたい処理に対処することができる画像処理装置及び優先順位決定方法を提供可能である。 According to the present invention, it is possible to provide an image processing apparatus and a priority order determination method capable of dealing with a process for which a response is desired to be accelerated among processes related to printing.
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明していく。実施例では、画像処理装置の一例としての複合機を例に説明するが、如何なる画像処理装置であってもよい。 Next, the best mode for carrying out the present invention will be described based on the following embodiments with reference to the drawings. In the embodiment, a multifunction peripheral as an example of an image processing apparatus will be described as an example. However, any image processing apparatus may be used.
(ハードウェア構成)
本発明による複合機100のハードウェア構成について図1を用いて説明する。図1は本発明による複合機のハードウェア構成図である。図1の複合機100は、操作パネル11と、記憶メディアI/F12と、コントローラ13と、データ通信I/F14と、HDD(Hard Disk Drive)17と、スキャナ15と、プロッタ16とが、それぞれ相互に接続されるように構成されている。
(Hardware configuration)
A hardware configuration of the
操作パネル11は入力装置11aと表示装置11bとを有している。入力装置11aはハードウェアキーなどで構成されており、複合機100に各操作信号を入力するのに用いられる。また、表示装置11bは、ディスプレイなどで構成され、例えば画像形成動作に関する各種情報を表示する。データ通信I/F14は、インタフェース装置14aを有しており、複合機100をデータ伝送路であるネットワークなどに接続するインタフェースである。HDD17は複合機100で取り扱われる受信文書データや読み取り画像データなどの各種データを格納している。また、HDD17は、これらの各種データを、所定のファイルシステムやDB(Data Base)により管理している。
The operation panel 11 has an input device 11a and a display device 11b. The input device 11a includes hardware keys and the like, and is used to input each operation signal to the
HDD17に格納される各種データの中には、例えば、デジタルカメラ等の外部の機器によって記録された電子データも含まれる。このような場合、電子データはメモリカードなどの記録媒体12bによって複合機100に提供されるか、データ伝送路であるネットワークなどを通じてアップロードされる。記録媒体12bは、記憶メディアI/F12が有するドライブ装置12aにセットされ、各種データが記録媒体12bからドライブ装置12aを介してHDD17に格納される。
Various data stored in the HDD 17 includes electronic data recorded by an external device such as a digital camera, for example. In such a case, the electronic data is provided to the
コントローラ13はROM(Read Only Memory)13a,RAM(Random Access Memory)13b及びCPU(Central Processing Unit)13cを有している。ROM13aは複合機100が起動されるときに実行されるプログラムや各種データを格納している。また、RAM13bは、ROM13aやHDD17から読み出された各種プログラムやデータを一時保持する。更に、CPU13cは、RAM13bが一時保持しているプログラムを実行する。
The
コントローラ13は、例えば、データ通信I/F14を介して印刷データを受信した場合に、ROM13aからRAM13b上に読み出された、PDL(Page Description Language)を解釈可能なプログラム(PDLパーサ)をCPU13cにより実行し、印刷データを解釈してビットマップイメージを生成する。
For example, when the print data is received via the data communication I /
スキャナ15は画像読取装置15aを有しており、読み取り面に配置された原稿を光学的に読み取り画像データを生成する。プロッタ16は印刷装置16aを有しており、例えば電子写真プロセス方式によってビットマップイメージを記録紙に印刷する。本発明による複合機100では、上記したハードウェア構成により、コピー、プリンタ、ファクシミリ又はスキャナなどの複数の機能を実現している。
The
(ソフトウェア構成)
本発明による複合機100のソフトウェア構成について図2を用いて説明する。図2は本発明による複合機のソフトウェア構成図である。
(Software configuration)
A software configuration of the multifunction peripheral 100 according to the present invention will be described with reference to FIG. FIG. 2 is a software configuration diagram of the multifunction machine according to the present invention.
図2の複合機100は、図1に示したプロッタ16と、スキャナ15と、ファクシミリやHDD17などのハードウェアリソース101とを有するとともに、起動部140により起動されるプラットホーム120及びアプリケーション130を含むように構成されるソフトウェア群110とを備えている。
2 includes the
プラットホーム120は、アプリケーション130からの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービス150と、1つ以上のハードウェア資源の管理を行い、コントロールサービス150からの獲得要求を調停するSRM(System Resource Manager)123と、OS(Operating System)121とを有する。
The
コントロールサービス150は、複数のサービスモジュールから形成され、SCS(System Control Service)122と、ECS(Engine Control Service)124と、MCS(Memory Control Service)125と、OCS(Operation panel Control Service)126と、FCS(FAX Control Service)127と、NCS(Network Control Service)128とを有するように構成される。
The
なお、このプラットホーム120は、予め定義されたメソッドによりアプリケーション130から処理要求を受信可能とするAPI(Application Program Interface)103と、プロッタ16やスキャナ15、その他のハードウェアリソース101等をハードウェア資源を利用する上位層からの要求に従ってOS121を介して制御するときのインタフェースであるエンジンI/F102を有する。
Note that the
OS121は、UNIX(登録商標)などの汎用オペレーティングシステムであり、プラットホーム120並びにアプリケーション130の各ソフトウェアをそれぞれプロセスとして並列実行する。
The OS 121 is a general-purpose operating system such as UNIX (registered trademark), and executes the software of the
SRM123は、SCS122とともにシステムの制御およびリソースの管理を行うものであり、プロッタ16やスキャナ15などのエンジン、メモリ、HDDファイル、ホストI/O(例えば、セントロI/F、ネットワークI/F、IEEE1394 I/F、RS232C I/Fなど)のハードウェア資源を利用する上位層からの要求に従って調停を行い、実行制御する。
The SRM 123, together with the
具体的には、このSRM123は要求されたハードウェア資源が利用可能であるか(他の要求により利用されていないかどうか)を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、SRM123は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容(例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など。)を直接実施している。
Specifically, the SRM 123 determines whether the requested hardware resource is available (whether it is not used by another request), and if it is available, the requested hardware resource can be used. Tell the upper layer to the effect. In addition, the
SCS122は、アプリ管理、操作部制御、システム画面表示、LED(Light Emitting Diode)表示、リソース管理、割り込みアプリ制御を行うものである。ECS124は、プロッタ16、スキャナ15などから構成されるハードウェア資源のエンジンを制御するものである。
The
MCS125は、画像メモリの取得および解放、HDDの利用、画像データの圧縮および伸張などを行うものである。OCS126は、オペレータと本体制御間の情報伝達手段となる操作パネル11を制御するモジュールである。
The
FCS127は、システムコントローラの各アプリ層からPSTN(Public Switched Telephone Networks)/ISDN(Integrated Services Digital Network)を利用したファクシミリ送受信、BKM(バックアップSRAM:Static Random Access Memory)で管理されている各種ファクシミリデータの登録/引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのAPIを提供するものである。FCS127には、そのサブプロセスであるFCUハンドラ(FCUH)が起動される。このFCUHは、FCS127からの指令によりファクシミリ送受信のときにファクシミリエンジンのデバイスドライバを制御するものである。
The
NCS128は、ネットワークI/Oを必要とするアプリケーション130に対して共通に利用できるサービスを提供するためのモジュール群である。
The
本発明によるデータ通信機能は、NCS128が有している。NCS128を構成する具体的なソフトウェア部品(プログラム)については、後述の図3を用いて説明する。
The
アプリケーション130は、PCLやポストスクリプト(PS)などのPDLパーサを有するプリンタ用のアプリケーションであるプリンタアプリ111と、コピー用アプリケーションであるコピーアプリ112と、ファクシミリ用アプリケーションであるファックスアプリ113と、スキャナ用アプリケーションであるスキャナアプリ114と、ネットワークファイル用アプリケーションであるネットファイルアプリ115と、工程検査用アプリケーションである工程検査アプリ116と、配信用のアプリケーションである配信アプリ117とを有している。
The
これらの各コントロールサービスとSRM123と各アプリケーション130とは1つ以上のメソッドを有するオブジェクトであり、このオブジェクトを起動することによりそれぞれプロセスとしてOS121上に生成されて実行される。そして、各プロセス内部には複数のスレッドが起動され、OS121の管理下でこれらのスレッドのCPU占有時間を切り替えることにより並列実行が実現されている。このため、複合機100はプロセス切り替えによる並列実行と比較して、並列実行時の処理速度の向上が図られている。
Each of these control services, the
なお、各アプリプロセスと各コントロールサービスプロセスとは、メソッドの実行によるプロセス間通信によってメッセージの送受信が行われる。ここからは、複合機100に含まれるNCS128の詳細について説明する。
Each application process and each control service process transmit and receive messages by inter-process communication by executing methods. From here, the details of the
図3は、本発明による複合機に含まれるNCSのソフトウェア構成図である。図3に示したNCS128のソフトウェア構成は、主に、各プロトコルによって受信したデータを各アプリケーション130に振り分け、各アプリケーション130から受信したデータをネットワーク側に送信する際の仲介を行うモジュール群で構成される。そのモジュール群の中には、WS−MFPモジュール群20がある。
FIG. 3 is a software configuration diagram of the NCS included in the MFP according to the present invention. The software configuration of the
ここで上記の「WS」とは、World Wide Web Consortium(W3C)のワーキンググループ(WG)により進められているXMLをベースとした標準化Webサービスの意味である。「WS」については、その詳細が開示されている公開文献「Devices Profile for Web Services」を開示し、ここでの説明を省略する。公開文献の入手先URLは、"http://specs.xmlsoap.org/ws/2006/02/devprof/devicesprofile.pdf"である。以降の説明の中で、「WS」がつく機能名やモジュール名は、この標準化Webサービスに準拠して設計された機能やモジュールである。例えば、WS−MFPモジュール群20は、標準化Webサービスに準拠して設計された複合機用のモジュール群を示している。
Here, the above-mentioned “WS” means a standardized Web service based on XML that is being promoted by a working group (WG) of the World Wide Web Consortium (W3C). As for “WS”, an open document “Devices Profile for Web Services” in which the details are disclosed is disclosed, and the description thereof is omitted here. The URL for obtaining the published document is “http://specs.xmlsoap.org/ws/2006/02/devprof/devicesprofile.pdf”. In the following description, function names and module names with “WS” are functions and modules designed in accordance with this standardized Web service. For example, the WS-
図3に示したWS−MFPモジュール群20はWS−Printer21及びWS−Device22を含むように構成される。WS−Printer21は、プリンタ関連のデータを外部の機器と複合機100が有するプリンタアプリ111との間で取り扱う。WS−Device22は、外部の機器が複合機100を利用する為の情報を外部の機器と複合機100との間で取り扱う。WS−Printer21及びWS−Device22等の上記各ソフトウェア部品は、それぞれ別のプロセスで起動され、動作するように実装される。
The WS-
複合機100は、外部の機器と、WS−Printer21及びWS−Device22とのSOAPメッセージのやり取りにより、複合機100の状況を外部の機器に把握させることができ、外部の機器からの要求に基づいて印刷等を実施することができる。
The
図4はWS−Deviceの処理を表した構成図である。図4のWS−Device22は、WS−Printer21等からプリンタアプリ111等のアプリケーション情報を取得し、取得した情報を基に外部の機器に対して、複合機100が提供可能な標準化Webサービスに関する情報を含む機器情報を送信する。
FIG. 4 is a configuration diagram showing WS-Device processing. The WS-
例えば複合機100が起動した直後、外部の機器は複合機100の機器情報(IPアドレスや複合機100を利用する為に必要なドライバ等)を知らない。そこで、複合機100のWS−Device22は起動後にSOAPメッセージにより複合機100の存在を外部の機器に知らせると共に、IPアドレスやドライバのインストールに必要な機器情報などを外部の機器を送信する。これにより、外部の機器は簡単な操作で複合機100を利用することができる。
For example, immediately after the
図5はWS−Printerの処理を表した構成図である。図5のWS−Printerは、WS−Device22からのプリンタアプリ111に関する情報の取得要求に応答したり、外部の機器からの印刷要求をプリンタアプリ111に通知したりする。上記においてWS−Printer21とWS−Device22とは、互いに別のプロセスによって動作しているため、プロセス間通信によりデータの送受信を行う。
FIG. 5 is a configuration diagram showing WS-Printer processing. The WS-Printer in FIG. 5 responds to an information acquisition request regarding the
外部の機器とのやり取りは全てSOAPメッセージにより行われる。複合機100はSOAPメッセージを出力する場合、一度、SOAPメッセージに変換して外部の機器に出力し、メッセージが入力された場合、SOAPメッセージを解析して処理を実施する。このように、複合機100は、上記構成によるNCS128を有することにより、外部の機器との間でデータの送受信を行うことができる。
All exchanges with external devices are performed using SOAP messages. When the
なお、図5のWS−Printer21は、SOAPメッセージを解析して例えばSendDocument処理などの印刷に関する処理と、例えばGet×××処理などの印刷に関する処理以外の処理(以下、その他の処理という)との切り分けを行う例を示している。
The WS-
次に、具体的なSOAPメッセージに基づいて、印刷に関する処理と、その他の処理とを切り分ける方法を説明する。図6は、SOAPメッセージを解析して、WS−Printerが、印刷に関する処理と、その他の処理との切り分けを行う様子を表した説明図である。 Next, a method for separating printing-related processing and other processing based on a specific SOAP message will be described. FIG. 6 is an explanatory diagram showing a state in which the SOAP message is analyzed and the WS-Printer separates the processing related to printing from the other processing.
WS−Printer21は、例えばGetPrinterElementsの要求を表す図7のSOAPメッセージを受信した場合、図7の記述部分71により、その他の処理として切り分け、GetPrinterElements処理のI/Fを呼び出す。図7はSOAPメッセージの一例の構成図である。
When the WS-
また、WS−Printer21は、例えばSendDocumentの要求を表すSOAPメッセージを受信した場合、印刷に関する処理として切り分け、SendDocument処理のI/Fを呼び出す。さらに、WS−Printer21は、例えばGetActiveJobsの要求を表すSOAPメッセージを受信した場合、その他の処理として切り分け、GetActiveJobs処理のI/Fを呼び出す。
For example, when the WS-
このとき、WS−Printer21は印刷に関する処理をSlowQueueThread(スローキュースレッド)にて実施し、その他の処理をMainThread(メインスレッド)にて実施する。なお、メインスレッドはスローキュースレッドよりも優先的に処理が実施される。
At this time, the WS-
このように、印刷に関する処理とその他の処理とを異なるスレッドにて実施することにより、複合機100は比較的時間の掛かる印刷に関する処理の実施時であっても、早いレスポンスが必要な、その他の処理のレスポンスを早めることができる。 As described above, by executing processing related to printing and other processing in different threads, the multi-function peripheral 100 requires a quick response even when executing processing related to printing that takes a relatively long time. Processing response can be accelerated.
さらに、本発明による複合機100では印刷に関する処理のうち、レスポンスを早めたい処理を優先して実施する。図8は、SOAPメッセージを解析してWS−Printerが、優先順位に従った印刷処理の実施と、その他の処理の実施とを切り分けて行う様子を表した説明図である。 Furthermore, the multifunction peripheral 100 according to the present invention preferentially executes a process for which a response is to be accelerated among processes related to printing. FIG. 8 is an explanatory diagram showing a state in which the SOAP message is analyzed and the WS-Printer separately performs the printing process according to the priority order and the other processes.
ステップS1では、WS−Printer21が、受信したSOAPメッセージを解析して、印刷に関する処理と、その他の処理とに切り分ける。WS−Printer21はステップS2に進み、ステップS1で切り分けられた印刷に関する処理の優先順位を後述する要因に基づいて決定する。
In step S1, the WS-
つまり、WS−Printer21は印刷に関する処理と、その他の処理とに切り分けた後、更に印刷に関する処理の優先順位を後述の要因に基づいて決定することで、印刷に関する処理を優先順位に従って実施できる。なお、その他の処理は印刷に関する処理よりも優先的に実施される。
In other words, the WS-
また、印刷に関する処理は、後述のような要因に基づいて決定された優先順位に従って実施されるので、印刷に関する処理のうち、レスポンスを早めたい処理を優先して実施することができる。 In addition, since the process related to printing is performed according to the priority order determined based on the factors described below, it is possible to prioritize the process for which the response is to be accelerated among the processes related to printing.
次に、印刷に関する処理の優先順位を決定する要因について説明する。優先順位決定の要因は、外部からのPriority設定,優先IPアドレスの設定,データサイズの大きさ等が考えられる。 Next, factors that determine the priority of processing related to printing will be described. Factors for determining the priority order may include priority setting from the outside, setting of the priority IP address, the size of the data size, and the like.
図9は外部からのPriority設定の例を表したSOAPメッセージである。図9のSOAPメッセージでは、外部からのPriority設定として、記述部分91に重み「50」が設定されている。 FIG. 9 is a SOAP message showing an example of Priority setting from the outside. In the SOAP message of FIG. 9, the weight “50” is set in the description portion 91 as the Priority setting from the outside.
優先IPアドレスの設定は、印刷に関する処理の優先順位を上げたい外部の機器のIPアドレスを優先IPアドレスとして複合機100の内部に予め保存しておくことで、印刷に関する処理の優先順位を上げたい外部の機器からの印刷に関する処理の優先順位を上げるものである。
The priority IP address is set by preliminarily storing the IP address of an external device whose print processing priority is to be raised in the
データサイズの大きさは、印刷に関する処理に掛かるデータ(印刷データ等)のデータサイズ毎に重みを設定しておくことにより、データサイズの小さい印刷データの優先順位を上げ、データサイズの大きい印刷データの優先順位を下げるものである。データサイズの大きさは、例えばTCPのチャンクサイズより判断できる。 The size of the data is increased by setting the weight for each data size of the data related to printing (print data, etc.), thereby increasing the priority of print data with a small data size, and print data with a large data size. Lower the priority. The size of the data size can be determined from, for example, the TCP chunk size.
以下、前述したような優先順位決定の要因による優先順位の決定と処理方法について説明する。 Hereinafter, priority determination and processing methods based on the priority determination factors as described above will be described.
WS−Printer21には、優先順位決定の要因として外部からのPriority設定,優先IPアドレスの設定,データサイズの大きさについて、それぞれ重みが図10のように設定されているものとする。図10は優先順位決定の要因に対して重みを設定するテーブルの一例の構成図である。
In WS-
WS−Printer21は、図10のテーブルを用いて印刷に関する処理の重みを決定する。ここでは、印刷に関する処理の一例としてジョブ(1)及びジョブ(2)の重みを決定する手順を説明する。
The WS-
ジョブ(1)は外部からのPriority設定として重み「60」が設定され,優先IPアドレスとしての設定がなく,データサイズの大きさが「大きい」ものとする。またジョブ(2)は、外部からのPriority設定として重み「50」が設定され,優先IPアドレスとしての設定が有り,データサイズの大きさが「小さい」ものとする。 The job (1) has a weight “60” as the priority setting from the outside, has no setting as a priority IP address, and has a large data size. Job (2) has a weight “50” as a priority setting from the outside, a setting as a priority IP address, and a data size “small”.
WS−Printer21は、図10のテーブルからジョブ(1)の外部からのPriority設定,優先IPアドレスの設定,データサイズの大きさについての重みを読み出して、以下の式(1)のようにジョブ(1)の重みを算出する。なお、式(1)におけるアルファベットは図10に記載されたアルファベットに対応し、重みと優先順位決定の要因との対応関係を表している。
The WS-
ジョブ(1)の重み=60(A)+5(C−1)=65・・・式(1)
外部からのPriority設定:重み「60」
優先IPアドレスの設定:重み「0」
データサイズの大きさ:重み「5」
WS−Printer21は、図10のテーブルからジョブ(2)の外部からのPriority設定,優先IPアドレスの設定,データサイズの大きさについての重みを読み出して、以下の式(2)のようにジョブ(2)の重みを算出する。なお、式(2)におけるアルファベットは図10に記載されたアルファベットに対応し、重みと優先順位決定の要因との対応関係を表している。
Weight of job (1) = 60 (A) +5 (C−1) = 65 Expression (1)
Priority setting from outside: Weight “60”
Priority IP address setting: Weight “0”
Data size: Weight “5”
The WS-
ジョブ(2)の重み=50(A)+20(B)+15(C−3)=85・・・式(2)
外部からのPriority設定:重み「50」
優先IPアドレスの設定:重み「20」
データサイズの大きさ:重み「15」
WS−Printer21は、前述のようにジョブ(1)及びジョブ(2)の重みを決定したあと、印刷に関する処理の一例としてのジョブ(1)及びジョブ(2)と算出した重みとを対応付けたPriority表を作成する。なお、WS−Printer21は受信したSOAPメッセージから印刷に関する処理が切り分けられると、その印刷に関する処理の重みを算出し、Priority表に追加する。このように、WS−Printer21は、印刷に関する処理毎の重みを管理する為のPriority表を作成又は更新する。
Weight of job (2) = 50 (A) +20 (B) +15 (C−3) = 85 Expression (2)
Priority setting from outside: Weight “50”
Priority IP address setting: Weight “20”
Data size: Weight “15”
After determining the weights of job (1) and job (2) as described above, WS-
図11は優先順位決定の要因による優先順位の決定と処理方法を表した一例のイメージ図である。ステップS1及びステップS2は図8に示したステップS1及びS2と同様である。ステップS2でPriority表を作成又は更新したあと、WS−Printer21はジョブ(1)及びジョブ(2)をキュー200に入れる。
FIG. 11 is an image diagram showing an example of the priority determination and processing method based on the priority determination factor. Steps S1 and S2 are the same as steps S1 and S2 shown in FIG. After creating or updating the Priority table in step S2, the WS-
ディスパッチャ201はPriority表を参照し、印刷に関する処理のうち一番重みのある処理をキュー200から取り出して実施する。なお、ディスパッチャ201は印刷に関する処理のうち一番重みのある処理をキュー200から取り出して実施した後、実施した処理を削除するようにPriority表を更新する。
The
例えば上記のジョブ(1)及びジョブ(2)の場合、ディスパッチャ201はPriority表を参照し、重み「85」のジョブ(2)を優先してキュー200から取り出して実施する。なお、ディスパッチャ201はジョブ(2)をキュー200から取り出して実施した後、ジョブ(2)を削除するようにPriority表を更新する。
For example, in the case of the above jobs (1) and (2), the
次に、ディスパッチャ201は重み「65」のジョブ(1)を優先してキュー200から取り出して実施する。ディスパッチャ201はジョブ(1)をキュー200から取り出して実施した後、ジョブ(1)を削除するようにPriority表を更新する。
Next, the
このように、本発明による複合機100によれば、印刷に関する処理の優先順位を上記のような要因に基づいて決定し、その優先順位に従って実施されるので、印刷に関する処理のうち、レスポンスを早めたい処理を優先して実施することができる。 As described above, according to the multifunction peripheral 100 according to the present invention, the priority of processing related to printing is determined based on the factors as described above, and the processing is performed according to the priority. The processing that is desired can be prioritized.
実施例2におけるPriority表を作成するまでの処理は、実施例1と同様であるため、説明を省略する。図12は優先順位決定の要因による優先順位の決定と処理方法を表した他の例のイメージ図である。 Since the processing until the creation of the Priority table in the second embodiment is the same as that in the first embodiment, the description thereof is omitted. FIG. 12 is a conceptual diagram showing another example of the priority determination and processing method based on the priority determination factor.
キューは任意の数だけ用意する。図12の例ではQueue200−1及びQueue200−2の二つのキューを用意した例を表している。ディスパッチャ201は、Priority表を参照し、印刷に関する処理のうち、重みが50以上の処理をQueue200−1に入れ、重みが49以下の処理をQueue200−2に入れる。ディスパッチャ201は、Queue200−1にジョブを入れた後、Queue200−1に入れたジョブを削除するようにPriority表を更新する。
Prepare any number of queues. The example of FIG. 12 represents an example in which two queues of Queue 200-1 and Queue 200-2 are prepared. The
処理スレッド202は、まず、Queue200−1に入れられているジョブを順番に取り出して全て処理し、Queue1に処理すべきジョブが無くなり次第、Queue200−2に入れられているジョブを順次取り出して処理する。処理スレッド202はQueue200−1又はQueue200−2に入れられているジョブを取り出して処理する際、ジョブの重みを考慮しない。処理スレッド202はQueue200−2に入れられているジョブを取り出した後、取り出したジョブを削除するようにPriority表を更新する。
First, the
なお、ディスパッチャ201はQueue200−2に入れたジョブの重みを時間経過により増やしていく。ディスパッチャ201はQueue200−2に入れたジョブのうち、時間経過により重みが50以上になったジョブがQueue200−2にあれば、そのジョブをQueue2から取り出し、Queue200−1に入れる。
The
このように、本発明による複合機100では、Queue200−2に入れたジョブの重みを時間経過により増やしていくことで、Queue200−2に入れられたジョブが長い間、実施されないという状況を避けることができる。
As described above, in the
図13は実施例2におけるディスパッチャの処理手順を表した一例のフローチャートである。ディスパッチャ201は、上記のように印刷に関する処理が切り分けられ、その処理の重みが算出されると、図13のフローチャートに表される処理を開始する。
FIG. 13 is a flowchart illustrating an example of a processing procedure of the dispatcher according to the second embodiment. The
ステップS11に進み、ディスパッチャ201はPriority表に処理の重みとタイムスタンプ(TimeStamp)とを記載する。ディスパッチャ201はステップS12に進み、Priority表を参照し、新たに切り分けられた印刷に関する処理又はQueue200−2にある処理の重みが50以上であるか否かを判定する。
In step S11, the
新たに切り分けられた印刷に関する処理(ジョブ)の重みが50以上であれば、ディスパッチャ201はステップS13に進み、Queue200−1にジョブを入れる(pushする)。また、Queue200−2にある処理の内、重みが50以上のジョブがあれば、ディスパッチャ201は重みが50以上のジョブをQueue200−2から取り出してQueue200−1に入れる。
If the weight of the process (job) relating to the newly separated printing is 50 or more, the
ステップS13に続いてステップS15に進み、ディスパッチャ201はQueue200−1に入れたジョブをPriority表から削除する。一方、新たに切り分けられたジョブの重みが50以上でなければ、ディスパッチャ201はステップS14に進み、Queue200−2にジョブを入れる。
Progressing to step S15 following step S13, the
ステップS14又はステップS15に続いてステップS16に進み、ディスパッチャ201はPriority表のタイムスタンプを参照し、各ジョブがQueue200−2に入れられてからの時間経過を判定する。ステップS17に進み、ディスパッチャ201はQueue200−2に入れたジョブのうち、Queue200−2に入れられてから一定時間が経過したジョブがあるか否かを判定する。
Proceeding to step S16 following step S14 or step S15, the
Queue200−2に入れられてから一定時間が経過したジョブがあれば、ディスパッチャ201はステップS18に進み、Queue200−2に入れられてから一定時間が経過したジョブの重みを予め定められている値だけ増加させたあと、ステップS19に進む。なお、Queue200−2に入れられてから一定時間が経過したジョブがなければ、ディスパッチャ201はステップS17に続いてステップS19に進む。
If there is a job for which a certain time has elapsed since it was entered in Queue 200-2, the
ステップS19では、ディスパッチャ201は一定時間待機する。ステップS20に進み、ディスパッチャ201はPriority表を参照し、Queue200−2に入れられているジョブがあるか否かを確認する。ステップS21に進み、ディスパッチャ201はQueue200−2にジョブがあれば、ステップS12に戻り処理を続ける。ディスパッチャ201はQueue200−2にジョブがなければ、図13のフローチャートの処理を終了する。
In step S19, the
図14は、実施例2における処理スレッドの処理手順を表した一例のフローチャートである。ステップS31に進み、処理スレッド202はQueue200−1にジョブがあるか否かを判定する。Queue200−1にジョブがあれば、処理スレッド202はステップS32に進み、Queue200−1からジョブを順次取り出して処理する。処理スレッド202はQueue200−1にジョブが無くなるまでステップS31,S32の処理を繰り返す。
FIG. 14 is an example flowchart illustrating a processing procedure of a processing thread according to the second embodiment. In step S31, the
Queue200−1にジョブが無くなると、処理スレッド202はステップS33に進み、Queue200−2にジョブがあるか否かを確認する。Queue200−2にジョブがあれば、処理スレッド202はステップS34に進み、これから取り出して処理するジョブを削除するようにPriority表を更新する。ステップS35に進み、処理スレッド202はQueue200−2からジョブを取り出して処理し、ステップS31に戻る。Queue200−2にジョブがなければ、処理スレッド202はステップS33からステップS31に戻る。
When there is no job in Queue 200-1, the
このように、本発明による複合機100によれば、印刷に関する処理の優先順位を上述のような要因に基づいて決定し、その優先順位に従って実施されるので、印刷に関する処理のうち、レスポンスを早めたい処理を優先して実施することができる。 As described above, according to the multifunction peripheral 100 according to the present invention, the priority of processing related to printing is determined based on the factors as described above, and the processing is performed according to the priority. The processing that is desired can be prioritized.
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。 The present invention is not limited to the specifically disclosed embodiments, and various modifications and changes can be made without departing from the scope of the claims.
11 操作パネル
12 記憶メディアI/F
13 コントローラ
14 データ通信I/F
15 スキャナ
16 プロッタ
17 HDD(Hard Disk Drive)
20 WS−MFPモジュール群
21 WS−Printer
22 WS−Device
100 複合機
111 プリンタアプリ
128 NCS
200,200−1,200−2 キュー
201 ディスパッチャ
202 処理スレッド
11
13
15
20 WS-
22 WS-Device
100
200, 200-1, 200-2
Claims (6)
外部の機器から受信した前記メッセージを解析して印刷に関する処理と、印刷に関する処理以外の処理とを切り分ける処理切り分け手段と、
前記切り分け手段により切り分けられた前記印刷に関する処理の優先順位を所定の要因に基づいて決定する優先順位決定手段と、
前記優先順位に基づいた順番で前記印刷に関する処理を実施する処理実施手段と、
を有することを特徴とする画像処理装置。 An image processing apparatus having a print function that receives a predetermined message from an external device, analyzes the message, and performs processing according to the message,
Processing separation means for analyzing the message received from an external device and separating processing related to printing and processing other than processing related to printing;
Priority order determining means for determining a priority order of processing related to the printing separated by the separation means based on a predetermined factor;
Processing execution means for performing processing related to the printing in an order based on the priority;
An image processing apparatus comprising:
処理切り分け手段が、外部の機器から受信した前記メッセージを解析して印刷に関する処理と、印刷に関する処理以外の処理とを切り分ける処理切り分けステップと、
優先順位決定手段が、前記切り分け手段により切り分けられた前記印刷に関する処理の優先順位を所定の要因に基づいて決定する優先順位決定ステップと、
処理実施手段が、前記優先順位に基づいた順番で前記印刷に関する処理を実施する処理実施ステップと、
を有することを特徴とする優先順位決定方法。 A priority order determination method in an image processing apparatus having a print function, which receives a predetermined message from an external device, analyzes the message, and performs processing according to the message,
A process dividing step for analyzing a message received from an external device and separating a process related to printing and a process other than a process related to printing;
A priority order determining means for determining a priority order of the processing relating to the printing separated by the separating means based on a predetermined factor;
A process execution step in which a process execution unit performs a process related to the printing in an order based on the priority;
A priority order determination method characterized by comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007276733A JP5211634B2 (en) | 2007-10-24 | 2007-10-24 | Image processing apparatus and priority determination method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007276733A JP5211634B2 (en) | 2007-10-24 | 2007-10-24 | Image processing apparatus and priority determination method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009105754A true JP2009105754A (en) | 2009-05-14 |
JP5211634B2 JP5211634B2 (en) | 2013-06-12 |
Family
ID=40707005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007276733A Expired - Fee Related JP5211634B2 (en) | 2007-10-24 | 2007-10-24 | Image processing apparatus and priority determination method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5211634B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012252539A (en) * | 2011-06-03 | 2012-12-20 | Canon Inc | Printing system, service processing method and program |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0659834A (en) * | 1992-08-10 | 1994-03-04 | Fuji Xerox Co Ltd | Printer controller |
JPH1032691A (en) * | 1996-07-15 | 1998-02-03 | Matsushita Electric Ind Co Ltd | Digital composite device |
JPH10320156A (en) * | 1997-04-14 | 1998-12-04 | Xerox Corp | Multifunctional printing system |
JP2001069294A (en) * | 1999-06-25 | 2001-03-16 | Canon Inc | Data processor, control method therefor and storage medium |
JP2001334731A (en) * | 2000-05-29 | 2001-12-04 | Seiko Instruments Inc | Printing device |
JP2004001581A (en) * | 1997-10-27 | 2004-01-08 | Canon Inc | Printing processing apparatus, information processing apparatus communicable with the apparatus, printing processing method, processing method and storage medium |
JP2004139463A (en) * | 2002-10-18 | 2004-05-13 | Canon Inc | Information processor |
JP2005102043A (en) * | 2003-09-26 | 2005-04-14 | Kyocera Mita Corp | Composite machine |
JP2006202244A (en) * | 2005-01-21 | 2006-08-03 | Himax Optoelectronics Corp | Apparatus and method for scheduling request to source device |
-
2007
- 2007-10-24 JP JP2007276733A patent/JP5211634B2/en not_active Expired - Fee Related
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0659834A (en) * | 1992-08-10 | 1994-03-04 | Fuji Xerox Co Ltd | Printer controller |
JPH1032691A (en) * | 1996-07-15 | 1998-02-03 | Matsushita Electric Ind Co Ltd | Digital composite device |
JPH10320156A (en) * | 1997-04-14 | 1998-12-04 | Xerox Corp | Multifunctional printing system |
JP2004001581A (en) * | 1997-10-27 | 2004-01-08 | Canon Inc | Printing processing apparatus, information processing apparatus communicable with the apparatus, printing processing method, processing method and storage medium |
JP2001069294A (en) * | 1999-06-25 | 2001-03-16 | Canon Inc | Data processor, control method therefor and storage medium |
JP2001334731A (en) * | 2000-05-29 | 2001-12-04 | Seiko Instruments Inc | Printing device |
JP2004139463A (en) * | 2002-10-18 | 2004-05-13 | Canon Inc | Information processor |
JP2005102043A (en) * | 2003-09-26 | 2005-04-14 | Kyocera Mita Corp | Composite machine |
JP2006202244A (en) * | 2005-01-21 | 2006-08-03 | Himax Optoelectronics Corp | Apparatus and method for scheduling request to source device |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012252539A (en) * | 2011-06-03 | 2012-12-20 | Canon Inc | Printing system, service processing method and program |
Also Published As
Publication number | Publication date |
---|---|
JP5211634B2 (en) | 2013-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4444752B2 (en) | Service providing apparatus, service providing program, recording medium, and service providing method | |
US8305606B2 (en) | Job management system, apparatus, and method for distributing print job information list in RSS format | |
JP2009255390A (en) | Image forming apparatus, functional cooperation control method, and functional cooperation control program | |
JP2003296065A (en) | Image forming apparatus | |
JP5835943B2 (en) | Image processing apparatus and control method thereof | |
JP4789373B2 (en) | Network device management server, control method therefor, and computer program | |
JP3683542B2 (en) | Image forming apparatus | |
JP3768463B2 (en) | Image forming apparatus that cooperates between apparatuses via a network | |
JP4291856B2 (en) | Image forming apparatus having Web service function | |
JP4079722B2 (en) | Image forming apparatus that cooperates between apparatuses via a network | |
JP5211634B2 (en) | Image processing apparatus and priority determination method | |
JP3683543B2 (en) | Image forming apparatus | |
JP4520484B2 (en) | Image forming apparatus having Web service function | |
JP2019160278A (en) | Information processor, information processing system, workflow processing method and program | |
JP2006180496A (en) | Image forming apparatus associating with other apparatuses through network | |
JP2006277004A (en) | Network device management server | |
JP4130108B2 (en) | Image forming apparatus having Web service function | |
JP5096114B2 (en) | Image processing apparatus and scan data distribution method | |
JP4291855B2 (en) | Image forming apparatus having Web service function | |
JP2003298793A (en) | Image forming apparatus | |
JP5072499B2 (en) | Image forming apparatus, data communication apparatus, data communication method, and data communication program | |
JP4141210B2 (en) | Image forming apparatus having Web service function | |
JP2007305143A (en) | Information processor and information processing method | |
JP2009111785A (en) | Image processor and processing distributing method | |
JP2006005963A (en) | Information processor and information processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100823 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120104 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120302 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121106 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121228 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130129 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130211 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160308 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |