(57)【要約】【課題】エンドポイントを削減でき、使い勝手が悪化したり適切な制御ができなくなったりすることのない複合機と、その複合機を制御するためのデバイス制御システムの提供。【解決手段】複合機１１は、ＰＣのＯＳには複数ＬＵＮを持つＵＳＢストレージデバイスとして認識される。ＰＣからＬＵＮ０〜３に対応する論理ユニットに対してデータを伝送すると、単一のデータ伝送用エンドポイントを介してデータが伝送され、そのデータはＳＣＳＩコマンド解析タスク１１１によってＬＵＮ０〜３のいずれかに振り分けられる。ＬＵＮ０〜３に振り分けられたデータは、それぞれメモリスロット入出力制御タスク１２１、プリンタ入出力タスク１５１、スキャナ入出力タスク１５３、ＰＣ−ＦＡＸ入出力タスク１５５のいずれかへ振り分けられる。その結果、プリンタ機能、スキャナ機能、ＰＣ−ＦＡＸ機能のいずれかが機能する。【選択図】図２
2008242974.tif 000002
【特許請求の範囲】
【請求項１】
プリンタ機能、スキャナ機能、ＦＡＸ機能、およびデータストレージ機能の中から選ばれる複数種の機能を備え、コンピュータとはＵＳＢ（Universal Serial Bus）インターフェースを介して接続可能な複合機であって、
前記コンピュータとの接続を確立する際に、ＵＳＢ規格で規定された複数のＬＵＮ（Logical Unit Number）を持つＵＳＢストレージクラスのデバイスであると、前記コンピュ
ータが備えるＯＳ（Operating System）に認識させるための情報を出力するデバイス情報出力手段と、
前記コンピュータからの出力データが伝送されてきた場合に、前記出力データ中に含まれる前記ＬＵＮに基づいて、前記複数種の機能のいずれを制御するためのデータであるのかを判断して、前記複数種の機能のいずれかを制御する制御手段と
を備えることを特徴とする複合機。
【請求項２】
前記デバイス情報出力手段は、前記複数のＬＵＮそれぞれに対応付けられた機能を、前記コンピュータが備えるＯＳに認識させるための情報を出力可能で、前記プリンタ機能を有する場合にはＳＣＳＩ規格で規定されたプリンタ・デバイスである旨の情報を出力し、前記スキャナ機能を有する場合にはＳＣＳＩ規格で規定されたスキャナ・デバイスである旨の情報を出力し、前記ＦＡＸ機能を有する場合にはＳＣＳＩ規格で規定されたコミュニケーション・デバイスである旨の情報を出力し、前記データストレージ機能を有する場合にはＳＣＳＩ規格で規定されたリムーバブルＨＤである旨の情報を出力する
ことを特徴とする請求項１に記載の複合機。
【請求項３】
前記デバイス情報出力手段は、前記複数のＬＵＮそれぞれに対応付けられた機能を、前記コンピュータが備えるＯＳに認識させるための情報を出力可能で、前記プリンタ機能、前記スキャナ機能、および前記ＦＡＸ機能のいずれかを有する場合には、いずれの場合ともＳＣＳＩ規格で規定されたコミュニケーション・デバイスである旨の情報を出力し、前記データストレージ機能を有する場合にはＳＣＳＩ規格で規定されたリムーバブルＨＤである旨の情報を出力する
ことを特徴とする請求項１に記載の複合機。
【請求項４】
コンピュータと、プリンタ機能、スキャナ機能、ＦＡＸ機能、およびデータストレージ機能の中から選ばれる複数種の機能を備えた複合機とを、ＵＳＢインターフェースを介して接続してなるデバイス制御システムであって、
前記複合機は、
前記コンピュータとの接続を確立する際に、ＵＳＢ規格で規定された複数のＬＵＮを持つＵＳＢストレージクラスのデバイスであると、前記コンピュータが備えるＯＳに認識させるための情報を出力するデバイス情報出力手段と、
前記コンピュータからの出力データが伝送されてきた場合に、前記出力データ中に含まれる前記ＬＵＮに基づいて、前記複数種の機能のいずれを制御するためのデータであるのかを判断して、前記複数種の機能のいずれかを制御するデバイス側制御手段と
を備え、
前記コンピュータは、
前記コンピュータ上で機能するデータ処理部からの指令に従って、前記複数種の機能のいずれかを制御するために前記コンピュータからの出力データを前記複合機に伝送する場合に、制御対象となる機能に対応するＬＵＮを含む前記出力データを前記複合機へと伝送するコンピュータ側制御手段
を備えることを特徴とするデバイス制御システム。
【請求項５】
前記複合機が備える前記デバイス情報出力手段は、前記複数のＬＵＮそれぞれに対応付
けられた機能を、前記コンピュータが備えるＯＳに認識させるための情報を出力可能で、前記プリンタ機能を有する場合にはＳＣＳＩ規格で規定されたプリンタ・デバイスである旨の情報を出力し、前記スキャナ機能を有する場合にはＳＣＳＩ規格で規定されたスキャナ・デバイスである旨の情報を出力し、前記ＦＡＸ機能を有する場合にはＳＣＳＩ規格で規定されたコミュニケーション・デバイスである旨の情報を出力し、前記データストレージ機能を有する場合にはＳＣＳＩ規格で規定されたリムーバブルＨＤである旨の情報を出力し、
前記コンピュータが備える前記コンピュータ側制御手段は、前記複合機から伝送されてきた情報に基づいて、プリンタ・デバイスに対応するＳＣＳＩ規格に準拠したプリンタドライバ、スキャナ・デバイスに対応するＳＣＳＩ規格に準拠したスキャナドライバ、コミュニケーション・デバイスに対応するＳＣＳＩ規格に準拠したＣＯＭポートドライバ、リムーバブルＨＤに対応するＳＣＳＩ規格に準拠したリムーバブルディスクドライバの内、前記複合機から伝達された機能に応じたデバイスドライバをロードする
ことを特徴とする請求項４に記載のデバイス制御システム。
【請求項６】
前記複合機が備える前記デバイス情報出力手段は、前記複数のＬＵＮそれぞれに対応付けられた機能を、前記コンピュータが備えるＯＳに認識させるための情報を出力可能で、前記プリンタ機能、前記スキャナ機能、および前記ＦＡＸ機能のいずれかを有する場合には、いずれの場合ともＳＣＳＩ規格で規定されたコミュニケーション・デバイスである旨の情報を出力し、前記データストレージ機能を有する場合にはＳＣＳＩ規格で規定されたリムーバブルＨＤである旨の情報を出力し、
前記コンピュータが備える前記コンピュータ側制御手段は、前記複合機から伝送されてきた情報に基づいて、プリンタ・デバイス、スキャナ・デバイス、およびコミュニケーション・デバイスに対応するＳＣＳＩ規格に準拠したＣＯＭポートドライバ、リムーバブルＨＤに対応するＳＣＳＩ規格に準拠したリムーバブルディスクドライバの内、伝達された機能に応じたデバイスドライバをロードし、さらに、プリンタ・デバイスに対応するＣＯＭポートドライバをロードした場合には、当該ＣＯＭポートドライバを介してプリンタ・デバイスを制御可能なプリンタドライバをロードし、スキャナ・デバイスに対応するＣＯＭポートドライバをロードした場合には、当該ＣＯＭポートドライバを介してスキャナ・デバイスを制御可能なスキャナドライバをロードする
ことを特徴とする請求項４に記載のデバイス制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複合機、およびデバイス制御システムに関する。
【背景技術】
【０００２】
従来、ＵＳＢ（Universal Serial Bus）インターフェースを介して接続可能な複合機（ＭＦＰ；multifunction peripheral）は、既に実用化されている。また、この種の複合機における代表的な構成として、複数ある機能毎にデータ転送用のエンドポイントが用意されているものが知られている。
【０００３】
しかし、複数ある機能毎にエンドポイントを用意すると、多機能になるほどエンドポイント数の多い高価なハードウェアが必要になるため、複合機の製造コストが増大し、低価格な複合機を提供することが困難になる、という問題がある。
【０００４】
こうした問題に対し、下記特許文献１，２においては、複合機に実装されるエンドポイントの数を削減するための技術が提案されている（例えば、特許文献１，２参照。）。
例えば、特許文献１に記載の技術の場合、擬似的に、ある機能を備えたデバイスとの接続断、および別の機能を備えたデバイスとの接続が行われたものと、ホスト装置に認識させることで、同一エンドポイントを介して複数の機能を選択的に利用可能としている。
【０００５】
また、特許文献２に記載の技術の場合、データ転送用のエンドポイントとは別に用意される制御用のエンドポイントを利用してデータ転送をも実施することで、データ転送用のエンドポイントを削減している。
【特許文献１】特開２００１−２２２５０３号公報
【特許文献２】特開２００５−１７５９３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１に記載の技術では、複合機が備える様々な機能を利用するたびに、ホスト装置側においてデバイスドライバの切り替え（使用しないドライバの無効化、および使用するドライバのロード・有効化等）が発生する。そのため、デバイスドライバの切り替えに相応の時間を要し、また、２つの機能を同時に利用することはできない、という問題がある。
【０００７】
また、上記特許文献１に記載の技術では、複合機のある機能が作動中の場合、その作動が確実に完了するまでは別の機能に切り替えることができないので、どのようなタイミングで切替制御を行うべきか、その判断は容易ではない、という問題もある。
【０００８】
さらに、上記特許文献２に記載の技術では、制御用のエンドポイントがデータ転送に利用されてしまうため、大量にデータが転送されるような状況下では、データ転送に邪魔されて必要な制御を迅速に実施できない状態に陥るおそれがあった。
【０００９】
つまり、上記特許文献１，２に記載の技術によって、エンドポイントを削減することはできても、その結果として、複合機の使い勝手が悪くなったり、適切な制御ができなくなったりするおそれがあった。
【００１０】
本発明は、上記問題を解決するためになされたものであり、その目的は、エンドポイン
トを削減することができ、しかも、使い勝手が悪化したり適切な制御ができなくなったりすることのない複合機と、そのような複合機を制御するためのデバイス制御システムを提供することにある。
【課題を解決するための手段】
【００１１】
以下、本発明において採用した構成について説明する。
請求項１に記載の複合機は、プリンタ機能、スキャナ機能、ＦＡＸ機能、およびデータストレージ機能の中から選ばれる複数種の機能を備え、コンピュータとはＵＳＢインターフェースを介して接続可能な複合機であって、前記コンピュータとの接続を確立する際に、ＵＳＢ規格で規定された複数のＬＵＮを持つＵＳＢストレージクラスのデバイスであると、前記コンピュータが備えるＯＳに認識させるための情報を出力するデバイス情報出力手段と、前記コンピュータからの出力データが伝送されてきた場合に、前記出力データ中に含まれる前記ＬＵＮに基づいて、前記複数種の機能のいずれを制御するためのデータであるのかを判断して、前記複数種の機能のいずれかを制御する制御手段とを備えることを特徴とする。
【００１２】
このように構成された複合機であれば、コンピュータが備えるＯＳには、複数のＬＵＮを持つＵＳＢストレージクラスのデバイスであると認識させることができ、これにより、コンピュータ側では、複合機のために単一のＵＳＢストレージドライバが用意される。その結果、コンピュータ−複合機間では、ＵＳＢ規格の通信プロトコルに則ってデータ伝送ができる状態になる。
【００１３】
ＵＳＢ規格の通信プロトコルに則って、コンピュータからの出力データ（パケット群）が複合機へ伝送された場合、そのデータ中には、上記複数のＬＵＮのいずれかを指定する情報が含まれている。
【００１４】
そこで、複合機が備える制御手段は、出力データ中に含まれるＬＵＮに基づいて、複数種の機能のいずれを制御するためのデータであるのかを判断して、複数種の機能のいずれかを制御する。また、複数種の機能のいずれかを制御した結果、必要があれば、コンピュータへの入力データを複合機からコンピュータへ伝送する。
【００１５】
このような方式でデータ伝送を行うに当たって、複合機側では、複数のＬＵＮすべてに対応する入力用および出力用のエンドポイントを１つずつ用意すればよい。これは、複数のＬＵＮを持つＵＳＢストレージクラスのデバイスの場合、ＵＳＢ規格上、単一の入力用エンドポイントと単一の出力用エンドポイントを共用するかたちで、複数の論理的な通信路が構成されるからである。
【００１６】
したがって、上記複合機によれば、１つの機能毎にそれぞれに対応する入力用および出力用のエンドポイントが１つずつ用意されるＵＳＢ複合デバイスとは異なり、個々の機能毎に入力用および出力用のエンドポイントを１つずつ用意しなくてもよくなるので、その分だけエンドポイント数を削減することができる。
【００１７】
また、複数の機能を利用するに当たって、あるＵＳＢデバイスとの接続を断って、別のＵＳＢデバイスとの接続を確立するといった状況を擬似的に作り出す必要はない。したがって、コンピュータ側で、デバイスドライバの切り替えに時間を要するといった問題はなく、複数の機能を同時に利用することもできる。
【００１８】
さらに、制御用のエンドポイントがデータ転送に利用される構成にはなっていないので、大量にデータが転送されるような状況下でも、データ転送に邪魔されることなく、必要
な制御を迅速に実施できるものとなる。
【００１９】
次に、請求項２に記載の複合機は、請求項１に記載の複合機において、前記デバイス情報出力手段は、前記複数のＬＵＮそれぞれに対応付けられた機能を、前記コンピュータが備えるＯＳに認識させるための情報を出力可能で、前記プリンタ機能を有する場合にはＳＣＳＩ規格で規定されたプリンタ・デバイスである旨の情報を出力し、前記スキャナ機能を有する場合にはＳＣＳＩ規格で規定されたスキャナ・デバイスである旨の情報を出力し、前記ＦＡＸ機能を有する場合にはＳＣＳＩ規格で規定されたコミュニケーション・デバイスである旨の情報を出力し、前記データストレージ機能を有する場合にはＳＣＳＩ規格で規定されたリムーバブルＨＤである旨の情報を出力することを特徴とする。
【００２０】
このように構成された複合機によれば、複数のＬＵＮそれぞれに対応付けられた機能をコンピュータに伝達できるので、コンピュータが備えるＯＳに、プリンタ・デバイスに対応するＳＣＳＩ規格に準拠したプリンタドライバ、スキャナ・デバイスに対応するＳＣＳＩ規格に準拠したスキャナドライバ、コミュニケーション・デバイスに対応するＳＣＳＩ規格に準拠したＣＯＭポートドライバ、リムーバブルＨＤに対応するＳＣＳＩ規格に準拠したリムーバブルディスクドライバの内、伝達された機能に応じたデバイスドライバをロードさせることができる。
【００２１】
次に、請求項３に記載の複合機は、請求項１に記載の複合機において、前記デバイス情報出力手段は、前記複数のＬＵＮそれぞれに対応付けられた機能を、前記コンピュータが備えるＯＳに認識させるための情報を出力可能で、前記プリンタ機能、前記スキャナ機能、および前記ＦＡＸ機能のいずれかを有する場合には、いずれの場合ともＳＣＳＩ規格で規定されたコミュニケーション・デバイスである旨の情報を出力し、前記データストレージ機能を有する場合にはＳＣＳＩ規格で規定されたリムーバブルＨＤである旨の情報を出力することを特徴とする。
【００２２】
このように構成された複合機によれば、複数のＬＵＮそれぞれに対応付けられた機能をコンピュータに伝達できるので、コンピュータが備えるＯＳに、プリンタ・デバイス、スキャナ・デバイス、およびコミュニケーション・デバイスに対応するＳＣＳＩ規格に準拠したＣＯＭポートドライバ、リムーバブルＨＤに対応するＳＣＳＩ規格に準拠したリムーバブルディスクドライバの内、伝達された機能に応じたデバイスドライバをロードさせることができる。
【００２３】
したがって、コンピュータ側では、プリンタ・デバイス、スキャナ・デバイス、およびコミュニケーション・デバイスについては、ＳＣＳＩ規格に準拠したＣＯＭポートドライバを共用できるので、ＳＣＳＩ規格に準拠したプリンタドライバやＳＣＳＩ規格に準拠したスキャナドライバを使用する代わりに、ＣＯＭポートドライバを介してプリンタ・デバイスやスキャナ・デバイスを制御可能なプリンタドライバやスキャナドライバを使用できるようになる。その結果、プリンタドライバやスキャナドライバについては、ＳＣＳＩ規格による制約を受けないデバイスドライバを利用することも可能となる。
【００２４】
次に、請求項４に記載のデバイス制御システムは、コンピュータと、プリンタ機能、スキャナ機能、ＦＡＸ機能、およびデータストレージ機能の中から選ばれる複数種の機能を備えた複合機とを、ＵＳＢインターフェースを介して接続してなるデバイス制御システムであって、前記複合機は、前記コンピュータとの接続を確立する際に、ＵＳＢ規格で規定された複数のＬＵＮを持つＵＳＢストレージクラスのデバイスであると、前記コンピュータが備えるＯＳに認識させるための情報を出力するデバイス情報出力手段と、前記コンピュータからの出力データが伝送されてきた場合に、前記出力データ中に含まれる前記ＬＵＮに基づいて、前記複数種の機能のいずれを制御するためのデータであるのかを判断して
、前記複数種の機能のいずれかを制御するデバイス側制御手段とを備え、前記コンピュータは、前記コンピュータ上で機能するデータ処理部からの指令に従って、前記複数種の機能のいずれかを制御するために前記コンピュータからの出力データを前記複合機に伝送する場合に、制御対象となる機能に対応するＬＵＮを含む前記出力データを前記複合機へと伝送するコンピュータ側制御手段を備えることを特徴とする。
【００２５】
このように構成されたデバイス制御システムによれば、複合機側では、複数のＬＵＮすべてに対応する入力用および出力用のエンドポイントを１つずつ用意するだけで、ＵＳＢ規格の通信プロトコルに則って、コンピュータと複合機との間で相互にデータ伝送を行うことができ、このデータ伝送により、コンピュータから複数種の機能を制御できる。
【００２６】
したがって、１つの機能毎にそれぞれに対応する入力用および出力用のエンドポイントが１つずつ用意されるＵＳＢ複合デバイスとは異なり、個々の機能毎に入力用および出力用のエンドポイントを１つずつ用意しなくてもよくなるので、その分だけエンドポイント数を削減することができる。
【００２７】
また、複数の機能を利用するに当たって、あるＵＳＢデバイスとの接続を断って、別のＵＳＢデバイスとの接続を確立するといった状況を擬似的に作り出す必要はない。したがって、コンピュータ側で、デバイスドライバの切り替えに時間を要するといった問題はなく、複数の機能を同時に利用することもできる。
【００２８】
さらに、制御用のエンドポイントがデータ転送に利用される構成にはなっていないので、大量にデータが転送されるような状況下でも、データ転送に邪魔されることなく、必要な制御を迅速に実施できるものとなる。
【００２９】
次に、請求項５に記載のデバイス制御システムは、請求項４に記載のデバイス制御システムにおいて、前記複合機が備える前記デバイス情報出力手段は、前記複数のＬＵＮそれぞれに対応付けられた機能を、前記コンピュータが備えるＯＳに認識させるための情報を出力可能で、前記プリンタ機能を有する場合にはＳＣＳＩ規格で規定されたプリンタ・デバイスである旨の情報を出力し、前記スキャナ機能を有する場合にはＳＣＳＩ規格で規定されたスキャナ・デバイスである旨の情報を出力し、前記ＦＡＸ機能を有する場合にはＳＣＳＩ規格で規定されたコミュニケーション・デバイスである旨の情報を出力し、前記データストレージ機能を有する場合にはＳＣＳＩ規格で規定されたリムーバブルＨＤである旨の情報を出力し、前記コンピュータが備える前記コンピュータ側制御手段は、前記複合機から伝送されてきた情報に基づいて、プリンタ・デバイスに対応するＳＣＳＩ規格に準拠したプリンタドライバ、スキャナ・デバイスに対応するＳＣＳＩ規格に準拠したスキャナドライバ、コミュニケーション・デバイスに対応するＳＣＳＩ規格に準拠したＣＯＭポートドライバ、リムーバブルＨＤに対応するＳＣＳＩ規格に準拠したリムーバブルディスクドライバの内、前記複合機から伝達された機能に応じたデバイスドライバをロードすることを特徴とする。
【００３０】
このように構成されたデバイス制御システムによれば、複数のＬＵＮそれぞれに対応付けられた機能をコンピュータに伝達できるので、コンピュータが備えるＯＳに、プリンタ・デバイスに対応するＳＣＳＩ規格に準拠したプリンタドライバ、スキャナ・デバイスに対応するＳＣＳＩ規格に準拠したスキャナドライバ、コミュニケーション・デバイスに対応するＳＣＳＩ規格に準拠したＣＯＭポートドライバ、リムーバブルＨＤに対応するＳＣＳＩ規格に準拠したリムーバブルディスクドライバの内、伝達された機能に応じたデバイスドライバをロードさせることができる。
【００３１】
次に、請求項６に記載のデバイス制御システムは、請求項４に記載のデバイス制御シス
テムにおいて、前記複合機が備える前記デバイス情報出力手段は、前記複数のＬＵＮそれぞれに対応付けられた機能を、前記コンピュータが備えるＯＳに認識させるための情報を出力可能で、前記プリンタ機能、前記スキャナ機能、および前記ＦＡＸ機能のいずれかを有する場合には、いずれの場合ともＳＣＳＩ規格で規定されたコミュニケーション・デバイスである旨の情報を出力し、前記データストレージ機能を有する場合にはＳＣＳＩ規格で規定されたリムーバブルＨＤである旨の情報を出力し、前記コンピュータが備える前記コンピュータ側制御手段は、前記複合機から伝送されてきた情報に基づいて、プリンタ・デバイス、スキャナ・デバイス、およびコミュニケーション・デバイスに対応するＳＣＳＩ規格に準拠したＣＯＭポートドライバ、リムーバブルＨＤに対応するＳＣＳＩ規格に準拠したリムーバブルディスクドライバの内、伝達された機能に応じたデバイスドライバをロードし、さらに、プリンタ・デバイスに対応するＣＯＭポートドライバをロードした場合には、当該ＣＯＭポートドライバを介してプリンタ・デバイスを制御可能なプリンタドライバをロードし、スキャナ・デバイスに対応するＣＯＭポートドライバをロードした場合には、当該ＣＯＭポートドライバを介してスキャナ・デバイスを制御可能なスキャナドライバをロードすることを特徴とする。
【００３２】
このように構成されたデバイス制御システムによれば、複数のＬＵＮそれぞれに対応付けられた機能をコンピュータに伝達できるので、コンピュータが備えるＯＳに、プリンタ・デバイス、スキャナ・デバイス、およびコミュニケーション・デバイスに対応するＳＣＳＩ規格に準拠したＣＯＭポートドライバ、リムーバブルＨＤに対応するＳＣＳＩ規格に準拠したリムーバブルディスクドライバの内、伝達された機能に応じたデバイスドライバをロードさせることができる。
【００３３】
したがって、コンピュータ側では、プリンタ・デバイス、スキャナ・デバイス、およびコミュニケーション・デバイスについては、ＳＣＳＩ規格に準拠したＣＯＭポートドライバを共用できるので、ＳＣＳＩ規格に準拠したプリンタドライバやＳＣＳＩ規格に準拠したスキャナドライバを使用する代わりに、ＣＯＭポートドライバを介してプリンタ・デバイスやスキャナ・デバイスを制御可能なプリンタドライバやスキャナドライバを使用できるようになる。その結果、プリンタドライバやスキャナドライバについては、ＳＣＳＩ規格による制約を受けないデバイスドライバを利用することも可能となる。
【発明を実施するための最良の形態】
【００３４】
次に、本発明の実施形態について、より具体的な例を挙げて説明する。
（１）第１実施形態
［デバイス制御システムの構成］
図１は、本発明の一例として例示するデバイス制御システム全体のブロック図である。
【００３５】
このデバイス制御システムは、複合機１１およびＰＣ（Personal Computer）１２を備
えてなる。複合機１１およびＰＣ１２は、双方ともＵＳＢインターフェースを有するもので、ＵＳＢ−ＨＵＢ１３を介して接続されて相互間でデータ伝送ができるようになっている。また、ＵＳＢ−ＨＵＢ１３には、他のＵＳＢデバイス１４なども接続されている。
【００３６】
本実施形態において、複合機１１は、プリンタ機能、スキャナ機能、ＰＣ−ＦＡＸ機能、カードリーダ機能（本発明でいうデータストレージ機能の一種）などを備える多機能デバイスで、これらの機能をＰＣ１２から制御できるようになっている。
【００３７】
［複合機の内部構成］
図２は、複合機１１の内部構成を示すブロック図である。
複合機１１は、ＵＳＢインターフェースを構成するためのハードウェアとして、ＵＳＢ
プロトコルエンジン１０１、制御回路１０３、およびカードリーダ系データ入出力回路１０５などを備えている。ＰＣ１２との間でデータ伝送を行う際には、上記ＵＳＢプロトコルエンジン１０１による制御下で、ＵＳＢ規格の通信プロトコルにてデータが伝送される。
【００３８】
これらのハードウェアは、エンドポイントを介してＰＣ１２との間でデータを伝送するように構成されている。具体的には、制御回路１０３は、コントロール転送用のエンドポイント（以下、ＥＰ０と称する。）を介して、ＰＣ１２との間で各種制御データの入出力（双方向通信）を行う。
【００３９】
また、カードリーダ系データ入出力回路１０５は、入力データ用のエンドポイント（以下、ＥＰ１と称する。）を介して、ＰＣ１２への入力データを伝送する。また、カードリーダ系データ入出力回路１０５は、出力データ用のエンドポイント（以下、ＥＰ２と称する。）を介して、ＰＣ１２から伝送されてくる出力データを取得する。
【００４０】
また、複合機１１は、複合機１１内で機能するソフトウェアの１つとして、ＳＣＳＩコマンド解析タスク１１１を備えている。
カードリーダ系データ入出力回路１０５からＳＣＳＩコマンド解析タスク１１１へデータが伝送されてきた場合、ＳＣＳＩコマンド解析タスク１１１は、データ中に含まれる情報（ＵＳＢ規格で規定されたデータ列中に存在するＬＵＮ）に基づいて、４系統あるデータ処理系のいずれか（ＬＵＮ０〜ＬＵＮ３のいずれかに対応するデータ処理系）へデータを振り分ける。
【００４１】
また、４系統あるデータ処理系のいずれか（ＬＵＮ０〜ＬＵＮ３のいずれかに対応するデータ処理系）からＳＣＳＩコマンド解析タスク１１１へデータが伝送されてきた場合、ＳＣＳＩコマンド解析タスク１１１は、そのデータをカードリーダ系データ入出力回路１０５へ伝送する。
【００４２】
ＳＣＳＩコマンド解析タスク１１１が、上記４系統あるデータ処理系の内、ＬＵＮ０側へデータを振り分けた場合、そのデータはメモリスロット入出力制御タスク１２１へと伝送される。メモリスロット入出力制御タスク１２１は、第１メモリスロット１３１、第２メモリスロット１３２、第３メモリスロット１３３、および第４メモリスロット１３４を制御するためのソフトウェアである。
【００４３】
第１メモリスロット１３１、第２メモリスロット１３２、第３メモリスロット１３３、第４メモリスロット１３４は、いずれもメモリカードがマウントされるスロットで、それぞれが他のスロットとは異なる規格のメモリカードをマウントできる構造になっている。
【００４４】
なお、本実施形態において、第１メモリスロット１３１、第２メモリスロット１３２、第３メモリスロット１３３、および第４メモリスロット１３４は、それぞれが排他的に利用可能となるものである。例えば、第１メモリスロット１３１にメモリカードがマウントされた場合、そのメモリカードがアンマウントされるまで、他のスロットは利用不能となる。
【００４５】
また、ＳＣＳＩコマンド解析タスク１１１が、上記４系統あるデータ処理系の内、ＬＵＮ１側へデータを振り分けた場合、そのデータはプリンタ入出力タスク１５１へと伝送される。プリンタ入出力タスク１５１へ伝送されたデータは、さらに印字制御タスク１６１へと伝送されて、印字制御タスク１６１によってプリンタハードウェア１７１が制御される。
【００４６】
また、ＳＣＳＩコマンド解析タスク１１１が、上記４系統あるデータ処理系の内、ＬＵＮ２側へデータを振り分けた場合、そのデータはスキャナ入出力タスク１５３へと伝送される。スキャナ入出力タスク１５３へ伝送されたデータは、さらにスキャナ制御タスク１６３へと伝送されて、スキャナ制御タスク１６３によってスキャナハードウェア１７３が制御される。
【００４７】
また、ＳＣＳＩコマンド解析タスク１１１が、上記４系統あるデータ処理系の内、ＬＵＮ３側へデータを振り分けた場合、そのデータはＰＣ−ＦＡＸ入出力タスク１５５へと伝送される。ＰＣ−ＦＡＸ入出力タスク１５５へ伝送されたデータは、さらにモデム制御タスク１６５へと伝送されて、モデム制御タスク１６５によってモデムハードウェア１７５が制御される。
【００４８】
［ＰＣの内部構成］
図３は、ＰＣ１２の内部構成を示すブロック図である。
ＰＣ１２においては、ＯＳによる標準機能として、ＵＳＢプロトコルスタック２０１、ＵＳＢストレージドライバ２０３、ＳＣＳＩコマンド処理部２１１、２１３、２１５、２１７、リムーバブルディスクドライバ２２１、ファイルシステム２３１などが機能する。
【００４９】
また、ＰＣ１２においては、複合機１１に対応する専用ソフトウェアとして、プリントポートドライバ２２３、スキャナドライバ２２５（本発明でいうデバイスドライバの一例に相当）、ＣＯＭポートドライバ２２７（本発明でいうデバイスドライバの一例に相当）、プリンタドライバ２６１（本発明でいうデバイスドライバの一例に相当）などが機能する。
【００５０】
さらに、ＰＣ１２においては、これらの機能を利用するアプリケーションソフトウェアとして、印刷可能アプリケーション２７１、スキャン可能アプリケーション２７３、ＰＣ−ＦＡＸアプリケーション２７５などが機能する。
【００５１】
加えて、本実施形態において、ＰＣ１２が備えるＯＳとしては、Ｗｉｎｄｏｗｓ（登録商標）が利用されており、ＰＣ１２においては、Ｗｉｎｄｏｗｓ（登録商標）付属のソフトウェアであるエクスプローラ２７７なども機能する。ただし、ＰＣ１２が備えるＯＳは、同等な機能を実現できるものであれば、Ｗｉｎｄｏｗｓ（登録商標）以外のＯＳであってもよい。
【００５２】
なお、ＰＣ１２においては、他のＵＳＢデバイス１４に対応する他のＵＳＢデバイスのドライバ２８１なども機能する。
これらの内、ＵＳＢプロトコルスタック２０１は、ＰＣ１２の起動に伴って機能し、その後は、図４に示すように、ＰＣ１２にＵＳＢデバイスが接続されたかどうかを定期的に監視する。
【００５３】
ここで、複合機１１がＰＣ１２に接続された場合は、複合機１１からの応答がＰＣ１２に返されるので、ＵＳＢプロトコルスタック２０１は、複合機１１に対してデバイスタイプについての応答を要求する。この要求に対し、複合機１１はＵＳＢストレージクラスである旨の応答を返すので、ＰＣ１２では、ＵＳＢストレージドライバ２０３がロードされ、その結果、ＵＳＢストレージドライバ２０３が機能する状態に移行する。
【００５４】
ＵＳＢストレージドライバ２０３が機能すると、ＵＳＢストレージドライバ２０３は、
複合機１１に対して最大ＬＵＮを要求する。この要求に対し、複合機１１は最大ＬＵＮ（本実施形態の場合はＬＵＮ３）を返すので、ＰＣ１２では、ＬＵＮ０〜ＬＵＮ３に対応する４つの論理ユニットが存在することを認識し、各論理ユニットに対応するＳＣＳＩコマンド処理部２１１、２１３、２１５、２１７が作られる。これらＳＣＳＩコマンド処理部２１１〜２１７は、ＵＳＢストレージドライバ２０３経由で複合機へＳＣＳＩコマンドを伝送するための入口である。
【００５５】
ＳＣＳＩコマンド処理部２１１が作られると、ＳＣＳＩコマンド処理部２１１は、ＬＵＮ０の論理ユニットに対してＳＣＳＩコマンドの“Ｉｎｑｕｉｒｙ”を発行する。これに対し、複合機１１からはリムーバブルＨＤである旨の応答が返されるので、ＰＣ１２では、リムーバブルディスクドライバ２２１がロードされる。
【００５６】
これにより、ＬＵＮ０の論理ユニットがファイルシステム２３１と結合し、その結果、ＬＵＮ０の論理ユニットに対応するドライブレターが割り当てられる。以降、そのドライブレターを指定すれば、ＬＵＮ０の論理ユニットに対するアクセスを行うことができる状態になる。なお、複合機１１において、ＬＵＮ０に対応する論理ユニットは、メモリスロット入出力制御タスク１２１の制御下にある構成である。
【００５７】
また、ＳＣＳＩコマンド処理部２１３〜２１７も、上記ＳＣＳＩコマンド処理部２１１と同様な処理を実行する。具体的には、ＳＣＳＩコマンド処理部２１３は、ＬＵＮ１の論理ユニットに対してＳＣＳＩコマンドの“Ｉｎｑｕｉｒｙ”を発行する。これに対し、複合機１１からはプリンタである旨の応答が返されるので、ＰＣ１２では、プリントポートドライバ２２３がロードされる。
【００５８】
プリントポートドライバ２２３は、実際に印刷が実行される際に、プリンタドライバ２６１と結合し、これにより、ＰＣ１２から複合機１１への印刷データの伝送系が構成されることになる。なお、複合機１１において、ＬＵＮ１に対応する論理ユニットは、プリンタ入出力タスク１５１の制御下にある構成である。
【００５９】
以下同様に、ＳＣＳＩコマンド処理部２１５は、ＬＵＮ２の論理ユニットに対してＳＣＳＩコマンドの“Ｉｎｑｕｉｒｙ”を発行する。これに対し、複合機１１からはスキャナである旨の応答が返されるので、ＰＣ１２では、スキャナドライバ２２５がロードされる。複合機１１において、ＬＵＮ２に対応する論理ユニットは、スキャナ入出力タスク１５３の制御下にある構成である。
【００６０】
また、ＳＣＳＩコマンド処理部２１７は、ＬＵＮ３の論理ユニットに対してＳＣＳＩコマンドの“Ｉｎｑｕｉｒｙ”を発行する。これに対し、複合機１１からはコミュニケーションデバイスである旨の応答が返されるので、ＰＣ１２では、ＣＯＭポートドライバ２２７がロードされる。複合機１１において、ＬＵＮ３に対応する論理ユニットは、ＰＣ−ＦＡＸ入出力タスク１５５の制御下にある構成である。
【００６１】
以上のような手順で各ドライバ類等がロードされた後、各デバイスドライバは、ＳＣＳＩコマンド処理部２１３〜２１７経由で、各論理ユニットとＳＣＳＩ規格に準拠した方式でデータ伝送を実施できる状態になる。
【００６２】
これは、複数ＬＵＮを持つＵＳＢストレージクラスのデバイスの場合、各論理ユニットとの間では、ＳＣＳＩ規格に準拠した方式でデータ伝送を行うことが、ＵＳＢ規格上で規定されているためである。すなわち、複数ＬＵＮを持つＵＳＢストレージクラスのデバイスの場合、ＵＳＢ規格上、内部的にはＳＣＳＩ規格に準拠した方式でデータ伝送が行われており、このようなデータ伝送方式がＵＳＢ規格に準拠した方式になるのである。
【００６３】
このような方式でデータを伝送する場合、各デバイスドライバと複合機１１内の論理ユニットは、互いにＳＣＳＩ規格に準拠した方式でデータ伝送を行うだけであり、両者間でＵＳＢ規格に準拠した通信プロトコルが利用されるか否かについては関知しない。
【００６４】
一方、ＰＣ１２のＯＳは、ＵＳＢ規格に準拠した通信プロトコル利用して、ＳＣＳＩ規格に準拠した方式でデータ伝送を行うための論理的な通信路は用意するものの、その論理的な通信路を介してどのような内容のデータが伝送されるのかについては関知しない。そのため、ＯＳが用意した通信路には、ＳＣＳＩ規格に準拠した方式のデータであれば、どのようなデータでも流すことができ、データストレージ系以外のデバイスに対応するデータであっても流すことができる。
【００６５】
このような通信路の特性を利用して、本実施形態においては、プリンタ機能、スキャナ機能、ＰＣ−ＦＡＸ機能、カードリーダ機能、以上４種の機能を持つ４つの論理ユニットそれぞれを対象にして、ＳＣＳＩ規格に準拠した方式でデータ伝送を行っている。
【００６６】
より具体的には、ＳＣＳＩコマンド処理部２１３〜２１７を介して複合機１１との間でデータ伝送を行うドライバ類（プリントポートドライバ２２３、スキャナドライバ２２５、ＣＯＭポートドライバ２２７）については、いずれもＳＣＳＩ規格に対応したドライバとされている。一方、複合機１１側の論理ユニットも、ＳＣＳＩ規格に準拠した方式での制御ができるように構成されている。
【００６７】
このような構成を採用することにより、各ドライバは、ＵＳＢ規格を意識することなく、ＳＣＳＩ規格に準拠した方式で各論理ユニットの機能（プリンタ機能、スキャナ機能、ＰＣ−ＦＡＸ機能、カードリーダ機能）を制御できるのである。また、各ドライバと論理ユニット間では、各種データを内部的にはＳＣＳＩ規格に準拠した方式で伝送でき、これにより、ＵＳＢ規格に準拠した方式でデータを伝送していることにもなるのである。
【００６８】
さらに、複数ＬＵＮを持つＵＳＢストレージクラスのデバイスの場合、各論理ユニットとの間でデータ伝送を行う際には、複合機１１側には、入力データ用のエンドポイントＥＰ１と、出力データ用のエンドポイントＥＰ２を、それぞれ１つずつ設ければよい。この点は、同じくＵＳＢ規格に準拠したデバイスであっても、ＵＳＢ複合デバイスとは大きく異なる点である。
【００６９】
すなわち、ＵＳＢ複合デバイスの場合は、ＵＳＢ規格上、入力データ用のエンドポイントと出力データ用のエンドポイントを、各機能毎にそれぞれ１つずつ設けなければならない。そのため、入力データ用のエンドポイントと出力データ用のエンドポイントの総数は「機能数×２」となる。これに対し、上記複合機１１のような構成であれば、入力データ用のエンドポイントと出力データ用のエンドポイントの総数は、機能数によらず「２」となるのである。
【００７０】
なお、ＰＣ１２において、以上のような手順で各ドライバ類等が用意された後は、ＬＵＮ０の論理ユニットに対応するドライブレターを利用すれば、第１メモリスロット１３１、第２メモリスロット１３２、第３メモリスロット１３３、および第４メモリスロット１３４の内、いずれかにマウントされたメモリカードにアクセスすることができる。
【００７１】
例えば、エクスプローラ２７７を利用して、第１メモリスロット１３１にマウントされたメモリカード内のファイルに対する操作が行われると、エクスプローラ２７７からの指令は、ファイルシステム２３１、リムーバブルディスクドライバ２２１、ＳＣＳＩコマンド処理部２１１、ＵＳＢストレージドライバ２０３、ＵＳＢプロトコルスタック２０１経
由で、複合機１１へと伝送される。
【００７２】
また、複合機１１からの応答は、ＵＳＢプロトコルスタック２０１、ＵＳＢストレージドライバ２０３、ＳＣＳＩコマンド処理部２１１、リムーバブルディスクドライバ２２１、ファイルシステム２３１経由で、エクスプローラ２７７へと戻される。
【００７３】
また、印刷可能アプリケーション２７１から出力される印刷データは、プリンタドライバ２６１経由で、プリントポートドライバ２２３へと伝送される。プリントポートドライバ２２３は、ＳＣＳＩ規格に準拠したプリンタデバイスへ印刷データを出力するためのコマンドを発行し、これにより、印刷データがＳＣＳＩコマンド処理部２１３へと伝送され、ＵＳＢストレージドライバ２０３、ＵＳＢプロトコルスタック２０１経由で、複合機１１へと伝送されることになる。
【００７４】
同様に、スキャン可能アプリケーション２７３から出力されるスキャナ制御データ等は、スキャナドライバ２２５、ＳＣＳＩコマンド処理部２１５、ＵＳＢストレージドライバ２０３、ＵＳＢプロトコルスタック２０１経由で、複合機１１へと伝送される。また、ＰＣ−ＦＡＸアプリケーション２７５から出力されるファクシミリ送信データや制御データ等は、ＣＯＭポートドライバ２２７、ＳＣＳＩコマンド処理部２１７、ＵＳＢストレージドライバ２０３、ＵＳＢプロトコルスタック２０１経由で、複合機１１へと伝送される。
【００７５】
また、上記のような各種データを伝送した結果、ＰＣ１２への入力データが複合機１１側から伝送されてくる場合がある。例えば、スキャナ制御データを複合機１１へ伝送した場合であれば、複合機１１においてスキャン機能が作動し、その結果、スキャンデータが複合機１１側から伝送されてくる。
【００７６】
このようなＰＣ１２への入力データは、例えばスキャンデータの場合、ＵＳＢプロトコルスタック２０１、ＵＳＢストレージドライバ２０３、ＳＣＳＩコマンド処理部２１５、スキャナドライバ２２５経由で、スキャン可能アプリケーション２７３へと伝送されることになる。
【００７７】
また、プリンタ機能についてのステータスデータ（例えば、印刷エラーに関する情報等）であれば、ＵＳＢプロトコルスタック２０１、ＵＳＢストレージドライバ２０３、ＳＣＳＩコマンド処理部２１３、プリントポートドライバ２２３、プリンタドライバ２６１経由で、印刷可能アプリケーション２７１へと伝送されることになる。
【００７８】
さらに、ＰＣ−ＦＡＸ機能によるファクシミリ受信データであれば、ＵＳＢプロトコルスタック２０１、ＵＳＢストレージドライバ２０３、ＳＣＳＩコマンド処理部２１７、ＣＯＭポートドライバ２２７経由で、ＰＣ−ＦＡＸアプリケーションへと伝送されることになる。
【００７９】
［複合機用ソフトウェアのインストール処理］
次に、上記のような複合機１１をＰＣ１２から利用可能とするため、ＰＣ１２において実行される複合機用ソフトウェアのインストール処理について、図５のフローチャートに基づいて説明する。
【００８０】
この処理を開始すると、ＰＣ１２は、図５に示すように、まずインストーラを起動する（Ｓ１０５）。このＳ１０５の処理は、利用者が所定の操作を行うと実行されるようになっていてもよいし、ＣＤ−ＲＯＭなどのメディアをＣＤ−ＲＯＭドライブなどにセットすると、それに連動して自動的に実行されるようになっていてもよい。
【００８１】
続いて、ＰＣ１２は、複合機用のプリンタドライバ、プリントポートドライバ、スキャナドライバ、ＣＯＭポートドライバをＯＳに登録する（Ｓ１１０）。Ｓ１１０の処理によってＯＳに登録される各ドライバは、いずれも複合機１１のメーカーから提供されるＳＣＳＩ接続用のソフトウェアである。Ｓ１１０の処理では、ＯＳの機能（後述するＰｎＰインストール機能）を利用して各ドライバのインストールを実施するために必要となる情報がＯＳに登録される。
【００８２】
そして、ＰＣ１２は、ＰＣ１２と複合機１１をＵＳＢ接続することを利用者に指示するためのメッセージを、ＰＣ１２の表示部に表示する（Ｓ１１０）。このメッセージを表示する際には、ＰＣ１２の表示部にキャンセルボタンも表示される。
【００８３】
上記メッセージの表示後、ＰＣ１２は、ＰＣ１２のＯＳの機能により、ＰｎＰインストールが開始されるのを監視する（Ｓ１２０）。そして、ＰｎＰインストールが開始されていない場合は（Ｓ１２０：開始されていない）、キャンセルボタンが押されたか否かを判断する（Ｓ１２５）。ここで、キャンセルボタンが押されていない場合は（Ｓ１２５：押されていない）、Ｓ１２０の処理へと戻る。
【００８４】
以上のようなＳ１２０〜Ｓ１２５の繰り返し処理が行われる中で、利用者はキャンセルボタンを押す操作（＝例えば、表示部に表示されたキャンセルボタンを、ポインティングデバイスでクリックする操作）を行うことができる。ここで、利用者がキャンセルボタンを押した場合（Ｓ１２５：押された）、ＰＣ１２は、一旦登録した複合機用ドライバ類をＯＳから登録解除して（Ｓ１３０）、インストールを中止する。
【００８５】
一方、Ｓ１２０〜Ｓ１２５の繰り返し処理が行われる中で、ＰｎＰインストールが開始された場合（Ｓ１２０：開始された）、ＰｎＰインストールが開始されたと言うことはＰＣ１２と複合機１１とがＵＳＢ接続されたはずなので、その場合、ドライバ類はＯＳのＰｎＰの仕組みにより自動的にインストールされることになる（Ｓ１３５）。
【００８６】
したがって、ＰＣ１２は、現在インストール中の画面に移る（Ｓ１４０）。この段階では、既にドライバ類の組み込みに必要な情報等が順次登録されてゆくことになるので、ＰＣ１２の表示部には、キャンセルボタン等は表示されず、キャンセル操作は不可となる。
【００８７】
そして、ＰｎＰインストールの完了を待ち（Ｓ１４５）、完了していない場合（Ｓ１４５：完了していない）、Ｓ１４５の処理へと戻る。一方、ＰｎＰインストールが完了した場合（Ｓ１４５：完了した）、ＰＣ１２は、ＰＣ−ＦＡＸアプリが使用するＣＯＭポートをＬＵＮ３のＣＯＭポートに設定する（Ｓ１５０）。
【００８８】
Ｓ１５０の処理では、ＣＯＭポートドライバ２２７のインストールに伴って、ＰＣ１２上に新たに出現したＣＯＭポートに対して、ＰＣ−ＦＡＸアプリケーション２７５を割り付ける処理が実行される。これにより、以降、ＰＣ−ＦＡＸアプリケーション２７５は、ＰＣ１２上にいくつか存在し得るＣＯＭポートの内、自身が使用すべきＣＯＭポートを認識できることになる。
【００８９】
そして、ＰＣ１２は、インストール完了の確認画面を表示する（Ｓ１５５）。この確認画面を表示する際には、ＰＣ１２の表示部にＯＫボタンも表示される。ここで、利用者はＯＫボタンを押す操作を行うことができ、利用者がＯＫボタンを押した場合、ＰＣ１２は、複合機用ソフトウェアのインストール処理を完了する。
【００９０】
［ＰＣの電源ＯＮから電源ＯＦＦに至るまでに実行される処理の一例］
次に、ＰＣの電源ＯＮから電源ＯＦＦに至るまでに実行される処理の一例について、図
６〜図８に基づいて説明する。なお、以下に説明する処理の一例は、複合機１１の電源スイッチがＯＮにされている状態で、ＰＣ１２の電源スイッチがＯＮにされた場合の例である。
【００９１】
ＰＣ１２の電源スイッチがＯＮにされた場合、ＰＣ１２は、図６に示すように、まず、ＯＳをロードし（Ｓ３０５）、続いて、スタティックドライバをロードする（Ｓ３１０）。Ｓ３１０の処理は、詳しくは図７に示す処理となる。
【００９２】
すなわち、ＰＣ１２では、図７に示すように、まず、ＯＳがレジストリ設定を参照して、スタティックドライバを順次ロードする（Ｓ４０５）。そして、本発明の構成に関連する処理としては、プリンタドライバをロードし（Ｓ４１０）、プリントポートドライバをロードし（Ｓ４１５）、スキャナドライバをロードして（Ｓ４２０）、図７に示す処理を終了する。
【００９３】
図７に示す処理を終了すると、図６に示すＳ３１０の処理を終了したことになるので、ＰＣ１２は、続いて、ダイナミックドライバをロードする（Ｓ３１５）。Ｓ３１５の処理は、詳しくは図８に示す処理となる。
【００９４】
すなわち、ＰＣ１２では、図８に示すように、まず、ＯＳがハードウェア接続状態を参照して、ダイナミックドライバを順次ロードする（Ｓ５０５）。そして、本発明の構成に関連する処理としては、ＵＳＢプロトコルスタック２０１が複合機１１を見つけた場合、複合機１１にデバイスタイプを問い合わせる（Ｓ５１０）。
【００９５】
そして、この問い合わせに対し、複合機１１からＵＳＢストレージデバイスである旨の返答が有った場合、ＰＣ１２は、ＵＳＢストレージドライバ２０３をロードする（Ｓ５１５）。
【００９６】
このＳ５１５の処理により、ＵＳＢストレージドライバ２０３が機能する状態となり、引き続いて、ＵＳＢストレージドライバ２０３が複合機１１にＬＵＮ数を問い合わせる（Ｓ５２０）。より具体的には、Ｓ５２０の処理において、ＵＳＢストレージドライバ２０３は、最大ＬＵＮを問い合わせる。
【００９７】
本実施形態の場合、複合機１１は４つの論理ユニットを備え、それらの論理ユニットに対し、ＬＵＮとして最小ＬＵＮを“０”とする連番を割り当てているので、最大ＬＵＮとしては“３”が返されることになる。
【００９８】
ＰＣ１２は、最大ＬＵＮとして“３”が返されたことをもって、複合機１１からＬＵＮ数が４個であると返答が有ったものと認識し、その場合、ＳＣＳＩコマンド処理の入り口を４個作る（Ｓ５２５）。このＳ５２５の処理により、ＳＣＳＩコマンド処理部２１１〜２１７が構成されることになる。
【００９９】
ＳＣＳＩコマンド処理部２１１〜２１７が機能する状態になると、ＳＣＳＩコマンド処理部２１１は、ＬＵＮ０の論理ユニットに対して“Ｉｎｑｕｉｒｙ”を発行する（Ｓ５３０）。
【０１００】
これに対し、本実施形態の場合、ＬＵＮ０の論理ユニットからは“リムーバブルＨＤ”と返答が有る。この場合、ＰＣ１２は、ＯＳ標準のＳＣＳＩ接続用リムーバブルディスクドライバ２２１をロードし、ファイルシステム２３１と結合、その結果、ＬＵＮ０の論理ユニットにドライブレターが割り当てられ、ドライブレターが出現することになる（Ｓ５３５）。ちなみに、リムーバブルディスクドライバ２２１については、ＰＣ１２とＵＳＢ
ストレージデバイスとをＵＳＢ接続するため、ＰＣ１２のＯＳが標準でＳＣＳＩ接続用のドライバを備えている。したがって、リムーバブルディスクドライバ２２１については、メーカーが複合機１１対応のＳＣＳＩ接続用ドライバを利用者に提供しなくてもよい。
【０１０１】
また、ＳＣＳＩコマンド処理部２１３は、ＬＵＮ１の論理ユニットに対して“Ｉｎｑｕｉｒｙ”を発行する（Ｓ５４０）。これに対し、ＬＵＮ１の論理ユニットからは“プリンタ”で有る旨の返答が有る。この場合、ＰＣ１２は、メーカー提供のＳＣＳＩ接続用プリントポートドライバ２２３をロードする（Ｓ５４５）。このプリントポートドライバ２２３は、実際に印刷が実行される際に、プリンタドライバ２６１と結合することになる。ちなみに、プリントポートドライバ２２３は、ＰＣ１２のＯＳが標準で備えているものではないので、メーカーが複合機１１対応のＳＣＳＩ接続用ドライバを利用者に提供することになる。
【０１０２】
また、ＳＣＳＩコマンド処理部２１５は、ＬＵＮ２の論理ユニットに対して“Ｉｎｑｕｉｒｙ”を発行する（Ｓ５５０）。これに対し、ＬＵＮ２の論理ユニットからは“スキャナ”で有る旨の返答が有る。この場合、ＰＣ１２は、メーカー提供のＳＣＳＩ接続用スキャナドライバ２２５をロードする（Ｓ５５５）。ちなみに、スキャナドライバ２２５も、プリントポートドライバ２２３同様、ＰＣ１２のＯＳが標準で備えているものではないので、メーカーが複合機１１対応のＳＣＳＩ接続用ドライバを利用者に提供することになる。
【０１０３】
さらに、ＳＣＳＩコマンド処理部２１７は、ＬＵＮ３の論理ユニットに対して“Ｉｎｑｕｉｒｙ”を発行する（Ｓ５６０）。これに対し、ＬＵＮ３の論理ユニットからは“コミュニケーションデバイス”で有る旨の返答が有る。この場合、ＰＣ１２は、メーカー提供のＳＣＳＩ接続用ＣＯＭポートドライバ２２７をロードする（Ｓ５６５）。ちなみに、ＣＯＭポートドライバ２２７も、プリントポートドライバ２２３やスキャナドライバ２２５同様、ＰＣ１２のＯＳが標準で備えているものではないので、メーカーが複合機１１対応のＳＣＳＩ接続用ドライバを利用者に提供することになる。
【０１０４】
こうして図８に示したダイナミックドライバのロード処理を終えると、図６に示したＳ３１５の処理を終えたことになるので、続いて、ＰＣ１２は、サービスプロセスをロードして（Ｓ３２０）、ログイン待ちになる（Ｓ３２５）。
【０１０５】
Ｓ３２５の処理は、利用者がログイン操作を行うまで継続される（Ｓ３２５：ログインまだ）。そして、利用者がログイン操作を行った場合（Ｓ３２５：ログインした）、ＰＣ１２は、自動起動プログラムを起動する（Ｓ３３０）。Ｓ３３０の処理では、ＯＳがスタートメニューのスタートアップを参照して、自動起動プログラムを順次起動する。
【０１０６】
そして、自動起動プログラムの起動処理を終えたら、ＰＣ１２は、通常状態に至る（Ｓ３５５）。この通常状態に至れば、利用者は任意に印刷可能アプリケーション２７１、スキャン可能アプリケーション２７３、ＰＣ−ＦＡＸアプリケーション２７５、エクスプローラ２７７などを利用することができる。
【０１０７】
さて、その後、利用者がログアウト操作またはシャットダウン操作を行った場合（Ｓ３５５：ログアウトまたはシャットダウン）、ＰＣ１２は、まず、自動起動プログラムおよび手動起動プログラムを終了させる（Ｓ３４０）。そして、ログアウト操作がなされたのであれば（Ｓ３４０：ログアウトの場合）、Ｓ３２５の処理へ戻る。
【０１０８】
一方、シャットダウン操作がなされたのであれば（Ｓ３４０：シャットダウンの場合）、サービスプロセスアンロードし（Ｓ３４５）、ダイナミックドライバをアンロードし（
Ｓ３５０）、スタティックドライバをアンロードする（Ｓ３５５）。そして、最後にＯＳをアンロードして（Ｓ３６０）、ＰＣ１２の電源ＯＦＦに至る。Ｓ３４５〜Ｓ３６０の処理では、Ｓ３０５〜Ｓ３２０の処理とは逆の手順で、各ソフトウェアのアンロードが行われることになる。
【０１０９】
［ＳＣＳＩコマンド解析タスクにおいて実行される処理］
次に、複合機１１が備えるＳＣＳＩコマンド解析タスク１１１において実行される処理について、図９に基づいて説明する。
【０１１０】
この処理を開始すると、複合機１１は、まず、ＰＣ１２からＳＣＳＩコマンドが来たか否かを判断する（Ｓ６０５）。ここで、ＰＣ１２からＳＣＳＩコマンドが来なければ（Ｓ６０５：来ない）、Ｓ６０５の処理へ戻る。
【０１１１】
一方、ＰＣ１２からＳＣＳＩコマンドが来たら（Ｓ６０５：来た）、そのＳＣＳＩコマンド中で指定されたＬＵＮが“０”〜“３”のいずれであるのかを判断する（Ｓ６１０）。
【０１１２】
Ｓ６１０の処理による判断の結果、ＬＵＮが“０”の場合（Ｓ６１０：ＬＵＮ＝０）、複合機１１は、ＳＣＳＩコマンドをメモリスロット入出力制御タスク１２１へ伝送して、メモリスロット入出力制御タスク１２１側での処理終了待ちとなる（Ｓ６１５）。
【０１１３】
このＳ６１５の処理においては、ＰＣ１２から伝送されてきたＳＣＳＩコマンドは、ＳＣＳＩコマンド解析タスク１１１からメモリスロット入出力制御タスク１２１へと伝送される。また、Ｓ６１５の処理において、ＳＣＳＩコマンドをメモリスロット入出力制御タスク１２１へ伝送した後は、メモリスロット入出力制御タスク１２１側での処理が終了するのを待つ。
【０１１４】
メモリスロット入出力制御タスク１２１側での処理が終了した場合、メモリスロット入出力制御タスク１２１側から応答が返るので、Ｓ６１５の処理では、メモリスロット入出力制御タスク１２１からの応答を、ＳＣＳＩコマンドに対する応答としてＰＣ１２側へ返し、Ｓ６１５の処理を終了する。なお、Ｓ６１５の処理を終了したら、Ｓ６０５の処理へと戻る。
【０１１５】
以上のようなＳ６１５の処理について、より具体的な例を交えて説明すると、例えば、ＰＣ１２側からは、メディア（本実施形態の場合、メモリカード）へのデータ書込を要求するＳＣＳＩコマンドが伝送されてくる場合がある。この場合、Ｓ６１５の処理では、ＳＣＳＩコマンド解析タスク１１１が受け取ったＳＣＳＩコマンドをメモリスロット入出力制御タスク１２１へと伝送する。
【０１１６】
このとき、メモリスロット入出力制御タスク１２１では、書き込み対象となるデータをメディアに書き込む処理などが実行される。そして、その書き込み結果に関する情報が、応答としてメモリスロット入出力制御タスク１２１からＳＣＳＩコマンド解析タスク１１１へ返される。
【０１１７】
ＳＣＳＩコマンド解析タスク１１１は、上記Ｓ６１５の処理の中で、メモリスロット入出力制御タスク１２１の処理終了を待つ。そして、メモリスロット入出力制御タスク１２１から応答を受け取ったら、その応答をＳＣＳＩコマンドに対する応答としてＰＣ１２側へ返して、Ｓ６１５の処理を終了する。
【０１１８】
また、例えば、ＰＣ１２側からは、メディアからのデータ読込を要求するＳＣＳＩコマ
ンドが伝送されてくる場合がある。この場合も、Ｓ６１５の処理では、ＳＣＳＩコマンド解析タスク１１１が受け取ったＳＣＳＩコマンドをメモリスロット入出力制御タスク１２１へと伝送する。
【０１１９】
このとき、メモリスロット入出力制御タスク１２１では、読み出し対象となるデータをメディアから読み出す処理などが実行される。そして、その読み出し結果に関する情報や読み出されたデータが、応答としてメモリスロット入出力制御タスク１２１からＳＣＳＩコマンド解析タスク１１１へ返される。
【０１２０】
ＳＣＳＩコマンド解析タスク１１１は、上記Ｓ６１５の処理の中で、メモリスロット入出力制御タスク１２１の処理終了を待つ。そして、メモリスロット入出力制御タスク１２１から応答を受け取ったら、その応答をＳＣＳＩコマンドに対する応答としてＰＣ１２側へ返して、Ｓ６１５の処理を終了する。
【０１２１】
この他にも、様々なＳＣＳＩコマンドがあるが、いずれのＳＣＳＩコマンドが伝送されてきた場合でも、Ｓ６１５の処理では、ＳＣＳＩコマンドがＳＣＳＩコマンド解析タスク１１１からコマンドをメモリスロット入出力制御タスク１２１へと伝送される。そして、メモリスロット入出力制御タスク１２１からＳＣＳＩコマンド解析タスク１１１へと返される応答が、ＰＣ１２側へと伝送されるのである。
【０１２２】
なお、上述の通り、ＰＣ１２からメモリスロット入出力制御タスク１２１へ伝送されるＳＣＳＩコマンドには様々なものがあるので、メモリスロット入出力制御タスク１２１側で実行される処理の内容は、ＳＣＳＩコマンドに応じた様々な処理内容となる。ただし、メモリスロット入出力制御タスク１２１側で実行される処理の内容そのものは、データストレージ機能を有する周知のデバイスにおいて実行される処理と同等なので、これ以上の詳細な説明については省略する。
【０１２３】
さて、Ｓ６１０の処理による判断の結果、ＬＵＮが“１”の場合（Ｓ６１０：ＬＵＮ＝１）、複合機１１は、ＳＣＳＩコマンドをプリンタ入出力タスク１５１へ伝送して、プリンタ入出力タスク１５１側での処理終了待ちとなる（Ｓ６２０）。
【０１２４】
このＳ６２０の処理においては、ＰＣ１２から伝送されてきたＳＣＳＩコマンドは、ＳＣＳＩコマンド解析タスク１１１からプリンタ入出力タスク１５１へと伝送される。また、Ｓ６２０の処理において、ＳＣＳＩコマンドをプリンタ入出力タスク１５１へ伝送した後は、プリンタ入出力タスク１５１側での処理が終了するのを待つ。
【０１２５】
プリンタ入出力タスク１５１側での処理が終了した場合、プリンタ入出力タスク１５１側から応答が返るので、Ｓ６２０の処理では、プリンタ入出力タスク１５１からの応答を、ＳＣＳＩコマンドに対する応答としてＰＣ１２側へ返し、Ｓ６２０の処理を終了する。なお、Ｓ６２０の処理を終了したら、Ｓ６０５の処理へと戻る。
【０１２６】
以上のようなＳ６２０の処理について、より具体的な例を交えて説明すると、例えば、ＰＣ１２側からは、印刷データの印刷出力を要求するＳＣＳＩコマンドが伝送されてくる場合がある。この場合、Ｓ６２０の処理では、ＳＣＳＩコマンド解析タスク１１１が受け取ったＳＣＳＩコマンドをプリンタ入出力タスク１５１へと伝送する。
【０１２７】
このとき、プリンタ入出力タスク１５１では、印字制御タスク１６１へのデータ伝送等が行われ、印字制御タスク１６１がプリンタハードウェア１７１の動作を制御して、記録媒体への印刷出力などが実行される。そして、プリンタ入出力タスク１５１において、次の印刷データを受け取ることができる状態になれば、その旨の応答がプリンタ入出力タス
ク１５１からＳＣＳＩコマンド解析タスク１１１へ返される。
【０１２８】
ＳＣＳＩコマンド解析タスク１１１は、上記Ｓ６２０の処理の中で、プリンタ入出力タスク１５１の処理終了を待つ。そして、プリンタ入出力タスク１５１から応答を受け取ったら、その応答をＳＣＳＩコマンドに対する応答としてＰＣ１２側へ返して、Ｓ６２０の処理を終了する。
【０１２９】
なお、ＰＣ１２からプリンタ入出力タスク１５１へ伝送されるＳＣＳＩコマンドについても、例えば、プリンタのステータスを取得するためのコマンド等、様々なものがある。したがって、プリンタ入出力タスク１５１および印字制御タスク１６１のそれぞれにおいて実行される処理の内容は、ＳＣＳＩコマンドに応じた様々な処理内容となる。ただし、プリンタ入出力タスク１５１および印字制御タスク１６１のそれぞれにおいて実行される処理の内容そのものは、プリンタ機能を有する周知のデバイスにおいて実行される処理と同等なので、これ以上の詳細な説明については省略する。
【０１３０】
さて、Ｓ６１０の処理による判断の結果、ＬＵＮが“２”の場合（Ｓ６１０：ＬＵＮ＝２）、複合機１１は、ＳＣＳＩコマンドをスキャナ入出力タスク１５３へ伝送して、スキャナ入出力タスク１５３側での処理終了待ちとなる（Ｓ６２５）。
【０１３１】
このＳ６２５の処理においては、ＰＣ１２から伝送されてきたＳＣＳＩコマンドは、ＳＣＳＩコマンド解析タスク１１１からスキャナ入出力タスク１５３へと伝送される。また、Ｓ６２５の処理において、ＳＣＳＩコマンドをスキャナ入出力タスク１５３へ伝送した後は、スキャナ入出力タスク１５３側での処理が終了するのを待つ。
【０１３２】
スキャナ入出力タスク１５３側での処理が終了した場合、スキャナ入出力タスク１５３側から応答が返るので、Ｓ６２５の処理では、スキャナ入出力タスク１５３からの応答を、ＳＣＳＩコマンドに対する応答としてＰＣ１２側へ返し、Ｓ６２５の処理を終了する。なお、Ｓ６２５の処理を終了したら、Ｓ６０５の処理へと戻る。
【０１３３】
以上のようなＳ６２５の処理について、より具体的な例を交えて説明すると、例えば、ＰＣ１２側からは、スキャナ入力を要求するＳＣＳＩコマンドが伝送されてくる場合がある。この場合、Ｓ６２５の処理では、ＳＣＳＩコマンド解析タスク１１１が受け取ったＳＣＳＩコマンドをスキャナ入出力タスク１５３へと伝送する。
【０１３４】
このとき、スキャナ入出力タスク１５３では、スキャナ制御タスク１６３へのデータ伝送等が行われ、スキャナ制御タスク１６３がスキャナハードウェア１７３の動作を制御して、原稿からの画像入力などが実行される。そして、画像データ等がスキャナ入出力タスク１５３からＳＣＳＩコマンド解析タスク１１１へ返される。
【０１３５】
ＳＣＳＩコマンド解析タスク１１１は、上記Ｓ６２５の処理の中で、スキャナ入出力タスク１５３の処理終了を待つ。そして、スキャナ入出力タスク１５３から応答を受け取ったら、その応答をＳＣＳＩコマンドに対する応答としてＰＣ１２側へ返して、Ｓ６２５の処理を終了する。
【０１３６】
なお、ＰＣ１２からスキャナ入出力タスク１５３へ伝送されるＳＣＳＩコマンドについても、例えば、スキャナのステータスを取得するためのコマンド等、様々なものがある。したがって、スキャナ入出力タスク１５３およびスキャナ制御タスク１６３のそれぞれにおいて実行される処理の内容は、ＳＣＳＩコマンドに応じた様々な処理内容となる。ただし、スキャナ入出力タスク１５３およびスキャナ制御タスク１６３のそれぞれにおいて実行される処理の内容そのものは、スキャナ機能を有する周知のデバイスにおいて実行され
る処理と同等なので、これ以上の詳細な説明については省略する。
【０１３７】
さらに、Ｓ６１０の処理による判断の結果、ＬＵＮが“３”の場合（Ｓ６１０：ＬＵＮ＝３）、複合機１１は、ＳＣＳＩコマンドをＰＣ−ＦＡＸ入出力タスク１５５へ伝送して、ＰＣ−ＦＡＸ入出力タスク１５５側での処理終了待ちとなる（Ｓ６３０）。
【０１３８】
このＳ６３０の処理においては、ＰＣ１２から伝送されてきたＳＣＳＩコマンドは、ＳＣＳＩコマンド解析タスク１１１からＰＣ−ＦＡＸ入出力タスク１５５へと伝送される。また、Ｓ６３０の処理において、ＳＣＳＩコマンドをＰＣ−ＦＡＸ入出力タスク１５５へ伝送した後は、ＰＣ−ＦＡＸ入出力タスク１５５側での処理が終了するのを待つ。
【０１３９】
ＰＣ−ＦＡＸ入出力タスク１５５側での処理が終了した場合、ＰＣ−ＦＡＸ入出力タスク１５５側から応答が返るので、Ｓ６３０の処理では、ＰＣ−ＦＡＸ入出力タスク１５５からの応答を、ＳＣＳＩコマンドに対する応答としてＰＣ１２側へ返し、Ｓ６３０の処理を終了する。なお、Ｓ６３０の処理を終了したら、Ｓ６０５の処理へと戻る。
【０１４０】
以上のようなＳ６３０の処理について、より具体的な例を交えて説明すると、例えば、ＰＣ１２側からは、ＦＡＸ送信を要求するＳＣＳＩコマンドが伝送されてくる場合がある。この場合、Ｓ６３０の処理では、ＳＣＳＩコマンド解析タスク１１１が受け取ったＳＣＳＩコマンドをＰＣ−ＦＡＸ入出力タスク１５５へと伝送する。
【０１４１】
このとき、ＰＣ−ＦＡＸ入出力タスク１５５では、モデム制御タスク１６５へのデータ伝送等が行われ、モデム制御タスク１６５がモデムハードウェア１７５の動作を制御して、ＦＡＸ送信などが実行される。そして、ＰＣ−ＦＡＸ入出力タスク１５５において、次のＦＡＸ送信データを受け取ることができる状態になれば、その旨の応答がＰＣ−ＦＡＸ入出力タスク１５５からＳＣＳＩコマンド解析タスク１１１へ返される。
【０１４２】
ＳＣＳＩコマンド解析タスク１１１は、上記Ｓ６３０の処理の中で、ＰＣ−ＦＡＸ入出力タスク１５５の処理終了を待つ。そして、ＰＣ−ＦＡＸ入出力タスク１５５から応答を受け取ったら、その応答をＳＣＳＩコマンドに対する応答としてＰＣ１２側へ返して、Ｓ６３０の処理を終了する。
【０１４３】
また、例えば、ＰＣ１２側からは、ＦＡＸ受信を要求するＳＣＳＩコマンドが伝送されてくる場合もある。この場合、Ｓ６３０の処理では、ＳＣＳＩコマンド解析タスク１１１が受け取ったＳＣＳＩコマンドをＰＣ−ＦＡＸ入出力タスク１５５へと伝送する。
【０１４４】
このとき、ＰＣ−ＦＡＸ入出力タスク１５５では、ＦＡＸ受信データを受信していれば、ＦＡＸ受信データ等がＰＣ−ＦＡＸ入出力タスク１５５からＳＣＳＩコマンド解析タスク１１１へ返される。また、ＦＡＸ受信データを受信していなければ、その旨の情報等がＰＣ−ＦＡＸ入出力タスク１５５からＳＣＳＩコマンド解析タスク１１１へ返される。
【０１４５】
ＳＣＳＩコマンド解析タスク１１１は、上記Ｓ６３０の処理の中で、ＰＣ−ＦＡＸ入出力タスク１５５の処理終了を待つ。そして、ＰＣ−ＦＡＸ入出力タスク１５５から応答を受け取ったら、その応答をＳＣＳＩコマンドに対する応答としてＰＣ１２側へ返して、Ｓ６３０の処理を終了する。
【０１４６】
なお、ＰＣ１２からＰＣ−ＦＡＸ入出力タスク１５５へ伝送されるＳＣＳＩコマンドについても、例えば、モデムのステータスを取得するためのコマンド等、様々なものがある。したがって、ＰＣ−ＦＡＸ入出力タスク１５５およびモデム制御タスク１６５のそれぞれにおいて実行される処理の内容は、ＳＣＳＩコマンドに応じた様々な処理内容となる。
ただし、ＰＣ−ＦＡＸ入出力タスク１５５およびモデム制御タスク１６５のそれぞれにおいて実行される処理の内容そのものは、ＰＣ−ＦＡＸ機能を有する周知のデバイスにおいて実行される処理と同等なので、これ以上の詳細な説明については省略する。
【０１４７】
［第１実施形態の効果］
以上説明した通り、上記複合機１１によれば、ＰＣ１２が備えるＯＳには、複合機１１を複数のＬＵＮを持つＵＳＢストレージクラスのデバイスであると認識させることができる。したがって、複数のＬＵＮそれぞれに対応する論理ユニットに異なる機能（プリンタ機能、スキャン機能、ＰＣ−ＦＡＸ機能、およびデータストレージ機能）を割り当てることにより、ＰＣ１２側でＬＵＮを指定して、異なる機能を有する論理ユニットを制御できるようになる。
【０１４８】
しかも、このような方式でデータ伝送を行うに当たって、複合機１１側では、複数のＬＵＮすべてに対応する入力用および出力用のエンドポイントを１つずつ用意すればよい。したがって、上記複合機１１によれば、１つの機能毎にそれぞれに対応する入力用および出力用のエンドポイントが１つずつ用意されるＵＳＢ複合デバイスとは異なり、個々の機能毎に入力用および出力用のエンドポイントを１つずつ用意しなくてもよくなるので、その分だけエンドポイント数を削減することができる。
【０１４９】
また、複数の機能を利用するに当たって、あるＵＳＢデバイスとの接続を断って、別のＵＳＢデバイスとの接続を確立するといった状況を擬似的に作り出す必要はない。したがって、ＰＣ１２のＯＳが、デバイスドライバの切り替えに時間を要するといった問題はなく、複数の機能を同時に利用することもできる。
【０１５０】
さらに、コントロール転送用のエンドポイント（ＥＰ０）が、その他のデータ転送にも利用される構成にはなっていないので、大量にデータが転送されるような状況下でも、データ転送に邪魔されることなく、必要な制御を迅速に実施できるものとなる。
（２）第２実施形態
次に、第２実施形態について説明する。なお、第２実施形態以降の実施形態は、一部の構成が上記第１実施形態とは相違するものの、共通部分も多いので、以下の説明においては、第１実施形態との相違点を中心に詳述し、共通部分については詳細な説明を省略する。
【０１５１】
［ＰＣの内部構成］
図１０は、第２実施形態におけるＰＣ２２の内部構成を示すブロック図である。
第１実施形態のＰＣ１２では、プリントポートドライバ２２３、スキャナドライバ２２５、およびＣＯＭポートドライバ２２７のすべてが、ＳＣＳＩ規格に準拠したデバイスドライバとされていたが、この点について、第２実施形態は異なる構成となっている。
【０１５２】
具体的には、第２実施形態において、プリントポートドライバ２２４、スキャナドライバ２２６は、ＳＣＳＩ規格に準拠していないデバイスドライバとなっている。ただし、これらのデバイスドライバだけでは、ＳＣＳＩコマンド処理部２１３、２１５を介して、ＳＣＳＩ規格に準拠したデータ伝送を実施することができない。
【０１５３】
そこで、第２実施形態においては、プリントポートドライバ２２４、およびスキャナドライバ２２６が複合機１１側との間でやり取りするデータを、ＳＣＳＩ規格に準拠したＣＯＭポートドライバ２２８、２２９を介して伝送するようにしている。
【０１５４】
このように構成することで、プリントポートドライバ２２４ないしスキャナドライバ２
２６から複合機１１へデータを伝送する際には、そのデータがＣＯＭポートドライバ２２８、２２９によってＳＣＳＩ規格に準拠したデータの実データ部に格納されて、複合機１１へと伝送される。
【０１５５】
また、複合機１１から伝送されてくるＳＣＳＩ規格に準拠したデータの実データ部には、プリントポートドライバ２２４ないしスキャナドライバ２２６へ渡すためのデータが格納されているので、ＳＣＳＩデータをＣＯＭポートドライバ２２８、２２９によって受け取り、実データ部をプリントポートドライバ２２４ないしスキャナドライバ２２６へ渡す。
【０１５６】
こうすれば、プリントポートドライバ２２４ないしスキャナドライバ２２６は、ＳＣＳＩ規格に準拠しないものでもよくなり、複合機１１内のソフトウェアも、プリンタ機能およびスキャナ機能に関しては、ＳＣＳＩ規格に準拠しないものでもよくなる。したがって、上記プリンタ機能およびスキャナ機能関連のソフトウェア群については、例えば独自規格を採用することも可能となり、その場合でも、データ伝送経路に関しては、ＳＣＳＩ規格に準拠したデータ伝送方式を採用することができる。
【０１５７】
［複合機用ソフトウェアのインストール処理］
次に、第２実施形態におけるＰＣ２２を機能させるために、ＰＣ２２において実行される複合機用ソフトウェアのインストール処理について、図１１のフローチャートに基づいて説明する。
【０１５８】
この処理を開始すると、ＰＣ２２は、図１１に示すように、まずインストーラを起動する（Ｓ７０５）。そして、複合機用のＣＯＭポートドライバをＯＳに登録する（Ｓ７１０）。Ｓ７１０の処理によってＯＳに登録されるＣＯＭポートドライバは、複合機１１のメーカーから提供されるＳＣＳＩ接続用のソフトウェアである。Ｓ７１０の処理では、ＯＳの機能（後述するＰｎＰインストール機能）を利用して各ドライバのインストールを実施するために必要となる情報がＯＳに登録される。ちなみに、プリンタドライバ、プリントポートドライバ、スキャナドライバを登録しない点が、第１実施形態とは相違する。
【０１５９】
そして、ＰＣ２２は、ＰＣ２２と複合機１１をＵＳＢ接続することを利用者に指示するためのメッセージを、ＰＣ２２の表示部に表示する（Ｓ７１０）。このメッセージを表示する際には、ＰＣ２２の表示部にキャンセルボタンも表示される。
【０１６０】
上記メッセージの表示後、ＰＣ２２は、ＰＣ２２のＯＳの機能により、ＰｎＰインストールが開始されるのを監視する（Ｓ７２０）。そして、ＰｎＰインストールが開始されていない場合は（Ｓ７２０：開始されていない）、キャンセルボタンが押されたか否かを判断する（Ｓ７２５）。ここで、キャンセルボタンが押されていない場合は（Ｓ７２５：押されていない）、Ｓ７２０の処理へと戻る。
【０１６１】
以上のようなＳ７２０〜Ｓ７２５の繰り返し処理が行われる中で、利用者はキャンセルボタンを押す操作（＝例えば、表示部に表示されたキャンセルボタンを、ポインティングデバイスでクリックする操作）を行うことができる。ここで、利用者がキャンセルボタンを押した場合（Ｓ７２５：押された）、ＰＣ２２は、一旦登録した複合機用ドライバ類をＯＳから登録解除して（Ｓ７３０）、インストールを中止する。
【０１６２】
一方、Ｓ７２０〜Ｓ７２５の繰り返し処理が行われる中で、ＰｎＰインストールが開始された場合（Ｓ７２０：開始された）、ＰｎＰインストールが開始されたと言うことはＰＣ２２と複合機１１とがＵＳＢ接続されたはずなので、その場合、ドライバ類はＯＳのＰｎＰの仕組みにより自動的にインストールされることになる（Ｓ７３５）。
【０１６３】
したがって、ＰＣ２２は、現在インストール中の画面に移る（Ｓ７４０）。この段階では、既にドライバ類の組み込みに必要な情報等が順次登録されてゆくことになるので、ＰＣ２２の表示部には、キャンセルボタン等は表示されず、キャンセル操作は不可となる。そして、ＰｎＰインストールの完了を待ち（Ｓ７４５）、完了していない場合（Ｓ７４５：完了していない）、Ｓ７４５の処理へと戻る。
【０１６４】
一方、ＰｎＰインストールが完了した場合（Ｓ７４５：完了した）、ＰＣ２２は、プリンタドライバが使用するＣＯＭポートをＬＵＮ１のＣＯＭポートに設定する（Ｓ７５０）。プリンタドライバをＣＯＭポートに直結するプリントポートドライバは、ＯＳに標準で含まれているので、それを利用すればよい。また、スキャナドライバが使用するＣＯＭポートをＬＵＮ２のＣＯＭポートに設定する（Ｓ７５５）。さらに、ＰＣ−ＦＡＸアプリが使用するＣＯＭポートをＬＵＮ３のＣＯＭポートに設定する（Ｓ７６０）。
【０１６５】
以上の処理を終えたら、ＰＣ２２は、インストール完了の確認画面を表示する（Ｓ７６５）。この確認画面を表示する際には、ＰＣ２２の表示部にＯＫボタンも表示される。ここで、利用者はＯＫボタンを押す操作を行うことができ、利用者がＯＫボタンを押した場合、ＰＣ２２は、複合機用ソフトウェアのインストール処理を完了する。
【０１６６】
［ダイナミックドライバロード処理］
次に、第１実施形態においては、図８に示したような処理であったダイナミックドライバロード処理について、第２実施形態では処理内容に若干変更があるので、図１３に基づいて説明する。
【０１６７】
すなわち、ＰＣ２２では、図８に示すように、まず、ＯＳがハードウェア接続状態を参照して、ダイナミックドライバを順次ロードする（Ｓ８０５）。そして、本発明の構成に関連する処理としては、ＵＳＢプロトコルスタック２０１が複合機１１を見つけた場合、複合機１１にデバイスタイプを問い合わせる（Ｓ８１０）。
【０１６８】
そして、この問い合わせに対し、複合機１１からＵＳＢストレージデバイスである旨の返答が有った場合、ＰＣ２２は、ＵＳＢストレージドライバ２０３をロードする（Ｓ８１５）。
【０１６９】
このＳ８１５の処理により、ＵＳＢストレージドライバ２０３が機能する状態となり、引き続いて、ＵＳＢストレージドライバ２０３が複合機１１にＬＵＮ数を問い合わせる（Ｓ８２０）。より具体的には、Ｓ８２０の処理において、ＵＳＢストレージドライバ２０３は、最大ＬＵＮを問い合わせる。
【０１７０】
本実施形態の場合、複合機１１は４つの論理ユニットを備え、それらの論理ユニットに対し、ＬＵＮとして最小ＬＵＮを“０”とする連番を割り当てているので、最大ＬＵＮとしては“３”が返されることになる。
【０１７１】
ＰＣ２２は、最大ＬＵＮとして“３”が返されたことをもって、複合機１１からＬＵＮ数が４個であると返答が有ったものと認識し、その場合、ＳＣＳＩコマンド処理の入り口を４個作る（Ｓ８２５）。このＳ８２５の処理により、ＳＣＳＩコマンド処理部２１１〜２１７が構成されることになる。
【０１７２】
ＳＣＳＩコマンド処理部２１１〜２１７が機能する状態になると、ＳＣＳＩコマンド処理部２１１は、ＬＵＮ０の論理ユニットに対して“Ｉｎｑｕｉｒｙ”を発行する（Ｓ８３０）。
【０１７３】
これに対し、本実施形態の場合、ＬＵＮ０の論理ユニットからは“リムーバブルＨＤ”と返答が有る。この場合、ＰＣ２２は、ＯＳ標準のＳＣＳＩ接続用リムーバブルディスクドライバ２２１をロードし、ファイルシステム２３１と結合、その結果、ＬＵＮ０の論理ユニットにドライブレターが割り当てられ、ドライブレターが出現することになる（Ｓ８３５）。
【０１７４】
また、ＳＣＳＩコマンド処理部２１３は、ＬＵＮ１の論理ユニットに対して“Ｉｎｑｕｉｒｙ”を発行する（Ｓ８４０）。これに対し、ＬＵＮ１の論理ユニットからは“コミュニケーションデバイス”で有る旨の返答が有る。この点は、第１実施形態との相違点であり、ＰＣ２２は、メーカー提供のＳＣＳＩ接続用ＣＯＭポートドライバ２２８をロードする（Ｓ８４５）。
【０１７５】
また、ＳＣＳＩコマンド処理部２１５は、ＬＵＮ２の論理ユニットに対して“Ｉｎｑｕｉｒｙ”を発行する（Ｓ８５０）。これに対し、ＬＵＮ２の論理ユニットからは“コミュニケーションデバイス”で有る旨の返答が有る。この点も、第１実施形態との相違点であり、ＰＣ２２は、メーカー提供のＳＣＳＩ接続用ＣＯＭポートドライバ２２９をロードする（Ｓ８５５）。
【０１７６】
さらに、ＳＣＳＩコマンド処理部２１７は、ＬＵＮ３の論理ユニットに対して“Ｉｎｑｕｉｒｙ”を発行する（Ｓ８６０）。これに対し、ＬＵＮ３の論理ユニットからは“コミュニケーションデバイス”で有る旨の返答が有る。この場合、ＰＣ２２は、メーカー提供のＳＣＳＩ接続用ＣＯＭポートドライバ２２７をロードする（Ｓ８６５）。
【０１７７】
こうして図１３に示したダイナミックドライバのロード処理を終えると、図６に示したＳ３１５の処理を終えたことになるので、以降は、第１実施形態と同様の処理が行われる。
【０１７８】
［第２実施形態の効果］
以上説明した第２実施形態でも、複合機１１は、第１実施形態と同様の作用、効果を奏するので、複合機１１側では、複数のＬＵＮすべてに対応する入力用および出力用のエンドポイントを１つずつ用意すればよい。したがって、上記複合機１１によれば、１つの機能毎にそれぞれに対応する入力用および出力用のエンドポイントが１つずつ用意されるＵＳＢ複合デバイスとは異なり、個々の機能毎に入力用および出力用のエンドポイントを１つずつ用意しなくてもよくなるので、その分だけエンドポイント数を削減することができる。
【０１７９】
また、複数の機能を利用するに当たって、あるＵＳＢデバイスとの接続を断って、別のＵＳＢデバイスとの接続を確立するといった状況を擬似的に作り出す必要はない。したがって、ＰＣ１２のＯＳが、デバイスドライバの切り替えに時間を要するといった問題はなく、複数の機能を同時に利用することもできる。
【０１８０】
さらに、コントロール転送用のエンドポイント（ＥＰ０）が、その他のデータ転送にも利用される構成にはなっていないので、大量にデータが転送されるような状況下でも、データ転送に邪魔されることなく、必要な制御を迅速に実施できるものとなる。
【０１８１】
加えて、第２実施形態では、プリンタ機能、スキャナ機能、ＰＣ−ＦＡＸ機能について、ＳＣＳＩ規格に準拠したＣＯＭポートドライバを共用できる。したがって、ＳＣＳＩ規格に準拠したプリンタドライバやＳＣＳＩ規格に準拠したスキャナドライバを使用する代わりに、ＣＯＭポートドライバを介してプリンタ・デバイスやスキャナ・デバイスを制御
可能なプリンタドライバやスキャナドライバを使用できるようになる。
【０１８２】
よって、プリンタドライバやスキャナドライバについては、ＳＣＳＩ規格による制約を受けないデバイスドライバ（例えば、独自規格のドライバ）を利用することも可能となる。
【０１８３】
［変形例等］
以上、本発明の実施形態について説明したが、本発明は上記の具体的な一実施形態に限定されず、この他にも種々の形態で実施することができる。
【０１８４】
例えば、上記実施形態では、ＬＵＮ０に対応する機能として、カードリーダ機能を例示したが、他のデータストレージデバイス相当の機能としてもよい。具体的には、他のリムーバブルディスク、ＣＤ−ＲＯＭ、ハードディスク、光磁気ディスクなどに相当する機能を設けてもよい。
【図面の簡単な説明】
【０１８５】
【図１】本発明の一例として例示する第１実施形態のデバイス制御システム全体のブロック図。
【図２】第１実施形態の複合機の内部構成を示すブロック図。
【図３】第１実施形態のＰＣの内部構成を示すブロック図
【図４】第１実施形態のＰＣと複合機が接続を確立するときのやり取りを示す説明図。
【図５】第１実施形態のＰＣにおいて実行される複合機用ソフトウェアのインストール処理のフローチャート。
【図６】第１実施形態のＰＣにおいて実行されるＰＣの電源ＯＮから電源ＯＦＦに至るまでに実行される処理のフローチャート。
【図７】第１実施形態のＰＣにおいて実行されるスタティックドライバをロードする処理のフローチャート。
【図８】第１実施形態のＰＣにおいて実行されるダイナミックドライバをロードする処理のフローチャート。
【図９】第１実施形態の複合機において実行されるＳＣＳＩコマンド解析タスクにおいて実行される処理のフローチャート。
【図１０】第２実施形態のＰＣの内部構成を示すブロック図。
【図１１】第２実施形態のＰＣにおいて実行される複合機用ソフトウェアのインストール処理のフローチャート（その１）。
【図１２】第２実施形態のＰＣにおいて実行される複合機用ソフトウェアのインストール処理のフローチャート（その２）。
【図１３】第２実施形態のＰＣにおいて実行されるダイナミックドライバをロードする処理のフローチャート。
【符号の説明】
【０１８６】
１１・・・複合機、１２、２２・・・ＰＣ、１３・・・ＵＳＢ−ＨＵＢ、１４・・・他のＵＳＢデバイス、１０１・・・ＵＳＢプロトコルエンジン、１０３・・・制御回路、１０５・・・カードリーダ系データ入出力回路、１１１・・・ＳＣＳＩコマンド解析タスク、１２１・・・メモリスロット入出力制御タスク、１３１・・・第１メモリスロット、１３２・・・第２メモリスロット、１３３・・・第３メモリスロット、１３４・・・第４メモリスロット、１５１・・・プリンタ入出力タスク、１５３・・・スキャナ入出力タスク、１５５・・・ＰＣ−ＦＡＸ入出力タスク、１６１・・・印字制御タスク、１６３・・・スキャナ制御タスク、１６５・・・モデム制御タスク、１７１・・・プリンタハードウェア、１７３・・・スキャナハードウェア、１７５・・・モデムハードウェア、２０１・・
・ＵＳＢプロトコルスタック、２０３・・・ＵＳＢストレージドライバ、２１１〜２１７・・・ＳＣＳＩコマンド処理部、２２３，２２４・・・プリントポートドライバ、２２５，２２６・・・スキャナドライバ、２２７，２２８，２２９・・・ＣＯＭポートドライバ、２３１・・・ファイルシステム、２６１・・・プリンタドライバ、２７１・・・印刷可能アプリケーション、２７３・・・スキャン可能アプリケーション、２７５・・・ＰＣ−ＦＡＸアプリケーション、２７７・・・エクスプローラ、２８１・・・他のＵＳＢデバイスのドライバ。
【図１】
2008242974.tif 000003
【図２】
2008242974.tif 000004
【図３】
2008242974.tif 000005
【図４】
2008242974.tif 000006
【図５】
2008242974.tif 000007
【図６】
2008242974.tif 000008
【図７】
2008242974.tif 000009
【図８】
2008242974.tif 000010
【図９】
2008242974.tif 000011
【図１０】
2008242974.tif 000012
【図１１】
2008242974.tif 000013
【図１２】
2008242974.tif 000014
【図１３】
2008242974.tif 000015