以下、本発明を適用した具体的な実施の形態について図面を参照しながら詳細に説明する。
この実施の形態は、印刷機能やスキャナ機能等の複数の画像処理機能を実行可能な画像処理装置とパーソナルコンピュータ等の情報処理装置との間でデータ通信を行う画像処理システムである。特に、この画像処理システムは、単独のデータ通信において使用される通信チャンネルと、複数のデータ通信において同時に使用される通信チャンネルとを設け、画像処理装置の稼働状況に応じて、様々な種類のデータ通信において使用する通信チャンネルの割り振りを動的に切り替えるものである。
なお、以下では、USB(Universal Serial Bus)通信により、画像処理装置と情報処理装置との間でデータ通信を行うものとして説明する。
[第1の実施の形態]
まず、本発明の第1の実施の形態として示す画像処理システムについて説明する。
[画像処理システムの構成]
画像処理システムは、図1に示すように、LAN(Local Area Network)等の所定のネットワークNTに接続された通信装置200と、画像処理装置100との間でUSB通信を行うように構成される。また、ネットワークNTには、図2に示すように、デバイスとしての画像処理装置100に対するホストとして、複数のホストコンピュータ300,400,500が接続されている。これらホストコンピュータ300,400,500は、それぞれ、ネットワーク通信機能を備えた一般的なコンピュータとして構成され、デバイスとしての画像処理装置100との間で、後述するように、走査画像データの転送、印刷データの転送、装置管理情報の転送等のデータ通信を行う機能を備えている。
[画像処理装置の構成]
このような画像処理システムにおいて、画像処理装置100は、図3に示すように、USBバスを介してデータ通信を行うUSBインターフェース部101と、所定の記録媒体に対する印刷データの印刷を行う印刷部102と、原稿を読み取って画像データを生成するスキャナ部103と、当該画像処理装置100を統括的に制御する制御部104とを備える。すなわち、この画像処理装置100は、印刷部102による印刷機能とスキャナ部103によるスキャナ機能とを併せ持つ複合機として構成される。
USBインターフェース部101は、制御部104を構成する後述するUSBインターフェース制御部の制御のもとに、通信装置200との間でデータの送受信を行う。なお、USBインターフェース部101の構成については、後に詳述するものとする。
印刷部102は、制御部104を構成する後述する印刷機能制御部の制御のもとに、印刷データを用紙等の記録媒体に対して印刷する。
スキャナ部103は、制御部104を構成する後述するスキャナ機能制御部の制御のもとに、原稿を走査して画像データを生成する。
制御部104は、例えばCPU(Central Processing Unit)等のプロセッサから構成され、当該画像処理装置100の全体を制御する。なお、制御部104の構成については、後に詳述するものとする。
かかる各部を備える画像処理装置100は、制御部104の制御のもとに、USBインターフェース部101を介して、通信装置200から送信された印刷データを受信して印刷部102よって印刷したり、スキャナ部103によって生成された走査画像データを通信装置200に対して送信したりする。
つぎに、このような画像処理装置100におけるUSBインターフェース部101及び制御部104の構成について説明する。
まず、USBインターフェース部101の構成について説明する。
USBインターフェース規格においては、一般的に、ホスト側とデバイス側との間で、各エンドポイント間にパイプを形成して通信を行う。通常、エンドポイントのうちの1つは、例えばデバイス内に保持されているデバイスディスクリプタの通信のように、コントロール転送と呼ばれる方式を用いてUSBインターフェース部101の動作や設定を変更するためのパイプ(以下、コントロールチャンネルという。)として使用される。その他のエンドポイントは、例えば印刷データのように、ホスト上のアプリケーションとデバイス上のアプリケーションとの間で授受されるデータの送受信に利用される。各エンドポイント間に形成されるパイプにおいては、バルク転送、アイソクロナス転送、又はインタラプト転送と呼ばれる一方向通信の方式が用いられる。これらの方式は、一方向通信であることから、双方向通信が必要な場合には、ホストからデバイスへの通信を行うパイプと、デバイスからホストへの通信を行うパイプとを1組として用いる。
したがって、USBインターフェース部101は、複数のエンドポイントを備えることになる。本実施形態においては、画像処理装置100と通信装置200との間での印刷データや走査画像データの転送のために、2組のパイプを用いるものとする。すなわち、USBインターフェース部101は、図4に示すように、5つのエンドポイント0(1010)、エンドポイント1(1011)、エンドポイント2(1012)、エンドポイント3(1013)、エンドポイント4(1014)を備える。なお、本実施形態においては、印刷データや走査画像データの転送にバルク転送を用いるものとして説明するが、画像処理システムにおいては、インタラプト転送やアイソクロナス転送を用いても同様の機能を実現することは可能である。
エンドポイント0(1010)は、コントロールチャンネルに割り当てられ、コントロール転送によって動作や設定を変更するために用いられる。
エンドポイント1(1011)とエンドポイント2(1012)は、それぞれ、データの送信と受信を行うために割り当てられ、制御部104における後述する第1通信制御部により、論理的に1つの送受信可能なチャンネルとして制御される。なお、以下では、第1通信制御部によって制御される論理的なチャンネルを第1チャンネルと称するものとする。エンドポイント3(1013)とエンドポイント4(1014)も同様に、制御部104における後述する第2通信制御部により、論理的に1つの送受信可能なチャンネルとして制御される。以下では、第2通信制御部によって制御される論理的なチャンネルを第2チャンネルと称するものとする。
なお、各エンドポイントの制御には、一般的なUSBインターフェース制御が適用される。また、USBインターフェース部101は、USBインターフェース規格におけるホスト又はデバイスのいずれのタイプであっても、本発明にて説明する動作が可能に構成される。
つぎに、制御部104の構成について説明する。
制御部104は、図5に示すように、印刷機能制御部1041と、スキャナ機能制御部1042と、管理情報処理部1043と、USBインターフェース制御部1044と、優先度制御部1047とを備える。
印刷機能制御部1041は、印刷部102を制御して印刷データを印刷させる機能を有する。また、印刷機能制御部1041は、第1通信制御部1045又は第2通信制御部1046を介して、通信装置200との間で印刷データのデータ転送制御を行う機能を有する。すなわち、印刷機能制御部1041は、第1通信制御部1045又は第2通信制御部1046を介して通信装置200から転送された印刷データを、印刷部102に対して転送する機能を有する。さらに、印刷機能制御部1041は、優先度制御部1047の指示に基づいて、印刷データのデータ転送制御を、第1通信制御部1045から第2通信制御部1046へと切り替え、又は、その逆に第2通信制御部1046から第1通信制御部1045へと切り替える機能を有する。
スキャナ機能制御部1042は、スキャナ部103を制御して原稿を走査させ、走査画像データを生成させる機能を有する。また、スキャナ機能制御部1042は、第1通信制御部1045又は第2通信制御部1046を介して、通信装置200との間で走査画像データのデータ転送制御を行う機能を有する。すなわち、スキャナ機能制御部1042は、スキャナ部103から転送された走査画像データを、通信装置200に対して転送する機能を有する。さらに、スキャナ機能制御部1042は、優先度制御部1047の指示に基づいて、走査画像データのデータ転送制御を、第1通信制御部1045から第2通信制御部1046へと切り替え、又は、その逆に第2通信制御部1046から第1通信制御部1045へと切り替える機能を有する。
管理情報処理部1043は、上位装置であるホストコンピュータ300,400,500を介して当該画像処理装置100を管理するための装置管理情報を処理する。具体的には、管理情報処理部1043は、当該画像処理装置100の全体のステータス情報を管理する機能を有する。また、管理情報処理部1043は、当該画像処理装置100の各種設定を変更する機能を有する。さらに、管理情報処理部1043は、第1通信制御部1045又は第2通信制御部1046のいずれかを介して、通信装置200との間で、ステータス情報及び各種設定情報を含む装置管理情報のデータ転送を制御する機能を有する。さらにまた、管理情報処理部1043は、優先度制御部1047の指示に基づいて、装置管理情報のデータ転送制御を、第1通信制御部1045から第2通信制御部1046へと切り替え、又は、その逆に第2通信制御部1046から第1通信制御部1045へと切り替える機能を有する。
USBインターフェース制御部1044は、USBインターフェース部101を制御して、上位装置、すなわち通信装置200との間におけるUSBバスを介したデータ転送を制御する。具体的には、USBインターフェース制御部1044は、第1通信制御部1045及び第2通信制御部1046を有する。
第1通信制御部1045は、エンドポイント1(1011)及びエンドポイント2(1012)を制御することにより、印刷機能制御部1041、スキャナ機能制御部1042、及び管理情報処理部1043に対して、通信装置200との双方向のデータ転送のための論理的な第1チャンネルを提供する。
第2通信制御部1046は、エンドポイント3(1013)及びエンドポイント4(1014)を制御することにより、印刷機能制御部1041、スキャナ機能制御部1042、及び管理情報処理部1043に対して、通信装置200との双方向のデータ転送のための論理的な第2チャンネルを提供する。また、第2通信制御部1046は、印刷機能制御部1041、スキャナ機能制御部1042、及び管理情報処理部1043から転送されたデータに対して、各機能に応じた識別情報を付加して通信装置200に対して送信する一方で、通信装置200から受信したデータに付加された識別情報を解析し、受信したデータを、印刷機能制御部1041、スキャナ機能制御部1042、及び管理情報処理部1043のうち対応する機能制御部に対して転送する機能を有する。
優先度制御部1047は、例えば図6に示すように、機能に応じた優先度を記述した優先度テーブルを図示しないメモリ等に記憶しており、印刷機能制御部1041、スキャナ機能制御部1042、及び管理情報処理部1043からの問い合わせに応じて、優先度テーブルを参照して機能毎に優先度を判定する。なお、優先度テーブルは、当該画像処理システムの管理者等によって予め設定されているものとし、その内容は、任意に変更可能に構成される。例えば、優先度テーブルには、高速なデータ転送が求められる機能については優先度が高く設定される。なお、図6には、スキャナ機能制御部1042の優先度が最も高く、印刷機能制御部1041、管理情報処理部1043の順序で優先度が低くなるように設定された様子を示している。優先度制御部1047は、このような優先度テーブルに基づいて判定した優先度に応じて、第1通信制御部1045又は第2通信制御部1046のいずれを介して通信装置200との間でデータ転送を行うかを、印刷機能制御部1041、スキャナ機能制御部1042、及び管理情報処理部1043に指示する。
このような制御部104は、印刷機能制御部1041によって印刷部102を制御するとともに、スキャナ機能制御部1042によってスキャナ部103を制御し、さらに、USBインターフェース制御部1044によってUSBインターフェース部101を制御する。また、制御部104は、優先度制御部1047の指示に基づいて、各機能制御部、すなわち、印刷機能制御部1041、スキャナ機能制御部1042、管理情報処理部1043、及びUSBインターフェース制御部1044のそれぞれによる制御内容を決定する。
[通信装置の構成]
つぎに、通信装置200の構成について説明する。
通信装置200は、図7に示すように、USBバスを介してデータ通信を行うUSBインターフェース部201と、ネットワークNTを介してデータ通信を行うネットワークインターフェース部202と、当該通信装置200を統括的に制御する制御部203とを備える。
USBインターフェース部201は、制御部203を構成する後述するUSBインターフェース制御部の制御のもとに、画像処理装置100との間でデータの送受信を行う。なお、USBインターフェース部201の構成については、後に詳述するものとする。
ネットワークインターフェース部202は、制御部203を構成する後述するネットワーク制御部の制御のもとに、ネットワークNTを介して複数のホストコンピュータ300,400,500との間で複数のネットワークプロトコルに基づく通信を並行に行う。
制御部203は、例えばCPU等のプロセッサから構成され、当該通信装置200の全体を制御する。なお、制御部203の構成については、後に詳述するものとする。
かかる各部を備える通信装置200は、制御部203の制御のもとに、USBインターフェース部201を介して、ホストコンピュータ300,400,500から送信された印刷データを受信して画像処理装置100に対して転送したり、画像処理装置100から送信された走査画像データをホストコンピュータ300,400,500に対して転送したりする。
つぎに、このような通信装置200におけるUSBインターフェース部201及び制御部203の構成について説明する。
まず、USBインターフェース部201の構成について説明する。
USBインターフェース規格においては、上述したように、ホスト側とデバイス側との間で、各エンドポイント間にパイプを形成して通信を行う。そのため、USBインターフェース部201は、図8に示すように、画像処理装置100におけるUSBインターフェース部101に対応して、5つのエンドポイント0(2010)、エンドポイント1(2011)、エンドポイント2(2012)、エンドポイント3(2013)、エンドポイント4(2014)を備える。
エンドポイント0(2010)は、USBインターフェース部101におけるエンドポイント0(1010)に対応してコントロールチャンネルに割り当てられる。
エンドポイント1(2011)とエンドポイント2(2012)は、それぞれ、USBインターフェース部101におけるエンドポイント1(1011)とエンドポイント2(1012)に対応してデータの送信と受信を行うために割り当てられ、制御部203における後述する第1通信制御部により、論理的に1つの送受信可能なチャンネルとして制御される。なお、以下では、第1通信制御部によって制御される論理的なチャンネルを第1チャンネルと称するものとする。エンドポイント3(2013)とエンドポイント4(2014)も同様に、制御部203における後述する第2通信制御部により、論理的に1つの送受信可能なチャンネルとして制御される。以下では、第2通信制御部によって制御される論理的なチャンネルを第2チャンネルと称するものとする。
なお、各エンドポイントの制御には、一般的なUSBインターフェース制御が適用される。また、以下では、画像処理装置100におけるUSBインターフェース部101がデバイスとして動作し、通信装置200におけるUSBインターフェース部201がホストとして動作するものとして説明するが、通信装置200におけるUSBインターフェース部201がデバイスとして動作し、画像処理装置100におけるUSBインターフェース部101がホストとして動作する場合であっても、本発明にて説明する機能を実現可能であることはいうまでもない。
つぎに、制御部203の構成について説明する。
制御部203は、図9に示すように、印刷機能制御部2031と、スキャナ機能制御部2032と、管理情報通信部2033と、USBインターフェース制御部2034と、ネットワーク制御部2037を備える。
印刷機能制御部2031は、ネットワーク制御部2037を介して、ネットワークNT上のホストコンピュータ300,400,500との間で印刷データの転送を行う機能を有する。また、印刷機能制御部2031は、第1通信制御部2035又は第2通信制御部2036を介して、画像処理装置100との間で印刷データのデータ転送制御を行う機能を有する。すなわち、印刷機能制御部2031は、ネットワーク制御部2037を介してホストコンピュータ300,400,500から転送された印刷データを、第1通信制御部2035又は第2通信制御部2036を介して画像処理装置100に対して転送する機能を有する。さらに、印刷機能制御部2031は、画像処理装置100の指示に基づいて、印刷データのデータ転送制御を、第1通信制御部2035から第2通信制御部2036へと切り替え、又は、その逆に第2通信制御部2036から第1通信制御部2035へと切り替える機能を有する。
スキャナ機能制御部2032は、ネットワーク制御部2037を介して、ネットワークNT上のホストコンピュータ300,400,500との間で走査画像データの転送を行う機能を有する。また、スキャナ機能制御部2032は、第1通信制御部2035又は第2通信制御部2036を介して、画像処理装置100との間で走査画像データのデータ転送制御を行う機能を有する。すなわち、スキャナ機能制御部2032は、第1通信制御部2035又は第2通信制御部2036を介して画像処理装置100から転送された走査画像データを、ネットワーク制御部2037を介してホストコンピュータ300,400,500に対して転送する機能を有する。さらに、スキャナ機能制御部2032は、画像処理装置100の指示に基づいて、走査画像データのデータ転送制御を、第1通信制御部2035から第2通信制御部2036へと切り替え、又は、その逆に第2通信制御部2036から第1通信制御部2035へと切り替える機能を有する。
管理情報通信部2033は、ネットワーク制御部2037を介して、上位装置、すなわちホストコンピュータ300,400,500との間で、装置管理情報の転送を行う機能を有する。また、管理情報通信部2033は、第1通信制御部2035又は第2通信制御部2036のいずれかを介して、画像処理装置100との間で、装置管理情報のデータ転送を制御する機能を有する。さらに、管理情報通信部2033は、画像処理装置100の指示に基づいて、装置管理情報のデータ転送制御を、第1通信制御部2035から第2通信制御部2036へと切り替え、又は、その逆に第2通信制御部2036から第1通信制御部2035へと切り替える機能を有する。
USBインターフェース制御部2034は、USBインターフェース部201を制御して、画像処理装置100との間におけるUSBバスを介したデータ転送を制御する。具体的には、USBインターフェース制御部2034は、第1通信制御部2035及び第2通信制御部2036を有する。
第1通信制御部2035は、エンドポイント1(2011)及びエンドポイント2(2012)を制御することにより、印刷機能制御部2031、スキャナ機能制御部2032、及び管理情報通信部2033に対して、画像処理装置100との双方向のデータ転送のための論理的な第1チャンネルを提供する。
第2通信制御部2036は、エンドポイント3(2013)及びエンドポイント4(2014)を制御することにより、印刷機能制御部2031、スキャナ機能制御部2032、及び管理情報通信部2033に対して、画像処理装置100との双方向のデータ転送のための論理的な第2チャンネルを提供する。また、第2通信制御部2036は、印刷機能制御部2031、スキャナ機能制御部2032、及び管理情報通信部2033から転送されたデータに対して、各機能に応じた識別情報を付加して画像処理装置100に対して送信する一方で、画像処理装置100から受信したデータに付加された識別情報を解析し、受信したデータを、印刷機能制御部2031、スキャナ機能制御部2032、及び管理情報通信部2033のうち対応する機能制御部に対して転送する機能を有する。
ネットワーク制御部2037は、ネットワークインターフェース部202を制御して、ホストコンピュータ300,400,500との間におけるネットワークNTを介したデータ転送を制御する。
このような制御部203は、画像処理装置100の指示に基づいて、印刷機能制御部2031、スキャナ機能制御部2032、管理情報通信部2033、及びUSBインターフェース制御部2034のそれぞれによる制御内容を決定する。
なお、画像処理装置100における第2通信制御部1046及び通信装置200における第2通信制御部2036は、例えば図10に示すように、機能を識別するための機能識別子、データ種別、及びデータ長を含む識別情報を、各機能制御部の転送データ(機能制御部データ)に対して付加してパケット化する。これにより、画像処理装置100における第1通信制御部1045及び通信装置200における第2通信制御部2035を介してUSBバス上を転送されるデータと、画像処理装置100における第2通信制御部1046及び通信装置200における第2通信制御部2036を介してUSBバス上を転送されるデータとの間には、例えば図11に示すような相違が生じることになる。すなわち、第2チャンネルを用いて転送されるデータには、USBヘッダと各機能制御部の転送データとに対して、第2通信制御部1046及び第2通信制御部2036によって使用される識別情報が付加されていることから、単位時間に転送されるデータ量は、第2チャンネルを用いて転送されるデータ量の方が第1チャンネルを用いて転送されるデータ量よりも小さくなる。換言すれば、第1チャンネルを用いた通信は、第2チャンネルを用いた通信よりも高速に行うことができる。
[画像処理システムの動作]
以下、画像処理システムにおける動作について説明する。まず、画像処理装置100において第1通信制御部1045を使用した場合における画像処理装置100及び通信装置200による通信動作と、画像処理装置100において第2通信制御部1046を使用した場合における画像処理装置100及び通信装置200による通信動作とについてそれぞれ説明し、その後、第1通信制御部1045と第2通信制御部1046との使用を切り替える通信動作について説明する。
[第1通信制御部を使用した場合における通信動作]
まず、画像処理装置100において第1通信制御部1045を使用した場合における通信動作として、図12乃至図19を用いて、ホストコンピュータ300と画像処理装置100との間で、通信装置200を介して走査画像データの転送を行う場合を例に挙げて説明する。
なお、図12は、ネットワーク制御部2037が行う一連の処理を示し、図13は、スキャナ機能制御部2032が行う一連の処理を示し、図14は、第1通信制御部2035が行う一連の処理を示し、図15は、第2通信制御部2036が行う一連の処理を示し、図16は、第1通信制御部1045が行う一連の処理を示し、図17は、第2通信制御部1046が行う一連の処理を示し、図18は、スキャナ機能制御部1042が行う一連の処理を示し、図19は、優先度制御部1047が行う一連の処理を示している。このうち、図13に示すスキャナ機能制御部2032が行う処理は、印刷機能制御部2031及び管理情報通信部2033が取り扱うデータの転送を行う場合には、これら印刷機能制御部2031及び管理情報通信部2033が行うことになる。また、図18に示すスキャナ機能制御部1042が行う処理は、印刷機能制御部1041及び管理情報処理部1043が取り扱うデータの転送を行う場合には、これら印刷機能制御部1041及び管理情報処理部1043が行うことになる。
まず、通信装置200におけるネットワーク制御部2037は、図12に示すように、ステップS101において、ホストコンピュータ300から通信装置200に対するネットワーク接続の要求があったか否かを判定する。ここで、ネットワーク制御部2037は、既にネットワークコネクションが形成されている場合等、ネットワーク接続の要求がない場合には、ステップS104へと処理を移行する一方で、ネットワーク接続の要求があった場合には、ステップS102において、その要求に応じて、ネットワークインターフェース部202を制御してホストコンピュータ300との間にネットワークコネクションを形成させる。
そして、ネットワーク制御部2037は、ステップS103において、確立したネットワークコネクションをスキャナ機能制御部2032と関連付ける。以後、ネットワーク制御部2037は、ここで確立したネットワークコネクションを介して受信したデータをスキャナ機能制御部2032に対して転送する一方で、スキャナ機能制御部2032から転送されたデータを、当該ネットワークコネクションを介してホストコンピュータ300に対して送信する、といった動作を行う。この関連付けは、ネットワーク接続のポート番号によって判断される。
ここで、ネットワークNTを介して走査画像データの転送を行うためのネットワークプロトコルとしては、一般的な各種方式を適用することができる。ここでは、説明の便宜上、双方向通信を行う基本的なネットワークプロトコルであるRAWプロトコルを適用するものとし、ポート番号として例えば"9001"が使用されるものとする。
ネットワーク接続が形成されると、ホストコンピュータ300は、画像処理装置100におけるスキャナ機能制御部1042に対して与えるべきスキャナ制御コマンドデータを通信装置200に対して送信する。これに応じて、ネットワーク制御部2037は、ステップS104において、ネットワークインターフェース部202を制御し、ホストコンピュータ300から送信されてきたスキャナ制御コマンドデータを受信したか否かを判定し、受信していない場合には、ステップS106へと処理を移行する一方で、受信した場合には、ステップS105へと処理を移行する。なお、走査画像データの送受信に使用されるコマンドとしては、一般的な各種方式を適用することができる。一般に、これらのコマンド体系においては、画像処理装置100におけるスキャナ部103によって走査された画像データの転送の他に、例えば、スキャナ部103にセットされている原稿の状態といったステータス情報の送受信や、走査解像度や濃度の設定情報の取得及び変更を行うために、双方向の通信が行われる。ただし、本発明は、ネットワークNTを介したスキャナ制御方式を対象とするものではないことから、具体的なコマンドフォーマットや、ホストコンピュータ300とスキャナ機能制御部1042との間で授受されるコマンドシーケンスについての説明は行わないものとする。
ネットワーク制御部2037は、ネットワークインターフェース部202を介してホストコンピュータ300からスキャナ制御コマンドデータを受信すると、ステップS105において、受信したスキャナ制御コマンドデータを、スキャナ機能制御部2032に対して送信し、ステップS106へと処理を移行する。
一方、スキャナ機能制御部2032は、図13に示すように、ステップS201において、待機状態ではネットワーク制御部2037からのデータ転送があるまで待機している。そして、スキャナ機能制御部2032は、ステップS202において、図12中ステップS103におけるネットワークコネクションとの関連付けが行われてから最初にコマンドを受信したか否かを判定し、最初のコマンドでない場合には、ステップS205へと処理を移行する一方で、最初のコマンドである場合には、ステップS203へと処理を移行し、"チャンネル優先度判定要求"メッセージを、第2通信制御部2036に対して送信する。これに応じて、第2通信制御部2036は、図15に示す一連の処理を行うことになる。
すなわち、第2通信制御部2036は、図15中ステップS401において、スキャナ機能制御部2032から"チャンネル優先度判定要求"メッセージを受信すると、ステップS402において、受信した"チャンネル優先度判定要求"メッセージに対して識別情報を付加する。この場合、送信元がスキャナ機能制御部2032であることから、第2通信制御部2036は、先に図10に示した機能識別子として"スキャナ機能"識別子を含む識別情報を付加する。
そして、第2通信制御部2036は、ステップS403において、"チャンネル優先度判定要求"メッセージに対して識別情報が付加されたデータを、USBインターフェース部201を介して画像処理装置100に対して送信する。これに応じて、画像処理装置100における第2通信制御部1046は、図17に示す一連の処理を行うことになる。このとき、USBインターフェース部201と画像処理装置100におけるUSBインターフェース101との間では、上述したように、バルク転送のためのUSB通信制御が行われる。ただし、本発明においては、USBバスの制御についてはUSB規格にしたがった標準手順が実行されるため、ここでは、USBバスの制御及びUSBパケットの制御についての詳細な説明は行わないものとする。
第2通信制御部2036から送信されたデータは、図17中ステップS604において、画像処理装置100における第2通信制御部1046によって受信される。そして、第2通信制御部1046は、ステップS605において、受信したデータに付加された識別情報を判別する。ここでは、識別情報に"スキャナ機能"識別子が含まれていることから、第2通信制御部1046は、ステップS606において、そのデータをスキャナ機能制御部1042に対して転送する。
これに応じて、スキャナ機能制御部1042は、図18に示すように、ステップS701において、受信したデータを解析する。ここでは、受信したデータが"チャンネル優先度判定要求"メッセージであることから、スキャナ機能制御部1042は、ステップS702において、優先度制御部1047に対して優先度の問い合わせを実行する。
スキャナ機能制御部1042から問い合わせを受けた優先度制御部1047は、図19に示すように、ステップS801において、第1通信制御部1035又は第2通信制御部1036のいずれかを使用するかを判定する。この判定は、以下のように実行される。
まず、優先度制御部1047は、ステップS802において、先に図6に示した優先度テーブルを参照し、第1通信制御部1045を現在使用中である機能制御部の優先度を取得して判定する。ここでは、第1通信制御部1045がどの機能制御部にも使用されていない状態であるものとする。また、優先度制御部1047は、ステップS803において、優先度テーブルを参照し、優先度判定要求の問い合わせ元であるスキャナ機能制御部1042の優先度を取得して判定する。
続いて、優先度制御部1047は、ステップS804において、優先度判定要求の問い合わせ元であるスキャナ機能制御部1042の優先度の方が、ステップS802にて判定した優先度よりも高いか否かを判定する。ここで、優先度制御部1047は、スキャナ機能制御部1042の優先度の方が高くないと判定した場合には、ステップS805へと処理を移行し、当該スキャナ機能制御部1042に第2通信制御部1046を使用させる旨を通知する一方で、スキャナ機能制御部1042の優先度の方が高いと判定した場合には、ステップS806へと処理を移行し、現在第1通信制御部1045を使用中である機能制御部に第2通信制御部1046を使用させる旨を通知してステップS807へと処理を移行する。また、優先度制御部1047は、第1通信制御部1045がいずれの機能制御部によっても使用されていない場合には、ステップS807へと処理を移行する。ここでは、現在、第1通信制御部1045がいずれの機能制御部によっても使用されておらず、また、問い合わせ元であるスキャナ機能制御部1042の優先度が、図6に示した優先度テーブルに基づいて"1"と判定されていることから、優先度制御部1047は、スキャナ機能制御部1042に第1通信制御部1045を使用させてもよいと判定し、ステップS807において、優先度判定要求の問い合わせに対する回答として、スキャナ機能制御部1042に第1通信制御部1045を使用させる旨を通知する。
そして、優先度制御部1047は、ステップS808において、第1通信制御部1045をスキャナ機能制御部1042と関連付ける。
これに応じて、スキャナ機能制御部1042は、図18中ステップS703において、優先度制御部1047の回答を受信すると、ステップS704において、ステップS701にて受信した"チャンネル優先度判定要求"メッセージに対する応答として、"第1チャンネル使用"メッセージを第2通信制御部1046に対して送信する。
第2通信制御部1046は、図17中ステップS601において、スキャナ機能制御部1042から"第1チャンネル使用"メッセージを受信すると、ステップS602において、受信した"第1チャンネル使用"メッセージに対して識別情報を付加する。この場合、送信元がスキャナ機能制御部1042であることから、第2通信制御部1046は、先に図10に示した機能識別子として"スキャナ機能"識別子を含む識別情報を付加する。
そして、第2通信制御部1046は、ステップS603において、"第1チャンネル使用"メッセージに対して識別情報が付加されたデータを、USBインターフェース部101を介して通信装置200に対して送信する。
第2通信制御部1046から送信されたデータは、図15中ステップS404において、通信装置200における第2通信制御部2036によって受信される。そして、第2通信制御部2036は、ステップS405において、受信したデータに付加された識別情報を判別する。ここでは、識別情報に"スキャナ機能"識別子が含まれていることから、第2通信制御部2036は、ステップS406において、そのデータをスキャナ機能制御部2032に対して転送する。
スキャナ機能制御部2032は、図13に示すように、ステップS204において、第2通信制御部2036からデータを受信すると、ステップS205において、受信したデータを解析する。ここでは、受信したデータが"第1チャンネル使用"メッセージであることから、スキャナ機能制御部2032は、以降の通信を、第1通信制御部2035を使用して行うことを決定し、ステップS206において、ステップS201にて受信していたスキャナ制御コマンドデータを第1通信制御部2035に対して転送する。
そして、第1通信制御部2035は、図14に示すように、ステップS301において、スキャナ機能制御部2032からスキャナ制御コマンドデータを受信すると、ステップS302において、そのデータに対して識別情報の付加等を行うことなくそのままUSBインターフェース部201を介して画像処理装置100に対して送信する。
画像処理装置100における第1通信制御部1045は、図19中ステップS808にてスキャナ機能制御部1042との関連付けがなされているため、図16に示すように、ステップS503において、通信装置200からデータを受信すると、ステップS504において、そのデータをそのままスキャナ機能制御部1042に対して転送し、ステップS505において、画像処理装置100の全ての機能制御部が待機状態となった場合には、待機状態に戻る。
これに応じて、スキャナ機能制御部1042は、図18に示すように、ステップS705において、第1通信制御部1045から転送されたデータを受信すると、ステップS706において、受信したスキャナ制御コマンドデータを解析する。ここでは、受信したデータがスキャナ制御コマンドデータであって通信終了通知ではないことから、スキャナ機能制御部1042は、ステップS707において、解析結果にしたがってスキャナ部103を制御し、スキャナ制御コマンドデータに対する応答データの生成や、走査画像データの転送を実行する。
そして、スキャナ機能制御部1042は、ステップS708において、ステップS707にて応答データを生成したか否かを判定し、応答データを生成した場合には、ステップS709において、第1通信制御部1045と第2通信制御部1046とのいずれを使用して応答データを送信するかを判定する。この場合、スキャナ機能制御部1042は、ステップS711において、データの受信時と同様に第1通信制御部1045に対して応答データを送信する。
第1通信制御部1045は、図16に示すように、ステップS501において、スキャナ機能制御部1042から応答データを受信すると、ステップS502において、その応答データに対して識別情報の付加等を行うことなくそのままUSBインターフェース部101を介して通信装置200に対して送信する。
通信装置200における第1通信制御部2035は、図13中ステップS205にてスキャナ機能制御部2032との関連付けがなされているため、図14に示すように、ステップS303において、画像処理装置100から応答データを受信すると、ステップS304において、その応答データをそのままスキャナ機能制御部2032に対して転送し、ステップS305において、通信装置200の全ての機能制御部が待機状態となった場合には、待機状態に戻る。
これに応じて、スキャナ機能制御部2032は、図13に示すように、ステップS208において、第1通信制御部2035から転送された応答データを受信すると、ステップS209において、受信した応答データを解析する。ここでは、受信したデータがチャンネルの切り替えを指示するメッセージではないことから、スキャナ機能制御部2032は、ステップS210において、受信したデータをネットワーク制御部2037に対して転送する。
ネットワーク制御部2037は、図12に示すように、ステップS103にてホストコンピュータ300とのネットワークコネクションに関連付けがなされているため、ステップS106において、スキャナ機能制御部2032からデータを受信すると、ステップS107において、そのデータをネットワークコネクションを介してホストコンピュータ300に対して転送する。
これ以降、ネットワーク制御部2037は、ステップS104からステップS108の処理を繰り返し、スキャナ機能制御部2032は、図13中ステップS201→ステップS202→ステップS205→ステップS206→ステップS208→ステップS209→ステップS210→ステップS212の処理を繰り返し、第1通信制御部2035は、図14中ステップS301からステップS305の処理を繰り返す。また、第1通信制御部1045は、図16中ステップS501からステップS505の処理を繰り返し、スキャナ機能制御部1042は、図18中ステップS705→ステップS706→ステップS707→ステップS708→ステップS709→ステップS711→ステップS712→ステップS705の処理を繰り返す。これらの各機能制御部の連携により、ホストコンピュータ300とスキャナ機能制御部1042との間では、スキャナ制御コマンドデータの通信と走査画像データの転送とが行われる。以下では、このような通信状態を"第1チャンネルによる走査画像データ転送状態"と称するものとする。
ホストコンピュータ300は、必要な通信が終了すると、図12中ステップS108において、通信装置200とのネットワークコネクションを切断する。ネットワーク制御部2037は、ネットワークコネクションが切断されると、ステップS109において、このネットワークコネクションに関連付けられているスキャナ機能制御部2032に対して通信終了通知を行い、ステップS110において、スキャナ機能制御部2032との関連付けを解除し、待機状態に戻る。
スキャナ機能制御部2032は、図13中ステップS212において、通信の終了をネットワーク制御部2037から通知されると、ステップS213において、"チャンネル使用終了通知"メッセージを第2通信制御部2036に対して送信し、その後、待機状態に戻る。
これに応じて、第2通信制御部2036は、図15中ステップS401において、スキャナ機能制御部2032から"チャンネル使用終了通知"メッセージを受信すると、ステップS402において、受信した"チャンネル使用終了通知"メッセージに対して識別情報を付加する。この場合、送信元がスキャナ機能制御部2032であることから、第2通信制御部2036は、先に図10に示した機能識別子として"スキャナ機能"識別子を含む識別情報を付加する。
続いて、第2通信制御部2036は、ステップS403において、"チャンネル使用終了通知"メッセージに対して識別情報が付加されたデータを、USBインターフェース部201を介して画像処理装置100に対して送信する。そして、第2通信制御部2036は、ステップS404において、画像処理装置100からの受信データがなく、ステップS407において、通信装置200の全ての機能制御部が待機状態となった場合には、待機状態に戻る。
第2通信制御部2036から送信されたデータは、図17中ステップS604において、画像処理装置100における第2通信制御部1046によって受信される。そして、第2通信制御部1046は、ステップS605において、受信したデータに付加された識別情報を判別する。ここでは、識別情報に"スキャナ機能"識別子が含まれていることから、第2通信制御部1046は、ステップS606において、そのデータをスキャナ機能制御部1042に対して転送し、ステップS607において、画像処理装置100の全ての機能制御部が待機状態となった場合には、待機状態に戻る。
これに応じて、スキャナ機能制御部1042は、図18に示すように、ステップS705において、第2通信制御部1046からデータを受信すると、ステップS706において、受信したデータを解析する。ここでは、受信したデータが"チャンネル使用終了通知"メッセージであることから、スキャナ機能制御部1042は、ステップS714において、優先度制御部1047にチャンネル使用の終了を通知する。そして、優先度制御部1047は、図19中ステップS809からの処理を行うことになる。
画像処理システムにおいては、このような一連の処理を行うことにより、第1通信制御部1045を使用して、すなわち第1チャンネルを使用して、ホストコンピュータ300と画像処理装置100との間で、通信装置200を介したデータの転送を行うことができる。
[第2通信制御部を使用した場合における通信動作]
つぎに、画像処理装置100において第2通信制御部1046を使用した場合における通信動作として、上述した第1通信制御部1045を使用したホストコンピュータ300と画像処理装置100との間で行われる走査画像データの転送と並行して、ホストコンピュータ400と画像処理装置100との間で、通信装置200を介して印刷データの転送を行う場合を例に挙げて説明する。なお、この説明においても、図12乃至図19を用いるものとする。
この動作は、上述した"第1チャンネルによる走査画像データ転送状態"の最中に、ホストコンピュータ400から通信装置200に対してネットワーク接続を要求することによって開始される。
すなわち、通信装置200におけるネットワーク制御部2037は、図12に示すように、ステップS101において、ホストコンピュータ400から通信装置200に対するネットワーク接続の要求があったか否かを判定する。ここで、ネットワーク制御部2037は、ネットワーク接続の要求があったのに応じて、ステップS102において、ネットワークインターフェース部202を制御してホストコンピュータ400との間にネットワークコネクションを形成させる。
そして、ネットワーク制御部2037は、ステップS103において、確立したネットワークコネクションを印刷機能制御部2031と関連付ける。以後、ネットワーク制御部2037は、ここで確立したネットワークコネクションを介して受信したデータを印刷機能制御部2031に対して転送する一方で、印刷機能制御部2031から転送されたデータを、当該ネットワークコネクションを介してホストコンピュータ400に対して送信する、といった動作を行う。この関連付けは、ネットワーク接続のポート番号によって判断される。
ここで、ネットワークNTを介して印刷データの転送を行うためのネットワークプロトコルとしては、一般的な各種方式を適用することができる。ここでは、説明の便宜上、走査画像データと同様にRAWプロトコルを適用するものとし、ポート番号として例えば"9000"が使用されるものとする。
ネットワーク接続が形成されると、ホストコンピュータ400は、画像処理装置100における印刷機能制御部1041に対して与えるべき印刷データを通信装置200に対して送信する。これに応じて、ネットワーク制御部2037は、ステップS104において、ネットワークインターフェース部202を制御し、ホストコンピュータ400から送信されてきた印刷データを受信したか否かを判定し、受信していない場合には、ステップS106へと処理を移行する一方で、受信した場合には、ステップS105へと処理を移行する。なお、印刷データの送受信に使用されるコマンドとしては、一般的な各種方式を適用することができる。一般に、これらのコマンド体系においては、印刷データの転送の他に、例えば、印刷部102のステータス情報の送受信や、印刷用紙等の記録媒体の状態情報の取得及び設定を行うために、双方向の通信が行われる。ただし、本発明は、ネットワークNTを介した印刷制御方式を対象とするものではないため、具体的なコマンドフォーマット、ホストコンピュータ400と印刷機能制御部1041との間で授受されるコマンドシーケンスについての説明は行わないものとする。
ネットワーク制御部2037は、ネットワークインターフェース部202を介してホストコンピュータ400から印刷データを受信すると、ステップS105において、受信した印刷データを、印刷機能制御部2031に対して送信し、ステップS106へと処理を移行する。
一方、印刷機能制御部2031は、図13に示すように、ステップS201において、待機状態ではネットワーク制御部2037からのデータ転送があるまで待機している。そして、印刷機能制御部2031は、ステップS202において、図12中ステップS103におけるネットワークコネクションとの関連付けが行われてから最初にコマンドを受信したか否かを判定し、最初のコマンドでない場合には、ステップS205へと処理を移行する一方で、最初のコマンドである場合には、ステップS203へと処理を移行し、"チャンネル優先度判定要求"メッセージを、第2通信制御部2036に対して送信する。これに応じて、第2通信制御部2036は、図15に示す一連の処理を行うことになる。
すなわち、第2通信制御部2036は、図15中ステップS401において、印刷機能制御部2031から"チャンネル優先度判定要求"メッセージを受信すると、ステップS402において、受信した"チャンネル優先度判定要求"メッセージに対して識別情報を付加する。この場合、送信元が印刷機能制御部2031であることから、第2通信制御部2036は、先に図10に示した機能識別子として"印刷機能"識別子を含む識別情報を付加する。
そして、第2通信制御部2036は、ステップS403において、"チャンネル優先度判定要求"メッセージに対して識別情報が付加されたデータを、USBインターフェース部201を介して画像処理装置100に対して送信する。これに応じて、画像処理装置100における第2通信制御部1046は、図17に示す一連の処理を行うことになる。このとき、USBインターフェース部201と画像処理装置100におけるUSBインターフェース101との間では、上述したように、バルク転送のためのUSB通信制御が行われる。ただし、本発明においては、USBバスの制御についてはUSB規格にしたがった標準手順が実行されるため、ここでは、USBバスの制御及びUSBパケットの制御についての詳細な説明は行わないものとする。
第2通信制御部2036から送信されたデータは、図17中ステップS604において、画像処理装置100における第2通信制御部1046によって受信される。そして、第2通信制御部1046は、ステップS605において、受信したデータに付加された識別情報を判別する。ここでは、識別情報に"印刷機能"識別子が含まれていることから、第2通信制御部1046は、ステップS606において、そのデータを印刷機能制御部1041に対して転送する。
これに応じて、印刷機能制御部1041は、図18に示すように、ステップS701において、受信したデータを解析する。ここでは、受信したデータが"チャンネル優先度判定要求"メッセージであることから、印刷機能制御部1041は、ステップS702において、優先度制御部1047に対して優先度の問い合わせを実行する。
印刷機能制御部1041から問い合わせを受けた優先度制御部1047は、図19に示すように、ステップS801において、第1通信制御部1035又は第2通信制御部1036のいずれかを使用するかを判定する。この判定は、以下のように実行される。
まず、優先度制御部1047は、ステップS802において、先に図6に示した優先度テーブルを参照し、第1通信制御部1045を現在使用中である機能制御部の優先度を取得して判定する。ここでは、第1通信制御部1045がスキャナ機能制御部1042に使用されている状態である。したがって、優先度制御部1047は、図6に示した優先度テーブルに基づいて、スキャナ機能制御部1042の優先度を"1"と判定する。また、優先度制御部1047は、ステップS803において、優先度テーブルを参照し、優先度判定要求の問い合わせ元である印刷機能制御部1041の優先度を取得して判定する。ここでは、優先度制御部1047は、図6に示した優先度テーブルに基づいて、印刷機能制御部1041の優先度を"3"と判定する。
続いて、優先度制御部1047は、ステップS804において、優先度判定要求の問い合わせ元である印刷機能制御部1041の優先度の方が、ステップS802にて判定した優先度よりも高いか否かを判定する。ここでは、優先度制御部1047は、スキャナ機能制御部1042の優先度の方が印刷機能制御部1041の優先度よりも高いことから、印刷機能制御部1041に第2通信制御部1046を使用させるとともに、引き続きスキャナ機能制御部1042に第1通信制御部1045を使用させると判定する。そして、優先度制御部1047は、ステップS805において、優先度判定要求の問い合わせに対する回答として、印刷機能制御部1041に第2通信制御部1046を使用させる旨を通知し、ステップS809へと処理を移行する。
なお、第2通信制御部1046は、複数の機能制御部が並行して使用することから、第1通信制御部1045のように優先度制御部1047による関連付けは行われない。
印刷機能制御部1041は、図18中ステップS703において、優先度制御部1047の回答を受信すると、ステップS704において、ステップS701にて受信した"チャンネル優先度判定要求"メッセージに対する応答として、"第2チャンネル使用"メッセージを第2通信制御部1046に対して送信する。
続いて、第2通信制御部1046は、図17中ステップS601において、印刷機能制御部1041から"第2チャンネル使用"メッセージを受信すると、ステップS602において、受信した"第2チャンネル使用"メッセージに対して識別情報を付加する。この場合、送信元が印刷機能制御部1041であることから、第2通信制御部1046は、先に図10に示した機能識別子として"印刷機能"識別子を含む識別情報を付加する。
そして、第2通信制御部1046は、ステップS603において、"第2チャンネル使用"メッセージに対して識別情報が付加されたデータを、USBインターフェース部101を介して通信装置200に対して送信する。
第2通信制御部1046から送信されたデータは、図15中ステップS404において、通信装置200における第2通信制御部2036によって受信される。そして、第2通信制御部2036は、ステップS405において、受信したデータに付加された識別情報を判別する。ここでは、識別情報に"印刷機能"識別子が含まれていることから、第2通信制御部2036は、ステップS406において、そのデータを印刷機能制御部2031に対して転送する。
印刷機能制御部2031は、図13に示すように、ステップS204において、第2通信制御部2036からデータを受信すると、ステップS205において、受信したデータを解析する。ここでは、受信したデータが"第2チャンネル使用"メッセージであることから、印刷機能制御部2031は、以降の通信を、第2通信制御部2036を使用して行うことを決定し、ステップS207において、ステップS201にて受信していた印刷データを第2通信制御部2036に対して転送する。
続いて、第2通信制御部2036は、図15に示すように、ステップS401において、印刷機能制御部2031から印刷データを受信すると、ステップS402において、受信した印刷データに対して識別情報を付加する。この場合、送信元が印刷機能制御部2031であることから、第2通信制御部2036は、先に図10に示した機能識別子として"印刷機能"識別子を含む識別情報を付加する。そして、第2通信制御部2036は、ステップS403において、印刷データに対して識別情報が付加されたデータを、USBインターフェース部201を介して画像処理装置100に対して送信する。
第2通信制御部2036から送信されたデータは、図17中ステップS604において、画像処理装置100における第2通信制御部1046によって受信される。そして、第2通信制御部1046は、ステップS605において、受信したデータに付加された識別情報を判別する。ここでは、識別情報に"印刷機能"識別子が含まれていることから、第2通信制御部1046は、ステップS606において、そのデータを印刷機能制御部1041に対して転送する。
これに応じて、印刷機能制御部1041は、図18に示すように、ステップS705において、第2通信制御部1046からデータを受信すると、ステップS706において、受信したデータを解析する。ここでは、受信したデータが印刷データであって通信終了通知ではないことから、印刷機能制御部1041は、ステップS707において、解析結果にしたがって印刷部102を制御し、印刷データに対する応答データの生成や印刷処理を実行する。
そして、印刷機能制御部1041は、ステップS708において、ステップS707にて応答データを生成したか否かを判定し、応答データを生成した場合には、ステップS709において、第1通信制御部1045と第2通信制御部1046とのいずれを使用して応答データを送信するかを判定する。この場合、印刷機能制御部1041は、ステップS710において、データの受信時と同様に第2通信制御部1046に対して応答データを送信する。
第2通信制御部1046は、図17に示すように、ステップS601において、印刷機能制御部1041から応答データを受信すると、ステップS602において、受信した応答データに対して識別情報を付加する。この場合、送信元が印刷機能制御部1041であることから、第2通信制御部1046は、先に図10に示した機能識別子として"印刷機能"識別子を含む識別情報を付加する。そして、第2通信制御部1046は、ステップS603において、応答データに対して識別情報が付加されたデータを、USBインターフェース部101を介して通信装置200に対して送信する。
通信装置200における第2通信制御部2036は、図15に示すように、ステップS404において、画像処理装置100から応答データを受信すると、ステップS405において、受信した応答データに付加された識別情報を判別する。ここでは、識別情報に"印刷機能"識別子が含まれていることから、第2通信制御部2036は、ステップS406において、その応答データを印刷機能制御部2031に対して転送する。
これに応じて、印刷機能制御部2031は、図13に示すように、ステップS208において、第2通信制御部2036から応答データを受信すると、ステップS209において、受信した応答データを解析する。ここでは、受信したデータがチャンネルの切り替えを指示するメッセージではないことから、印刷機能制御部2031は、ステップS210において、受信したデータをネットワーク制御部2037に対して転送する。
ネットワーク制御部2037は、図12に示すように、ステップS103にてホストコンピュータ400とのネットワークコネクションに関連付けがなされているため、ステップS106において、印刷機能制御部2031からデータを受信すると、ステップS107において、そのデータをネットワークコネクションを介してホストコンピュータ400に対して転送する。
これ以降、ネットワーク制御部2037は、ステップS104からステップS108の処理を繰り返し、印刷機能制御部2031は、図13中ステップS201→ステップS202→ステップS205→ステップS207→ステップS208→ステップS209→ステップS210→ステップS212の処理を繰り返し、第2通信制御部2036は、図15中ステップS401からステップS407の処理を繰り返す。また、第2通信制御部1046は、図17中ステップS601からステップS607の処理を繰り返し、印刷機能制御部1041は、図18中ステップS705→ステップS706→ステップS707→ステップS708→ステップS709→ステップS710→ステップS712→ステップS705の処理を繰り返す。これらの各機能制御部の連携により、ホストコンピュータ400と印刷機能制御部1041との間では、印刷データの転送が行われる。以下では、このような通信状態を"第2チャンネルによる印刷データ転送状態"と称するものとする。
ホストコンピュータ400は、必要な通信が終了すると、図12中ステップS108において、通信装置200とのネットワークコネクションを切断する。ネットワーク制御部2037は、ネットワークコネクションが切断されると、ステップS109において、このネットワークコネクションに関連付けられている印刷機能制御部2031に対して通信終了通知を行い、ステップS110において、印刷機能制御部2031との関連付けを解除し、待機状態に戻る。
印刷機能制御部2031は、図13中ステップS212において、通信の終了をネットワーク制御部2037から通知されると、ステップS213において、"チャンネル使用終了通知"メッセージを第2通信制御部2036に対して送信し、その後、待機状態に戻る。
これに応じて、第2通信制御部2036は、図15中ステップS401において、印刷機能制御部2031から"チャンネル使用終了通知"メッセージを受信すると、ステップS402において、受信した"チャンネル使用終了通知"メッセージに対して識別情報を付加する。この場合、送信元が印刷機能制御部2031であることから、第2通信制御部2036は、先に図10に示した機能識別子として"印刷機能"識別子を含む識別情報を付加する。
続いて、第2通信制御部2036は、ステップS403において、"チャンネル使用終了通知"メッセージに対して識別情報が付加されたデータを、USBインターフェース部201を介して画像処理装置100に対して送信する。そして、第2通信制御部2036は、ステップS404において、画像処理装置100からの受信データがなく、ステップS407において、通信装置200の全ての機能制御部が待機状態となった場合には、待機状態に戻る。
第2通信制御部2036から送信されたデータは、図17中ステップS604において、画像処理装置100における第2通信制御部1046によって受信される。そして、第2通信制御部1046は、ステップS605において、受信したデータに付加された識別情報を判別する。ここでは、識別情報に"印刷機能"識別子が含まれていることから、第2通信制御部1046は、ステップS606において、そのデータを印刷機能制御部1041に対して転送し、ステップS607において、画像処理装置100の全ての機能制御部が待機状態となった場合には、待機状態に戻る。
これに応じて、印刷機能制御部1041は、図18に示すように、ステップS705において、第2通信制御部1046からデータを受信すると、ステップS706において、受信したデータを解析する。ここでは、受信したデータが"チャンネル使用終了通知"メッセージであることから、印刷機能制御部1041は、ステップS714において、優先度制御部1047にチャンネル使用の終了を通知する。そして、優先度制御部1047は、図19中ステップS809からの処理を行うことになる。
画像処理システムにおいては、このような一連の処理を行うことにより、第2通信制御部1046を使用して、すなわち第2チャンネルを使用して、ホストコンピュータ400と画像処理装置100との間で、通信装置200を介したデータの転送を行うことができる。
[第2通信制御部を使用した複数の通信動作]
つぎに、画像処理装置100において第2通信制御部1046を複数の機能制御部によって同時に使用した場合における通信動作として、上述した第1通信制御部1045を使用したホストコンピュータ300と画像処理装置100との間で行われる走査画像データの転送と、第2通信制御部1046を使用したホストコンピュータ400と画像処理装置100との間で行われる印刷データの転送とが並行して行われている間に、さらに、ホストコンピュータ500と画像処理装置100との間で、通信装置200を介して装置管理情報の転送を行う場合を例に挙げて説明する。なお、この説明においても、図12乃至図19を用いるものとする。
この動作は、上述した"第1チャンネルによる走査画像データ転送状態"と"第2チャンネルによる印刷データ転送状態"とが並行して行われている最中に、ホストコンピュータ500から通信装置200に対してネットワーク接続を要求することによって開始される。
すなわち、通信装置200におけるネットワーク制御部2037は、図12に示すように、ステップS101において、ホストコンピュータ500から通信装置200に対するネットワーク接続の要求があったか否かを判定する。ここで、ネットワーク制御部2037は、ネットワーク接続の要求があったのに応じて、ステップS102において、ネットワークインターフェース部202を制御してホストコンピュータ500との間にネットワークコネクションを形成させる。
そして、ネットワーク制御部2037は、ステップS103において、確立したネットワークコネクションを管理情報通信部2033と関連付ける。以後、ネットワーク制御部2037は、ここで確立したネットワークコネクションを介して受信したデータを管理情報通信部2033に対して転送する一方で、管理情報通信部2033から転送されたデータを、当該ネットワークコネクションを介してホストコンピュータ500に対して送信する、といった動作を行う。この関連付けは、ネットワーク接続のポート番号によって判断される。
ここで、ネットワークNTを介して装置管理情報の転送を行うためのネットワークプロトコルとしては、一般的な各種方式を適用することができる。ここでは、説明の便宜上、走査画像データや印刷データと同様にRAWプロトコルを適用するものとし、ポート番号として例えば"9002"が使用されるものとする。
ネットワーク接続が形成されると、ホストコンピュータ500は、画像処理装置100における管理情報処理部1043に対して与えるべき装置管理情報要求コマンドデータを通信装置200に対して送信する。これに応じて、ネットワーク制御部2037は、ステップS104において、ネットワークインターフェース部202を制御し、ホストコンピュータ500から送信されてきた装置管理情報要求コマンドを受信したか否かを判定し、受信していない場合には、ステップS106へと処理を移行する一方で、受信した場合には、ステップS105へと処理を移行する。なお、装置管理情報の送受信に使用されるコマンドとしては、一般的な各種方式を適用することができる。一般に、これらのコマンド体系においては、装置管理情報の取得を行うために双方向の通信が行われる。ただし、本発明は、ネットワークNTを介した装置管理情報取得方式を対象とするものではないため、具体的なコマンドフォーマット、ホストコンピュータ500と管理情報処理部1043との間で授受されるコマンドシーケンスについての説明は行わないものとする。
ネットワーク制御部2037は、ネットワークインターフェース部202を介してホストコンピュータ500から装置管理情報要求コマンドデータを受信すると、ステップS105において、受信した装置管理情報要求コマンドデータを、管理情報通信部2033に対して送信し、ステップS106へと処理を移行する。
一方、管理情報通信部2033は、図13に示すように、ステップS201において、待機状態ではネットワーク制御部2037からのデータ転送があるまで待機している。そして、管理情報通信部2033は、ステップS202において、図12中ステップS103におけるネットワークコネクションとの関連付けが行われてから最初にコマンドを受信したか否かを判定し、最初のコマンドでない場合には、ステップS205へと処理を移行する一方で、最初のコマンドである場合には、ステップS203へと処理を移行し、"チャンネル優先度判定要求"メッセージを、第2通信制御部2036に対して送信する。これに応じて、第2通信制御部2036は、図15に示す一連の処理を行うことになる。
すなわち、第2通信制御部2036は、図15中ステップS401において、管理情報通信部2033から"チャンネル優先度判定要求"メッセージを受信すると、ステップS402において、受信した"チャンネル優先度判定要求"メッセージに対して識別情報を付加する。この場合、送信元が管理情報通信部2033であることから、第2通信制御部2036は、先に図10に示した機能識別子として"管理情報機能"識別子を含む識別情報を付加する。
そして、第2通信制御部2036は、ステップS403において、"チャンネル優先度判定要求"メッセージに対して識別情報が付加されたデータを、USBインターフェース部201を介して画像処理装置100に対して送信する。これに応じて、画像処理装置100における第2通信制御部1046は、図17に示す一連の処理を行うことになる。このとき、USBインターフェース部201と画像処理装置100におけるUSBインターフェース101との間では、上述したように、バルク転送のためのUSB通信制御が行われる。ただし、本発明においては、USBバスの制御についてはUSB規格にしたがった標準手順が実行されるため、ここでは、USBバスの制御及びUSBパケットの制御についての詳細な説明は行わないものとする。
第2通信制御部2036から送信されたデータは、図17中ステップS604において、画像処理装置100における第2通信制御部1046によって受信される。そして、第2通信制御部1046は、ステップS605において、受信したデータに付加された識別情報を判別する。
なお、このとき、第2通信制御部2036と画像処理装置100における第2通信制御部1046との間では、識別情報に"印刷機能"識別子が含まれたデータも並行に送受信されている。しかしながら、画像処理システムにおいては、第2通信制御部2036によって識別情報の付加を行うとともに、第2通信制御部1046によって識別情報の判別を行うことにより、各データを適切な各機能制御部に確実に振り分けることが可能となる。ここでは、識別情報に"管理情報機能"識別子が含まれていることから、第2通信制御部1046は、ステップS606において、そのデータを管理情報処理部1043に対して転送する。
これに応じて、管理情報処理部1043は、図18に示すように、ステップS701において、受信したデータを解析する。ここでは、受信したデータが"チャンネル優先度判定要求"メッセージであることから、管理情報処理部1043は、ステップS702において、優先度制御部1047に対して優先度の問い合わせを実行する。
管理情報処理部1043から問い合わせを受けた優先度制御部1047は、図19に示すように、ステップS801において、第1通信制御部1035又は第2通信制御部1036のいずれかを使用するかを判定する。この判定は、以下のように実行される。
まず、優先度制御部1047は、ステップS802において、先に図6に示した優先度テーブルを参照し、第1通信制御部1045を現在使用中である機能制御部の優先度を取得して判定する。ここでは、第1通信制御部1045がスキャナ機能制御部1042に使用されている状態である。したがって、優先度制御部1047は、図6に示した優先度テーブルに基づいて、スキャナ機能制御部1042の優先度を"1"と判定する。また、優先度制御部1047は、ステップS803において、優先度テーブルを参照し、優先度判定要求の問い合わせ元である管理情報処理部1043の優先度を取得して判定する。ここでは、優先度制御部1047は、図6に示した優先度テーブルに基づいて、管理情報処理部1043の優先度を"5"と判定する。
続いて、優先度制御部1047は、ステップS804において、優先度判定要求の問い合わせ元である管理情報処理部1043の優先度の方が、ステップS802にて判定した優先度よりも高いか否かを判定する。ここでは、優先度制御部1047は、スキャナ機能制御部1042の優先度の方が管理情報処理部1043の優先度よりも高いことから、管理情報処理部1043に第2通信制御部1046を使用させるとともに、引き続きスキャナ機能制御部1042に第1通信制御部1045を使用させると判定する。そして、優先度制御部1047は、ステップS805において、優先度判定要求の問い合わせに対する回答として、管理情報処理部1043に第2通信制御部1046を使用させる旨を通知し、ステップS809へと処理を移行する。
管理情報処理部1043は、図18中ステップS703において、優先度制御部1047の回答を受信すると、ステップS704において、ステップS701にて受信した"チャンネル優先度判定要求"メッセージに対する応答として、"第2チャンネル使用"メッセージを第2通信制御部1046に対して送信する。
続いて、第2通信制御部1046は、図17中ステップS601において、管理情報処理部1043から"第2チャンネル使用"メッセージを受信すると、ステップS602において、受信した"第2チャンネル使用"メッセージに対して識別情報を付加する。この場合、送信元が管理情報処理部1043であることから、第2通信制御部1046は、先に図10に示した機能識別子として"管理情報機能"識別子を含む識別情報を付加する。
そして、第2通信制御部1046は、ステップS603において、"第2チャンネル使用"メッセージに対して識別情報が付加されたデータを、USBインターフェース部101を介して通信装置200に対して送信する。
第2通信制御部1046から送信されたデータは、図15中ステップS404において、通信装置200における第2通信制御部2036によって受信される。そして、第2通信制御部2036は、ステップS405において、受信したデータに付加された識別情報を判別する。
なお、このとき、第2通信制御部1046と通信装置200における第2通信制御部2036との間では、識別情報に"印刷機能"識別子が含まれたデータも並行に送受信されている。しかしながら、画像処理システムにおいては、第2通信制御部1046によって識別情報の付加を行うとともに、第2通信制御部2036によって識別情報の判別を行うことにより、各データを適切な各機能制御部に確実に振り分けることが可能となる。ここでは、識別情報に"管理情報機能"識別子が含まれていることから、第2通信制御部2036は、ステップS406において、そのデータを管理情報通信部2033に対して転送する。
管理情報通信部2033は、図13に示すように、ステップS204において、第2通信制御部2036からデータを受信すると、ステップS205において、受信したデータを解析する。ここでは、受信したデータが"第2チャンネル使用"メッセージであることから、管理情報通信部2033は、以降の通信を、第2通信制御部2036を使用して行うことを決定し、ステップS207において、ステップS201にて受信していた装置管理情報要求コマンドデータを第2通信制御部2036に対して転送する。
続いて、第2通信制御部2036は、図15に示すように、ステップS401において、管理情報通信部2033から装置管理情報要求コマンドデータを受信すると、ステップS402において、受信した装置管理情報要求コマンドデータに対して識別情報を付加する。この場合、送信元が管理情報通信部2033であることから、第2通信制御部2036は、先に図10に示した機能識別子として"管理情報機能"識別子を含む識別情報を付加する。そして、第2通信制御部2036は、ステップS403において、装置管理情報要求コマンドデータに対して識別情報が付加されたデータを、USBインターフェース部201を介して画像処理装置100に対して送信する。
第2通信制御部2036から送信されたデータは、図17中ステップS604において、画像処理装置100における第2通信制御部1046によって受信される。そして、第2通信制御部1046は、ステップS605において、受信したデータに付加された識別情報を判別する。ここでは、識別情報に"管理情報機能"識別子が含まれていることから、第2通信制御部1046は、ステップS606において、そのデータを管理情報処理部1043に対して転送する。
これに応じて、管理情報処理部1043は、図18に示すように、ステップS705において、第2通信制御部1046からデータを受信すると、ステップS706において、受信したデータを解析する。ここでは、受信したデータが装置管理情報要求コマンドデータであって通信終了通知ではないことから、管理情報処理部1043は、ステップS707において、解析結果にしたがって装置管理情報要求コマンドデータに対する応答データ(装置管理情報)を生成する。
そして、管理情報処理部1043は、ステップS708において、ステップS707にて応答データを生成したか否かを判定し、応答データを生成した場合には、ステップS709において、第1通信制御部1045と第2通信制御部1046とのいずれを使用して応答データを送信するかを判定する。この場合、管理情報処理部1043は、ステップS710において、データの受信時と同様に第2通信制御部1046に対して応答データを送信する。
第2通信制御部1046は、図17に示すように、ステップS601において、管理情報処理部1043から応答データを受信すると、ステップS602において、受信した応答データに対して識別情報を付加する。この場合、送信元が管理情報処理部1043であることから、第2通信制御部1046は、先に図10に示した機能識別子として"管理情報機能"識別子を含む識別情報を付加する。そして、第2通信制御部1046は、ステップS603において、応答データに対して識別情報が付加されたデータを、USBインターフェース部101を介して通信装置200に対して送信する。
通信装置200における第2通信制御部2036は、図15に示すように、ステップS404において、画像処理装置100から応答データを受信すると、ステップS405において、受信した応答データに付加された識別情報を判別する。ここでは、識別情報に"管理情報機能"識別子が含まれていることから、第2通信制御部2036は、ステップS406において、その応答データを管理情報通信部2033に対して転送する。
これに応じて、管理情報通信部2033は、図13に示すように、ステップS208において、第2通信制御部2036から応答データを受信すると、ステップS209において、受信した応答データを解析する。ここでは、受信したデータがチャンネルの切り替えを指示するメッセージではないことから、管理情報通信部2033は、ステップS210において、受信したデータをネットワーク制御部2037に対して転送する。
ネットワーク制御部2037は、図12に示すように、ステップS103にてホストコンピュータ500とのネットワークコネクションに関連付けがなされているため、ステップS106において、管理情報通信部2033からデータを受信すると、ステップS107において、そのデータをネットワークコネクションを介してホストコンピュータ500に対して転送する。
これ以降、ネットワーク制御部2037は、ステップS104からステップS108の処理を繰り返し、管理情報通信部2033は、図13中ステップS201→ステップS202→ステップS205→ステップS207→ステップS208→ステップS209→ステップS210→ステップS212の処理を繰り返し、第2通信制御部2036は、図15中ステップS401からステップS407の処理を繰り返す。また、第2通信制御部1046は、図17中ステップS601からステップS607の処理を繰り返し、管理情報処理部1043は、図18中ステップS705→ステップS706→ステップS707→ステップS708→ステップS709→ステップS710→ステップS712→ステップS705の処理を繰り返す。これらの各機能制御部の連携により、ホストコンピュータ500と管理情報処理部1043との間では、装置管理情報の転送が行われる。以下では、このような通信状態を"第2チャンネルによる装置管理情報転送状態"と称するものとする。
ホストコンピュータ500は、必要な通信が終了すると、図12中ステップS108において、通信装置200とのネットワークコネクションを切断する。ネットワーク制御部2037は、ネットワークコネクションが切断されると、ステップS109において、このネットワークコネクションに関連付けられている管理情報通信部2033に対して通信終了通知を行い、ステップS110において、管理情報通信部2033との関連付けを解除し、待機状態に戻る。
管理情報通信部2033は、図13中ステップS212において、通信の終了をネットワーク制御部2037から通知されると、ステップS213において、"チャンネル使用終了通知"メッセージを第2通信制御部2036に対して送信し、その後、待機状態に戻る。
これに応じて、第2通信制御部2036は、図15中ステップS401において、管理情報通信部2033から"チャンネル使用終了通知"メッセージを受信すると、ステップS402において、受信した"チャンネル使用終了通知"メッセージに対して識別情報を付加する。この場合、送信元が管理情報通信部2033であることから、第2通信制御部2036は、先に図10に示した機能識別子として"管理情報機能"識別子を含む識別情報を付加する。
続いて、第2通信制御部2036は、ステップS403において、"チャンネル使用終了通知"メッセージに対して識別情報が付加されたデータを、USBインターフェース部201を介して画像処理装置100に対して送信する。そして、第2通信制御部2036は、ステップS404において、画像処理装置100からの受信データがなく、ステップS407において、通信装置200の全ての機能制御部が待機状態となった場合には、待機状態に戻る。
第2通信制御部2036から送信されたデータは、図17中ステップS604において、画像処理装置100における第2通信制御部1046によって受信される。そして、第2通信制御部1046は、ステップS605において、受信したデータに付加された識別情報を判別する。ここでは、識別情報に"管理情報機能"識別子が含まれていることから、第2通信制御部1046は、ステップS606において、そのデータを管理情報処理部1043に対して転送し、ステップS607において、画像処理装置100の全ての機能制御部が待機状態となった場合には、待機状態に戻る。
これに応じて、管理情報処理部1043は、図18に示すように、ステップS705において、第2通信制御部1046からデータを受信すると、ステップS706において、受信したデータを解析する。ここでは、受信したデータが"チャンネル使用終了通知"メッセージであることから、印刷機能制御部1041は、ステップS714において、優先度制御部1047にチャンネル使用の終了を通知する。そして、優先度制御部1047は、図19中ステップS809からの処理を行うことになる。
画像処理システムにおいては、このような一連の処理を行うことにより、第2通信制御部1046を使用して、すなわち第2チャンネルを使用して、複数のホストコンピュータ400,500と画像処理装置100との間で、通信装置200を介したデータの転送を並行して行うことができる。
[第1通信制御部と第2通信制御部との使用を切り替える通信動作]
つぎに、第2通信制御部1046を使用した通信の途中で、当該通信を、第1通信制御部1045を使用して行うように切り替える通信動作について説明する。ここでは、上述した第1通信制御部1045を使用したホストコンピュータ300と画像処理装置100との間で行われる走査画像データの転送と、第2通信制御部1046を使用したホストコンピュータ400と画像処理装置100との間で行われる印刷データの転送と、第2通信制御部1046を使用したホストコンピュータ500と画像処理装置100との間で行われる装置管理情報の転送とが並行して行われている間に、走査画像データの転送が終了した場合を例に挙げて説明する。なお、この説明においても、図12乃至図19を用いるものとする。
優先度制御部1047は、"第1チャンネルによる走査画像データ転送状態"と"第2チャンネルによる印刷データ転送状態"と"第2チャンネルによる装置管理情報転送状態"とが並行して行われている最中に、走査画像データの転送が終了したのにともない、図19中ステップS809において、スキャナ機能制御部1042からチャンネル使用の終了が通知されると、ステップS810において、第1通信制御部1045とスキャナ機能制御部1042との関連付けを解除する。
続いて、優先度制御部1047は、ステップS811において、先に図6に示した優先度テーブルを参照して現在動作中である全ての機能制御部の優先度を取得し、取得した優先度を比較する。ここでは、印刷機能制御部1041と管理情報処理部1043とが動作している状態である。したがって、優先度制御部1047は、図6に示した優先度テーブルに基づいて、印刷機能制御部1041の優先度"3"と、管理情報処理部1043の優先度"5"とを取得し、印刷機能制御部1041の優先度の方が管理情報処理部1043の優先度よりも高い旨を判定する。これにより、優先度制御部1047は、優先度が高い印刷機能制御部1041に第1通信制御部1045を使用させるとともに、引き続き管理情報処理部1043に第2通信制御部1046を使用させると判定する。
そして、優先度制御部1047は、ステップS812において、印刷機能制御部1041に第1通信制御部1045を使用させる旨を通知し、ステップS813において、第1通信制御部1045を印刷機能制御部1041と関連付ける。
これに応じて、印刷機能制御部1041は、図18中ステップS712において、優先度制御部1047から第1チャンネルの使用指示、すなわちチャンネルの切り替えを指示するメッセージを受信すると、ステップS713において、受信したメッセージに基づいて、"第1チャンネル使用"メッセージを第2通信制御部1046に対して送信し、ステップS705からの処理を繰り返す。
第2通信制御部1046は、図17中ステップS601において、印刷機能制御部1041から"第1チャンネル使用"メッセージを受信すると、ステップS602において、受信した"第1チャンネル使用"メッセージに対して識別情報を付加する。この場合、送信元が印刷機能制御部1041であることから、第2通信制御部1046は、先に図10に示した機能識別子として"印刷機能"識別子を含む識別情報を付加する。
そして、第2通信制御部1046は、ステップS603において、"第1チャンネル使用"メッセージに対して識別情報が付加されたデータを、USBインターフェース部101を介して通信装置200に対して送信する。
第2通信制御部1046から送信されたデータは、図15中ステップS404において、通信装置200における第2通信制御部2036によって受信される。そして、第2通信制御部2036は、ステップS405において、受信したデータに付加された識別情報を判別する。ここでは、識別情報に"印刷機能"識別子が含まれていることから、第2通信制御部2036は、ステップS406において、そのデータを印刷機能制御部2031に対して転送する。
印刷機能制御部2031は、図13に示すように、ステップS208において、第2通信制御部2036からデータを受信すると、ステップS209において、受信したデータを解析する。ここでは、受信したデータが"第1チャンネル使用"メッセージであることから、印刷機能制御部2031は、ステップS211において、第1通信制御部2035に対して関連付けされた旨を通知して第1チャンネルに切り替え、ステップS212へと処理を移行する。
これ以降、印刷機能制御部2031と印刷機能制御部1041との通信は、上述した"第1チャンネルによる走査画像データ転送状態"の動作と同様に、第1通信制御部2035と第1通信制御部1045とを介して実行される。以下では、このような通信状態を"第1チャンネルによる印刷データ転送状態"と称するものとする。
ホストコンピュータ300は、必要な通信が終了すると、図12中ステップS108において、通信装置200とのネットワークコネクションを切断する。ネットワーク制御部2037は、ネットワークコネクションが切断されると、ステップS109において、このネットワークコネクションに関連付けられている印刷機能制御部2031に対して通信終了通知を行い、ステップS110において、印刷機能制御部2031との関連付けを解除し、待機状態に戻る。以降、画像処理システムにおいては、"第1チャンネルによる走査画像データ転送状態"の動作と同様に、通信終了処理が行われる。
画像処理システムにおいては、このような一連の処理を行うことにより、第2通信制御部1046を使用した通信の途中で、当該通信を、第1通信制御部1045を使用して行うように切り替えることができる。
以上説明したように、本発明の第1の実施の形態として示す画像処理システムにおいては、機能の優先度に応じて、その機能制御部に使用させる通信制御部を決定する。したがって、この画像処理システムにおいては、複数の機能についてのデータ通信が並行に実行された場合であっても、例えば高速なデータ転送が求められる機能については優先度を高く設定することにより、識別情報の付加や解析処理による処理時間に起因して通信速度を引き下げてしまうことがなくなる。
また、この画像処理システムにおいては、ある機能制御部について、効率よく通信可能な第1の通信制御部1045,2035を使用した通信が終了すると、次の優先度を有する他の機能制御部が第1の通信制御部1045,2035を使用するように切り替えることにより、常に最も効率よく通信チャンネルを使用することが可能となる。
[第2の実施の形態]
つぎに、第2の実施の形態として示す画像処理システムについて説明する。
この第2の実施の形態として示す画像処理システムは、第1の実施の形態として示した画像処理システムのように機能毎に優先度を判定するのではなく、データ毎に優先度を判定することにより、同じ種類のデータ通信であっても、各データ通信毎に優先度を制御するものである。したがって、この第2の実施の形態の説明においては、第1の実施の形態の説明と同様の構成については同一符号を付し、その詳細な説明を省略するものとする。
[画像処理システムの構成]
画像処理システムは、図20に示すように、LAN等の所定のネットワークNTに接続された通信装置700と、画像処理装置600との間でUSB通信を行うように構成される。また、ネットワークNTには、図21に示すように、デバイスとしての画像処理装置600に対するホストとして、複数のホストコンピュータ300,400が接続されている。これらホストコンピュータ300,400は、それぞれ、ネットワーク通信機能を備えた一般的なコンピュータとして構成され、デバイスとしての画像処理装置600との間で、走査画像データ転送、印刷データ転送、装置管理情報転送等のデータ通信を行う機能を備えている。
[画像処理装置の構成]
このような画像処理システムにおいて、画像処理装置600は、図22に示すように、USBバスを介してデータ通信を行うUSBインターフェース部601と、所定の記録媒体に対する印刷データの印刷を行う印刷部602と、原稿を読み取って画像データを生成するスキャナ部603と、当該画像処理装置600を統括的に制御する制御部604とを備える。すなわち、この画像処理装置600は、印刷部602による印刷機能とスキャナ部603によるスキャナ機能とを併せ持つ複合機として構成される。
USBインターフェース部601は、制御部604を構成する後述するUSBインターフェース制御部の制御のもとに、通信装置700との間でデータの送受信を行う。なお、USBインターフェース部601の構成については、後に詳述するものとする。
印刷部602は、制御部604を構成する後述する印刷機能制御部の制御のもとに、印刷データを用紙等の記録媒体に対して印刷する。
スキャナ部603は、制御部604を構成する後述するスキャナ機能制御部の制御のもとに、原稿を走査して画像データを生成する。
制御部604は、例えばCPU等のプロセッサから構成され、当該画像処理装置600の全体を制御する。なお、制御部604の構成については、後に詳述するものとする。
かかる各部を備える画像処理装置600は、制御部604の制御のもとに、USBインターフェース部601を介して、通信装置700から送信された印刷データを受信して印刷部602よって印刷したり、スキャナ部603によって生成された走査画像データを通信装置700に対して送信したりする。
つぎに、このような画像処理装置600におけるUSBインターフェース部601及び制御部604の構成について説明する。
まず、USBインターフェース部601の構成について説明する。
USBインターフェース部601は、上述したUSBインターフェース部101と同様に、複数のエンドポイントを備える。本実施形態においては、画像処理装置600と通信装置700との間での印刷データや走査画像データの転送のために、2組のパイプを用いるものとする。すなわち、USBインターフェース部601は、図23に示すように、5つのエンドポイント0(6010)、エンドポイント1(6011)、エンドポイント2(6012)、エンドポイント3(6013)、エンドポイント4(6014)を備える。なお、本実施形態においては、印刷データや走査画像データの転送にバルク転送を用いるものとして説明するが、画像処理システムにおいては、インタラプト転送やアイソクロナス転送を用いても同様の機能を実現することは可能である。
エンドポイント0(6010)は、コントロールチャンネルに割り当てられ、コントロール転送によって動作や設定を変更するために用いられる。
エンドポイント1(6011)とエンドポイント2(6012)は、それぞれ、データの送信と受信を行うために割り当てられ、制御部604における後述する第1通信制御部により、論理的に1つの送受信可能なチャンネルとして制御される。なお、以下では、第1通信制御部によって制御される論理的なチャンネルを第1チャンネルと称するものとする。エンドポイント3(6013)とエンドポイント4(6014)も同様に、制御部604における後述する第2通信制御部により、論理的に1つの送受信可能なチャンネルとして制御される。以下では、第2通信制御部によって制御される論理的なチャンネルを第2チャンネルと称するものとする。
なお、各エンドポイントの制御には、一般的なUSBインターフェース制御が適用される。また、USBインターフェース部101は、USBインターフェース規格におけるホスト又はデバイスのいずれのタイプであっても、本発明にて説明する動作が可能に構成される。
つぎに、制御部604の構成について説明する。
制御部604は、図24に示すように、印刷機能制御部6041と、スキャナ機能制御部6042と、管理情報処理部6043と、USBインターフェース制御部6044と、優先度制御部6047とを備える。
印刷機能制御部6041は、印刷部602を制御して印刷データを印刷させる機能を有する。また、印刷機能制御部6041は、第1通信制御部6045又は第2通信制御部6046を介して、通信装置700との間で印刷データのデータ転送制御を行う機能を有する。すなわち、印刷機能制御部6041は、第1通信制御部6045又は第2通信制御部6046を介して通信装置700から転送された印刷データを、印刷部602に対して転送する機能を有する。さらに、印刷機能制御部6041は、優先度制御部6047の指示に基づいて、印刷データのデータ転送制御を、第1通信制御部6045から第2通信制御部6046へと切り替え、又は、その逆に第2通信制御部6046から第1通信制御部6045へと切り替える機能を有する。さらにまた、印刷機能制御部6041は、受信した印刷データやコマンドデータ内に格納されたユーザID等のジョブ識別情報(通信識別情報)を抽出して認識し、これをログ情報等として保存する機能を有する。
スキャナ機能制御部6042は、スキャナ部603を制御して原稿を走査させ、走査画像データを生成させる機能を有する。また、スキャナ機能制御部6042は、第1通信制御部6045又は第2通信制御部6046を介して、通信装置700との間で走査画像データのデータ転送制御を行う機能を有する。すなわち、スキャナ機能制御部6042は、スキャナ部603から転送された走査画像データを、通信装置700に対して転送する機能を有する。さらに、スキャナ機能制御部6042は、優先度制御部6047の指示に基づいて、走査画像データのデータ転送制御を、第1通信制御部6045から第2通信制御部6046へと切り替え、又は、その逆に第2通信制御部6046から第1通信制御部6045へと切り替える機能を有する。
管理情報処理部6043は、上位装置であるホストコンピュータ300,400を介して当該画像処理装置600を管理するための装置管理情報を処理する。具体的は、管理情報処理部6043は、当該画像処理装置600の全体のステータス情報を管理する機能を有する。また、管理情報処理部6043は、当該画像処理装置600の各種設定を変更する機能を有する。さらに、管理情報処理部6043は、第1通信制御部6045又は第2通信制御部6046のいずれかを介して、通信装置700との間で、ステータス情報及び各種設定情報を含む装置管理情報のデータ転送を制御する機能を有する。さらにまた、管理情報処理部6043は、優先度制御部6047の指示に基づいて、装置管理情報のデータ転送制御を、第1通信制御部6045から第2通信制御部6046へと切り替え、又は、その逆に第2通信制御部6046から第1通信制御部6045へと切り替える機能を有する。
USBインターフェース制御部6044は、USBインターフェース部601を制御して、上位装置、すなわち通信装置700との間におけるUSBバスを介したデータ転送を制御する。具体的には、USBインターフェース制御部6044は、第1通信制御部6045及び第2通信制御部6046を有する。
第1通信制御部6045は、エンドポイント1(6011)及びエンドポイント2(6012)を制御することにより、印刷機能制御部6041、スキャナ機能制御部6042、及び管理情報処理部6043に対して、通信装置700との双方向のデータ転送のための論理的な第1チャンネルを提供する。
第2通信制御部6046は、エンドポイント3(6013)及びエンドポイント4(6014)を制御することにより、印刷機能制御部6041、スキャナ機能制御部6042、及び管理情報処理部6043に対して、通信装置700との双方向のデータ転送のための論理的な第2チャンネルを提供する。また、第2通信制御部6046は、印刷機能制御部6041、スキャナ機能制御部6042、及び管理情報処理部6043から転送されたデータに対して、各機能に応じた識別情報を付加して通信装置700に対して送信する一方で、通信装置700から受信したデータに付加された識別情報を解析し、受信したデータを、印刷機能制御部6041、スキャナ機能制御部6042、及び管理情報処理部6043のうち対応する機能制御部に対して転送する機能を有する。
優先度制御部6047は、例えば図25に示すように、ホストコンピュータ300,400を介してデータを送信したユーザに応じた優先度を記述した優先度テーブルを図示しないメモリ等に記憶しており、印刷機能制御部6041、スキャナ機能制御部6042、及び管理情報処理部6043からの問い合わせに応じて、優先度テーブルを参照してデータ毎に優先度を判定する。なお、図25に示す優先度テーブルは、当該画像処理システムの管理者等によって予め設定されているものとし、その内容は、任意に変更可能に構成される。図25には、ユーザのランクを優先ユーザ、一般ユーザ、ゲストユーザの3つに分け、優先ユーザの優先度が最も高く、一般ユーザ、ゲストユーザの順序で優先度が低くなるように設定された様子を示している。また、当該画像処理システムを利用するユーザは、それぞれ、これら優先ユーザ、一般ユーザ、ゲストユーザのいずれのランクに属するかが予め決まっており、各ユーザのユーザIDとランクとが紐付けられているものとする。優先度制御部6047は、このような優先度テーブルに基づいて判定した優先度に応じて、第1通信制御部6045又は第2通信制御部6046のいずれを介して通信装置700との間でデータ転送を行うかを、印刷機能制御部6041、スキャナ機能制御部6042、及び管理情報処理部6043に指示する。
このような制御部604は、印刷機能制御部6041によって印刷部602を制御するとともに、スキャナ機能制御部6042によってスキャナ部603を制御し、さらに、USBインターフェース制御部6044によってUSBインターフェース部601を制御する。また、制御部604は、優先度制御部6047の指示に基づいて、各機能制御部、すなわち、印刷機能制御部6041、スキャナ機能制御部6042、管理情報処理部6043、及びUSBインターフェース制御部6044のそれぞれによる制御内容を決定する。
[通信装置の構成]
つぎに、通信装置700の構成について説明する。
通信装置700は、図26に示すように、USBバスを介してデータ通信を行うUSBインターフェース部701と、ネットワークNTを介してデータ通信を行うネットワークインターフェース部702と、当該通信装置700を統括的に制御する制御部703とを備える。
USBインターフェース部701は、制御部703を構成する後述するUSBインターフェース制御部の制御のもとに、画像処理装置600との間でデータの送受信を行う。なお、USBインターフェース部701の構成については、後に詳述するものとする。
ネットワークインターフェース部702は、制御部703を構成する後述するネットワーク制御部の制御のもとに、ネットワークNTを介して複数のホストコンピュータ300,400との間で複数のネットワークプロトコルに基づく通信を並行に行う。
制御部703は、例えばCPU等のプロセッサから構成され、当該通信装置700の全体を制御する。なお、制御部703の構成については、後に詳述するものとする。
かかる各部を備える通信装置700は、制御部703の制御のもとに、USBインターフェース部701を介して、ホストコンピュータ300,400から送信された印刷データを受信して画像処理装置600に対して転送したり、画像処理装置600から送信された走査画像データをホストコンピュータ300,400に対して転送したりする。
つぎに、このような通信装置700におけるUSBインターフェース部701及び制御部703の構成について説明する。
まず、USBインターフェース部701の構成について説明する。
USBインターフェース部701は、図27に示すように、画像処理装置600におけるUSBインターフェース部601に対応して、5つのエンドポイント0(7010)、エンドポイント1(7011)、エンドポイント2(7012)、エンドポイント3(7013)、エンドポイント4(7014)を備える。
エンドポイント0(7010)は、USBインターフェース部601におけるエンドポイント0(6010)に対応してコントロールチャンネルに割り当てられる。
エンドポイント1(7011)とエンドポイント2(7012)は、それぞれ、USBインターフェース部701におけるエンドポイント1(7011)とエンドポイント2(7012)に対応してデータの送信と受信を行うために割り当てられ、制御部703における後述する第1通信制御部により、論理的に1つの送受信可能なチャンネルとして制御される。なお、以下では、第1通信制御部によって制御される論理的なチャンネルを第1チャンネルと称するものとする。エンドポイント3(7013)とエンドポイント4(7014)も同様に、制御部703における後述する第2通信制御部により、論理的に1つの送受信可能なチャンネルとして制御される。以下では、第2通信制御部によって制御される論理的なチャンネルを第2チャンネルと称するものとする。
なお、各エンドポイントの制御には、一般的なUSBインターフェース制御が適用される。また、以下では、画像処理装置600におけるUSBインターフェース部601がデバイスとして動作し、通信装置700におけるUSBインターフェース部701がホストとして動作するものとして説明するが、通信装置700におけるUSBインターフェース部701がデバイスとして動作し、画像処理装置600におけるUSBインターフェース部601がホストとして動作する場合であっても、本発明にて説明する機能を実現可能であることはいうまでもない。
つぎに、制御部703の構成について説明する。
制御部703は、図28に示すように、印刷機能制御部7031と、スキャナ機能制御部7032と、管理情報通信部7033と、USBインターフェース制御部7034と、ネットワーク制御部7037を備える。
印刷機能制御部7031は、ネットワーク制御部7037を介して、ネットワークNT上のホストコンピュータ300,400との間で印刷データの転送を行う機能を有する。また、印刷機能制御部7031は、第1通信制御部7035又は第2通信制御部7036を介して、画像処理装置600との間で印刷データのデータ転送制御を行う機能を有する。すなわち、印刷機能制御部7031は、ネットワーク制御部7037を介してホストコンピュータ300,400から転送された印刷データを、第1通信制御部7035又は第2通信制御部7036を介して画像処理装置600に対して転送する機能を有する。さらに、印刷機能制御部7031は、画像処理装置600の指示に基づいて、印刷データのデータ転送制御を、第1通信制御部7035から第2通信制御部7036へと切り替え、又は、その逆に第2通信制御部7036から第1通信制御部7035へと切り替える機能を有する。
スキャナ機能制御部7032は、ネットワーク制御部7037を介して、ネットワークNT上のホストコンピュータ300,400との間で走査画像データの転送を行う機能を有する。また、スキャナ機能制御部7032は、第1通信制御部7035又は第2通信制御部7036を介して、画像処理装置600との間で走査画像データのデータ転送制御を行う機能を有する。すなわち、スキャナ機能制御部7032は、第1通信制御部7035又は第2通信制御部7036を介して画像処理装置600から転送された走査画像データを、ネットワーク制御部7037を介してホストコンピュータ300,400に対して転送する機能を有する。さらに、スキャナ機能制御部7032は、画像処理装置600の指示に基づいて、走査画像データのデータ転送制御を、第1通信制御部7035から第2通信制御部7036へと切り替え、又は、その逆に第2通信制御部7036から第1通信制御部7035へと切り替える機能を有する。
管理情報通信部7033は、ネットワーク制御部7037を介して、上位装置、すなわちホストコンピュータ300,400との間で、装置管理情報の転送を行う機能を有する。また、管理情報通信部7033は、第1通信制御部7035又は第2通信制御部7036のいずれかを介して、画像処理装置600との間で、装置管理情報のデータ転送を制御する機能を有する。さらに、管理情報通信部7033は、画像処理装置600の指示に基づいて、装置管理情報のデータ転送制御を、第1通信制御部7035から第2通信制御部7036へと切り替え、又は、その逆に第2通信制御部7036から第1通信制御部7035へと切り替える機能を有する。
USBインターフェース制御部7034は、USBインターフェース部701を制御して、画像処理装置600との間におけるUSBバスを介したデータ転送を制御する。具体的には、USBインターフェース制御部7034は、第1通信制御部7035及び第2通信制御部7036を有する。
第1通信制御部7035は、エンドポイント1(7011)及びエンドポイント2(7012)を制御することにより、印刷機能制御部7031、スキャナ機能制御部7032、及び管理情報通信部7033に対して、画像処理装置600との双方向のデータ転送のための論理的な第1チャンネルを提供する。
第2通信制御部7036は、エンドポイント3(7013)及びエンドポイント4(7014)を制御することにより、印刷機能制御部7031、スキャナ機能制御部7032、及び管理情報通信部7033に対して、画像処理装置600との双方向のデータ転送のための論理的な第2チャンネルを提供する。また、第2通信制御部7036は、印刷機能制御部7031、スキャナ機能制御部7032、及び管理情報通信部7033から転送されたデータに対して、各機能に応じた識別情報を付加して画像処理装置600に対して送信する一方で、画像処理装置600から受信したデータに付加された識別情報を解析し、受信したデータを、印刷機能制御部7031、スキャナ機能制御部7032、及び管理情報通信部7033のうち対応する機能制御部に対して転送する機能を有する。
ネットワーク制御部7037は、ネットワークインターフェース部702を制御して、ホストコンピュータ300,400との間におけるネットワークNTを介したデータ転送を制御する。
このような制御部703は、画像処理装置600の指示に基づいて、印刷機能制御部7031、スキャナ機能制御部7032、管理情報通信部7033、及びUSBインターフェース制御部7034のそれぞれによる制御内容を決定する。
なお、画像処理装置600における第2通信制御部6046及び通信装置700における第2通信制御部7036は、先に図10に示したように、機能を識別するための機能識別子、データ種別、及びデータ長を含む識別情報を、各機能制御部の転送データ(機能制御部データ)に対して付加してパケット化することから、第1チャンネルを用いた通信は、第2チャンネルを用いた通信よりも高速に行うことができる。
[画像処理システムの動作]
以下、画像処理システムにおける動作について説明する。
画像処理システムにおいては、基本的に、最初にデータを受信した場合には、第2チャンネルを使用してデータの送受信を行い、当該データにジョブ識別情報が格納されていた場合に、そのジョブ識別情報に応じた優先度を判定し、その判定結果に応じて第1チャンネルへと切り替える。すなわち、画像処理システムにおいては、データ転送の優先度が、ホストコンピュータから送信されたデータによって定まる。
このような処理を行う画像処理システムにおいて、画像処理装置600及び通信装置700の各部のうち、各機能制御部以外の各部は、第1の実施の形態と同様の処理を行う。すなわち、通信装置700におけるネットワーク制御部7037は、図12に示した一連の処理を行い、第1通信制御部7035は、図14に示した一連の処理を行い、第2通信制御部7036は、図15に示した一連の処理を行う。また、画像処理装置600における第1通信制御部6045は、図16に示した一連の処理を行い、第2通信制御部6046は、図17に示した一連の処理を行い、優先度制御部6047は、図19に示した一連の処理を行う。そして、通信装置700における各機能制御部は、図13に示した一連の処理に代えて、図29に示す一連の処理を行い、画像処理装置600における各機能制御部は、図18に示した一連の処理に代えて、図30に示す一連の処理を行う。
ここでは、これら図12、図14乃至図17、図19、図29及び図30を用いて、画像処理装置600において第1通信制御部6045を使用した場合における画像処理装置600及び通信装置700による通信動作と、画像処理装置600において第2通信制御部6046を使用した場合における画像処理装置600及び通信装置700による通信動作とについてそれぞれ説明し、その後、第1通信制御部6045と第2通信制御部6046との使用を切り替える通信動作について説明する。
[第1通信制御部を使用した場合における通信動作]
まず、画像処理装置600において第1通信制御部6045を使用した場合における通信動作として、ホストコンピュータ300と画像処理装置600との間で、通信装置700を介して走査画像データの転送を行う場合を例に挙げて説明する。
通信装置700におけるネットワーク制御部7037は、図12に示すように、ステップS101において、ホストコンピュータ300から通信装置700に対するネットワーク接続の要求があったか否かを判定する。ここで、ネットワーク制御部7037は、既にネットワークコネクションが形成されている場合等、ネットワーク接続の要求がない場合には、ステップS104へと処理を移行する一方で、ネットワーク接続の要求があった場合には、ステップS102において、その要求に応じて、ネットワークインターフェース部702を制御してホストコンピュータ300との間にネットワークコネクションを形成させる。
そして、ネットワーク制御部7037は、ステップS103において、確立したネットワークコネクションをスキャナ機能制御部7032と関連付ける。以後、ネットワーク制御部7037は、ここで確立したネットワークコネクションを介して受信したデータをスキャナ機能制御部7032に対して転送する一方で、スキャナ機能制御部7032から転送されたデータを、当該ネットワークコネクションを介してホストコンピュータ300に対して送信する、といった動作を行う。この関連付けは、ネットワーク接続のポート番号によって判断される。
ここで、ネットワークNTを介して走査画像データの転送を行うためのネットワークプロトコルとしては、一般的な各種方式を適用することができる。ここでは、説明の便宜上、双方向通信を行う基本的なネットワークプロトコルであるRAWプロトコルを適用するものとし、ポート番号として例えば"9001"が使用されるものとする。
ネットワーク接続が形成されると、ホストコンピュータ300は、画像処理装置600におけるスキャナ機能制御部6042に対して与えるべきスキャナ制御コマンドデータを通信装置700に対して送信する。このとき、スキャナ制御コマンドデータには、必要に応じて、ユーザID等のジョブ識別情報が格納される。これに応じて、ネットワーク制御部7037は、ステップS104において、ネットワークインターフェース部702を制御し、ホストコンピュータ300から送信されてきたスキャナ制御コマンドデータを受信したか否かを判定し、受信していない場合には、ステップS106へと処理を移行する一方で、受信した場合には、ステップS105へと処理を移行する。なお、走査画像データの送受信に使用されるコマンドとしては、一般的な各種方式を適用することができる。一般に、これらのコマンド体系においては、画像処理装置600におけるスキャナ部603によって走査された画像データの転送の他に、例えば、スキャナ部603にセットされている原稿の状態といったステータス情報の送受信や、走査解像度や濃度の設定情報の取得及び変更を行うために、双方向の通信が行われる。ただし、本発明は、ネットワークNTを介したスキャナ制御方式を対象とするものではないことから、具体的なコマンドフォーマットや、ホストコンピュータ300とスキャナ機能制御部6042との間で授受されるコマンドシーケンスについての説明は行わないものとする。
ネットワーク制御部7037は、ネットワークインターフェース部702を介してホストコンピュータ300からスキャナ制御コマンドデータを受信すると、ステップS105において、受信したスキャナ制御コマンドデータを、スキャナ機能制御部7032に対して送信し、ステップS106へと処理を移行する。
一方、スキャナ機能制御部7032は、図29に示すように、ステップS901において、待機状態ではネットワーク制御部7037からのデータ転送があるまで待機している。そして、スキャナ機能制御部7032は、ステップS902において、図12中ステップS103におけるネットワークコネクションとの関連付けが行われてから最初にコマンドを受信したか否かを判定し、最初のコマンドでない場合には、ステップS904へと処理を移行する。一方、スキャナ機能制御部7032は、最初のコマンドである場合には、ステップS903へと処理を移行し、第2チャンネル、すなわち、第2通信制御部7035を使用して行うことを決定する。そして、スキャナ機能制御部7032は、ステップS904において、使用するチャンネルを判定し、第1チャンネルを使用する場合には、ステップS905へと処理を移行する一方で、第2チャンネルを使用する場合には、ステップS906へと処理を移行する。ここでは、ステップS903にて第2チャンネルを使用するものと決定されていることから、スキャナ機能制御部7032は、ステップS906へと処理を移行し、ステップS901にて受信していたスキャナ制御コマンドデータを第2通信制御部7036に対して転送する。これに応じて、第2通信制御部7036は、先に図15に示した一連の処理を行うことになる。
すなわち、第2通信制御部7036は、図15中ステップS401において、スキャナ機能制御部7032からスキャナ制御コマンドデータを受信すると、ステップS402において、受信したスキャナ制御コマンドデータに対して識別情報を付加する。この場合、送信元がスキャナ機能制御部7032であることから、第2通信制御部7036は、先に図10に示した機能識別子として"スキャナ機能"識別子を含む識別情報を付加する。
そして、第2通信制御部7036は、ステップS403において、スキャナ制御コマンドデータに対して識別情報が付加されたデータを、USBインターフェース部701を介して画像処理装置600に対して送信する。これに応じて、画像処理装置600における第2通信制御部6046は、先に図17に示した一連の処理を行うことになる。このとき、USBインターフェース部701と画像処理装置600におけるUSBインターフェース601との間では、上述したように、バルク転送のためのUSB通信制御が行われる。ただし、本発明においては、USBバスの制御についてはUSB規格にしたがった標準手順が実行されるため、ここでは、USBバスの制御及びUSBパケットの制御についての詳細な説明は行わないものとする。
第2通信制御部7036から送信されたデータは、図17中ステップS604において、画像処理装置600における第2通信制御部6046によって受信される。そして、第2通信制御部6046は、ステップS605において、受信したデータに付加された識別情報を判別する。ここでは、識別情報に"スキャナ機能"識別子が含まれていることから、第2通信制御部6046は、ステップS606において、そのデータをスキャナ機能制御部6042に対して転送する。
これに応じて、スキャナ機能制御部6042は、図30に示すように、ステップS1001において、第2通信制御部6046から転送されたデータを受信すると、ステップS1002において、受信したスキャナ制御コマンドデータを解析する。ここでは、受信したデータがスキャナ制御コマンドデータであって通信終了通知ではないことから、スキャナ機能制御部6042は、ステップS1003において、解析結果にしたがってスキャナ部603を制御し、スキャナ制御コマンドデータに対する応答データの生成や、走査画像データの転送を実行する。
このとき、スキャナ機能制御部6042は、ステップS1004において、スキャナ制御コマンドデータを解析した結果、ユーザID等のジョブ識別情報が含まれているか否かを判定する。ここで、スキャナ機能制御部6042は、ジョブ識別情報が含まれていなかった場合には、ステップS1008の処理へと移行する一方で、ジョブ識別情報が含まれていた場合には、ステップS1005において、優先度制御部6047に対してジョブ識別情報を送信して優先度の問い合わせを実行する。
スキャナ機能制御部6042から問い合わせを受けた優先度制御部6047は、図19に示すように、ステップS801において、第1通信制御部6035又は第2通信制御部6036のいずれかを使用するかを判定する。この判定は、以下のように実行される。
まず、優先度制御部6047は、ステップS802において、先に図25に示した優先度テーブルを参照し、第1通信制御部6045を現在使用中である機能制御部の優先度を取得して判定する。ここでは、第1通信制御部6045がどの機能制御部にも使用されていない状態であるものとする。また、優先度制御部6047は、ステップS803において、優先度テーブルを参照し、優先度判定要求の問い合わせ元であるスキャナ機能制御部6042から送信されたジョブ識別情報によって表されるユーザIDに対応する優先度を取得して判定する。
続いて、優先度制御部6047は、ステップS804において、優先度判定要求の問い合わせ元であるスキャナ機能制御部6042から送信されたジョブ識別情報に対応する優先度の方が、ステップS802にて判定した優先度よりも高いか否かを判定する。ここで、優先度制御部6047は、スキャナ機能制御部6042から送信されたジョブ識別情報に対応する優先度の方が高くないと判定した場合には、ステップS805へと処理を移行し、当該スキャナ機能制御部6042に第2通信制御部6046を使用させる旨を通知する一方で、スキャナ機能制御部6042から送信されたジョブ識別情報に対応する優先度の方が高いと判定した場合には、ステップS806へと処理を移行し、現在第1通信制御部6045を使用中である機能制御部に第2通信制御部6046を使用させる旨を通知してステップS807へと処理を移行する。また、優先度制御部6047は、第1通信制御部6045がいずれの機能制御部によっても使用されていない場合には、ステップS807へと処理を移行する。ここでは、現在、第1通信制御部6045がいずれの機能制御部によっても使用されていないことから、優先度制御部6047は、スキャナ機能制御部6042に第1通信制御部6045を使用させてもよいと判定し、ステップS807において、優先度判定要求の問い合わせに対する回答として、スキャナ機能制御部6042に第1通信制御部6045を使用させる旨を通知する。
そして、優先度制御部6047は、ステップS808において、第1通信制御部6045をスキャナ機能制御部6042と関連付ける。
これに応じて、スキャナ機能制御部6042は、図30中ステップS1006において、優先度制御部6047の回答を受信すると、ステップS1007において、優先度判定要求の問い合わせに対する回答として、"第1チャンネル使用"メッセージを第2通信制御部6046に対して送信する。
第2通信制御部6046は、図17中ステップS601において、スキャナ機能制御部6042から"第1チャンネル使用"メッセージを受信すると、ステップS602において、受信した"第1チャンネル使用"メッセージに対して識別情報を付加する。この場合、送信元がスキャナ機能制御部6042であることから、第2通信制御部6046は、先に図10に示した機能識別子として"スキャナ機能"識別子を含む識別情報を付加する。
そして、第2通信制御部6046は、ステップS603において、"第1チャンネル使用"メッセージに対して識別情報が付加されたデータを、USBインターフェース部601を介して通信装置700に対して送信する。
第2通信制御部6046から送信されたデータは、図15中ステップS404において、通信装置700における第2通信制御部7036によって受信される。そして、第2通信制御部7036は、ステップS405において、受信したデータに付加された識別情報を判別する。ここでは、識別情報に"スキャナ機能"識別子が含まれていることから、第2通信制御部7036は、ステップS406において、そのデータをスキャナ機能制御部7032に対して転送する。
スキャナ機能制御部7032は、図29に示すように、ステップS907において、第2通信制御部7036からデータを受信すると、ステップS908において、受信したデータを解析する。ここでは、受信したデータが"第1チャンネル使用"メッセージであることから、スキャナ機能制御部7032は、以降の通信を、第1通信制御部7035を使用して行うことを決定し、ステップS910において、第1通信制御部7035に対して関連付けされた旨を通知して第1チャンネルに切り替え、ステップS911へと処理を移行する。これ以降、スキャナ機能制御部6042とスキャナ機能制御部7042との通信は、第1チャンネルを使用して実行されることになる。
また、画像処理装置600におけるスキャナ機能制御部6042は、ステップS1008において、ステップS1003にて応答データを生成したか否かを判定し、応答データを生成した場合には、ステップS1009において、第1通信制御部6045と第2通信制御部6046とのいずれを使用して応答データを送信するかを判定する。この場合、スキャナ機能制御部6042は、ステップS1011において、ステップS1001にて受信したスキャナ制御コマンドデータに対する応答として、第1通信制御部6045に対して応答データを送信する。
第1通信制御部6045は、図16に示すように、ステップS501において、スキャナ機能制御部6042から応答データを受信すると、ステップS502において、その応答データに対して識別情報の付加等を行うことなくそのままUSBインターフェース部601を介して通信装置700に対して送信する。なお、第1通信制御部6045は、図19中ステップS808にてスキャナ機能制御部6042との関連付けがなされているため、これ以降、ステップS503において、通信装置700からデータを受信した場合には、ステップS504において、そのデータをそのままスキャナ機能制御部6042に対して転送し、ステップS505において、画像処理装置600の全ての機能制御部が待機状態となった場合には、待機状態に戻るような処理を行うことになる。
また、通信装置700における第1通信制御部7035は、図29中ステップS904にてスキャナ機能制御部7032との関連付けがなされているため、図14に示すように、ステップS303において、画像処理装置600から応答データを受信すると、ステップS304において、その応答データをそのままスキャナ機能制御部7032に対して転送し、ステップS305において、通信装置700の全ての機能制御部が待機状態となった場合には、待機状態に戻る。
これに応じて、スキャナ機能制御部7032は、図29に示すように、ステップS907において、第1通信制御部7035から転送された応答データを受信すると、ステップS908において、受信した応答データを解析する。ここでは、受信したデータがチャンネルの切り替えを指示するメッセージではないことから、スキャナ機能制御部7032は、ステップS909において、受信したデータをネットワーク制御部7037に対して転送する。
ネットワーク制御部7037は、図12に示すように、ステップS103にてホストコンピュータ300とのネットワークコネクションに関連付けがなされているため、ステップS106において、スキャナ機能制御部7032からデータを受信すると、ステップS107において、そのデータをネットワークコネクションを介してホストコンピュータ300に対して転送する。
これ以降、ネットワーク制御部7037は、ステップS104からステップS108の処理を繰り返し、スキャナ機能制御部7032は、図29中ステップS901→ステップS902→ステップS904→ステップS905→ステップS907→ステップS908→ステップS909→ステップS911の処理を繰り返し、第1通信制御部7035は、図14中ステップS301からステップS305の処理を繰り返す。また、第1通信制御部6045は、図16中ステップS501からステップS505の処理を繰り返し、スキャナ機能制御部6042は、図30中ステップS1001→ステップS1002→ステップS1003→ステップS1004→ステップS1008→ステップS1009→ステップS1011→ステップS1012→ステップS1001の処理を繰り返す。これらの各機能制御部の連携により、ホストコンピュータ300とスキャナ機能制御部6042との間では、スキャナ制御コマンドデータの通信と走査画像データの転送とが行われる。以下では、このような通信状態を"第1チャンネルによる走査画像データ転送状態"と称するものとする。
ホストコンピュータ300は、必要な通信が終了すると、図12中ステップS108において、通信装置700とのネットワークコネクションを切断する。ネットワーク制御部7037は、ネットワークコネクションが切断されると、ステップS109において、このネットワークコネクションに関連付けられているスキャナ機能制御部7032に対して通信終了通知を行い、ステップS110において、スキャナ機能制御部7032との関連付けを解除し、待機状態に戻る。
スキャナ機能制御部7032は、図29中ステップS911において、通信の終了をネットワーク制御部7037から通知されると、ステップS912において、"チャンネル使用終了通知"メッセージを第2通信制御部7036に対して送信し、その後、待機状態に戻る。
これに応じて、第2通信制御部7036は、図15中ステップS401において、スキャナ機能制御部7032から"チャンネル使用終了通知"メッセージを受信すると、ステップS402において、受信した"チャンネル使用終了通知"メッセージに対して識別情報を付加する。この場合、送信元がスキャナ機能制御部7032であることから、第2通信制御部7036は、先に図10に示した機能識別子として"スキャナ機能"識別子を含む識別情報を付加する。
続いて、第2通信制御部7036は、ステップS403において、"チャンネル使用終了通知"メッセージに対して識別情報が付加されたデータを、USBインターフェース部701を介して画像処理装置600に対して送信する。そして、第2通信制御部7036は、ステップS404において、画像処理装置600からの受信データがなく、ステップS407において、通信装置700の全ての機能制御部が待機状態となった場合には、待機状態に戻る。
第2通信制御部7036から送信されたデータは、図17中ステップS604において、画像処理装置600における第2通信制御部6046によって受信される。そして、第2通信制御部6046は、ステップS605において、受信したデータに付加された識別情報を判別する。ここでは、識別情報に"スキャナ機能"識別子が含まれていることから、第2通信制御部6046は、ステップS606において、そのデータをスキャナ機能制御部6042に対して転送し、ステップS607において、画像処理装置600の全ての機能制御部が待機状態となった場合には、待機状態に戻る。
これに応じて、スキャナ機能制御部6042は、図30に示すように、ステップS1001において、第2通信制御部6046からデータを受信すると、ステップS1002において、受信したデータを解析する。ここでは、受信したデータが"チャンネル使用終了通知"メッセージであることから、スキャナ機能制御部6042は、ステップS1014において、優先度制御部6047にチャンネル使用の終了を通知する。そして、優先度制御部6047は、図19中ステップS809からの処理を行うことになる。
画像処理システムにおいては、このような一連の処理を行うことにより、第1通信制御部6045を使用して、すなわち第1チャンネルを使用して、ホストコンピュータ300と画像処理装置600との間で、通信装置700を介したデータの転送を行うことができる。
[第2通信制御部を使用した場合における通信動作]
つぎに、画像処理装置600において第2通信制御部6046を使用した場合における通信動作として、上述した第1通信制御部6045を使用したホストコンピュータ300と画像処理装置600との間で行われる走査画像データの転送と並行して、ホストコンピュータ400と画像処理装置600との間で、通信装置700を介して印刷データの転送を行う場合を例に挙げて説明する。なお、ここでは、第1通信制御部6045を使用したホストコンピュータ300と画像処理装置600との間で行われる走査画像データの転送が、優先度が"3"である一般ユーザによってなされている場合について説明する。また、この説明においても、図12、図14乃至図17、図19、図29及び図30を用いるものとする。
この動作は、上述した"第1チャンネルによる走査画像データ転送状態"の最中に、ホストコンピュータ400から通信装置700に対してネットワーク接続を要求することによって開始される。
すなわち、通信装置700におけるネットワーク制御部7037は、図12に示すように、ステップS101において、ホストコンピュータ400から通信装置700に対するネットワーク接続の要求があったか否かを判定する。ここで、ネットワーク制御部7037は、ネットワーク接続の要求があったのに応じて、ステップS102において、ネットワークインターフェース部702を制御してホストコンピュータ400との間にネットワークコネクションを形成させる。
そして、ネットワーク制御部7037は、ステップS103において、確立したネットワークコネクションを印刷機能制御部7031と関連付ける。以後、ネットワーク制御部7037は、ここで確立したネットワークコネクションを介して受信したデータを印刷機能制御部7031に対して転送する一方で、印刷機能制御部7031から転送されたデータを、当該ネットワークコネクションを介してホストコンピュータ400に対して送信する、といった動作を行う。この関連付けは、ネットワーク接続のポート番号によって判断される。
ここで、ネットワークNTを介して印刷データの転送を行うためのネットワークプロトコルとしては、一般的な各種方式を適用することができる。ここでは、説明の便宜上、走査画像データと同様にRAWプロトコルを適用するものとし、ポート番号として例えば"9004"が使用されるものとする。
ネットワーク接続が形成されると、ホストコンピュータ400は、画像処理装置600における印刷機能制御部6041に対して与えるべき印刷データを通信装置700に対して送信する。これに応じて、ネットワーク制御部7037は、ステップS104において、ネットワークインターフェース部702を制御し、ホストコンピュータ400から送信されてきた印刷データを受信したか否かを判定し、受信していない場合には、ステップS106へと処理を移行する一方で、受信した場合には、ステップS105へと処理を移行する。なお、印刷データの送受信に使用されるコマンドとしては、一般的な各種方式を適用することができる。一般に、これらのコマンド体系においては、例えば、印刷データの転送、印刷部602のステータス情報の送受信、印刷用紙等の記録媒体の状態情報や印刷解像度等の設定情報の取得、変更及び設定を行うために、双方向の通信が行われ、さらに、ユーザID等のジョブ識別情報が画像処理装置600に対して通知される。ただし、本発明は、ネットワークNTを介した印刷制御方式を対象とするものではないため、具体的なコマンドフォーマット、ホストコンピュータ400と印刷機能制御部6041との間で授受されるコマンドシーケンスについての説明は行わないものとする。また、印刷機能制御部6041は、上述したように、コマンド内に格納されているジョブ識別情報を抽出して認識し、ログ情報等として保存する機能を有するが、ジョブ識別情報の利用方式については本発明とは直接関係しないため、ここでは具体的な説明は省略するものとする。
ネットワーク制御部7037は、ネットワークインターフェース部702を介してホストコンピュータ400から印刷データを受信すると、ステップS105において、受信した印刷データを、印刷機能制御部7031に対して送信し、ステップS106へと処理を移行する。
一方、印刷機能制御部7031は、図29に示すように、ステップS901において、待機状態ではネットワーク制御部7037からのデータ転送があるまで待機している。そして、印刷機能制御部7031は、ステップS902において、図12中ステップS103におけるネットワークコネクションとの関連付けが行われてから最初にコマンドを受信したか否かを判定し、最初のコマンドでない場合には、ステップS904へと処理を移行する。一方、印刷機能制御部7031は、最初のコマンドである場合には、ステップS203へと処理を移行し、第2チャンネル、すなわち、第2通信制御部7035を使用して行うことを決定する。そして、印刷機能制御部7031は、ステップS904において、使用するチャンネルを判定し、第1チャンネルを使用する場合には、ステップS905へと処理を移行する一方で、第2チャンネルを使用する場合には、ステップS906へと処理を移行する。ここでは、ステップS903にて第2チャンネルを使用するものと決定されていることから、印刷機能制御部7031は、ステップS906へと処理を移行し、ステップS901にて受信していた印刷データを第2通信制御部7036に対して転送する。これに応じて、第2通信制御部7036は、先に図15に示した一連の処理を行うことになる。
すなわち、第2通信制御部7036は、図15中ステップS401において、印刷機能制御部7031から印刷データを受信すると、ステップS402において、受信した印刷データに対して識別情報を付加する。この場合、送信元が印刷機能制御部7031であることから、第2通信制御部7036は、先に図10に示した機能識別子として"印刷機能"識別子を含む識別情報を付加する。
そして、第2通信制御部7036は、ステップS403において、印刷データに対して識別情報が付加されたデータを、USBインターフェース部701を介して画像処理装置600に対して送信する。これに応じて、画像処理装置600における第2通信制御部6046は、図17に示す一連の処理を行うことになる。このとき、USBインターフェース部701と画像処理装置600におけるUSBインターフェース601との間では、上述したように、バルク転送のためのUSB通信制御が行われる。ただし、本発明においては、USBバスの制御についてはUSB規格にしたがった標準手順が実行されるため、ここでは、USBバスの制御及びUSBパケットの制御についての詳細な説明は行わないものとする。
第2通信制御部7036から送信されたデータは、図17中ステップS604において、画像処理装置600における第2通信制御部6046によって受信される。そして、第2通信制御部6046は、ステップS605において、受信したデータに付加された識別情報を判別する。ここでは、識別情報に"印刷機能"識別子が含まれていることから、第2通信制御部6046は、ステップS606において、そのデータを印刷機能制御部6041に対して転送する。
これに応じて、印刷機能制御部6041は、図30に示すように、ステップS1001において、第2通信制御部6046からデータを受信すると、ステップS1002において、受信したデータを解析する。ここでは、受信したデータが印刷データであって通信終了通知ではないことから、印刷機能制御部6041は、ステップS1003において、解析結果にしたがって印刷部602を制御し、印刷データに対する応答データの生成や印刷処理を実行する。
このとき、印刷機能制御部6041は、ステップS1004において、印刷データを解析した結果、ユーザID等のジョブ識別情報が含まれているか否かを判定する。ここで、印刷機能制御部6041は、ジョブ識別情報が含まれていなかった場合には、ステップS1008の処理へと移行する一方で、ジョブ識別情報が含まれていた場合には、ステップS1005において、優先度制御部6047に対してジョブ識別情報を送信して優先度の問い合わせを実行する。
印刷機能制御部6041から問い合わせを受けた優先度制御部6047は、図19に示すように、ステップS801において、第1通信制御部6035又は第2通信制御部6036のいずれかを使用するかを判定する。この判定は、以下のように実行される。
まず、優先度制御部6047は、ステップS802において、先に図25に示した優先度テーブルを参照し、第1通信制御部6045を現在使用中である機能制御部の優先度を取得して判定する。ここでは、第1通信制御部6045が、優先度が"3"のデータを取り扱っているスキャナ機能制御部6042に使用されている状態である。したがって、優先度制御部6047は、印刷機能制御部6041が保存しているログ情報に基づいて、スキャナ機能制御部6042の優先度を"3"と判定する。また、優先度制御部6047は、ステップS803において、先に図25に示した優先度テーブルを参照し、優先度判定要求の問い合わせ元である印刷機能制御部6041から送信されたジョブ識別情報によって表されるユーザIDに対応する優先度を取得して判定する。ここでは、優先度制御部6047は、印刷データがゲストユーザによって送信されたものとし、図25に示した優先度テーブルに基づいて、印刷機能制御部6041の優先度を"5"と判定する。
続いて、優先度制御部6047は、ステップS804において、優先度判定要求の問い合わせ元である印刷機能制御部6041から送信されたジョブ識別情報に対応する優先度の方が、ステップS802にて判定した優先度よりも高いか否かを判定する。ここでは、優先度制御部6047は、スキャナ機能制御部6042の優先度の方が印刷機能制御部6041の優先度よりも高いことから、印刷機能制御部6041に第2通信制御部6046を使用させるとともに、引き続きスキャナ機能制御部6042に第1通信制御部6045を使用させると判定する。そして、優先度制御部6047は、ステップS805において、優先度判定要求の問い合わせに対する回答として、印刷機能制御部6041に第2通信制御部6046を使用させる旨を通知し、ステップS809へと処理を移行する。
なお、第2通信制御部6046は、複数の機能制御部が並行して使用することから、第1通信制御部6045のように優先度制御部6047による関連付けは行われない。
印刷機能制御部6041は、図30中ステップS1006において、優先度制御部6047の回答を受信すると、ステップS1007において、優先度判定要求の問い合わせに対する回答として、"第2チャンネル使用"メッセージを第2通信制御部6046に対して送信する。
第2通信制御部6046は、図17中ステップS601において、印刷機能制御部6041から"第2チャンネル使用"メッセージを受信すると、ステップS602において、受信した"第2チャンネル使用"メッセージに対して識別情報を付加する。この場合、送信元が印刷機能制御部6041であることから、第2通信制御部6046は、先に図10に示した機能識別子として"印刷機能"識別子を含む識別情報を付加する。
そして、第2通信制御部6046は、ステップS603において、"第2チャンネル使用"メッセージに対して識別情報が付加されたデータを、USBインターフェース部601を介して通信装置700に対して送信する。
第2通信制御部6046から送信されたデータは、図15中ステップS404において、通信装置700における第2通信制御部7036によって受信される。そして、第2通信制御部7036は、ステップS405において、受信したデータに付加された識別情報を判別する。ここでは、識別情報に"印刷機能"識別子が含まれていることから、第2通信制御部7036は、ステップS406において、そのデータを印刷機能制御部7031に対して転送する。
印刷機能制御部7031は、図29に示すように、ステップS907において、第2通信制御部7036からデータを受信すると、ステップS908において、受信したデータを解析する。ここでは、受信したデータが"第2チャンネル使用"メッセージであることから、印刷機能制御部7031は、以降の通信を、第2通信制御部7036を使用して行うことを決定し、ステップS910において、その旨を通知して第2チャンネルに切り替え、ステップS911へと処理を移行する。これ以降、印刷機能制御部6041と印刷機能制御部7041との通信は、第2チャンネルを使用して実行されることになる。
また、画像処理装置600における印刷機能制御部6041は、ステップS1008において、ステップS1003にて応答データを生成したか否かを判定し、応答データを生成した場合には、ステップS1009において、第1通信制御部6045と第2通信制御部6046とのいずれを使用して応答データを送信するかを判定する。この場合、印刷機能制御部6041は、ステップS1011において、ステップS1001にて受信した印刷データに対する応答として、データの受信時と同様に第2通信制御部6046に対して応答データを送信する。
第2通信制御部6046は、図17に示すように、ステップS601において、印刷機能制御部6041から応答データを受信すると、ステップS602において、受信した応答データに対して識別情報を付加する。この場合、送信元が印刷機能制御部6041であることから、第2通信制御部6046は、先に図10に示した機能識別子として"印刷機能"識別子を含む識別情報を付加する。そして、第2通信制御部6046は、ステップS603において、応答データに対して識別情報が付加されたデータを、USBインターフェース部601を介して通信装置700に対して送信する。
通信装置700における第2通信制御部7036は、図15に示すように、ステップS404において、画像処理装置600から応答データを受信すると、ステップS405において、受信した応答データに付加された識別情報を判別する。ここでは、識別情報に"印刷機能"識別子が含まれていることから、第2通信制御部7036は、ステップS406において、その応答データを印刷機能制御部7031に対して転送する。
これに応じて、印刷機能制御部7031は、図29に示すように、ステップS907において、第2通信制御部7036から応答データを受信すると、ステップS908において、受信した応答データを解析する。ここでは、受信したデータがチャンネルの切り替えを指示するメッセージではないことから、印刷機能制御部7031は、ステップS909において、受信したデータをネットワーク制御部7037に対して転送する。
ネットワーク制御部7037は、図12に示すように、ステップS103にてホストコンピュータ400とのネットワークコネクションに関連付けがなされているため、ステップS106において、印刷機能制御部7031からデータを受信すると、ステップS107において、そのデータをネットワークコネクションを介してホストコンピュータ400に対して転送する。
これ以降、ネットワーク制御部7037は、ステップS104からステップS108の処理を繰り返し、印刷機能制御部7031は、図29中ステップS901→ステップS902→ステップS904→ステップS906→ステップS907→ステップS908→ステップS909→ステップS911の処理を繰り返し、第2通信制御部7036は、図15中ステップS401からステップS407の処理を繰り返す。また、第2通信制御部6046は、図17中ステップS601からステップS607の処理を繰り返し、印刷機能制御部6041は、図30中ステップS1001→ステップS1002→ステップS1003→ステップS1004→ステップS1008→ステップS1009→ステップS1010→ステップS1012→ステップS1001の処理を繰り返す。これらの各機能制御部の連携により、ホストコンピュータ400と印刷機能制御部6041との間では、印刷データの転送が行われる。以下では、このような通信状態を"第2チャンネルによる印刷データ転送状態"と称するものとする。
ホストコンピュータ400は、必要な通信が終了すると、図12中ステップS108において、通信装置700とのネットワークコネクションを切断する。ネットワーク制御部7037は、ネットワークコネクションが切断されると、ステップS109において、このネットワークコネクションに関連付けられている印刷機能制御部7031に対して通信終了通知を行い、ステップS110において、印刷機能制御部7031との関連付けを解除し、待機状態に戻る。
印刷機能制御部7031は、図29中ステップS911において、通信の終了をネットワーク制御部7037から通知されると、ステップS912において、"チャンネル使用終了通知"メッセージを第2通信制御部7036に対して送信し、その後、待機状態に戻る。
これに応じて、第2通信制御部7036は、図15中ステップS401において、印刷機能制御部7031から"チャンネル使用終了通知"メッセージを受信すると、ステップS402において、受信した"チャンネル使用終了通知"メッセージに対して識別情報を付加する。この場合、送信元が印刷機能制御部7031であることから、第2通信制御部7036は、先に図10に示した機能識別子として"印刷機能"識別子を含む識別情報を付加する。
続いて、第2通信制御部7036は、ステップS403において、"チャンネル使用終了通知"メッセージに対して識別情報が付加されたデータを、USBインターフェース部701を介して画像処理装置600に対して送信する。そして、第2通信制御部7036は、ステップS404において、画像処理装置600からの受信データがなく、ステップS407において、通信装置700の全ての機能制御部が待機状態となった場合には、待機状態に戻る。
第2通信制御部7036から送信されたデータは、図17中ステップS604において、画像処理装置600における第2通信制御部6046によって受信される。そして、第2通信制御部6046は、ステップS605において、受信したデータに付加された識別情報を判別する。ここでは、識別情報に"印刷機能"識別子が含まれていることから、第2通信制御部6046は、ステップS606において、そのデータを印刷機能制御部6041に対して転送し、ステップS607において、画像処理装置600の全ての機能制御部が待機状態となった場合には、待機状態に戻る。
これに応じて、印刷機能制御部6041は、図30に示すように、ステップS1001において、第2通信制御部6046からデータを受信すると、ステップS1002において、受信したデータを解析する。ここでは、受信したデータが"チャンネル使用終了通知"メッセージであることから、印刷機能制御部6041は、ステップS1014において、優先度制御部6047にチャンネル使用の終了を通知する。そして、優先度制御部6047は、図19中ステップS809からの処理を行うことになる。
画像処理システムにおいては、このような一連の処理を行うことにより、第2通信制御部6046を使用して、すなわち第2チャンネルを使用して、ホストコンピュータ400と画像処理装置600との間で、通信装置700を介したデータの転送を行うことができる。
[第1通信制御部と第2通信制御部との使用を切り替える通信動作]
つぎに、上述した第1通信制御部6045を使用したホストコンピュータ300と画像処理装置600との間で行われる走査画像データの転送と並行して、ホストコンピュータ400と画像処理装置600との間で、通信装置700を介して印刷データの転送を行う際に、印刷データの転送を、第1通信制御部6045を使用して行うように切り替える通信動作について説明する。なお、ここでも、第1通信制御部6045を使用したホストコンピュータ300と画像処理装置600との間で行われる走査画像データの転送が、優先度が"3"である一般ユーザによってなされている場合について説明する。また、この説明においても、図12、図14乃至図17、図19、図29及び図30を用いるものとする。
この動作は、上述した"第2チャンネルによる印刷データ転送状態"において、ホストコンピュータ400から送信された印刷データ等に格納されているユーザID等のジョブ識別情報に対応する優先度がスキャナ機能制御部6042の優先度よりも高い場合に行われる。
すなわち、画像処理装置600における印刷機能制御部6041は、図30に示すように、ステップS1001において、第2通信制御部6046から印刷データを受信し、ステップS1002において、受信した印刷データを解析した後、ステップS1003において、解析結果にしたがって印刷部602を制御して印刷データに対する応答データの生成や印刷処理を実行した上で、ステップS1004において、印刷データを解析した結果、ユーザID等のジョブ識別情報が含まれているか否かを判定する。ここで、印刷機能制御部6041は、ジョブ識別情報が含まれていなかった場合には、ステップS1008の処理へと移行する一方で、ジョブ識別情報が含まれていた場合には、ステップS1005において、優先度制御部6047に対してジョブ識別情報を送信して優先度の問い合わせを実行する。
印刷機能制御部6041から問い合わせを受けた優先度制御部6047は、図19に示すように、ステップS801において、第1通信制御部6035又は第2通信制御部6036のいずれかを使用するかを判定する。この判定は、以下のように実行される。
まず、優先度制御部6047は、ステップS802において、先に図25に示した優先度テーブルを参照し、第1通信制御部6045を現在使用中である機能制御部の優先度を取得して判定する。ここでは、第1通信制御部6045が、優先度が"3"のデータを取り扱っているスキャナ機能制御部6042に使用されている状態である。したがって、優先度制御部6047は、印刷機能制御部6041が保存しているログ情報に基づいて、スキャナ機能制御部6042の優先度を"3"と判定する。また、優先度制御部6047は、ステップS803において、先に図25に示した優先度テーブルを参照し、優先度判定要求の問い合わせ元である印刷機能制御部6041から送信されたジョブ識別情報によって表されるユーザIDに対応する優先度を取得して判定する。ここでは、優先度制御部6047は、印刷データが優先ユーザによって送信されたものとし、図25に示した優先度テーブルに基づいて、印刷機能制御部6041の優先度を"1"と判定する。
続いて、優先度制御部6047は、ステップS804において、優先度判定要求の問い合わせ元である印刷機能制御部6041から送信されたジョブ識別情報に対応する優先度の方が、ステップS802にて判定した優先度よりも高いか否かを判定する。ここでは、優先度制御部6047は、印刷機能制御部6041の優先度の方がスキャナ機能制御部6042の優先度よりも高いことから、優先度が高い印刷機能制御部6041に第1通信制御部6045を使用させるとともに、スキャナ機能制御部6042に第2通信制御部6046を使用させると判定する。
そして、優先度制御部6047は、ステップS806において、現在第1通信制御部6045を使用中であるスキャナ機能制御部6042に第2通信制御部6046を使用させる旨を通知するとともに、ステップS807において、優先度判定要求の問い合わせに対する回答として、印刷機能制御部6041に第1通信制御部6045を使用させる旨を通知する。
そして、優先度制御部6047は、ステップS808において、第1通信制御部6045を印刷機能制御部6041と関連付け、ステップS809へと処理を移行する。
これに応じて、スキャナ機能制御部6042は、図30中ステップS1006において、優先度制御部6047からの通知を受信すると、ステップS1007において、"第2チャンネル使用"メッセージを第2通信制御部6046に対して送信する。
第2通信制御部6046は、図17中ステップS601において、スキャナ機能制御部6042から"第2チャンネル使用"メッセージを受信すると、ステップS602において、受信した"第2チャンネル使用"メッセージに対して識別情報を付加する。この場合、送信元がスキャナ機能制御部6042であることから、第2通信制御部6046は、先に図10に示した機能識別子として"スキャナ機能"識別子を含む識別情報を付加する。
そして、第2通信制御部6046は、ステップS603において、"第2チャンネル使用"メッセージに対して識別情報が付加されたデータを、USBインターフェース部601を介して通信装置700に対して送信する。
一方、印刷機能制御部6041は、図30中ステップS1006において、優先度制御部6047の回答を受信すると、ステップS1007において、優先度判定要求の問い合わせに対する回答として、"第1チャンネル使用"メッセージを第2通信制御部6046に対して送信する。
第2通信制御部6046は、図17中ステップS601において、印刷機能制御部6041から"第1チャンネル使用"メッセージを受信すると、ステップS602において、受信した"第1チャンネル使用"メッセージに対して識別情報を付加する。この場合、送信元が印刷機能制御部6041であることから、第2通信制御部6046は、先に図10に示した機能識別子として"印刷機能"識別子を含む識別情報を付加する。
そして、第2通信制御部6046は、ステップS603において、"第1チャンネル使用"メッセージに対して識別情報が付加されたデータを、USBインターフェース部601を介して通信装置700に対して送信する。
第2通信制御部6046から送信されたデータは、図15中ステップS404において、通信装置700における第2通信制御部7036によって受信される。続いて、第2通信制御部7036は、ステップS405において、受信したデータに付加された識別情報を判別する。そして、第2通信制御部7036は、ステップS406において、識別情報に"スキャナ機能"識別子が含まれたデータについては、スキャナ機能制御部7032に対して転送する一方で、識別情報に"印刷機能"識別子が含まれたデータについては、印刷機能制御部7031に対して転送する。
スキャナ機能制御部7032は、図29に示すように、ステップS907において、第2通信制御部7036からデータを受信すると、ステップS908において、受信したデータを解析する。ここでは、受信したデータが"第2チャンネル使用"メッセージであることから、スキャナ機能制御部7032は、以降の通信を、第2通信制御部7036を使用して行うことを決定し、ステップS910において、第2通信制御部7036に対してその旨を通知して第2チャンネルに切り替え、ステップS911へと処理を移行する。これ以降、スキャナ機能制御部6042とスキャナ機能制御部7042との通信は、第2チャンネルを使用して実行されることになる。
同様に、印刷機能制御部7031は、図29に示すように、ステップS907において、第2通信制御部7036からデータを受信すると、ステップS908において、受信したデータを解析する。ここでは、受信したデータが"第1チャンネル使用"メッセージであることから、印刷機能制御部7031は、以降の通信を、第1通信制御部7035を使用して行うことを決定し、ステップS910において、第1通信制御部7035に対して関連付けされた旨を通知して第1チャンネルに切り替え、ステップS911へと処理を移行する。これ以降、印刷機能制御部6041と印刷機能制御部7041との通信は、上述した"第1チャンネルによる走査画像データ転送状態"の動作と同様に、第1チャンネルを使用して実行されることになる。そして、画像処理システムにおいては、ホストコンピュータ400から送信された印刷データを印刷機能制御部6041によって受信する度に、ジョブ識別情報が含まれているか否かを判定し、以上のような処理を繰り返す。
そして、ホストコンピュータ400は、印刷データについて必要な通信が終了すると、図12中ステップS108において、通信装置700とのネットワークコネクションを切断する。ネットワーク制御部7037は、ネットワークコネクションが切断されると、ステップS109において、このネットワークコネクションに関連付けられている印刷機能制御部7031に対して通信終了通知を行い、ステップS110において、印刷機能制御部7031との関連付けを解除し、待機状態に戻る。以降、画像処理システムにおいては、"第1チャンネルによる走査画像データ転送状態"の動作と同様に、通信終了処理が行われる。
画像処理システムにおいては、このような一連の処理を行うことにより、第2通信制御部6046を使用した通信の途中で、当該通信を、第1通信制御部6045を使用して行うように切り替えることができる。
以上説明したように、本発明の第2の実施の形態として示す画像処理システムにおいては、データの優先度に応じて、その機能制御部に使用させる通信制御部を決定する。したがって、この画像処理システムにおいては、第1の実施の形態と同様に、複数の機能についてのデータ通信が並行に実行された場合であっても、例えば高速なデータ転送が求められる機能については、識別情報の付加や解析処理による処理時間に起因して通信速度を引き下げてしまうことがなくなるという効果を奏し、さらにこれに加え、データ毎に優先度を判定することにより、同じ種類のデータ通信であっても、各データ通信毎に優先度を制御することができるという効果を得ることができる。そのため、この画像処理システムにおいては、通常は優先度の低い種類のデータ転送であっても、緊急を要する場合には高い優先度でデータ転送を行うといったように、より柔軟でユーザにとって使い勝手のよいきめ細やかな制御を実現することができる。
なお、本発明は、上述した実施の形態に限定されるものではない。例えば、上述した実施の形態では、走査画像データ転送、印刷データ転送、及び装置管理情報転送という3つの機能の並行実行時の処理について説明したが、本発明は、4つ以上の機能を並行して実行する場合にも適用することができる。
また、上述した実施の形態では、通信インターフェースとしてUSBインターフェースを用いるものとして説明したが、本発明は、IEEE(The Institute of Electrical and Electronics Engineers)1394、ブルートゥース(Bluetooth(登録商標))、RS232C等、他の通信インターフェースに対しても適用することができる。
さらに、上述した実施の形態では、画像処理装置100,600が備える画像処理機能として、印刷機能及びスキャナ機能について説明したが、本発明は、ハードディスク等の記憶媒体に対する画像データの書き込み及び読み出し機能を画像処理機能として捉えた場合にも適用することができる。
さらにまた、上述した実施の形態では、各機能の優先度が予め定められているものとして説明したが、本発明は、ユーザによって優先度の設定を任意に変更可能である形態や優先度が動的に変更される形態であっても適用することができる。例えば、本発明は、データ通信される画像データのデータ量が多いほど優先度を高くするといったように、データ量に基づいて優先度を判定したり、また、画像データの通信開始からの経過時間を計時しておきその経過時間が長いほど優先度を高くするといったように、経過時間に基づいて優先度を判定したりするようにしてもよい。
また、上述した第2の実施の形態では、当該画像処理システムを利用する各ユーザのランクを予め定めておくものとして説明したが、本発明は、例えば、ユーザがホストコンピュータを介してデータを送信する際に、優先度に対応する情報を任意に設定し、これをジョブ識別情報として送信するようにしてもよい。さらに、上述した第2の実施の形態では、ホストコンピュータから情報を送信したユーザに関する情報をジョブ識別情報とするものとして説明したが、本発明は、例えばホストコンピュータを識別する識別情報をジョブ識別情報とするようにしてもよい。
さらに、上述した実施の形態では、データに付加される識別情報として、機能識別子、データ種別、及びデータ長の3項目を含むものとして説明したが、本発明は、シーケンス番号やチェックサム等、他の項目を識別情報に含める形態であっても適用することができる。
さらにまた、本発明は、第1の実施の形態のような機能毎の優先度判定と、第2の実施の形態のようなデータ毎の優先度判定とを組み合わせてもよい。この場合、本発明は、例えば図6に示したような優先度テーブルを構成する各機能をさらに複数に細分化し、それぞれにユーザのランクのようなデータ毎の優先度を定義するようなテーブルを用い、機能毎の優先度判定とデータ毎の優先度判定とをともに行えばよい。
また、上述した実施の形態では、画像処理装置100,600が、印刷機能とスキャナ機能とを並行して実行可能な複合機であるものとして説明したが、本発明は、画像処理を行う機能を有する装置であればいかなるものであっても適用することができ、例えば、複数の機能を並行して実行可能なプリンタ装置、スキャナ装置、複写機、ファクシミリ装置、その他の機能を複合的に備える装置に適用することもできる。
このように、本発明は、その趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。