(57)【特許請求の範囲】
【請求項１】
パケットを受信する受信部と、
前記受信部によって受信されたパケットが、ブロードキャストパケット又はマルチキャストパケットであるか否かを判断するパケット判断部と、
ブロードキャストパケット又はマルチキャストパケットを処理するジョブを配列するための第１のジョブキューと、
前記パケット判断部によってブロードキャストパケット又はマルチキャストパケットであると判断された場合に、当該パケットを処理するジョブを前記第１のジョブキューに登録するジョブ登録部と、
ブロードキャストパケット又はマルチキャストパケットを処理するジョブ以外のジョブを配列するための第２のジョブキューと、
前記第２のジョブキューにジョブが登録されていない場合に、前記第１のジョブキューに登録されているジョブを実行する制御部と
を備えることを特徴とする画像処理装置。
【請求項２】
前記画像処理装置は、画像入力機能、画像出力機能又はファクシミリ機能を備え、
前記第２のジョブキューに登録されるジョブは、前記画像入力機能、画像出力機能又はファクシミリ機能を用いて実行されるジョブであることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
ユニキャストパケットを処理するジョブを配列するための第３のジョブキューをさらに備え、
前記パケット判断部は、前記受信部によって受信されたパケットが、ユニキャストパケット、ブロードキャストパケット又はマルチキャストパケットのいずれであるかを判断し、
前記ジョブ登録部は、前記パケット判断部によってブロードキャストパケット又はマルチキャストパケットであると判断された場合には、当該パケットを処理するジョブを前記第１のジョブキューに登録し、ユニキャストパケットであると判断された場合には、当該パケットを処理するジョブを前記第３のジョブキューに登録し、
前記制御部は、前記第２のジョブキューと前記第３のジョブキューにジョブが登録されていない場合に、前記第１のジョブキューに登録されているジョブを実行する
ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記制御部は、前記第３のジョブキューに配列されているジョブの実行が所定時間連続した場合に、前記第２のジョブキューに配列されたジョブの実行に移行することを特徴とする請求項３に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク接続された画像処理装置におけるジョブの実行方法に関する。
【背景技術】
【０００２】
ＬＡＮ等のネットワークに接続され、ネットワーク上の複数のユーザに共有される複合機は、通常、ネットワークを介して受信するパケットの処理を最も優先的に行っている。そのため、受信するパケットの数が多くなると、パケットの処理によってＣＰＵが占有されてしまい、プリントジョブやスキャンジョブの実行が滞るという問題が生じてしまう。このような問題を解決する方法として、パケットの受信を制限することでＣＰＵに対する負荷を軽減する方法が提案されている（特許文献１参照）。この方法は、ネットワークを介して受信するパケットのうちブロードキャストパケットとマルチキャストパケットの重要度がそれほど高くないことに着目し、これらのパケットの受信を高負荷時に制限するものである。
【特許文献１】特開２００４‐１５４９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
この方法によれば、パケット処理に起因するプリントジョブ等の実行の停滞を解消することができるが、すべてのブロードキャストパケット及びマルチキャストパケットの受信を制限してしまうため、重要なパケットもとりこぼしてしまう可能性がある。また上記の方法では、パケットの受信制限をかけるタイミングがＣＰＵに対する負荷状態に基づいて決定されているため、このＣＰＵの負荷状態を検知するための仕組みが必要になる。
【０００４】
本発明は上述した事情に鑑みてなされたものであり、大量のパケットを受信する環境下であっても、プリントジョブやスキャンジョブ等の実行の停滞を防止することを目的としている。
【課題を解決するための手段】
【０００５】
上述の課題を解決するために、本発明は、パケットを受信する受信部と、前記受信部によって受信されたパケットが、ブロードキャストパケット又はマルチキャストパケットであるか否かを判断するパケット判断部と、ブロードキャストパケット又はマルチキャストパケットを処理するジョブを配列するための第１のジョブキューと、前記パケット判断部によってブロードキャストパケット又はマルチキャストパケットであると判断された場合に、当該パケットを処理するジョブを前記第１のジョブキューに登録するジョブ登録部と、ブロードキャストパケット又はマルチキャストパケットを処理するジョブ以外のジョブを配列するための第２のジョブキューと、前記第２のジョブキューにジョブが登録されていない場合に、前記第１のジョブキューに登録されているジョブを実行する制御部とを備えることを特徴とする画像処理装置を提供する。
【発明を実施するための最良の形態】
【０００６】
（１）第１実施形態
図１〜３を参照して本発明の第１実施形態について説明する。
図１は、本実施形態に係るシステムの構成を例示するブロック図である。同図に示すように当該システムは、画像処理装置１００、ＰＣ（Personal Computer）２００及びＬＡＮ（Local Area Network）３００によって構成されている。なお、図２のＬＡＮ３００には、図面が煩雑になるのを避けるために画像処理装置１００とＰＣ２００のみが接続されているが、２以上の画像処理装置及びＰＣをＬＡＮ３００に接続させてもよい。
画像処理装置１００は、複写機能、印刷機能、スキャナ機能、ファクシミリ機能等、複数の機能を有する複合機である。図１に示すように、画像処理装置１００の各構成要素はバス１１１に接続されており、このバス１１１を介してデータのやり取りを行う。この画像処理装置１００のＲＯＭ１０２は、本装置起動時の初期診断プログラムや本装置の制御用プログラムを記憶する。ＲＡＭ１０３は、ＣＰＵ１０１が、ＲＯＭ１０２や記憶部１０５からプログラムを読み出して実行する際にワークエリアとして利用される。また、ＲＡＭ１０３は、画像処理装置１００が実行すべきジョブを管理するためのユニキャスト用キューＱ１、ジョブキューＱ２及びブロードキャスト／マルチキャスト用キューＱ３を記憶する。この３つのジョブキューのうち、ユニキャスト用キューＱ１には、ＬＡＮ３００を通じてＰＣ２００から送信されるユニキャストパケットの処理が配列され、ジョブキューＱ２には、コピージョブ、プリントジョブ、スキャンジョブ及びファクシミリジョブ等が配列され、ブロードキャスト／マルチキャスト用キューＱ３には、ＬＡＮ３００を通じてＰＣ２００から送信されるブロードキャストパケットとマルチキャストパケットの処理が配列される。これらのジョブキューのうち、ブロードキャスト／マルチキャスト用キューＱ３では、当該キューが一杯になっている状態で新たにブローキャストパケット又はマルチキャストパケットを受信した場合には、当該キューに配列されている最も古いパケット処理が削除され、新たに受信したパケットの処理が当該キューに登録される。
【０００７】
記憶部１０４は、ハードディスク等の記憶装置からなり、後述するパケット受信処理を画像処理装置１００に実行させるためのパケット受信処理プログラムと、後述するジョブ実行処理を画像処理装置１００に実行させるためのジョブ実行処理プログラムを記憶する。表示部１０５は、液晶ディスプレイ等からなり、画像処理装置１００を操作するためのメニュー画面等を表示する。操作部１０６は、テンキーや方向キー等の画像処理装置１００を操作するためのキーを備え、キーが押下されると、押下されたキーに割り当てられたデータがＣＰＵ１０１に送られる。プリンタ部１０７は、紙やＯＨＰシート等の記録媒体を格納するカセットと、記録媒体に文字や図形を印刷する印刷機構と、印刷機構に記録媒体を搬送する搬送機構等からなり、ＣＰＵ１０１の制御に従って記録媒体に対する印刷を行う。スキャナ部１０８は、文書が載置されるプラテンガラスと、載置された文書に光を照射する光学機構と、文書から反射された光を受け取って電気信号に変換する光電変換素子と、電気信号から画像データを生成する変換部等からなり、ＣＰＵ１０１の制御に従って文書の画像データを生成する。公衆回線Ｉ／Ｆ部１０９は、図示せぬ通信線を介して公衆電話網に接続され、公衆電話網を通じて外部の装置から受信した画像データをＣＰＵ１０１に送る一方、ＣＰＵ１０１から送られてきた画像データを公衆電話網を通じて外部の装置に送信する。ネットワークＩ／Ｆ部１１０は、通信線を介してＬＡＮ３００に接続され、ＬＡＮ３００を通じてＰＣ２００から受信したデータをＣＰＵ１０１に送る一方、ＣＰＵ１０１から送られてきたデータをＬＡＮ３００を通じてＰＣ２００に送信する。
【０００８】
ＰＣ２００は、一般的なパーソナルコンピュータと同様の構成を有し、通信線を介してＬＡＮ３００に接続されている。ＰＣ２００は、このＬＡＮ３００を介して画像処理装置１００に対し、印刷データと印刷要求からなる印刷ジョブを複数のパケットに分割して送信する。
【０００９】
次に、本実施形態に係る画像処理装置１００によって実行されるパケット受信処理について図２を参照して説明する。図２は、パケット受信処理のフローチャートである。
ＬＡＮ３００を介してＰＣ２００から一連のパケットが受信されると、画像処理装置１００のＣＰＵ１０１は、当該パケットの宛先アドレスを参照してユニキャストパケットであるか否かを判断する（ステップＳａ１）。当該パケットがユニキャストパケットであると判断されると（ステップＳａ１；ＹＥＳ）、ＣＰＵ１０１は、当該パケットの処理をユニキャスト用キューＱ１に登録する（ステップＳａ２）。一方、当該パケットがユニキャストパケットでないと判断されると、すなわちブロードキャストパケットか或いはマルチキャストパケットであると判断されると（ステップＳａ１；ＮＯ）、ＣＰＵ１０１は、当該パケットの処理をブロードキャスト／マルチキャスト用キューＱ３に登録する（ステップＳａ３）。
【００１０】
次に、本実施形態に係る画像処理装置１００によって実行されるジョブ実行処理について図３を参照して説明する。図３は、ジョブ実行処理のフローチャートである。
まず、画像処理装置１００のＣＰＵ１０１は、ユニキャスト用キューＱ１にパケット処理が登録されているか否かを判断する（ステップＳｂ１）。パケット処理が登録されていないと判断された場合には（ステップＳｂ１；ＮＯ）、ＣＰＵ１０１はステップＳｂ３に移行する。一方、パケット処理が登録されていると判断された場合には（ステップＳｂ１；ＹＥＳ）、ＣＰＵ１０１は、ユニキャスト用キューＱ１の先頭に配列されているパケット処理を実行する（ステップＳｂ２）。具体的には、ＣＰＵ１０１は、処理対象となる一連のパケットから、印刷データと印刷要求からなる印刷ジョブを再構成し、この印刷ジョブをジョブキューＱ２に登録する。パケットの処理が完了すると、ＣＰＵ１０１はステップＳｂ１に移行して、再度、ユニキャスト用キューＱ１にパケット処理が登録されているか否かを判断する（ステップＳｂ１）。このステップＳｂ１及びステップＳｂ２の処理は、ユニキャスト用キューＱ１に登録されているすべてのパケット処理が実行されるまで繰り返し実行され、すべてのパケット処理の実行が完了すると（ステップＳｂ１；ＮＯ）、ＣＰＵ１０１はステップＳｂ３に移行する。
【００１１】
ユニキャスト用キューＱ１にパケット処理が登録されていないことが確認されると、次にＣＰＵ１０１は、ジョブキューＱ２にジョブが登録されているか否かを判断する（ステップＳｂ３）。ジョブが登録されていないと判断された場合には（ステップＳｂ３；ＮＯ）、ＣＰＵ１０１はステップＳｂ５に移行する。一方、ジョブが登録されていると判断された場合には（ステップＳｂ３；ＹＥＳ）、ＣＰＵ１０１は、ジョブキューＱ２の先頭に配列されているジョブを実行する（ステップＳｂ４）。具体的には、ＣＰＵ１０１は、処理対象となるジョブに対応する印刷データと印刷要求に従って、プリンタ部１０７、スキャナ部１０８又は公衆回線Ｉ／Ｆ部１０９の制御を行う。ジョブの実行が完了すると、ＣＰＵ１０１はステップＳｂ１に移行して、再度、ユニキャスト用キューＱ１にパケット処理が登録されているか否かを判断する（ステップＳｂ１）。
【００１２】
ステップＳｂ３の判断の結果、ジョブキューＱ２にジョブが登録されていないことが確認されると、次にＣＰＵ１０１は、ブロードキャスト／マルチキャスト用キューＱ３にパケット処理が登録されているか否かを判断する（ステップＳｂ５）。パケット処理が登録されていないと判断された場合には（ステップＳｂ５；ＮＯ）、ＣＰＵ１０１は本ジョブ実行処理を終了する。一方、パケット処理が登録されていると判断された場合には（ステップＳｂ５；ＹＥＳ）、ＣＰＵ１０１は、ブロードキャスト／マルチキャスト用キューＱ３の先頭に配列されているパケット処理を実行する（ステップＳｂ６）。具体的には、ＣＰＵ１０１は、処理対象となる一連のパケットから、印刷データと印刷要求からなる印刷ジョブを再構成し、この印刷ジョブをジョブキューＱ２に登録する。パケットの処理が完了すると、ＣＰＵ１０１はステップＳｂ１に移行して、再度、ユニキャスト用キューＱ１にパケット処理が登録されているか否かを判断する（ステップＳｂ１）。
【００１３】
このように本実施形態に係る画像処理装置１００では、ユニキャストパケットの処理と、ブロードキャストパケット及びマルチキャストパケットの処理とが、それぞれユニキャスト用キューＱ１、ブロードキャスト／マルチキャスト用キューＱ３の別々のジョブキューに登録される構成となっている。そしてブロードキャスト／マルチキャスト用キューＱ３に登録されるブロードキャストパケット及びマルチキャストパケットの処理は、ユニキャスト用キューＱ１とジョブキューＱ２にジョブが登録されていない場合にのみ実行されるよう構成されている。従って、この画像処理装置１００によれば、大量のパケットを受信する環境下であっても、プリントジョブやスキャンジョブ等の実行の停滞を防止することができる。
【００１４】
（２）第２実施形態
図４及び図５を参照して本発明の第２実施形態について説明する。
図４は、本実施形態に係るシステムの構成を例示するブロック図である。同図に示すように、本実施形態に係るシステムは、画像処理装置１００ａに計時動作を行うタイマ１１２が追加されている点と当該装置の記憶部に記憶されるジョブ実行処理プログラムが異なる点を除いて、第１実施形態に係るシステムとその構成要素を同じくしている。従って本実施形態に係るシステムの構成要素のうち、第１実施形態と同一の構成要素については、その説明を省略し、同一の符号を付すことにする。
【００１５】
次に、本実施形態に係る画像処理装置１００ａによって実行される処理の説明に移るが、本実施形態に係るパケット受信処理は、第１実施形態のそれと同一であるため、その説明を省略し、本実施形態の特徴であるジョブ実行処理についてのみ説明する。
図５は、ジョブ実行処理のフローチャートである。同図に示すように、本実施形態に係るジョブ実行処理は、ステップＳｃ１の処理とステップＳｃ２の処理が追加されている点を除いて、第１実施形態のそれと同一である。従って本実施形態に係るジョブ実行処理のうち、第１実施形態と同一の処理については、同一の符号を付すことにする。
【００１６】
まず、画像処理装置１００ａのＣＰＵ１０１は、所定時間をタイマ１１２にセットし（ステップＳｃ１）、カウントを開始させる。次に、ＣＰＵ１０１は、ユニキャスト用キューＱ１にパケット処理が登録されているか否かを判断する（ステップＳｂ１）。パケット処理が登録されていないと判断された場合には（ステップＳｂ１；ＮＯ）、ＣＰＵ１０１はステップＳｂ３に移行する。一方、パケット処理が登録されていると判断された場合には（ステップＳｂ１；ＹＥＳ）、ＣＰＵ１０１は、ユニキャスト用キューＱ１の先頭に配列されているパケット処理を実行する（ステップＳｂ２）。具体的には、ＣＰＵ１０１は、処理対象となる一連のパケットから、印刷データと印刷要求からなる印刷ジョブを再構成し、この印刷ジョブをジョブキューＱ２に登録する。パケットの処理が完了すると、ＣＰＵ１０１は、タイマ１１２を参照して所定時間が経過したが否かを判断する（ステップＳｃ２）。所定時間が経過したと判断された場合には（ステップＳｃ２；ＹＥＳ）、ＣＰＵ１０１はステップＳｂ３に移行する。一方、所定時間が経過していないと判断された場合には（ステップＳｃ２；ＮＯ）、ＣＰＵ１０１はステップＳｂ１に移行して、再度、ユニキャスト用キューＱ１にパケット処理が登録されているか否かを判断する（ステップＳｂ１）。このステップＳｂ１〜Ｓｃ２の処理は、ユニキャスト用キューＱ１に登録されているすべてのパケット処理が実行されるか、あるいは所定時間が経過したと判断されるまで繰り返し実行され、いずれかの条件が満たされると（ステップＳｂ１；ＮＯ、又はステップＳｃ２；ＹＥＳ）、ＣＰＵ１０１はステップＳｂ３に移行する。
ステップＳｂ３以降の処理については、第１実施形態のそれと同一であるため説明を省略する。
【００１７】
このように本実施形態に係る画像処理装置１００ａでは、第１実施形態に係る画像処理装置１００と同様の構成要素に加えて、新たにタイマ１１２が設けられている。そして、ユニキャスト用キューＱ１に配列されたパケット処理の実行が所定時間連続した場合には、当該ジョブキューに配列されたジョブの実行が中止され、ジョブキューＱ２に配列されたジョブの実行が開始されるよう構成されている。従って、本実施形態に係る画像処理装置１００ａによれば、プリントジョブやスキャンジョブ等の実行の停滞がさらに改善されることになる。
【００１８】
（３）変形例
上記の実施形態では、ブロードキャストパケットの処理とマルチキャストパケットの処理を同一のジョブキューで管理しているが、例えば、ブロードキャスト用キューＱ３ａ、マルチキャスト用キューＱ３ｂのように別々のジョブキューによってそれぞれのパケット処理を管理し、さらに互いのキューの処理に優先順位をつけてもよい。図６は、この変形例を第１実施形態に適用した場合に実行されるジョブ実行処理のフローチャートである。同図に示すジョブ実行処理では、まずマルチキャスト用キューＱ３ａにパケット処理が登録されているか否かが判断され、パケット処理が登録されていない場合に、ブロードキャスト用キューＱ３ｂに登録されているパケット処理が実行される構成となっている。
【図面の簡単な説明】
【００１９】
【図１】第１実施形態に係るシステムの構成を示すブロック図である。
【図２】同実施形態に係るパケット受信処理のフローチャートである。
【図３】同実施形態に係るジョブ実行処理のフローチャートである。
【図４】第２実施形態に係るシステムの構成を示すブロック図である。
【図５】同実施形態に係るジョブ実行処理のフローチャートである。
【図６】変形例に係るジョブ実行処理のフローチャートである。
【符号の説明】
【００２０】
１００、１００ａ…画像処理装置、１０１…ＣＰＵ、１０２…ＲＯＭ、１０３…ＲＡＭ、１０４…記憶部、１０５…表示部、１０６…操作部、１０７…プリンタ部、１０８…スキャナ部、１０９…公衆回線Ｉ／Ｆ部、１１０…ネットワークＩ／Ｆ部、１１１…バス、タイマ…１１２、２００…ＰＣ、３００…ＬＡＮ。
【図１】
0004682772.tif 000002
【図２】
0004682772.tif 000003
【図３】
0004682772.tif 000004
【図４】
0004682772.tif 000005
【図５】
0004682772.tif 000006
【図６】
0004682772.tif 000007