JP5211634B2 - 画像処理装置及び優先順位決定方法 - Google Patents

画像処理装置及び優先順位決定方法 Download PDF

Info

Publication number
JP5211634B2
JP5211634B2 JP2007276733A JP2007276733A JP5211634B2 JP 5211634 B2 JP5211634 B2 JP 5211634B2 JP 2007276733 A JP2007276733 A JP 2007276733A JP 2007276733 A JP2007276733 A JP 2007276733A JP 5211634 B2 JP5211634 B2 JP 5211634B2
Authority
JP
Japan
Prior art keywords
printing
processing
queue
priority
weight information
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.)
Expired - Fee Related
Application number
JP2007276733A
Other languages
English (en)
Other versions
JP2009105754A (ja
Inventor
文佳 阿部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2007276733A priority Critical patent/JP5211634B2/ja
Publication of JP2009105754A publication Critical patent/JP2009105754A/ja
Application granted granted Critical
Publication of JP5211634B2 publication Critical patent/JP5211634B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、画像処理装置及び優先順位決定方法に係り、特に優先順位に基づいた順番で処理を実施する画像処理装置及び優先順位決定方法に関する。
画像処理装置の一例としての複合機には、PC(Personal Computer)等の外部の機器からネットワーク経由で受信した要求に応じて、プロッタやスキャナ等の搭載機能により処理を行うものがあった。例えば従来の複合機には、外部の機器からXML(Extensible Markup Language)を利用したSOAP(Simple Object Access Protocol)により要求を受信するものがあった。
外部の機器から所定の処理を複合機に対して要求する場合には、外部の機器からの要求を所定の形式で定義した構造化データ(以下、SOAPメッセージという)により複合機へ送信し、複合機が要求に応じて処理を行った後に、その結果をまとめたSOAPデータを外部の機器へ送信するというSOAPを利用したメッセージ交換方式が広く採用されている。
SOAPとは、XMLをベースとしたメッセージ交換の為のプロトコル仕様で、HTTP(Hypertext Transfer Protocol)やSMTP(Simple Mail Transfer Protocol)などのプロトコルの上位に位置し、そのパケットの中でSOAPメッセージの交換を行うためのプロトコルである。SOAPは、送受信するSOAPメッセージにIPアドレスやポート番号などの宛先情報や所定の処理を指示するアクション情報などのXML文書本体以外の付加情報を付加できる。
このように、外部の機器とのメッセージ交換にSOAPを利用することで、複合機は自機の情報を外部の機器に提供したり、外部の機器からの要求に応じてプロッタやスキャナ等の搭載機能により処理を行ったりすることができる。複合機は外部の機器から受信したSOAPメッセージを解析し、実施する処理の切り分けを行っていた。複合機が実施する処理は、大別すると、印刷に関する処理と、印刷に関する処理以外の処理(以下、その他の処理という)とがある。
従来の複合機は、比較的時間の掛かる印刷に関する処理と、印刷に関する処理よりも比較的時間の掛からない、その他の処理とを異なるキューに入れて実施することで、その他の処理のレスポンスを早めていた。例えば特許文献1には、ジョブを優先度に応じて複数のキューに振り分けて処理を実施する内容が開示されている。
特開平7−225659号公報
しかしながら、従来の複合機は印刷に関する処理の実施時であっても、異なるキューに入れて実施することで、その他の処理のレスポンスを早めることができるが、印刷に関する処理のうち、レスポンスを早めたい処理を優先して実施する等、印刷に関する処理の中でレスポンスを早めたい処理に対処することができないという問題があった。
本発明は、上記の点に鑑みなされたもので、印刷に関する処理のうち、レスポンスを早めたい処理に対処することができる画像処理装置及び優先順位決定方法を提供することを目的とする。
上記の課題を解決するため、本発明は、外部の機器から所定のメッセージを受信し、前記メッセージを解析して前記メッセージに応じた処理を実施する、印刷機能を備えた画像処理装置であって、外部の機器から受信した前記メッセージを解析して印刷に関する処理と、印刷に関する処理以外の処理とを切り分ける処理切り分け手段と、前記切り分け手段により切り分けられた前記印刷に関する処理の優先順位を所定の要因に基づいて決定する優先順位決定手段と、前記印刷に関する処理以外の処理を前記印刷に関する処理よりも優先的に実施したあとで前記優先順位に基づいた順番で前記印刷に関する処理を実施する処理実施手段と、を有し、前記優先順位決定手段は、前記メッセージに含まれる重み情報,自機内に保存されている優先機器の重み情報,及び前記印刷に関する処理に掛かるデータのデータサイズ毎の重み情報の少なくとも1つ以上を前記要因として、前記印刷に関する処理の優先順位を決定し、前記処理実施手段は、前記要因とされた前記印刷に関する処理毎の前記重み情報に基づいて前記印刷に関する処理を前記優先順位の異なるキューに入れ、前記重み情報が閾値より大きい前記印刷に関する処理が入れられている第1キューから前記印刷に関する処理を全て取り出して実施したあと、前記重み情報が閾値より小さい前記印刷に関する処理が入れられている第2キューから前記印刷に関する処理を取り出して実施し、前記第2キューに入れられてから所定時間以上経過した前記印刷に関する処理の前記重み情報に、所定値を加算し、前記重み情報が閾値より大きくなった前記印刷に関する処理を前記第2キューから取り出して第1キューに入れることを特徴とする。
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
本発明によれば、印刷に関する処理のうち、レスポンスを早めたい処理に対処することができる画像処理装置及び優先順位決定方法を提供可能である。
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明していく。実施例では、画像処理装置の一例としての複合機を例に説明するが、如何なる画像処理装置であってもよい。
(ハードウェア構成)
本発明による複合機100のハードウェア構成について図1を用いて説明する。図1は本発明による複合機のハードウェア構成図である。図1の複合機100は、操作パネル11と、記憶メディアI/F12と、コントローラ13と、データ通信I/F14と、HDD(Hard Disk Drive)17と、スキャナ15と、プロッタ16とが、それぞれ相互に接続されるように構成されている。
操作パネル11は入力装置11aと表示装置11bとを有している。入力装置11aはハードウェアキーなどで構成されており、複合機100に各操作信号を入力するのに用いられる。また、表示装置11bは、ディスプレイなどで構成され、例えば画像形成動作に関する各種情報を表示する。データ通信I/F14は、インタフェース装置14aを有しており、複合機100をデータ伝送路であるネットワークなどに接続するインタフェースである。HDD17は複合機100で取り扱われる受信文書データや読み取り画像データなどの各種データを格納している。また、HDD17は、これらの各種データを、所定のファイルシステムやDB(Data Base)により管理している。
HDD17に格納される各種データの中には、例えば、デジタルカメラ等の外部の機器によって記録された電子データも含まれる。このような場合、電子データはメモリカードなどの記録媒体12bによって複合機100に提供されるか、データ伝送路であるネットワークなどを通じてアップロードされる。記録媒体12bは、記憶メディアI/F12が有するドライブ装置12aにセットされ、各種データが記録媒体12bからドライブ装置12aを介してHDD17に格納される。
コントローラ13はROM(Read Only Memory)13a,RAM(Random Access Memory)13b及びCPU(Central Processing Unit)13cを有している。ROM13aは複合機100が起動されるときに実行されるプログラムや各種データを格納している。また、RAM13bは、ROM13aやHDD17から読み出された各種プログラムやデータを一時保持する。更に、CPU13cは、RAM13bが一時保持しているプログラムを実行する。
コントローラ13は、例えば、データ通信I/F14を介して印刷データを受信した場合に、ROM13aからRAM13b上に読み出された、PDL(Page Description Language)を解釈可能なプログラム(PDLパーサ)をCPU13cにより実行し、印刷データを解釈してビットマップイメージを生成する。
スキャナ15は画像読取装置15aを有しており、読み取り面に配置された原稿を光学的に読み取り画像データを生成する。プロッタ16は印刷装置16aを有しており、例えば電子写真プロセス方式によってビットマップイメージを記録紙に印刷する。本発明による複合機100では、上記したハードウェア構成により、コピー、プリンタ、ファクシミリ又はスキャナなどの複数の機能を実現している。
(ソフトウェア構成)
本発明による複合機100のソフトウェア構成について図2を用いて説明する。図2は本発明による複合機のソフトウェア構成図である。
図2の複合機100は、図1に示したプロッタ16と、スキャナ15と、ファクシミリやHDD17などのハードウェアリソース101とを有するとともに、起動部140により起動されるプラットホーム120及びアプリケーション130を含むように構成されるソフトウェア群110とを備えている。
プラットホーム120は、アプリケーション130からの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービス150と、1つ以上のハードウェア資源の管理を行い、コントロールサービス150からの獲得要求を調停するSRM(System Resource Manager)123と、OS(Operating System)121とを有する。
コントロールサービス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とを有するように構成される。
なお、このプラットホーム120は、予め定義されたメソッドによりアプリケーション130から処理要求を受信可能とするAPI(Application Program Interface)103と、プロッタ16やスキャナ15、その他のハードウェアリソース101等をハードウェア資源を利用する上位層からの要求に従ってOS121を介して制御するときのインタフェースであるエンジンI/F102を有する。
OS121は、UNIX(登録商標)などの汎用オペレーティングシステムであり、プラットホーム120並びにアプリケーション130の各ソフトウェアをそれぞれプロセスとして並列実行する。
SRM123は、SCS122とともにシステムの制御およびリソースの管理を行うものであり、プロッタ16やスキャナ15などのエンジン、メモリ、HDDファイル、ホストI/O(例えば、セントロI/F、ネットワークI/F、IEEE1394 I/F、RS232C I/Fなど)のハードウェア資源を利用する上位層からの要求に従って調停を行い、実行制御する。
具体的には、このSRM123は要求されたハードウェア資源が利用可能であるか(他の要求により利用されていないかどうか)を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、SRM123は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容(例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など。)を直接実施している。
SCS122は、アプリ管理、操作部制御、システム画面表示、LED(Light Emitting Diode)表示、リソース管理、割り込みアプリ制御を行うものである。ECS124は、プロッタ16、スキャナ15などから構成されるハードウェア資源のエンジンを制御するものである。
MCS125は、画像メモリの取得および解放、HDDの利用、画像データの圧縮および伸張などを行うものである。OCS126は、オペレータと本体制御間の情報伝達手段となる操作パネル11を制御するモジュールである。
FCS127は、システムコントローラの各アプリ層からPSTN(Public Switched Telephone Networks)/ISDN(Integrated Services Digital Network)を利用したファクシミリ送受信、BKM(バックアップSRAM:Static Random Access Memory)で管理されている各種ファクシミリデータの登録/引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのAPIを提供するものである。FCS127には、そのサブプロセスであるFCUハンドラ(FCUH)が起動される。このFCUHは、FCS127からの指令によりファクシミリ送受信のときにファクシミリエンジンのデバイスドライバを制御するものである。
NCS128は、ネットワークI/Oを必要とするアプリケーション130に対して共通に利用できるサービスを提供するためのモジュール群である。
本発明によるデータ通信機能は、NCS128が有している。NCS128を構成する具体的なソフトウェア部品(プログラム)については、後述の図3を用いて説明する。
アプリケーション130は、PCLやポストスクリプト(PS)などのPDLパーサを有するプリンタ用のアプリケーションであるプリンタアプリ111と、コピー用アプリケーションであるコピーアプリ112と、ファクシミリ用アプリケーションであるファックスアプリ113と、スキャナ用アプリケーションであるスキャナアプリ114と、ネットワークファイル用アプリケーションであるネットファイルアプリ115と、工程検査用アプリケーションである工程検査アプリ116と、配信用のアプリケーションである配信アプリ117とを有している。
これらの各コントロールサービスとSRM123と各アプリケーション130とは1つ以上のメソッドを有するオブジェクトであり、このオブジェクトを起動することによりそれぞれプロセスとしてOS121上に生成されて実行される。そして、各プロセス内部には複数のスレッドが起動され、OS121の管理下でこれらのスレッドのCPU占有時間を切り替えることにより並列実行が実現されている。このため、複合機100はプロセス切り替えによる並列実行と比較して、並列実行時の処理速度の向上が図られている。
なお、各アプリプロセスと各コントロールサービスプロセスとは、メソッドの実行によるプロセス間通信によってメッセージの送受信が行われる。ここからは、複合機100に含まれるNCS128の詳細について説明する。
図3は、本発明による複合機に含まれるNCSのソフトウェア構成図である。図3に示したNCS128のソフトウェア構成は、主に、各プロトコルによって受信したデータを各アプリケーション130に振り分け、各アプリケーション130から受信したデータをネットワーク側に送信する際の仲介を行うモジュール群で構成される。そのモジュール群の中には、WS−MFPモジュール群20がある。
ここで上記の「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サービスに準拠して設計された複合機用のモジュール群を示している。
図3に示したWS−MFPモジュール群20はWS−Printer21及びWS−Device22を含むように構成される。WS−Printer21は、プリンタ関連のデータを外部の機器と複合機100が有するプリンタアプリ111との間で取り扱う。WS−Device22は、外部の機器が複合機100を利用する為の情報を外部の機器と複合機100との間で取り扱う。WS−Printer21及びWS−Device22等の上記各ソフトウェア部品は、それぞれ別のプロセスで起動され、動作するように実装される。
複合機100は、外部の機器と、WS−Printer21及びWS−Device22とのSOAPメッセージのやり取りにより、複合機100の状況を外部の機器に把握させることができ、外部の機器からの要求に基づいて印刷等を実施することができる。
図4はWS−Deviceの処理を表した構成図である。図4のWS−Device22は、WS−Printer21等からプリンタアプリ111等のアプリケーション情報を取得し、取得した情報を基に外部の機器に対して、複合機100が提供可能な標準化Webサービスに関する情報を含む機器情報を送信する。
例えば複合機100が起動した直後、外部の機器は複合機100の機器情報(IPアドレスや複合機100を利用する為に必要なドライバ等)を知らない。そこで、複合機100のWS−Device22は起動後にSOAPメッセージにより複合機100の存在を外部の機器に知らせると共に、IPアドレスやドライバのインストールに必要な機器情報などを外部の機器を送信する。これにより、外部の機器は簡単な操作で複合機100を利用することができる。
図5はWS−Printerの処理を表した構成図である。図5のWS−Printerは、WS−Device22からのプリンタアプリ111に関する情報の取得要求に応答したり、外部の機器からの印刷要求をプリンタアプリ111に通知したりする。上記においてWS−Printer21とWS−Device22とは、互いに別のプロセスによって動作しているため、プロセス間通信によりデータの送受信を行う。
外部の機器とのやり取りは全てSOAPメッセージにより行われる。複合機100はSOAPメッセージを出力する場合、一度、SOAPメッセージに変換して外部の機器に出力し、メッセージが入力された場合、SOAPメッセージを解析して処理を実施する。このように、複合機100は、上記構成によるNCS128を有することにより、外部の機器との間でデータの送受信を行うことができる。
なお、図5のWS−Printer21は、SOAPメッセージを解析して例えばSendDocument処理などの印刷に関する処理と、例えばGet×××処理などの印刷に関する処理以外の処理(以下、その他の処理という)との切り分けを行う例を示している。
次に、具体的なSOAPメッセージに基づいて、印刷に関する処理と、その他の処理とを切り分ける方法を説明する。図6は、SOAPメッセージを解析して、WS−Printerが、印刷に関する処理と、その他の処理との切り分けを行う様子を表した説明図である。
WS−Printer21は、例えばGetPrinterElementsの要求を表す図7のSOAPメッセージを受信した場合、図7の記述部分71により、その他の処理として切り分け、GetPrinterElements処理のI/Fを呼び出す。図7はSOAPメッセージの一例の構成図である。
また、WS−Printer21は、例えばSendDocumentの要求を表すSOAPメッセージを受信した場合、印刷に関する処理として切り分け、SendDocument処理のI/Fを呼び出す。さらに、WS−Printer21は、例えばGetActiveJobsの要求を表すSOAPメッセージを受信した場合、その他の処理として切り分け、GetActiveJobs処理のI/Fを呼び出す。
このとき、WS−Printer21は印刷に関する処理をSlowQueueThread(スローキュースレッド)にて実施し、その他の処理をMainThread(メインスレッド)にて実施する。なお、メインスレッドはスローキュースレッドよりも優先的に処理が実施される。
このように、印刷に関する処理とその他の処理とを異なるスレッドにて実施することにより、複合機100は比較的時間の掛かる印刷に関する処理の実施時であっても、早いレスポンスが必要な、その他の処理のレスポンスを早めることができる。
さらに、本発明による複合機100では印刷に関する処理のうち、レスポンスを早めたい処理を優先して実施する。図8は、SOAPメッセージを解析してWS−Printerが、優先順位に従った印刷処理の実施と、その他の処理の実施とを切り分けて行う様子を表した説明図である。
ステップS1では、WS−Printer21が、受信したSOAPメッセージを解析して、印刷に関する処理と、その他の処理とに切り分ける。WS−Printer21はステップS2に進み、ステップS1で切り分けられた印刷に関する処理の優先順位を後述する要因に基づいて決定する。
つまり、WS−Printer21は印刷に関する処理と、その他の処理とに切り分けた後、更に印刷に関する処理の優先順位を後述の要因に基づいて決定することで、印刷に関する処理を優先順位に従って実施できる。なお、その他の処理は印刷に関する処理よりも優先的に実施される。
また、印刷に関する処理は、後述のような要因に基づいて決定された優先順位に従って実施されるので、印刷に関する処理のうち、レスポンスを早めたい処理を優先して実施することができる。
次に、印刷に関する処理の優先順位を決定する要因について説明する。優先順位決定の要因は、外部からのPriority設定,優先IPアドレスの設定,データサイズの大きさ等が考えられる。
図9は外部からのPriority設定の例を表したSOAPメッセージである。図9のSOAPメッセージでは、外部からのPriority設定として、記述部分91に重み「50」が設定されている。
優先IPアドレスの設定は、印刷に関する処理の優先順位を上げたい外部の機器のIPアドレスを優先IPアドレスとして複合機100の内部に予め保存しておくことで、印刷に関する処理の優先順位を上げたい外部の機器からの印刷に関する処理の優先順位を上げるものである。
データサイズの大きさは、印刷に関する処理に掛かるデータ(印刷データ等)のデータサイズ毎に重みを設定しておくことにより、データサイズの小さい印刷データの優先順位を上げ、データサイズの大きい印刷データの優先順位を下げるものである。データサイズの大きさは、例えばTCPのチャンクサイズより判断できる。
以下、前述したような優先順位決定の要因による優先順位の決定と処理方法について説明する。
WS−Printer21には、優先順位決定の要因として外部からのPriority設定,優先IPアドレスの設定,データサイズの大きさについて、それぞれ重みが図10のように設定されているものとする。図10は優先順位決定の要因に対して重みを設定するテーブルの一例の構成図である。
WS−Printer21は、図10のテーブルを用いて印刷に関する処理の重みを決定する。ここでは、印刷に関する処理の一例としてジョブ(1)及びジョブ(2)の重みを決定する手順を説明する。
ジョブ(1)は外部からのPriority設定として重み「60」が設定され,優先IPアドレスとしての設定がなく,データサイズの大きさが「大きい」ものとする。またジョブ(2)は、外部からのPriority設定として重み「50」が設定され,優先IPアドレスとしての設定が有り,データサイズの大きさが「小さい」ものとする。
WS−Printer21は、図10のテーブルからジョブ(1)の外部からのPriority設定,優先IPアドレスの設定,データサイズの大きさについての重みを読み出して、以下の式(1)のようにジョブ(1)の重みを算出する。なお、式(1)におけるアルファベットは図10に記載されたアルファベットに対応し、重みと優先順位決定の要因との対応関係を表している。
ジョブ(1)の重み=60(A)+5(C−1)=65・・・式(1)
外部からのPriority設定:重み「60」
優先IPアドレスの設定:重み「0」
データサイズの大きさ:重み「5」
WS−Printer21は、図10のテーブルからジョブ(2)の外部からのPriority設定,優先IPアドレスの設定,データサイズの大きさについての重みを読み出して、以下の式(2)のようにジョブ(2)の重みを算出する。なお、式(2)におけるアルファベットは図10に記載されたアルファベットに対応し、重みと優先順位決定の要因との対応関係を表している。
ジョブ(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表を作成又は更新する。
図11は優先順位決定の要因による優先順位の決定と処理方法を表した一例のイメージ図である。ステップS1及びステップS2は図8に示したステップS1及びS2と同様である。ステップS2でPriority表を作成又は更新したあと、WS−Printer21はジョブ(1)及びジョブ(2)をキュー200に入れる。
ディスパッチャ201はPriority表を参照し、印刷に関する処理のうち一番重みのある処理をキュー200から取り出して実施する。なお、ディスパッチャ201は印刷に関する処理のうち一番重みのある処理をキュー200から取り出して実施した後、実施した処理を削除するようにPriority表を更新する。
例えば上記のジョブ(1)及びジョブ(2)の場合、ディスパッチャ201はPriority表を参照し、重み「85」のジョブ(2)を優先してキュー200から取り出して実施する。なお、ディスパッチャ201はジョブ(2)をキュー200から取り出して実施した後、ジョブ(2)を削除するようにPriority表を更新する。
次に、ディスパッチャ201は重み「65」のジョブ(1)を優先してキュー200から取り出して実施する。ディスパッチャ201はジョブ(1)をキュー200から取り出して実施した後、ジョブ(1)を削除するようにPriority表を更新する。
このように、本発明による複合機100によれば、印刷に関する処理の優先順位を上記のような要因に基づいて決定し、その優先順位に従って実施されるので、印刷に関する処理のうち、レスポンスを早めたい処理を優先して実施することができる。
実施例2におけるPriority表を作成するまでの処理は、実施例1と同様であるため、説明を省略する。図12は優先順位決定の要因による優先順位の決定と処理方法を表した他の例のイメージ図である。
キューは任意の数だけ用意する。図12の例ではQueue200−1及びQueue200−2の二つのキューを用意した例を表している。ディスパッチャ201は、Priority表を参照し、印刷に関する処理のうち、重みが50以上の処理をQueue200−1に入れ、重みが49以下の処理をQueue200−2に入れる。ディスパッチャ201は、Queue200−1にジョブを入れた後、Queue200−1に入れたジョブを削除するようにPriority表を更新する。
処理スレッド202は、まず、Queue200−1に入れられているジョブを順番に取り出して全て処理し、Queue1に処理すべきジョブが無くなり次第、Queue200−2に入れられているジョブを順次取り出して処理する。処理スレッド202はQueue200−1又はQueue200−2に入れられているジョブを取り出して処理する際、ジョブの重みを考慮しない。処理スレッド202はQueue200−2に入れられているジョブを取り出した後、取り出したジョブを削除するようにPriority表を更新する。
なお、ディスパッチャ201はQueue200−2に入れたジョブの重みを時間経過により増やしていく。ディスパッチャ201はQueue200−2に入れたジョブのうち、時間経過により重みが50以上になったジョブがQueue200−2にあれば、そのジョブをQueue2から取り出し、Queue200−1に入れる。
このように、本発明による複合機100では、Queue200−2に入れたジョブの重みを時間経過により増やしていくことで、Queue200−2に入れられたジョブが長い間、実施されないという状況を避けることができる。
図13は実施例2におけるディスパッチャの処理手順を表した一例のフローチャートである。ディスパッチャ201は、上記のように印刷に関する処理が切り分けられ、その処理の重みが算出されると、図13のフローチャートに表される処理を開始する。
ステップS11に進み、ディスパッチャ201はPriority表に処理の重みとタイムスタンプ(TimeStamp)とを記載する。ディスパッチャ201はステップS12に進み、Priority表を参照し、新たに切り分けられた印刷に関する処理又はQueue200−2にある処理の重みが50以上であるか否かを判定する。
新たに切り分けられた印刷に関する処理(ジョブ)の重みが50以上であれば、ディスパッチャ201はステップS13に進み、Queue200−1にジョブを入れる(pushする)。また、Queue200−2にある処理の内、重みが50以上のジョブがあれば、ディスパッチャ201は重みが50以上のジョブをQueue200−2から取り出してQueue200−1に入れる。
ステップS13に続いてステップS15に進み、ディスパッチャ201はQueue200−1に入れたジョブをPriority表から削除する。一方、新たに切り分けられたジョブの重みが50以上でなければ、ディスパッチャ201はステップS14に進み、Queue200−2にジョブを入れる。
ステップS14又はステップS15に続いてステップS16に進み、ディスパッチャ201はPriority表のタイムスタンプを参照し、各ジョブがQueue200−2に入れられてからの時間経過を判定する。ステップS17に進み、ディスパッチャ201はQueue200−2に入れたジョブのうち、Queue200−2に入れられてから一定時間が経過したジョブがあるか否かを判定する。
Queue200−2に入れられてから一定時間が経過したジョブがあれば、ディスパッチャ201はステップS18に進み、Queue200−2に入れられてから一定時間が経過したジョブの重みを予め定められている値だけ増加させたあと、ステップS19に進む。なお、Queue200−2に入れられてから一定時間が経過したジョブがなければ、ディスパッチャ201はステップS17に続いてステップS19に進む。
ステップS19では、ディスパッチャ201は一定時間待機する。ステップS20に進み、ディスパッチャ201はPriority表を参照し、Queue200−2に入れられているジョブがあるか否かを確認する。ステップS21に進み、ディスパッチャ201はQueue200−2にジョブがあれば、ステップS12に戻り処理を続ける。ディスパッチャ201はQueue200−2にジョブがなければ、図13のフローチャートの処理を終了する。
図14は、実施例2における処理スレッドの処理手順を表した一例のフローチャートである。ステップS31に進み、処理スレッド202はQueue200−1にジョブがあるか否かを判定する。Queue200−1にジョブがあれば、処理スレッド202はステップS32に進み、Queue200−1からジョブを順次取り出して処理する。処理スレッド202はQueue200−1にジョブが無くなるまでステップS31,S32の処理を繰り返す。
Queue200−1にジョブが無くなると、処理スレッド202はステップS33に進み、Queue200−2にジョブがあるか否かを確認する。Queue200−2にジョブがあれば、処理スレッド202はステップS34に進み、これから取り出して処理するジョブを削除するようにPriority表を更新する。ステップS35に進み、処理スレッド202はQueue200−2からジョブを取り出して処理し、ステップS31に戻る。Queue200−2にジョブがなければ、処理スレッド202はステップS33からステップS31に戻る。
このように、本発明による複合機100によれば、印刷に関する処理の優先順位を上述のような要因に基づいて決定し、その優先順位に従って実施されるので、印刷に関する処理のうち、レスポンスを早めたい処理を優先して実施することができる。
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
本発明による複合機のハードウェア構成図である。 本発明による複合機のソフトウェア構成図である。 本発明による複合機に含まれるNCSのソフトウェア構成図である。 WS−Deviceの処理を表した構成図である。 WS−Printerの処理を表した構成図である。 SOAPメッセージを解析して、WS−Printerが、印刷に関する処理と、その他の処理との切り分けを行う様子を表した説明図である。 SOAPメッセージの一例の構成図である。 SOAPメッセージを解析してWS−Printerが、優先順位に従った印刷処理の実施と、その他の処理の実施とを切り分けて行う様子を表した説明図である。 外部からのPriority設定の例を表したSOAPメッセージである。 優先順位決定の要因に対して重みを設定するテーブルの一例の構成図である。 優先順位決定の要因による優先順位の決定と処理方法を表した一例のイメージ図である。 優先順位決定の要因による優先順位の決定と処理方法を表した他の例のイメージ図である。 実施例2におけるディスパッチャの処理手順を表した一例のフローチャートである。 実施例2における処理スレッドの処理手順を表した一例のフローチャートである。
符号の説明
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 処理スレッド

Claims (2)

  1. 外部の機器から所定のメッセージを受信し、前記メッセージを解析して前記メッセージに応じた処理を実施する、印刷機能を備えた画像処理装置であって、
    外部の機器から受信した前記メッセージを解析して印刷に関する処理と、印刷に関する処理以外の処理とを切り分ける処理切り分け手段と、
    前記切り分け手段により切り分けられた前記印刷に関する処理の優先順位を所定の要因に基づいて決定する優先順位決定手段と、
    前記印刷に関する処理以外の処理を前記印刷に関する処理よりも優先的に実施したあとで前記優先順位に基づいた順番で前記印刷に関する処理を実施する処理実施手段と、
    を有し、
    前記優先順位決定手段は、前記メッセージに含まれる重み情報,自機内に保存されている優先機器の重み情報,及び前記印刷に関する処理に掛かるデータのデータサイズ毎の重み情報の少なくとも1つ以上を前記要因として、前記印刷に関する処理の優先順位を決定し、
    前記処理実施手段は、前記要因とされた前記印刷に関する処理毎の前記重み情報に基づいて前記印刷に関する処理を前記優先順位の異なるキューに入れ、前記重み情報が閾値より大きい前記印刷に関する処理が入れられている第1キューから前記印刷に関する処理を全て取り出して実施したあと、前記重み情報が閾値より小さい前記印刷に関する処理が入れられている第2キューから前記印刷に関する処理を取り出して実施し、
    前記第2キューに入れられてから所定時間以上経過した前記印刷に関する処理の前記重み情報に、所定値を加算し、前記重み情報が閾値より大きくなった前記印刷に関する処理を前記第2キューから取り出して第1キューに入れる
    ことを特徴とする画像処理装置。
  2. 外部の機器から所定のメッセージを受信し、前記メッセージを解析して前記メッセージに応じた処理を実施する、印刷機能を備えた画像処理装置における優先順位決定方法であって、
    処理切り分け手段が、外部の機器から受信した前記メッセージを解析して印刷に関する処理と、印刷に関する処理以外の処理とを切り分ける処理切り分けステップと、
    優先順位決定手段が、前記切り分け手段により切り分けられた前記印刷に関する処理の優先順位を所定の要因に基づいて決定する優先順位決定ステップと、
    処理実施手段が、前記印刷に関する処理以外の処理を前記印刷に関する処理よりも優先的に実施したあとで前記優先順位に基づいた順番で前記印刷に関する処理を実施する処理実施ステップと、
    を有し、
    前記優先順位決定ステップは、前記メッセージに含まれる重み情報,自機内に保存されている優先機器の重み情報,及び前記印刷に関する処理に掛かるデータのデータサイズ毎の重み情報の少なくとも1つ以上を前記要因として、前記印刷に関する処理の優先順位を決定し、
    前記処理実施ステップは、前記要因とされた前記印刷に関する処理毎の前記重み情報に基づいて前記印刷に関する処理を前記優先順位の異なるキューに入れ、前記重み情報が閾値より大きい前記印刷に関する処理が入れられている第1キューから前記印刷に関する処理を全て取り出して実施したあと、前記重み情報が閾値より小さい前記印刷に関する処理が入れられている第2キューから前記印刷に関する処理を取り出して実施し、
    前記第2キューに入れられてから所定時間以上経過した前記印刷に関する処理の前記重み情報に、所定値を加算し、前記重み情報が閾値より大きくなった前記印刷に関する処理を前記第2キューから取り出して第1キューに入れる
    ことを特徴とする優先順位決定方法。
JP2007276733A 2007-10-24 2007-10-24 画像処理装置及び優先順位決定方法 Expired - Fee Related JP5211634B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007276733A JP5211634B2 (ja) 2007-10-24 2007-10-24 画像処理装置及び優先順位決定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007276733A JP5211634B2 (ja) 2007-10-24 2007-10-24 画像処理装置及び優先順位決定方法

Publications (2)

Publication Number Publication Date
JP2009105754A JP2009105754A (ja) 2009-05-14
JP5211634B2 true JP5211634B2 (ja) 2013-06-12

Family

ID=40707005

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007276733A Expired - Fee Related JP5211634B2 (ja) 2007-10-24 2007-10-24 画像処理装置及び優先順位決定方法

Country Status (1)

Country Link
JP (1) JP5211634B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5743723B2 (ja) * 2011-06-03 2015-07-01 キヤノン株式会社 印刷システム、サービス処理方法、及びプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0659834A (ja) * 1992-08-10 1994-03-04 Fuji Xerox Co Ltd プリンタ制御装置
JPH1032691A (ja) * 1996-07-15 1998-02-03 Matsushita Electric Ind Co Ltd ディジタル複合機
JPH10320156A (ja) * 1997-04-14 1998-12-04 Xerox Corp 多機能印刷システム
JP4194455B2 (ja) * 1997-10-27 2008-12-10 キヤノン株式会社 情報処理装置、印刷ジョブ処理方法、及び、記憶媒体
JP3854771B2 (ja) * 1999-06-25 2006-12-06 キヤノン株式会社 データ処理装置、その制御方法及び記憶媒体
JP4459385B2 (ja) * 2000-05-29 2010-04-28 セイコーインスツル株式会社 印刷装置
JP2004139463A (ja) * 2002-10-18 2004-05-13 Canon Inc 情報処理装置
JP2005102043A (ja) * 2003-09-26 2005-04-14 Kyocera Mita Corp 複合機
US7356631B2 (en) * 2005-01-21 2008-04-08 Himax Technologies, Inc. Apparatus and method for scheduling requests to source device in a memory access system

Also Published As

Publication number Publication date
JP2009105754A (ja) 2009-05-14

Similar Documents

Publication Publication Date Title
JP4566679B2 (ja) 画像形成装置および制御方法およびプログラム
US8305606B2 (en) Job management system, apparatus, and method for distributing print job information list in RSS format
JP2005108191A (ja) サービス提供装置、サービス提供プログラム、記録媒体及びサービス提供方法
JP2009255390A (ja) 画像形成装置、機能連携制御方法、及び機能連携制御プログラム
JP5835943B2 (ja) 画像処理装置とその制御方法
JP2003296065A (ja) 画像形成装置
JP4789373B2 (ja) ネットワークデバイス管理サーバ及びその制御方法及びコンピュータプログラム
JP3683542B2 (ja) 画像形成装置
JP3768463B2 (ja) ネットワークを介して装置間で連携する画像形成装置
JP4079722B2 (ja) ネットワークを介して装置間で連携する画像形成装置
JP5211634B2 (ja) 画像処理装置及び優先順位決定方法
JP3683543B2 (ja) 画像形成装置
JP4520484B2 (ja) Webサービス機能を有する画像形成装置
JP2006180496A (ja) ネットワークを介して装置間で連携する画像形成装置
JP2006277004A (ja) ネットワークデバイス管理サーバ
JP4130108B2 (ja) Webサービス機能を有する画像形成装置
JP5096114B2 (ja) 画像処理装置及びスキャンデータ配信方法
JP4291855B2 (ja) Webサービス機能を有する画像形成装置
JP2003298793A (ja) 画像形成装置
JP5072499B2 (ja) 画像形成装置、データ通信装置、データ通信方法、及びデータ通信プログラム
JP3871044B2 (ja) ネットワークを介して装置間で連携する画像形成装置
JP4141210B2 (ja) Webサービス機能を有する画像形成装置
JP2007305143A (ja) 情報処理装置および情報処理方法
JP6074923B2 (ja) 情報処理装置、ネットワークシステム、動作情報取込方法及び動作情報取込プログラム
JP2006005963A (ja) 情報処理装置および情報処理方法

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