(57)【要約】【課題】ＲＡＭの利用効率を向上させることのできる情報処理装置および情報処理方法を提供する。【解決手段】複数のデバイスを接続可能な情報処理装置１であって、情報処理装置１に接続可能なデバイスの複数の機能それぞれに対応する複数のプログラムを保持するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１と、当該情報処理装置に接続されているデバイスに格納されている情報に基づいて、当該デバイスの機能を特定する機能特定手段と、ＲＯＭ１１から機能特定手段により特定された機能に対応するプログラムを特定するプログラム特定手段と、特定されたプログラムをＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２に書き込む書込手段とを備えた。【選択図】        図１
2007299036.tif 000002
【特許請求の範囲】
【請求項１】
複数のデバイスを接続可能な情報処理装置であって、
当該情報処理装置に接続可能なデバイスの複数の機能それぞれに対応する複数のプログラムを保持するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）と、
当該情報処理装置に接続されているデバイスに格納されている情報に基づいて、当該デバイスの機能を特定する機能特定手段と、
前記ＲＯＭから前記機能特定手段により特定された前記機能に対応する前記プログラムを特定するプログラム特定手段と、
前記プログラム特定手段により特定された前記プログラムをＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）に書き込む書込手段と
を備えたことを特徴とする情報処理装置。
【請求項２】
前記機能を識別する機能識別情報と、前記機能に対するプログラムとを対応付けて保持するプログラムテーブル保持手段をさらに備え、
前記プログラム特定手段は、前記プログラムテーブル保持手段において前記機能識別情報に対応付けられている前記プログラムを特定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
当該情報処理装置に接続されているデバイスに格納されている情報に基づいて、当該デバイスの機能のリビジョンを特定するリビジョン特定手段をさらに備え、
前記プログラム特定手段は、さらに前記リビジョン特定手段により特定された前記リビジョンに基づいて、前記プログラムを特定することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記機能を識別する機能識別情報と、前記機能に対するプログラムと、前記リビジョンとを対応付けて保持するプログラムテーブル保持手段をさらに備え、
前記プログラム特定手段は、前記プログラムテーブル保持手段において前記機能識別情報および前記リビジョンに対応付けられている前記プログラムを特定することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記プログラム特定手段が既に前記ＲＡＭに読み込まれている書込済プログラムと同一の機能に対応するプログラムであって、前記書込済プログラムに比べてリビジョンの高いプログラムを特定した場合に、前記書込済プログラムを終了させる終了手段をさらに備え、
前記書込手段は、前記リビジョンの高いプログラムを前記ＲＡＭに書き込むことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
複数のデバイスを接続可能な情報処理装置における情報処理方法であって、
当該情報処理装置に接続されているデバイスに格納されている情報に基づいて、当該デバイスの機能を特定する機能特定ステップと、
当該情報処理装置に接続可能なデバイスの複数の機能それぞれに対応する複数のプログラムを保持するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）から前記機能特定ステップにおいて特定された前記機能に対応する前記プログラムを特定するプログラム特定ステップと、
前記プログラム特定ステップにおいて特定された前記プログラムをＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）に書き込む書込ステップと
を有することを特徴とする情報処理方法。
【請求項７】
前記プログラム特定ステップにおいては、前記機能を識別する機能識別情報と、前記機能に対するプログラムとを対応付けて保持するプログラムテーブル保持手段において前記機能識別情報に対応付けられている前記プログラムを特定することを特徴とする請求項６に記載の情報処理方法。
【請求項８】
当該情報処理装置に接続されているデバイスに格納されている情報に基づいて、当該デバイスの機能のリビジョンを特定するリビジョン特定ステップをさらに有し、
前記プログラム特定ステップにおいては、さらに前記リビジョン特定ステップにおいて特定された前記リビジョンに基づいて、前記プログラムを特定することを特徴とする請求項６に記載の情報処理方法。
【請求項９】
前記プログラム特定ステップにおいて、前記機能を識別する機能識別情報と、前記機能に対するプログラムと、前記リビジョンとを対応付けて保持するプログラムテーブル保持手段において前記機能識別情報および前記リビジョンに対応付けられている前記プログラムを特定することを特徴とする請求項８に記載の情報処理方法。
【請求項１０】
前記プログラム特定ステップにおいて既にＲＡＭに読み込まれている書込済プログラムと同一の機能に対応するプログラムであって、前記書込済プログラムに比べてリビジョンの高いプログラムを特定した場合に、前記書込済プログラムを終了させる終了ステップをさらに有し、
前記書込ステップにおいては、前記リビジョンの高いプログラムを前記ＲＡＭに書き込むことを特徴とする請求項９に記載の情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のデバイスを接続可能な情報処理装置および情報処理方法に関するものである。
【背景技術】
【０００２】
コピー機能、ファックス機能など複数の機能を備えた複合機が知られている。このような複数の機能毎にハードウェア資源を利用する場合には、ハードウェア資源に対するデバイスドライバをカーネル内部に構成する必要がある。したがって、ハードウェア資源が増加するとデバイスドライバのデータサイズが増大するという問題があった。
【０００３】
この問題を解決すべく、ハードウェア資源ごとのデバイスドライバを用意し、必要なデバイスドライバのみをドライバＩ／Ｆに設定するものが知られている（例えば、「特許文献１」参照）。
【０００４】
【特許文献１】特開２００３−２９６０６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記のようにハードウェア資源ごとのデバイスドライバを用意することとするとＲＯＭにはハードウェア資源毎のデバイスドライバを準備しなければならない。また、ハードウェア資源毎のデバイスドライバをＲＡＭに読み込む必要があった。
【０００６】
本発明は、上記に鑑みてなされたものであって、ＲＡＭの利用効率を向上させることのできる情報処理装置および情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、請求項１にかかる発明は、複数のデバイスを接続可能な情報処理装置であって、当該情報処理装置に接続可能なデバイスの複数の機能それぞれに対応する複数のプログラムを保持するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）と、当該情報処理装置に接続されているデバイスに格納されている情報に基づいて、当該デバイスの機能を特定する機能特定手段と、前記ＲＯＭから前記機能特定手段により特定された前記機能に対応する前記プログラムを特定するプログラム特定手段と、前記プログラム特定手段により特定された前記プログラムをＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）に書き込む書込手段とを備えたことを特徴とする。
【０００８】
また、請求項２にかかる発明は、請求項１に記載の情報処理装置であって、前記機能を識別する機能識別情報と、前記機能に対するプログラムとを対応付けて保持するプログラムテーブル保持手段をさらに備え、前記プログラム特定手段は、前記プログラムテーブル保持手段において前記機能識別情報に対応付けられている前記プログラムを特定することを特徴とする。
【０００９】
また、請求項３にかかる発明は、請求項１に記載の情報処理装置であって、当該情報処理装置に接続されているデバイスに格納されている情報に基づいて、当該デバイスの機能のリビジョンを特定するリビジョン特定手段をさらに備え、前記プログラム特定手段は、さらに前記リビジョン特定手段により特定された前記リビジョンに基づいて、前記プログラムを特定することを特徴とする。
【００１０】
また、請求項４にかかる発明は、請求項３に記載の情報処理装置であって、前記機能を識別する機能識別情報と、前記機能に対するプログラムと、前記リビジョンとを対応付けて保持するプログラムテーブル保持手段をさらに備え、前記プログラム特定手段は、前記プログラムテーブル保持手段において前記機能識別情報および前記リビジョンに対応付けられている前記プログラムを特定することを特徴とする。
【００１１】
また、請求項５にかかる発明は、請求項４に記載の情報処理装置であって、前記プログラム特定手段が既に前記ＲＡＭに読み込まれている書込済プログラムと同一の機能に対応するプログラムであって、前記書込済プログラムに比べてリビジョンの高いプログラムを特定した場合に、前記書込済プログラムを終了させる終了手段をさらに備え、前記書込手段は、前記リビジョンの高いプログラムを前記ＲＡＭに書き込むことを特徴とする。
【００１２】
また、請求項６にかかる発明は、複数のデバイスを接続可能な情報処理装置における情報処理方法であって、当該情報処理装置に接続されているデバイスに格納されている情報に基づいて、当該デバイスの機能を特定する機能特定ステップと、当該情報処理装置に接続可能なデバイスの複数の機能それぞれに対応する複数のプログラムを保持するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）から前記機能特定ステップにおいて特定された前記機能に対応する前記プログラムを特定するプログラム特定ステップと、前記プログラム特定ステップにおいて特定された前記プログラムをＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）に書き込む書込ステップとを有することを特徴とする。
【００１３】
また、請求項７にかかる発明は、請求項６に記載の情報処理方法であって、前記プログラム特定ステップにおいては、前記機能を識別する機能識別情報と、前記機能に対するプログラムとを対応付けて保持するプログラムテーブル保持手段において前記機能識別情報に対応付けられている前記プログラムを特定することを特徴とする。
【００１４】
また、請求項８にかかる発明は、請求項６に記載の情報処理方法であって、当該情報処理装置に接続されているデバイスに格納されている情報に基づいて、当該デバイスの機能のリビジョンを特定するリビジョン特定ステップをさらに有し、前記プログラム特定ステップにおいては、さらに前記リビジョン特定ステップにおいて特定された前記リビジョンに基づいて、前記プログラムを特定することを特徴とする。
【００１５】
また、請求項９にかかる発明は、請求項８に記載の情報処理方法であって、前記プログラム特定ステップにおいて、前記機能を識別する機能識別情報と、前記機能に対するプログラムと、前記リビジョンとを対応付けて保持するプログラムテーブル保持手段において前記機能識別情報および前記リビジョンに対応付けられている前記プログラムを特定することを特徴とする。
【００１６】
また、請求項１０にかかる発明は、請求項９に記載の情報処理方法であって、前記プログラム特定ステップにおいて既にＲＡＭに読み込まれている書込済プログラムと同一の機能に対応するプログラムであって、前記書込済プログラムに比べてリビジョンの高いプログラムを特定した場合に、前記書込済プログラムを終了させる終了ステップをさらに有し、前記書込ステップにおいては、前記リビジョンの高いプログラムを前記ＲＡＭに書き込むことを特徴とする。
【発明の効果】
【００１７】
請求項１にかかる発明によれば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）が、当該情報処理装置に接続可能なデバイスの複数の機能それぞれに対応する複数のプログラムを保持し、機能特定手段が、当該情報処理装置に接続されているデバイスに格納されている情報に基づいて、当該デバイスの機能を特定し、プログラム特定手段が、ＲＯＭから機能特定手段により特定された機能に対応するプログラムを特定し、書込手段が、プログラム特定手段により特定されたプログラムをＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）に書き込むので、ＲＡＭにはデバイスの機能に対応したプログラムのみ書き込むことになり、ＲＡＭの利用効率をより向上させることができるという効果を奏する。
【００１８】
また、請求項２にかかる発明によれば、プログラムテーブル保持手段が、機能を識別する機能識別情報と、機能に対するプログラムとを対応付けて保持し、プログラム特定手段が、プログラムテーブル保持手段において機能識別情報に対応付けられているプログラムを特定するので、処理効率を低下させることなく機能に対応するプログラムを特定することができるという効果を奏する。
【００１９】
また、請求項３にかかる発明によれば、リビジョン特定手段が、当該情報処理装置に接続されているデバイスに格納されている情報に基づいて、当該デバイスの機能のリビジョンを特定し、プログラム特定手段が、さらにリビジョン特定手段により特定されたリビジョンに基づいて、プログラムを特定するので、リビジョンに応じたプログラムを特定することができるという効果を奏する。
【００２０】
また、請求項４にかかる発明によれば、プログラムテーブル保持手段が、機能を識別する機能識別情報と、機能に対するプログラムと、リビジョンとを対応付けて保持し、プログラム特定手段が、プログラムテーブル保持手段において機能識別情報およびリビジョンに対応付けられているプログラムを特定するので、処理効率を低下させることなく機能に対応するプログラムを特定することができるという効果を奏する。
【００２１】
また、請求項５にかかる発明によれば、終了手段が、プログラム特定手段が既にＲＡＭに読み込まれている書込済プログラムと同一の機能に対応するプログラムであって、書込済プログラムに比べてリビジョンの高いプログラムを特定した場合に、書込済プログラムを終了させ、書込手段が、リビジョンの高いプログラムをＲＡＭに書き込むので、リビジョンの高いプログラムのみをＲＡＭに書き込むことになり、ＲＡＭの利用効率をより向上させることができるという効果を奏する。
【００２２】
また、請求項６にかかる発明によれば、機能特定ステップが、当該情報処理装置に接続されているデバイスに格納されている情報に基づいて、当該デバイスの機能を特定し、プログラム特定ステップが、当該情報処理装置に接続可能なデバイスの複数の機能それぞれに対応する複数のプログラムを保持するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）から機能特定ステップにおいて特定された機能に対応するプログラムを特定し、書込ステップが、プログラム特定ステップにおいて特定されたプログラムをＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）に書き込むので、ＲＡＭにはデバイスの機能に対応したプログラムのみ書き込むことになり、ＲＡＭの利用効率をより向上させることができるという効果を奏する。
【００２３】
また、請求項７にかかる発明によれば、プログラム特定ステップにおいては、機能を識別する機能識別情報と、機能に対するプログラムとを対応付けて保持するプログラムテーブル保持手段において機能識別情報に対応付けられているプログラムを特定するので、処理効率を低下させることなく機能に対応するプログラムを特定することができるという効果を奏する。
【００２４】
また、請求項８にかかる発明によれば、リビジョン特定ステップにおいて、当該情報処理装置に接続されているデバイスに格納されている情報に基づいて、当該デバイスの機能のリビジョンを特定し、プログラム特定ステップにおいては、さらにリビジョン特定ステップにおいて特定されたリビジョンに基づいて、プログラムを特定するので、リビジョンに応じたプログラムを特定することができるという効果を奏する。
【００２５】
また、請求項９にかかる発明によれば、プログラム特定ステップにおいて、機能を識別する機能識別情報と、機能に対するプログラムと、リビジョンとを対応付けて保持するプログラムテーブル保持手段において機能識別情報およびリビジョンに対応付けられているプログラムを特定するので、処理効率を低下させることなく機能に対応するプログラムを特定することができるという効果を奏する。
【００２６】
また、請求項１０にかかる発明によれば、終了ステップにおいて、プログラム特定ステップにおいて既にＲＡＭに読み込まれている書込済プログラムと同一の機能に対応するプログラムであって、書込済プログラムに比べてリビジョンの高いプログラムを特定した場合に、書込済プログラムを終了させ、書込ステップにおいては、リビジョンの高いプログラムをＲＡＭに書き込むので、リビジョンの高いプログラムのみをＲＡＭに書き込むことになり、ＲＡＭの利用効率をより向上させることができるという効果を奏する。
【発明を実施するための最良の形態】
【００２７】
以下に添付図面を参照して、この発明にかかる情報処理装置および情報処理方法の最良な実施の形態を詳細に説明する。
【００２８】
（第１の実施の形態）
図１は、第１の実施の形態にかかる情報処理装置としての複合機１の全体構成を示す図である。複合機１は、スキャナ機能およびプリンタ機能など複数の機能を有している。複合機１は、ＣＰＵ１０と、ＲＯＭ１１と、ＲＡＭ１２と、チップセット１３と、スキャナ１４と、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）ａ１５と、プロッタ１６と、ＡＳＩＣｂ１７とを備えている。すなわち、本実施の形態にかかる複合機１は、スキャナ機能とプロッタ機能とを有している。
【００２９】
ＲＯＭ１１には、電源起動時に実行される起動プログラム、圧縮されたＯＳカーネル、デバイスドライバファイルやアプリケーションファイルが格納されている。また、デバイスドライバ選択プログラムも格納されている。
【００３０】
デバイスドライバ選択プログラムは、ＡＳＩＣａ１５およびＡＳＩＣｂ１７のコンフィグレーションレジスタのＩＤレジスタにアクセスし、各ＡＳＩＣの有する機能を特定する。コンフィグレーションレジスタとは、ＰＣＩバスに接続される装置が共通に持つレジスタである。さらに、ＡＳＩＣの機能に応じて、ＲＡＭ１２にデバイスプログラムを展開する。デバイスドライバ選択プログラムについては後述する。
【００３１】
ＣＰＵ１０は、ＲＯＭ１１内のプログラムに従って複合機１の各部を制御する。チップセット１３は、ＣＰＵ１０からＲＯＭ１１やＲＡＭ１２などの記憶装置や外部装置へのアクセスを制御する。また、外部装置から記憶装置へのアクセス、外部装置からＣＰＵ１０への割り込みを制御する。ＡＳＩＣａ１５およびＡＳＩＣｂ１７は、チップセット１３にとって外部装置であり、ＰＣＩバスを介してチップセットに接続されている。
【００３２】
ＡＳＩＣａ１５およびＡＳＩＣｂ１７は、それぞれコンフィギュレーションレジスタのＩＤレジスタに、機能ＩＤと、リビジョンと、インスタンスナンバーとを格納している。機能ＩＤとは、各ＡＳＩＣが有する機能を識別する情報である。複数の機能を有する場合には、各機能の機能ＩＤを格納している。リビジョンとは、機能のバージョン情報である。インスタンスナンバーとは、１つのＡＳＩＣ中に同じ機能が複数インスタンスされている場合のインスタンスナンバーである。
【００３３】
図２は、ＲＯＭ１１に格納されるファイル特定テーブルのデータ構成を示す図である。ファイル特定テーブルにおいて、機能ＩＤと、機能に対応するドライバファイルのファイル名とが対応付けられている。したがって、ＡＳＩＣａ１５やＡＳＩＣｂ１７から特定した機能ＩＤに基づいて、対応するファイルを特定することができる。なお、各機能に対応するファイルもＲＯＭ１１に格納されている。
【００３４】
図３は、複合機１における処理を示すフローチャートである。電源が起動すると、ＣＰＵ１０は、ＲＯＭ１１上の起動プログラムを実行する（ステップＳ１００）。起動プログラムにより、圧縮されているＯＳのカーネル部分がＲＡＭ１２上に展開される（ステップＳ１０２）。さらに、デバイスドライバ選択プログラムも同様にＲＡＭ上に展開される。
【００３５】
次に、ＲＡＭ１２上に展開されたＯＳカーネルに実行が移され、ＯＳカーネルの起動を開始する（ステップＳ１０４）。次に、デバイスドライバ選択プログラムが実行され（ステップＳ１０６）。各アプリケーションが起動する（ステップＳ１０８）。以上の処理が完了すると、待機状態に戻る。
【００３６】
図４は、図３を参照しつつ説明したデバイスドライバ選択プログラム実行処理（ステップＳ１０６）における詳細な処理を示すフローチャートである。まず、デバイスドライバ選択プログラムは、チップセット１３に接続されたＰＣＩデバイス群のＩＤレジスタを走査してその存在を確認する（ステップＳ２００）。具体的には、ＩＤレジスタにアクセスし、装置のベンダーＩＤとデバイスＩＤを取得することにより、外部装置の存在とその種別を特定する。
【００３７】
デバイスＩＤがＡＳＩＣのＩＤである場合には（ステップＳ２０２，Ｙｅｓ）、コンフィギュレーションレジスタのベースアドレスレジスタにメモリ空間上のアドレス領域を割り当てる（ステップＳ２０４）。このとき、ＩＤレジスタの内容がＰＣＩレジスタに書き込まれる。以上により、ＣＰＵ１０からのメモリアクセスにより各デバイスの内部機能にアクセスすることができる。
【００３８】
再び説明を図４に戻す。アドレス領域を割り当てた後（ステップＳ２０４）、デバイスドライバ選択プログラムは、当該デバイスの内部レジスタを０ｘ１０００番地単位に読み出し、各機能のＩＤレジスタを読み出す（ステップＳ２０６）。なお、機能がマッピングされていないアドレスについては、０が読み出される。
【００３９】
図５は、ＩＤレジスタのデータ構成の一例を模式的に示す図である。機能ＩＤが１６ビットで記述されている。続いて、機能のバージョン情報、すなわちリビジョンが８ビットで記述されている。さらに、インスタンスナンバーが、８ビットで記述されている。ステップＳ２０６においては、これらの情報を読み出す。
【００４０】
図６は、メモリ空間を模式的に示す図である。図６に示す例においては、ＡＳＩＣａには、入力コントローラおよび画像処理コントローラの２つの機能が含まれており、これら２つの機能それぞれに関する情報が図５に示すようにメモリ空間上に読み出される。ＡＣＩＣｂについても同様である。
【００４１】
再び説明を図４に戻す。図５に示すＩＤレジスタから機能ＩＤを読み出すと（ステップＳ２０６）、ＩＤレジスタから読み出した機能ＩＤと、ファイル特定テーブルに格納されている機能ＩＤとを比較する。両機能ＩＤが一致した場合には（ステップＳ２０８，Ｙｅｓ）、ファイル特定テーブルにおいて、一致した機能ＩＤに対応付けられているドライバファイルを特定し、これをＲＡＭ１２上に展開し、起動する（ステップＳ２１０）。そして、ドライバファイルがタスクとして実行される。
【００４２】
以上の処理をデバイスに含まれるすべての機能ＩＤに対して行う（ステップＳ２１２）。１つのデバイスに対しすべての機能ＩＤに対応するドライバファイルを特定すると（ステップＳ２１２，Ｙｅｓ）、さらに、チップセット１３に接続されている他のＰＣＩデバイスに対し、ステップＳ２００からの処理を行う（ステップＳ２１４）。チップセット１３に接続されているすべてのＰＣＩデバイスに対し機能ＩＤの読み出しが完了すると（ステップＳ２１４，Ｙｅｓ）、デバイスドライバ選択プログラムの処理が完了する。
【００４３】
図１に示すように、ＡＳＩＣａとＡＳＩＣｂが接続されている場合には、ＡＳＩＣａの各機能に対するドライバファイルがＲＡＭに展開され、さらにＡＳＩＣｂの各機能に対するドライバファイルがＲＡＭに展開されて処理が完了する。
【００４４】
以上のように、本実施の形態によれば、ＲＯＭ１１に機能毎のドライバファイルが格納されており、チップセット１３に接続されている各デバイスの有する機能に必要なドライバファイルのみをＲＡＭ１２上に展開し、それ以外のドライバファイルの読み出しは行わないので、ＲＡＭ１２の利用効率を向上させることができる。ハードウェア資源毎のデバイスドライバを設けた場合には、ハードウェア単位でドライバファイルをＲＡＭに書き込む必要があるが、本実施の形態にかかる複合機１においては、機能単位でドライバファイルをＲＡＭに書き込むことができる。
【００４５】
さらに、デバイスドライバ選択プログラムは、必要なドライバファイルのみＲＡＭ１２に展開することができるので、図１に示す複合機１向けのデバイスドライバ選択プログラムをスキャナのないプリンタ装置に適用することができる。
【００４６】
図７は、情報処理装置としてのプリンタ装置２を示す図である。このように、プリンタ装置２は、スキャナ１４およびＡＳＩＣａ１５を備えない。この場合には、デバイスドライバ選択プログラムにより、チップセット１３に接続されているプロッタ用ＡＳＩＣの各機能に対するドライバファイルのみがＲＡＭ１２に展開される。
【００４７】
このように、外部装置が異なる装置にデバイスドライバ選択プログラムを適用する場合であっても、ＲＯＭ１１の構成を何ら変更することなく、適切なドライバファイルのみをＲＡＭ１２に展開することができる。すなわち、製品構成毎のデバイスドライバ構成の管理が不要となる。
【００４８】
以上、本発明を実施の形態を用いて説明したが、上記実施の形態に多様な変更または改良を加えることができる。そうした変更例としては、本実施の形態においては、プリンタ機能とスキャナ機能とを有する複合機１について説明したが、複数の外部装置が接続される装置であればよく、実施の形態にかかる複合機１に限定されるものではない。
【００４９】
（第２の実施の形態）
次に、第２の実施の形態にかかる複合機１について説明する。第２の実施の形態にかかる複合機１は、さらにリビジョンに基づいて、新しいドライバファイルのみをＲＡＭ１２に格納する。
【００５０】
図８は、異なるリビジョンのＡＳＩＣを搭載した複合機１を示す図である。例えば、ＡＳＩＣゲート規模やコストの都合で、前製品（図１に示す複合機１）ではＡＳＩＣａ１５に搭載されていた画像処理機能を図８に示す新たな製品においてＡＳＩＣｂ’１８にも搭載したとする。なお、ＡＳＩＣｂ’１８は、ＡＳＩＣｂ１７の改良版であり、ＡＳＩＣｂ’１８に搭載された画像処理機能のリビジョンは、ＡＳＩＣａ１５に搭載されている画像処理機能のリビジョンよりも大きいとする。
【００５１】
図９は、図８に示す新たな製品に対するファイル特定テーブルのデータ構成を模式的に示す図である。第２の実施の形態にかかるファイル特定テーブルは、機能ＩＤとドライバファイルのファイル名に加えてリビジョンが格納する。
【００５２】
図１に示した複合機１を図８に示す新たな製品である複合機１に変更した場合には、ＡＳＩＣｂ’１８に搭載された画像処理の機能に対応する機能ＩＤ、リビジョンおよびファイル名をファイル特定テーブルに追加する。そして、書き換え後のファイル特定テーブルをＲＯＭ１１に格納しておく。さらに、対応するドライバファイルをＲＯＭ１１に格納する。デバイスドライバ選択プログラムは、リビジョンを参照することにより適切なドライバファイルのみをＲＡＭ１２に展開する。
【００５３】
図１０は、新たな製品である複合機１におけるメモリ空間を模式的に示す図である。ＡＳＩＣａには、入力コントローラおよび画像処理コントローラ（ｖｅｒ１）の２つの機能が含まれており、これら２つの機能それぞれにメモリ空間上のアドレスが割り当てられる。また、ＡＳＩＣｂ’には、画像処理コントローラ（ｖｅｒ２）の機能が含まれており、この機能にもメモリ空間上のアドレスが割り当てられる。
【００５４】
図１１は、第２の実施の形態にかかるデバイスドライバ選択プログラム実行処理（ステップＳ１０６）における詳細な処理を示すフローチャートである。ＩＤレジスタから読み出した機能ＩＤとファイル特定テーブルの機能ＩＤとが一致した場合には（ステップＳ２０８，Ｙｅｓ）、既に起動している同一機能のドライバがあるかどうか、すなわちＲＡＭ１２に同一機能のドライバが展開されているかどうかを確認する。
【００５５】
同一機能のドライバが既に起動している場合には（ステップＳ２２０，Ｙｅｓ）、さらにリビジョンを確認する。今回新たに特定した機能のリビジョンが既に起動している同一機能のリビジョンより大きい場合には（ステップＳ２２２，Ｙｅｓ）、起動済みの同一機能のドライバを終了させる（ステップＳ２２４）。そして、今回新たに特定した機能ＩＤに対応するドライバファイルをＲＡＭ１２上に展開、起動する（ステップＳ２１０）。
【００５６】
なお、新たに特定した機能のリビジョンが既に起動している同一機能のリビジョンより小さい場合には（ステップＳ２２２，Ｎｏ）、新たに特定した機能のドライバファイルのＲＡＭへの書き込みは行わない。
【００５７】
図８に示す複合機１においては、図１１の処理においてまずステップＳ２００からステップＳ２１０の処理により、ＡＳＩＣａ１５の機能である入力コントローラと画像処理コントローラ（ｖｅｒ１）に対応するドライバファイルがＲＡＭ１２上に展開される。続いて、ステップＳ２００へ戻り（ステップＳ２１２，Ｎｏ）、ＡＳＩＣｂ’１８の機能である画像処理コントローラ（ｖｅｒ２）の機能ＩＤが読み出される（ステップＳ２０６）。この機能ＩＤは、図９に示すファイル特定テーブルの機能ＩＤと一致するので（ステップＳ２０８，Ｙｅｓ）、ステップＳ２２０へ進む。
【００５８】
このとき、すでにＡＳＩＣａ１５の画像処理コントローラ（ｖｅｒ１）のドライバファイルが起動しており（ステップＳ２２０，Ｙｅｓ）、画像処理コントローラ（ｖｅｒ２）のリビジョンは、画像処理コントローラ（ｖｅｒ１）のリビジョンよりも大きいので（ステップＳ２２２，Ｙｅｓ）、起動済みのドライバファイル、すなわち画像処理コントローラ（ｖｅｒ１）のドライバファイルを終了させ（ステップＳ２２４）、画像処理コントローラ（ｖｅｒ２）のドライバファイルをＲＡＭ１２上に展開、起動する（ステップＳ２１０）。
【００５９】
このように、同一機能でバージョンの異なる複数の機能が含まれている場合には、最も新しいバージョンに対するドライバファイルのみをＲＡＭ１２上に展開するので、ＲＡＭ１２の利用効率を向上させることができる。
【図面の簡単な説明】
【００６０】
【図１】第１の実施の形態にかかる情報処理装置としての複合機１の全体構成を示す図である。
【図２】ＲＯＭ１１に格納されるファイル特定テーブルのデータ構成を示す図である。
【図３】複合機１における処理を示すフローチャートである。
【図４】図３を参照しつつ説明したデバイスドライバ選択プログラム実行処理（ステップＳ１０６）における詳細な処理を示すフローチャートである。
【図５】ＩＤレジスタのデータ構成の一例を模式的に示す図である。
【図６】メモリ空間を模式的に示す図である。
【図７】情報処理装置としてのプリンタ装置２を示す図である。
【図８】異なるリビジョンのＡＳＩＣを搭載した複合機１を示す図である。
【図９】図８に示す新たな製品に対するファイル特定テーブルのデータ構成を模式的に示す図である。
【図１０】新たな製品である複合機１におけるメモリ空間を模式的に示す図である。
【図１１】第２の実施の形態にかかるデバイスドライバ選択プログラム実行処理（ステップＳ１０６）における詳細な処理を示すフローチャートである。
【符号の説明】
【００６１】
１  複合機
２  プリンタ装置
１０  ＣＰＵ
１１  ＲＯＭ
１２  ＲＡＭ
１３  チップセット
１４  スキャナ
１５  ＡＳＩＣａ
１６  プロッタ
１７  ＡＳＩＣｂ
【図１】
2007299036.tif 000003
【図２】
2007299036.tif 000004
【図３】
2007299036.tif 000005
【図４】
2007299036.tif 000006
【図５】
2007299036.tif 000007
【図６】
2007299036.tif 000008
【図７】
2007299036.tif 000009
【図８】
2007299036.tif 000010
【図９】
2007299036.tif 000011
【図１０】
2007299036.tif 000012
【図１１】
2007299036.tif 000013