(57)【要約】【課題】ジョブ制御手段などの上位レイヤの設計を効率化すること。【解決手段】  プロトコルの異なる複数種類の外部インタフェース（ＵＳＢ、ＬＡＮ）を有する画像処理装置であって、所定範囲の下位レイヤ識別ＩＤに、処理の対象となる外部インタフェースを、動的に割り当てる外部インタフェースアダプタ２０３と、下位レイヤ識別ＩＤを用いて、各種のジョブの実行を制御するジョブ制御部２０２と、を有し、下位レイヤ識別ＩＤが取りうる値は、外部インタフェースの種類に拘わらず一定であることを特徴とする。【選択図】  図２
2006024133.tif 000002
【特許請求の範囲】
【請求項１】
プロトコルの異なる複数種類の外部インタフェースを有する画像処理装置であって、
所定範囲の識別子に、処理の対象となる前記外部インタフェースを、動的に割り当てる識別子割当手段と、
前記識別子を用いて、各種のジョブの実行を制御するジョブ制御手段と、
を有し、
前記識別子が取りうる値は、前記外部インタフェースの種類に拘わらず一定であることを特徴とする画像処理装置。
【請求項２】
前記識別子を用いて、ユーザインタフェースを介して入力された指示に対応した制御を行なうユーザインタフェース制御手段を更に有することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記識別子割当て手段は、前記外部インタフェースに対応するプロトコルに、前記識別子を割り当てることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記識別子割当て手段は、前記外部インタフェースを用いた処理の開始時に、前記識別子を前記外部インタフェースに割当て、該処理の終了時に、前記識別子に対する前記外部インタフェースの割当てを開放することを特徴とする請求項１乃至３のいずれかに記載の画像処理装置。
【請求項５】
プロトコルの異なる複数種類の外部インタフェースを有する画像処理装置の制御方法であって、
処理の対象となる前記外部インタフェースに、動的に所定範囲の識別子を割り当てる識別子割当工程と、
前記識別子を用いて、各種のジョブの実行を制御するジョブ制御工程と、
を有し、
前記識別子が取りうる値は、前記外部インタフェースの種類に拘わらず一定であることを特徴とする画像処理装置の制御方法。
【請求項６】
プロトコルの異なる複数種類の外部インタフェースを有する画像処理装置の制御プログラムであって、
画像処理装置に、
処理の対象となる前記外部インタフェースに、動的に所定範囲の識別子を割り当てる識別子割当工程と、
前記識別子を用いて、各種のジョブの実行を制御するジョブ制御工程と、
を実行させ、
前記識別子が取りうる値は、前記外部インタフェースの種類に拘わらず一定であることを特徴とする画像処理装置の制御プログラム。
【請求項７】
請求項６に記載の制御プログラムを格納したことを特徴とするコンピュータ読取可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理方法に関するものである。
【背景技術】
【０００２】
従来から、ＵＳＢ等のローカルインタフェースやＬＡＮ等のリモートインタフェースといった、複数の外部インタフェースを有する画像処理装置が知られている（特許文献１参照）。
【特許文献１】特開２０００−１４８６５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上述したような従来の画像処理装置では、ジョブを制御するためのジョブ制御部などの上位レイヤが、外部インタフェースの違いや、その外部インタフェースで用いられる通信制御プロトコルの違いなどを直接認識する構成であった。このため、搭載された外部インタフェースの種類が多くなり、通信制御プロトコルが多様化、複雑化すると、ジョブ制御部などの上位レイヤの構成が複雑化し、結果として、装置全体の生産性が低下する要因の１つとなっていた。
【０００４】
また、さらに、搭載された外部インタフェースの種類が異なる装置ごとに、異なるジョブ制御部を設計する必要があったため、例えば、ＬＡＮ接続機能付きの装置やＬＡＮ接続機能無しの装置などといった、搭載された外部インタフェースが異なるだけの複数タイプの装置を効率的に生産することが困難であった。
【０００５】
本発明は、上記従来技術の課題を解決するためになされたもので、その目的とするところは、ジョブ制御手段などの上位レイヤの設計を効率化することのできる画像処理装置を提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明に係る装置は、
プロトコルの異なる複数種類の外部インタフェースを有する画像処理装置であって、
所定範囲の識別子に対し、処理の対象となる前記外部インタフェースを、動的に割り当てる識別子割当手段と、
前記識別子を用いて、各種のジョブの実行を制御するジョブ制御手段と、
を有し、
前記識別子が取りうる値は、前記外部インタフェースの種類に拘わらず一定であることを特徴とする。
【０００７】
この構成により、ジョブ制御手段は、外部インタフェースの種類を認識する必要がないため、ジョブ制御手段の構成を簡素化することができ、更に、装置に搭載される外部インタフェースの種類に拘わらずジョブ制御手段の構成を共通化することができる。
【０００８】
また、上記識別子を用いて、ユーザインタフェースを介して入力された指示に対応した制御を行なうユーザインタフェース制御手段を更に有することを特徴とする。
【０００９】
この構成によれば、ユーザインタフェース制御手段が外部インタフェースの種類を認識する必要はないため、ユーザインタフェース制御手段の構成を簡素化することができ、更に、装置に搭載される外部インタフェースの種類に拘わらずユーザインタフェース制御手段の構成を共通化することができる。
【００１０】
また識別子割当て手段は、外部インタフェースに対応するプロトコルに、識別子を割り当てることを特徴とする。これによると、プロトコルごとに異なる制御を行なうことができる。
【００１１】
前記識別子割当て手段は、前記外部インタフェースを用いた処理の開始時に、前記識別子を前記外部インタフェースに割当て、該処理の終了時に、前記識別子に対する前記外部インタフェースの割当てを開放することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、ジョブ制御手段などの上位レイヤの設計を効率化することが可能となる。
【発明を実施するための最良の形態】
【００１３】
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００１４】
ここでは、本発明に係る画像処理装置の実施形態として、スキャンジョブ、プリントジョブ、ファクシミリジョブ等、複数のジョブを１台の装置で実行可能なマルチファンクションペリフェラル（以下、ＭＦＰ）について説明する。
【００１５】
図１は、本実施形態としてのＭＦＰのハードウェアの構成を示したブロック図である。
【００１６】
ＣＰＵ１０１は、ＲＯＭ１０２からプログラム命令を読み出してプログラムを実行し、ＲＡＭ１０３を使用しながら装置全体を制御する。ＲＯＭ１０２は、ＣＰＵ１０１が実行するプログラム命令や各種固定データを格納する。ＲＯＭ１０２は、場合によっては書き込み可能な媒体であっても構わない。
【００１７】
ＲＡＭ１０３は、ＣＰＵ１０１がプログラム命令を実行する際に一時的データや、画像データ等を格納する。操作パネル１０４は、ＭＦＰのユーザインタフェースを制御する。ＣＯＤＥＣ１０５は、様々な画像データの符号化形式の符号化及び復号を行う。
【００１８】
読取部１０６は、原稿を光学的に読み取り画像データに変換する。プリント部１０７は、画像データをプリントする。ＣＣＵ１０８は、ファクシミリ通信プロトコルを制御し、ファクシミリデータの送受信を制御する。外部インタフェース制御部１０９は、ＵＳＢ、ＬＡＮ等の外部インタフェースを制御し、各種データの送受信を制御する。
【００１９】
図２は、ＭＦＰのソフトウェア構成を示したブロック図である。
【００２０】
ユーザインタフェース制御部２０１は、ＭＦＰのユーザインタフェースを制御するモジュールである。ジョブ制御部２０２は、スキャン、プリント、ファックス、コピー等のジョブの実行制御を行うモジュールである。外部インタフェースアダプタ２０３は、ユーザインタフェース制御部２０１と、ジョブ制御部２０２に対して、外部インタフェースの違いを意識させない上位インタフェースを提供し、上位インタフェースと下位である外部インタフェースの対応関係を管理する。
【００２１】
ローカルインタフェース制御部２０４は、ＵＳＢ等のローカルインタフェース全体を制御する。ベンダークラス制御部２０５は、ローカルインタフェースとしてＵＳＢを想定した場合のベンダークラスを制御する。プリンタクラス制御部２０６は、ローカルインタフェースとしてＵＳＢを想定した場合のプリンタクラスを制御する。マスストレージクラス制御部２０７は、ローカルインタフェースとしてＵＳＢを想定した場合のマスストレージクラスを制御する。リモートインタフェース制御部２０８は、ＬＡＮ等のリモートインタフェース全体を制御する。ＬＰＲ制御部２０９は、ＬＰＲプロトコルを制御し、ＨＴＴＰ制御部２１０は、ＨＴＴＰプロトコルを制御し、ＴＣＰ／ＩＰ制御部２１１は、ＴＣＰ／ＩＰプロトコルを制御する。
【００２２】
図２に示すように、本実施形態としてのＭＦＰは、プロトコルの異なる複数種類の外部インタフェースとして、ＵＳＢ及びＬＡＮを有し、処理の対象となる外部インタフェースに、動的に所定範囲の識別子（後述する下位レイヤ識別ＩＤ）を割り当てる識別子割当手段として、外部インタフェースアダプタ２０３を備え、外部インタフェースアダプタ２０３に割り当てられた識別子を用いて各種ジョブの実行を制御するジョブ制御手段として、ジョブ制御部２０２を備える。また、ここで識別子が取りうる値は、ＭＦＰが有する外部インタフェースの種類に拘わらず一定の範囲である。
【００２３】
また、本実施形態としてのＭＦＰは、ユーザインタフェースを介して入力された指示に対応した制御を行なうユーザインタフェース制御手段として、ユーザインタフェース制御部２０１を備え、このユーザインタフェース制御部２０１も、ジョブ制御部２０２と同様に所定の識別子としての下位レイヤ識別ＩＤを用いて制御を行なう。
【００２４】
図３は、上位レイヤとしてのユーザインタフェース制御部２０１及びジョブ制御部２０２と外部インタフェースアダプタ２０３との間でやりとりされるメッセージフォーマットを示す図である。
【００２５】
図３に示すとおり、メッセージフォーマットは、メッセージの種別を識別するためのメッセージＩＤ３０１と、下位レイヤ識別ＩＤ３０２と、メッセージパラメータ（３０４）のレングスを示すパラメータ長３０３と、各メッセージ毎に付加されるパラメータ３０４とを含む。メッセージパラメータのレングスはメッセージごとに可変である。
【００２６】
下位レイヤ識別ＩＤ３０２は、外部インタフェースアダプタ２０３によって割り当てられる所定の識別子であり、例えば０〜５といった、単純な番号である。この下位レイヤ識別ＩＤ３０２が取りうる値は、搭載された外部インタフェースの種類に拘わらず一定である。言い換えれば、ユーザインタフェース制御部２０１及びジョブ制御部２０２などの上位レイヤは、どのような外部インタフェースを有するＭＦＰにおいても共通であって、いずれも、例えば０〜５といった所定の範囲の下位レイヤ識別ＩＤ３０２を扱うことが可能に構成されている。これにより、ユーザインタフェース制御部２０１及びジョブ制御部２０２などの上位レイヤの汎用性を高めることができる。
【００２７】
なお、ここでは、下位レイヤ識別ＩＤが単純な番号であるとしたが、本発明はこれに限定されるものではなく、どのような識別子を用いてもよい。
【００２８】
図４Ａは、プロトコルＩＤ割当てテーブル４００を示す図である。プロトコルＩＤ割当てテーブル４００は、プロトコルＩＤと、通信制御プロトコルとの対応関係を示す。
【００２９】
ここで、プロトコルＩＤとは、通信制御プロトコルを一意に区別するためのＩＤであり、通信制御プロトコルそのものを示す識別子である。ここでは、広義のプロトコル（例えばＨＴＴＰやＦＴＰといったプロトコル）が同じであっても、割り当てられたポート番号が異なる場合には、異なるプロトコルＩＤが割り当てられているものとする。図４Ａでは、プロトコルＩＤとして、０〜Ｎの値が割り当てられているが、本発明はこれに限定されるものではなく、プロトコルを識別可能であればどのような識別子を用いてもよい。
【００３０】
このプロトコルＩＤ割当てテーブル４００は、ＲＯＭ１０２などに記憶されており、外部インタフェースアダプタ２０３が参照可能となっている。基本的に、異なる外部インタフェースを有するＭＦＰでは、異なるプロトコルＩＤ割当てテーブル４００が記憶されるが、例えば、ＭＦＰに搭載される可能性のある全てのプロトコル（ＵＳＢ、ＲＳ２３２Ｃ、ＩＥＥＥ１２８４（パラレルインタフェース）、ＩＥＥＥ１３９４、ＩＥＥＥ８０２．ｎ、無線ＬＡＮ、ＦＴＰ、ＨＴＴＰ、ＬＰＲ、ＵＰｎＰなど）について、プロトコルＩＤを割り当てたプロトコルＩＤ割当てテーブル４００をＭＦＰの全機種に共通して用意しても良い。
【００３１】
図４Ｂは、ＩＤ管理テーブル４０１を示す図である。ＩＤ管理テーブル４０１は、所定の下位レイヤ識別ＩＤとプロトコルＩＤ割当てテーブル４００によって定義されたプロトコルＩＤとの対応関係を示す。外部インタフェースアダプタ２０３は、ＩＤ管理テーブル４０１を管理し、外部インタフェースを用いた処理が行なわれる度に、ＩＤ管理テーブル４０１を動的に書き換える。従って、下位レイヤ識別ＩＤ３０２の総数は、ＭＦＰ内で扱うことができるプロトコルの種類に比べて、非常に少ない数でよい。例えば、下位レイヤ識別ＩＤとして５つの値しか用意されていなくても、外部インタフェースを介する処理毎にこのＩＤ管理テーブル４０１を動的に書き換えれば、無限のプロトコルを扱うことができる。結果として、上位レイヤで扱うＩＤが少なくて済むため、ユーザインタフェース制御部２０１やジョブ制御部２０２の構成を簡素化することができる。なお、ＩＤ管理テーブル４０１に用意された下位レイヤ識別ＩＤの数は、外部インタフェースを介して並列に行なうことが可能な処理の数を表わす。
【００３２】
ＩＤ管理テーブル４０１によってプロトコルと下位レイヤ識別ＩＤとの対応関係が定義されるので、ユーザインタフェース制御部２０１及びジョブ制御部２０２などの上位レイヤは、下位レイヤ識別ＩＤ３０２のみを認識すれば足り、プロトコルの違いを認識する必要が全くない。
【００３３】
次に、ＭＦＰにおいて、外部インタフェースを指定した処理要求が発生した場合にまず行なわれる、下位レイヤ識別ＩＤの獲得処理について、図５のフローチャートを用いて説明する。
【００３４】
この処理は、外部インタフェースアダプタ２０３がユーザインタフェース制御部２０１またはジョブ制御部２０２からの処理依頼に応じて、下位レイヤ識別ＩＤの獲得処理を行なう場合（第１の場合）、外部インターフェース側から処理依頼が発生する場合（第２の場合）の２通りがある。下位レイヤ識別ＩＤの獲得処理には、プロトコルＩＤの指定が不可欠なため、第１の場合では、ユーザインタフェース制御部２０１またはジョブ制御部２０２がプロトコルＩＤを指定して外部インタフェースアダプタ２０３にＩＤ獲得処理を依頼する。ただし、上位レイヤは、接続先として下位レイヤのプロトコルを指定するのみであり、プロトコルの違いを認識して処理を変えるものではない。第２の場合は、処理依頼を発生させたプロトコルＩＤで下位レイヤ識別ＩＤの獲得処理を行う。
【００３５】
第１の場合として、たとえば、ユーザーがE-mail送信を操作パネルから指示した場合がある。この場合、ユーザインタフェース制御部２０１から外部インタフェースアダプタ２０３へ、メールサーバーのプロトコル（例えばSMTP）を通知するとともに処理依頼を発生させる。ここで、メールサーバーのプロトコルが複数あったとしても、それら制御の違いは、外部インタフェースアダプタ２０３の制御を変更することで吸収するので、ユーザインタフェース制御部２０１では、それらの違いを認識することは不要である。第１の場合として他にも、操作パネルから「原稿画像をスキャンし、読みとった画像データをＵＳＢ接続されたストレージデバイスに格納する」といったコマンドが入力された場合が考えられるが、この場合も、ユーザインタフェース制御部２０１は、読みとった画像データの出力先としてＵＳＢ接続されたストレージデバイスを指定したコマンドを発行し処理依頼を発生させる場合がある。これらの処理依頼を受けて、外部インタフェースアダプタ２０３がプロトコルＩＤ割当てテーブル４００を参照してメールサーバーが使用するプロトコルＩＤやＵＳＢストレージデバイスのプロトコルＩＤを導きだし、ＩＤ管理テーブル４０１において、そのプロトコルＩＤを空き下位レイヤ識別ＩＤに割り当てる。
【００３６】
ＭＦＰ内で外部インタフェースを介した処理を行なう場合、まず、外部インタフェースアダプタ２０３が、下位レイヤ識別ＩＤ３０２の獲得処理を行なう。
【００３７】
具体的には、ステップＳ５０１において、ＩＤ管理テーブル４０１をチェックし、ＩＤ管理テーブル４０１に、空き（プロトコルＩＤが割り当てられていない下位レイヤ識別ＩＤ）があるかどうかを判断する。
【００３８】
ステップＳ５０１における判断の結果、空きあり（ＯＫ）と判断された場合、ステップＳ５０２からステップＳ５０３に進み、空いた下位レイヤ識別ＩＤにプロトコルＩＤを割り当て、処理は終了する。プロトコルＩＤを割り当てられた下位レイヤ識別ＩＤは、処理を行なうべきユーザインタフェース制御部２０１またはジョブ制御部２０２に渡される。ステップＳ５０１における判断の結果、空きなし（ＮＧ）と判断された場合、ＩＤ割り当て失敗で処理は終了する。
【００３９】
次に図６を用いて、外部インタフェースアダプタ２０３が、ユーザインタフェース制御部２０１またはジョブ制御部２０２からデータ送信を依頼された場合に行なう処理を説明する。
【００４０】
ステップＳ６０１において、外部インタフェースアダプタ２０３がユーザインタフェース制御部２０１またはジョブ制御部２０２からデータ送信要求を受け付けると、ステップＳ６０２に進む。ステップＳ６０２で、データ送信要求を受信した外部インタフェースアダプタ２０３は、下位レイヤ識別ＩＤがＩＤ管理テーブル４０１に登録されているかをチェックする。
【００４１】
ここで、データ送信要求は、図３のメッセージフォーマットに従って作成されたものであり、チェックの対象となる下位レイヤ識別ＩＤは、データ送信要求に含まれている。
【００４２】
次に、ステップＳ６０２における判断の結果、下位レイヤ識別ＩＤ３０２が図４のＩＤ管理テーブル４０１に登録されていた場合、ステップＳ６０３からステップＳ６０４に進んで、ＩＤ管理テーブル４０１を参照して、受け付けた下位レイヤ識別ＩＤ３０２に対応するプロトコルＩＤを導きだす。そして更に、プロトコルＩＤに対応したプロトコルの送信パケットを作成し、プロトコルＩＤに対応した下位レイヤに対して、作成したパケットを送信する（Ｓ６０５）。
【００４３】
ステップＳ６０２における判断の結果、下位レイヤ識別ＩＤ３０２がＩＤ管理テーブル４０１に登録されていない場合、データ送信要求は廃棄され、処理を終了する。下位レイヤ識別ＩＤ３０２がＩＤ管理テーブル４０１に登録されていない場合とは、ローカルインタフェース制御部２０４やリモートインタフェース制御部２０８といった下位レイヤからの処理依頼で動作開始したジョブ制御部２０２が、ローカルインタフェース制御部２０４やリモートインタフェース制御部２０８により登録された下位レイヤ識別ＩＤ３０２を使用して外部インタフェースアダプタ２０３に処理依頼をしたところ、すでにその下位レイヤ識別ＩＤ３０２が、ローカルインタフェース制御部２０４やリモートインタフェース制御部２０８により開放されて存在しない場合である。この場合、ジョブ制御部２０２は、外部インタフェースアダプタ２０３に対して、新たに下位レイヤ識別ＩＤ３０２の獲得を依頼する。
【００４４】
次に図７を用いて、外部インタフェースアダプタ２０３が、ローカルインタフェース制御部２０４やリモートインタフェース制御部２０８といった下位レイヤから受信したパケットを、ユーザインタフェース制御部２０１またはジョブ制御部２０２に対して送信する処理について説明する。
【００４５】
ステップＳ７０１において、下位レイヤよりパケットを受信すると、ステップＳ７０２に進み、受信したパケットに対応するプロトコルＩＤが、ＩＤ管理テーブル４０１に登録されているかどうか判断する。
【００４６】
ステップＳ７０２の判断の結果、受信したプロトコルＩＤがＩＤ管理テーブル４０１に登録されていた場合、ステップＳ７０３からステップＳ７０５に進む。
【００４７】
ステップＳ７０２の判断の結果、受信したプロトコルＩＤがＩＤ管理テーブル４０１に登録されていなかった場合、ステップＳ７０３からステップＳ７０４に進み、空いている下位レイヤ識別ＩＤにプロトコルＩＤを割り当てる。
【００４８】
ここで、後述の図９、図１０の「ジョブ開始」時点では、受信したプロトコルＩＤがＩＤ管理テーブル４０１に登録されていない場合に該当し、外部インタフェースアダプタ２０３は、図５の下位レイヤ識別ＩＤ３０２の獲得を行う。そして、図９のその他のジョブパラメータの送信やページパラメータの送信やページデータの送信に際しては、受信したプロトコルＩＤはＩＤ管理テーブル４０１に登録されているので、外部インタフェースアダプタ２０３は、それを使用する。
【００４９】
そして、ステップＳ７０５において、受信パケットの内容を解析し、ユーザインタフェース制御部２０１またはジョブ制御部２０２へのメッセージを図３のメッセージフォーマットに従って作成する。更にステップＳ７０６において、作成したメッセージをユーザインタフェース制御部２０１またはジョブ制御部２０２へ送信し、処理を終了する。
【００５０】
次に図８を用いて、外部インタフェースアダプタ２０３が下位レイヤ識別ＩＤを解放する処理を説明する。
【００５１】
ステップＳ８０１において、外部インタフェースアダプタ２０３が、ユーザインタフェース制御部２０１またはジョブ制御部２０２から下位レイヤ識別ＩＤ解放の要求を受け付ける。
【００５２】
ユーザインタフェース制御部２０１またはジョブ制御部２０２から下位レイヤ識別ＩＤの解放要求がある場合とは具体的には、後述の図９や図１０の「ジョブ終了ＯＫ」のメッセージをユーザインタフェース制御部２０１またはジョブ制御部２０２から受け取った場合である。
【００５３】
次に、ステップＳ８０２において、下位レイヤ識別ＩＤ解放要求を受信した外部インタフェースアダプタ２０３は、下位レイヤ識別ＩＤ３０２がＩＤ管理テーブル４０１に登録されているかをチェックする。
【００５４】
ステップＳ８０２における判断の結果、下位レイヤ識別ＩＤ３０２がＩＤ管理テーブル４０１に登録されていた場合、ステップＳ８０３からステップＳ８０５に進み、該当する下位レイヤ識別ＩＤをＩＤ管理テーブル４０１から削除する。
【００５５】
ステップＳ８０２における判断の結果、下位レイヤ識別ＩＤ３０２がＩＤ管理テーブル４０１に登録されていない場合、ステップＳ８０４において下位レイヤ識別ＩＤの解放要求は廃棄され、処理を終了する。
【００５６】
プリントデータを受信する場合を例にとり、図５から図８までの処理を外部インタフェースアダプタ２０３で行った場合の、ユーザインタフェース制御部２０１またはジョブ制御部２０２、外部インタフェースアダプタ２０３、および下位レイヤプロトコル間での制御シーケンスは、図９および図１０のようになる。図９および図１０に示した通り、下位レイヤのプロトコルが異なっていても、ユーザインタフェース制御部２０１またはジョブ制御部２０２に対しては同様のメッセージシーケンスで制御が可能となっている。
【００５７】
以上説明したように、本実施形態によれば、外部インタフェースアダプタ２０３が上位のレイヤと外部インタフェースとの間でプロトコルの変換を行なうため、上位のレイヤでは、外部インタフェースの違いを意識することなくジョブを実行することができる。そして、外部インタフェースの変更・追加・削除に対し、外部インタフェースアダプタの変更だけ対応できるため、ソフトウェア資産流用性が向上し、更にはソフトウェア品質、製品品質の向上も可能となる。
【００５８】
なお、本実施形態では、上位レイヤとして、ユーザインタフェース制御部２０１とジョブ制御部２０２とを挙げたが、本発明は、これに限定されるものではない。
【００５９】
（他の実施形態）
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００６０】
なお、本発明は、前述した実施形態の機能を実現するプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置が、供給されたプログラムコードを読み出して実行することによっても達成される。従って、本発明の機能処理をコンピュータで実現するために、コンピュータにインストールされるプログラムコード自体も本発明の技術的範囲に含まれる。
【００６１】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００６２】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ）などがある。
【００６３】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明のクレームに含まれるものである。
【００６４】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００６５】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【００６６】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００６７】
【図１】本発明の実施形態としてのＭＦＰのハードウェア構成を示すブロック図である。
【図２】本発明の実施形態としてのＭＦＰのソフトウェアの構成を示すブロック図である。
【図３】本発明の実施形態としてのＭＦＰにおいて、ユーザインタフェース制御部２０１またはジョブ制御部２０２と外部インタフェースアダプタ２０３との間で交わされるメッセージフォーマットを示す図である。
【図４Ａ】本発明の実施形態としてのＭＦＰにおいて、プロトコルＩＤと通信制御プロトコルとの対応関係を管理するプロトコルＩＤ割当てテーブルを示す図である。
【図４Ｂ】本発明の実施形態としてのＭＦＰにおいて、下位レイヤ識別ＩＤとプロトコルＩＤの対応関係を管理するＩＤ管理テーブルを示す図である。
【図５】本発明の実施形態としてのＭＦＰにおいて、ユーザインタフェース制御部２０１またはジョブ制御部２０２が、外部インタフェースを利用するとき最初に行う下位レイヤＩＤ獲得処理を示したフローチャートである。
【図６】本発明の実施形態としてのＭＦＰにおいて、ユーザインタフェース制御部２０１またはジョブ制御部２０２が、データを送信する処理を示したフローチャートである。
【図７】本発明の実施形態としてのＭＦＰにおいて、外部インタフェースから受信したデータの処理を示したフローチャートである。
【図８】本発明の実施形態としてのＭＦＰにおいて、外部インタフェースが解放されたときに行うＩＤ解放処理を示したフローチャートである。
【図９】本発明の実施形態としてのＭＦＰにおいて、ＵＳＢからデータを受信する処理の流れを示したシーケンス図である。
【図１０】本発明の実施形態としてのＭＦＰにおいて、ＬＡＮからデータを受信する処理の流れを示したシーケンス図である。
【図１】
2006024133.tif 000003
【図２】
2006024133.tif 000004
【図３】
2006024133.tif 000005
【図４Ａ】
2006024133.tif 000006
【図４Ｂ】
2006024133.tif 000007
【図５】
2006024133.tif 000008
【図６】
2006024133.tif 000009
【図７】
2006024133.tif 000010
【図８】
2006024133.tif 000011
【図９】
2006024133.tif 000012
【図１０】
2006024133.tif 000013