(57)【要約】【課題】通信装置に接続された周辺機器を、内部の処理主体及びネットワーク上の端末装置から効率的に利用できるようにする。【解決手段】本装置では、ＵＳＢドライバ１０３ｂを用いたＵＳＢデバイス３の制御系、デバイスブリッジ１０３ａを用いたＵＳＢデバイスの制御系を、ユーザ指示に従い切り替えて構築する。前者制御系では、ドライバ１０３ｂが、自装置内のアプリから入力される指示に従い、ＵＳＢデバイス制御用のＵＳＢデータを生成し、これをドライバ１０５に入力し、ドライバ１０５が、ＵＳＢホストコントローラ３１を制御し、ＵＳＢデータをＵＳＢデバイスに伝送する。一方、後者制御系では、ＵＳＢＩＰ１０１が、ＬＡＮインタフェース３５の受信パケットからＵＳＢデータを抽出し、デバイスブリッジが、これをドライバ１０５に入力し、ドライバ１０５が、ネットワークから受信したＵＳＢデータを、対応するＵＳＢデバイスに伝送する。【選択図】図２
2008048048.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続された端末装置と通信するためのネットワークインタフェースと、
ローカル接続された周辺機器と通信するための通信インタフェースと、
を備える通信装置であって、
前記通信インタフェースを制御して、前記周辺機器を制御するための制御データを、該周辺機器に伝送するインタフェース制御手段と、
自装置内の処理主体から入力される指示に従って、前記通信インタフェースに接続された周辺機器に対する制御データを生成し、これを前記インタフェース制御手段に入力する機器制御手段と、
前記ネットワークインタフェースが受信したパケットから、前記通信インタフェースに接続された周辺機器に対する制御データを抽出し、これを前記インタフェース制御手段に入力する中継手段と、
を備えることを特徴とする通信装置。
【請求項２】
前記機器制御手段及び中継手段のいずれか一方を、切り替えて作動させることにより、前記周辺機器の制御モードを、前記機器制御手段を介して周辺機器を制御する内部制御モード、及び、前記中継手段を介して周辺機器を制御するネットワーク制御モードのいずれかに切り替えるモード切替手段
を備えることを特徴とする請求項１記載の通信装置。
【請求項３】
前記周辺機器の制御モードを、前記内部制御モード、及び、前記ネットワーク制御モードのいずれに設定すべきかを表すモード指定情報を記憶するモード指定情報記憶手段
を備え、
前記モード切替手段は、前記モード指定情報記憶手段が記憶するモード指定情報に従って、前記周辺機器の制御モードを設定することを特徴とする請求項２記載の通信装置。
【請求項４】
前記周辺機器の制御モードを、前記内部制御モード、及び、前記ネットワーク制御モードのいずれに設定すべきかを表すモード指定情報を、前記通信インタフェースに接続される周辺機器毎に、記憶するモード指定情報記憶手段
を備え、
前記モード切替手段は、前記モード指定情報記憶手段が記憶するモード指定情報に従って、前記通信インタフェースに接続された各周辺機器の制御モードを設定することを特徴とする請求項２記載の通信装置。
【請求項５】
前記ネットワークインタフェースを通じて、前記ネットワーク上の端末装置に、前記モード指定情報記憶手段が記憶するモード指定情報の内容を通知する通知手段
を備えることを特徴とする請求項３又は請求項４記載の通信装置。
【請求項６】
前記モード切替手段は、前記通信インタフェースに過去未接続の周辺機器が接続された場合、前記通信インタフェースに接続された前記過去未接続の周辺機器の制御モードを、前記内部制御モードに設定することを特徴とする請求項２乃至請求項５のいずれかに記載の通信装置。
【請求項７】
ネットワークに接続された端末装置と通信するためのネットワークインタフェースと、
ローカル接続された周辺機器と通信するための通信インタフェースと、
を備える通信装置のコンピュータに、
前記通信インタフェースを制御して、前記周辺機器を制御するための制御データを、該周辺機器に伝送するインタフェース制御手段と、
自装置内の処理主体から入力される指示に従って、前記通信インタフェースに接続された周辺機器に対する制御データを生成し、これを前記インタフェース制御手段に入力する機器制御手段と、
前記ネットワークインタフェースが受信したパケットから、前記通信インタフェースに接続された周辺機器に対する制御データを抽出し、これを前記インタフェース制御手段に入力する中継手段
としての機能を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークインタフェースを備える通信装置であって、更に、周辺機器接続用のインタフェースを備える通信装置に関する。
【背景技術】
【０００２】
従来より、ネットワークインタフェース及び周辺機器を接続可能なインタフェースを備える通信装置としては、ＬＡＮ（Local Area Network）インタフェース及びＵＳＢ（Universal Serial Bus）インタフェースを備え、ＵＳＢホストとして機能するディジタル複合機が知られている（例えば、特許文献１参照）。
【０００３】
また、ＵＳＢデバイスの制御技術としては、ＵＳＢデバイスの接続機器において、機器内で動作する処理主体（アプリケーションソフトウェア等）からの指令に従い、ＵＳＢデバイスを制御する技術の他、ネットワークを通じてＵＳＢデバイスを制御する技術が知られている（例えば、非特許文献１参照）。
【０００４】
ネットワークを通じてＵＳＢデバイスを制御する技術としては、特に、ＵＳＢ  ＯＶＥＲ  ＩＰ（登録商標）技術が知られている。ＵＳＢ  ＯＶＥＲ  ＩＰ（登録商標）技術は、ＵＳＢデバイスに伝送すべきＵＳＢデータを、ＩＰパケットでカプセル化し、ＩＰネットワーク経由で、これを、ＵＳＢデバイスの接続機器に伝送して、ＵＳＢデバイスの接続機器とは別の通信装置から、ＩＰネットワーク経由で、周辺機器を制御するものである。
【特許文献１】特開２００５−３４８１２５号公報
【非特許文献１】”silex technology : Japan Site”、[online]、  ［平成１８年８月３日検索］、インターネット  ＜URL:http://www.silex.jp/japan/products/network/usb/sx2000u2.html＞
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来知られるＵＳＢ  ＯＶＥＲ  ＩＰ（登録商標）技術のような、ネットワークを通じて他の通信装置にローカル接続された周辺機器を制御する技術を、ディジタル複合機等の通信装置に、単に適用した場合には、次のような問題があった。
【０００６】
従来装置としては、周辺機器とネットワークとの間に設置されて専用の中継器として機能し、ネットワーク経由で送信されてきたＩＰパケット化された周辺機器宛のデータを自装置に接続された周辺機器に伝送し、自装置に接続された周辺機器からの出力データをＩＰパケット化して、ネットワークに送出するものが知られているが、この装置を、ディジタル複合機に組み込んだ場合には、ディジタル複合機のアプリケーションソフトウェアから周辺機器を利用する際に、ネットワーク経由でしか自装置に接続された周辺機器を利用することができないといった問題があった。
【０００７】
従って、従来技術を、単にディジタル複合機等の通信装置に適用した場合には、自装置に接続された周辺機器を利用するのにも拘わらず、この周辺機器宛のデータを、一旦ＩＰパケット化し、これをネットワークに送出して、ネットワークインタフェース経由で、自装置に接続された周辺機器にデータを伝送しなければならないといった問題があった。また、このような処理により、上記ディジタル複合機等の通信装置には、ＩＰパケット化等に係る大きな負荷がかかるといった問題があった。
【０００８】
本発明は、こうした問題に鑑みなされたものであり、通信装置に接続された周辺機器を、通信装置内部の処理主体及びネットワーク上の端末装置から効率的に利用可能な技術を提供することを第一の目的とする。また、通信装置内部の処理主体からの指令に応じて周辺機器を制御する機能及びネットワーク上の端末装置からの指令に応じて周辺機器を制御する機能の各機能を、必要に応じて、適切に働かせることが可能な技術を提供することを第二の目的とする。
【課題を解決するための手段】
【０００９】
かかる目的を達成するためになされた請求項１記載の通信装置は、ネットワークに接続された端末装置と通信するためのネットワークインタフェースと、ローカル接続された周辺機器と通信するための通信インタフェースと、この通信インタフェースを制御して、周辺機器に対する制御信号（周辺機器を制御するための制御データ）を、対応する周辺機器に伝送するインタフェース制御手段と、機器制御手段と、中継手段と、を備える。
【００１０】
この通信装置では、機器制御手段が、自装置内の処理主体から入力される指示に従って、通信インタフェースに接続された周辺機器に対する制御データを生成し、これをインタフェース制御手段に入力する。また、中継手段は、ネットワークインタフェースが受信したパケットから、通信インタフェースに接続された周辺機器に対する制御データを抽出し、これをインタフェース制御手段に入力する。即ち、この通信装置は、自装置内の処理主体からの周辺機器に対する操作を、非ネットワーク経由で受け付けると共に、ネットワーク経由で、ネットワーク上の端末装置からの周辺機器に対する遠隔操作を受け付ける。
【００１１】
従って、本発明によれば、従来装置のように、内部の処理主体から周辺機器を利用する際、制御データをネットワークに送出する必要がなく、内部の処理主体から周辺機器を効率的に利用することができる。よって、本発明によれば、通信装置に接続された周辺機器を、通信装置内部の処理主体及びネットワーク上の端末装置の両者から効率的に利用することができる。尚、通信装置内部の処理主体としては、ユーザに対し様々なサービスを提供するために当該通信装置が実行するアプリケーションソフトウェア等を挙げることができる。
【００１２】
ところで、本発明の通信装置には、機器制御手段及び中継手段のいずれか一方を、切り替えて作動させることにより、周辺機器の制御モードを、機器制御手段を介して周辺機器を制御する内部制御モード、及び、中継手段を介して周辺機器を制御するネットワーク制御モードのいずれかに切り替えるモード切替手段を設けるとよい（請求項２）。
【００１３】
このように構成された通信装置によれば、複数の指令系統が同時に機能することがないので、通信装置内部の処理主体からの操作及びネットワーク上の端末装置からの操作の各操作に対応した周辺機器の制御を、簡単に実現することができる。即ち、機器制御手段及び中継手段として、周知技術を流用し、モード切替手段によって、これらの各手段の作動をコントロールする程度で、各操作に対応した周辺機器の制御を、適切に実行することができる。
【００１４】
また、通信装置には、モード指定情報記憶手段を設け、通信装置は、モード指定情報記憶手段に記憶されたモード指定情報（周辺機器の制御モードを、内部制御モード及びネットワーク制御モードのいずれに設定すべきかを表す情報）に従って、モード切替手段により、周辺機器の制御モードを設定する構成にされるとよい。
【００１５】
このように構成された通信装置によれば、ユーザは、モード指定情報を更新する程度で、当該通信装置を、所望の制御モードで動作させることができる。例えば、当該通信装置に、ユーザインタフェースを通じて入力されるユーザからの指示に従って、モード指定記憶手段が記憶するモード指定情報を書き換える指定情報書換手段を設ければ、ユーザは、ユーザインタフェースを通じて、モード指定情報を書き換えることで、当該通信装置による周辺機器の制御形態を、簡単に切り替えることができる。従って、この発明によれば、ユーザからの指示に従い、内部制御機能及びネットワーク制御機能の各機能を、必要に応じて、適切に働かせることができる（請求項３）。
【００１６】
尚、モード指定情報記憶手段は、ＥＥＰＲＯＭやフラッシュメモリ等の電気的にデータ書換可能な不揮発性の記録媒体に、モード指定情報を記録する構成にされるとよい。このようにすれば、通信装置の電源オフ後にも、モード指定情報が記憶維持され便利である。
【００１７】
また、上記の通信インタフェースとしては、ＵＳＢインタフェースやＩＥＥＥ１３９４インタフェース等を挙げることができる。また、ＵＳＢインタフェースのように、複数の周辺機器が通信インタフェースに接続される環境では、通信インタフェースの各周辺機器の制御モードを、夫々別個に設定できるように、通信装置を構成するとよい。
【００１８】
即ち、モード指定情報記憶手段は、通信インタフェースに接続される周辺機器毎に、モード指定情報を記憶する構成にされ、モード切替手段は、モード指定情報記憶手段が記憶する周辺機器毎のモード指定情報に従って、通信インタフェースに接続された各周辺機器の制御モードを、個別に設定する構成にされるとよい。
【００１９】
このように通信装置を構成すれば、ユーザは、各周辺機器の制御モードを、周辺機器の利用形態に応じて、個別に設定することができ、各周辺機器を、所望の形態で利用することができる。従って、この発明によれば、利便性の高い通信装置を、ユーザに提供することができる（請求項４）。
【００２０】
また、通信装置に、内部制御機能及びネットワーク制御機能を、切替動作可能に設ける場合には、ネットワーク制御機能が有効になっていないにもかかわらず、ユーザが、ネットワーク経由で周辺機器を制御しようとする場合が考えられる。
【００２１】
従って、上述の通信装置には、ネットワークインタフェースを通じて、ネットワーク上の端末装置に、モード指定情報記憶手段が記憶するモード指定情報の内容を通知する通知手段を設けるとよい。このように構成された通信装置によれば、ユーザが利用する端末装置に向けてモード指定情報の内容を通知するので、端末装置のユーザは、制御モードを、その端末装置を通じて簡単に知ることができる。よって、この発明によれば、周辺機器を利用できない理由が、制御モードの誤認識によるものか、ネットワークの不調等、別の理由によるものかを、ユーザに正しく理解させることができ、ユーザに混乱や不快感を及ぼすのを防止することができる（請求項５）。
【００２２】
また、通信インタフェースには、過去未接続の新規な周辺機器が接続される可能性があるので、モード切替手段は、通信インタフェースに過去未接続の周辺機器が接続された場合、通信インタフェースに接続された過去未接続の周辺機器の制御モードを、デフォルトの制御モードに設定する構成にされるとよい。また、デフォルトの制御モードとしては、内部制御モードを採用するのが好ましい。
【００２３】
デフォルトの制御モードを、ネットワーク制御モードにすると、当該通信装置に新規の周辺機器を接続した際、その周辺機器がすぐさまネットワーク上の端末装置にて利用可能となってしまうため、周辺機器を接続した者の意思とは無関係に、他の者が、勝手に周辺機器を利用してしまう可能性があり、不都合が大きく、セキュリティの面で好ましくない。
【００２４】
一方、デフォルトの制御モードを、内部制御モードにすれば、ユーザが明示的な意思によって設定変更をしないかぎり、ネットワーク上の端末装置から周辺機器を利用することはできないので、ネットワークを通じた周辺機器の不正使用を防止することができ、セキュリティの面でシステムが脆弱になるのを防止することができる（請求項６）。
【００２５】
また、上述した通信装置が有する各手段の機能は、プログラムにより、コンピュータに実現させることができる。
請求項７記載の発明は、ネットワークに接続された端末装置と通信するためのネットワークインタフェースと、ローカル接続された周辺機器と通信するための通信インタフェースと、を備える通信装置のコンピュータに、通信インタフェースを制御して、周辺機器を制御するための制御データを、周辺機器に伝送するインタフェース制御手段と、自装置内の処理主体から入力される指示に従って、通信インタフェースに接続された周辺機器に対する制御データを生成し、これをインタフェース制御手段に入力する機器制御手段と、ネットワークインタフェースが受信したパケットから、通信インタフェースに接続された周辺機器に対する制御データを抽出し、これをインタフェース制御手段に入力する中継手段としての機能を実現させるためのプログラムである。このプログラムを用いれば、請求項１記載の通信装置と同様の効果を得ることができる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の実施例について、図面と共に説明する。
［１．ディジタル複合機の構成（概略）］
図１は、本発明が適用されたディジタル複合機１の構成を表すブロック図である。本実施例の複合機１は、コピー機能、プリンタ機能、スキャナ機能、ファクシミリ機能、及び、ＵＳＢデバイスサーバ機能を有し、制御部１０にて、各種処理を実行することにより、上述の機能を実現する。
【００２７】
具体的に、複合機１は、制御部１０の他、印刷部２１、読取部２３、ＦＡＸ通信部２５、操作部２７、表示部２９、ＵＳＢホストコントローラ３１、ＵＳＢルートハブ３３、ＬＡＮインタフェース３５を備え、これらを用い、上述の機能を実現する。
【００２８】
制御部１０は、各種プログラムを実行するＣＰＵ１１、各種プログラムを記憶するＲＯＭ１３、作業用メモリとしてのＲＡＭ１５、及び、設定情報等を記憶するＥＥＰＲＯＭ１７を備え、ＣＰＵ１１にて、プログラムを実行することにより、装置内各部を統括制御し、各種機能を実現する。
【００２９】
印刷部２１は、レーザプリンタ方式又はインクジェット方式にて、用紙に画像を形成するものであり、制御部１０に制御されて、給紙部（図示せず）から用紙を取り込んで、この用紙に、制御部１０から与えられた画像データに対応する画像を印刷する。この印刷部２１は、コピー機能、プリンタ機能、ファクシミリ機能を実現する際に用いられる。
【００３０】
また、読取部２３は、載置部（図示せず）に載置された原稿を光学的に読み取り、読取画像を表す画像データを生成するものである。この読取部２３は、制御部１０に制御されて、原稿を読み取り、生成した画像データを制御部１０に提供する。この読取部２３は、コピー機能、ファクシミリ機能、スキャナ機能を実現する際に用いられる。
【００３１】
また、ＦＡＸ通信部２５は、制御部１０から与えられた画像データを、ファクシミリ信号により、公衆電話回線網（ＰＳＴＮ）を通じ、外部のファクシミリ装置に送信すると共に、外部のファクシミリ装置から、公衆電話回線網（ＰＳＴＮ）を通じて送信されてきたファクシミリ信号を、制御部１０が取扱い可能な画像データに変換して、ファクシミリ送受信を実現する。
【００３２】
その他、操作部２７は、ユーザが操作可能な各種キーを有し、キーを通じてユーザの操作を受け付け、その操作内容を制御部１０に通知する構成にされている。また、表示部２９は、液晶ディスプレイからなり、制御部１０に制御されて、各種情報を、ユーザに向け、文字又は画像の形態で表示する。
【００３３】
また、ＵＳＢホストコントローラ３１及びＵＳＢルートハブ３３は、ＵＳＢインタフェースを構成するものであり、ＵＳＢホストコントローラ３１は、制御部１０に制御されて、ＵＳＢ方式の通信信号を生成し、これをＵＳＢルートハブ３３に出力すると共に、ＵＳＢデバイス３からＵＳＢルートハブ３３を介して送信されてくる通信信号を受信して、ＵＳＢルートハブ３３に接続された各ＵＳＢデバイス３と通信し、制御部１０から入力されるＵＳＢデータを、このＵＳＢデータが宛先とするＵＳＢデバイス３に送信すると共に、ＵＳＢデバイス３から受信したＵＳＢデータを、制御部１０に入力する。また、ＵＳＢルートハブ３３は、ＵＳＢホストコントローラ３１からの出力を分岐する構成にされ、各分岐先にＵＳＢコネクタＣＮを備え、このＵＳＢコネクタＣＮに、複数のＵＳＢデバイス３を接続可能な構成にされている。
【００３４】
その他、複合機１が備えるＬＡＮインタフェース３５は、複合機１が設置されるオフィスのローカルエリアネットワークＮＴに接続され、制御部１０に制御されて、ネットワークＮＴ内のノードと通信する。具体的に、本実施例のローカルエリアネットワークＮＴは、ＩＰ（インターネットプロトコル）ネットワークとして構成され、このネットワークＮＴ内には、複合機１のＵＳＢデバイス３をネットワークＮＴ経由で制御可能な機能を有するパーソナルコンピュータ（以下、「ＰＣ」とする。）５０と、ネットワークＮＴを広域ネットワークとしてのインターネットに接続するルータと、が設けられている。
【００３５】
尚、ＬＡＮインタフェース３５は、上述のＵＳＢデバイスサーバ機能を実現する際に用いられる。ＵＳＢデバイスサーバ機能とは、複合機１に接続されたＵＳＢデバイス３を、ネットワークＮＴ経由で利用可能にする機能のことである。
【００３６】
図２は、ＵＳＢデバイスサーバ機能に関する説明図である。ＵＳＢデバイスサーバ機能は、制御部１０によりソフトウェア的に実現されるため、図２（ａ）では、制御部１０にて実行される各プログラムの関係、及び、プログラムとハードウェアとの関係を、ブロック図で示す。
【００３７】
本実施例の複合機１は、ＵＳＢデバイスサーバ機能の他に、制御部１０にて実行されるアプリケーションソフトウェアからの指令に従って、ＵＳＢデバイス３を制御する内部制御機能を有し、各機能は、ＵＳＢ管理プログラム１０７により切り替えられて実現される。
【００３８】
具体的に、制御部１０は、ＵＳＢデバイスサーバ機能を実現するに当たって、ＵＳＢＩＰ１０１、デバイスブリッジ１０３ａ、ＵＳＢホストコントローラドライバ１０５の各プログラムを実行する。デバイスブリッジ１０３ａは、ＵＳＢデバイスサーバ機能を実現する際、ＵＳＢドライバ１０３ｂに代えてロードされ、ＣＰＵ１１により実行される。換言すると、ＵＳＢデバイスサーバ機能に代えて内部制御機能を実現する際、ＣＰＵ１１は、デバイスブリッジ１０３ａに代えて、ＵＳＢドライバ１０３ｂをロードして実行する。
【００３９】
ＵＳＢＩＰ１０１は、ＬＡＮインタフェース３５を通じてネットワークＮＴから受信したＩＰパケットが内包するＵＳＢデータを、ＩＰパケットから抽出し、このＵＳＢデータを、ＵＳＢデータが宛先とするＵＳＢデバイス３に対応するデバイスブリッジ１０３ａに入力すると共に、デバイスブリッジ１０３ａから入力されたＵＳＢデータを、ＩＰパケット化して、これをネットワークＮＴに送出するプログラム（所謂、ＵＳＢ  ＯＶＥＲ  ＩＰ（登録商標）プログラム）である。
【００４０】
このＵＳＢＩＰ１０１に対しては、ＵＳＢ管理プログラム１０７により、ＩＰアドレスとＵＳＢデバイス３との対応関係が設定され、これにより、ＵＳＢデバイス３からデバイスブリッジ１０３ａ経由で入力されたＵＳＢデータは、当該ＵＳＢデバイス３に対応付けられたＩＰアドレスに対応する外部ＰＣ５０に送信され、外部ＰＣ５０からのＩＰパケット化されたＵＳＢデータは、対応するＵＳＢデバイス３に伝送され、外部ＰＣ５０−ＵＳＢデバイス３間のＵＳＢデータの授受が実現される。
【００４１】
また、デバイスブリッジ１０３ａは、ＵＳＢＩＰ１０１−ＵＳＢホストコントローラドライバ１０５間のＵＳＢデータの中継を行うものであり、ＵＳＢＩＰ１０１から入力されたＵＳＢデータを、ＵＳＢホストコントローラドライバ１０５に伝送すると共に、ＵＳＢホストコントローラドライバ１０５から入力されたＵＳＢデータを、ＵＳＢＩＰ１０１に伝送する機能を有する。
【００４２】
この他、ＵＳＢホストコントローラドライバ１０５は、入力された送信対象のＵＳＢデータを、ＵＳＢホストコントローラ３１を制御して、ＵＳＢホストコントローラ３１から下流（ＵＳＢルートハブ３３側）の伝送路に物理信号として出力し、上記ＵＳＢデータが宛先とするＵＳＢデバイス３に、このＵＳＢデータを送信すると共に、ＵＳＢデバイス３からＵＳＢルートハブ３３を通じて送信されてきたＵＳＢデータをＵＳＢホストコントローラ３１を介して受信して、このＵＳＢデータ送信元のＵＳＢデバイス３に対応するＵＳＢドライバ１０３ｂ又はデバイスブリッジ１０３ａに、受信したＵＳＢデータを伝送する機能を有する。
【００４３】
また、デバイスブリッジ１０３ａに代えて、内部制御機能の実現時にロードされるＵＳＢドライバ１０３ｂは、ＵＳＢデバイス３を制御するためのプログラムであり、ＵＳＢデバイス３を利用する複合機１のアプリケーションソフトウェアからの指令に従って、その指令に対応する操作をＵＳＢデバイス３に加えるためのＵＳＢデータ（制御データ）を生成し、これをＵＳＢホストコントローラドライバ１０５経由でＵＳＢデバイス３に送信すると共に、ＵＳＢデバイス３からＵＳＢホストコントローラドライバ１０５経由で送信されてきたＵＳＢデータを、アプリケーションソフトウェアに提供するものである。
【００４４】
即ち、複合機１では、内部制御機能の実現時、ＵＳＢドライバ１０３ｂがロードされて、図２（ｂ）に示すように、ＵＳＢドライバ１０３ｂ、ＵＳＢホストコントローラドライバ１０５からなるＵＳＢデバイス３の制御系が構築される。一方、ＵＳＢデバイスサーバ機能の実現時には、ＵＳＢドライバ１０３ｂではなくデバイスブリッジ１０３ａがロードされて、図２（ｃ）に示すように、ＵＳＢＩＰ１０１、デバイスブリッジ１０３ａ、ＵＳＢホストコントローラドライバ１０５からなるＵＳＢデバイス３の制御系が構築される。
【００４５】
尚、上述したように、デバイスブリッジ１０３ａ及びＵＳＢドライバ１０３ｂは、ＵＳＢ管理プログラム１０７によって、ＵＳＢデバイス３毎に、切り替えられてロードされる。また、切替は、ＥＥＰＲＯＭ１７に記憶されたデバイス共有テーブルＴＢＬ１が有する共有設定情報に従って、行われる。図３は、ＥＥＰＲＯＭ１７が記憶するデバイス共有テーブルＴＢＬ１の構成を表す説明図である。
【００４６】
図３に示すように、ＥＥＰＲＯＭ１７が記憶するデバイス共有テーブルＴＢＬ１は、設定種別情報と、複数の共有設定情報と、からなる。設定種別情報は、ＵＳＢデバイスサーバ機能の動作設定を、ＵＳＢデバイス毎に行うか、全ＵＳＢデバイスに共通して行うかを表す情報である。具体的に、設定種別情報が値「０」を示すとき、制御部１０は、共有設定情報ｄｅｖ０を参照し、この共有設定情報ｄｅｖ０が示す全ＵＳＢデバイス３に共通する設定情報に従って、各ＵＳＢデバイス３を制御する。
【００４７】
一方、設定種別情報が値「１」を示すとき、制御部１０は、ＵＳＢデバイス毎に設けられた共有設定情報ｄｅｖ１〜ｄｅｖＮに基づき、各ＵＳＢデバイス３を、対応ＵＳＢデバイス３の共有設定情報ｄｅｖｉ（ｉ＝１〜Ｎ）が示す設定情報に従って、制御する。
【００４８】
尚、共有設定情報ｄｅｖ０は、モード指定情報及び接続許可ホスト情報からなり、他の共有設定情報ｄｅｖｉ（ｉ＝１〜Ｎ）は、当該共有設定情報に対応するＵＳＢデバイス３に割り当てられたデバイスＩＤと、ＵＳＢバージョン番号、デバイスクラス、ベンダＩＤ、及び、プロダクトＩＤを表すデバイス情報と、モード指定情報と、接続許可ホスト情報とからなる。
【００４９】
モード指定情報は、「共有モード」及び「非共有モード」のいずれかの値を採るものであり、モード指定情報が「共有モード」を示す場合、制御部１０は、対応するＵＳＢデバイス３に対してＵＳＢデバイスサーバ機能を働かせ、このＵＳＢデバイス３をネットワークＮＴ上の端末装置から利用できるようにする。一方、モード指定情報が「非共有モード」を示す場合、制御部１０は、対応するＵＳＢデバイス３に対して内部制御機能を働かせ、このＵＳＢデバイス３を、自装置内でのみ利用可能とする。
【００５０】
また、接続許可ホスト情報は、モード指定情報が「共有モード」の場合にのみ有効に機能するものであり、許可ホスト数情報と、接続許可ホスト毎のアドレスユーザ情報と、からなる。ここでいう接続許可ホストとは、ＵＳＢデバイスサーバ機能を通じたネットワークＮＴ経由でのＵＳＢデバイス３の利用を許可されたネットワークＮＴ上の端末装置のことである。
【００５１】
許可ホスト数情報は、該当ＵＳＢデバイス３のネットワークＮＴ経由の利用が許可された接続許可ホストの数を表す情報であり、この数は、アドレスユーザ情報の個数に一致する。また、接続許可ホスト毎のアドレスユーザ情報は、接続許可ホストのＭＡＣアドレスと、この接続許可ホストからのＵＳＢデバイス３の利用が許可されたユーザのリストと、からなる。このユーザリストには、ＵＳＢデバイス３の利用が許可されたユーザの名称が列挙されている。
【００５２】
［２．ディジタル複合機を利用するＰＣの構成（概略）］
続いて、複合機１を利用するＰＣ５０の構成について説明する。図４は、ＰＣ５０の構成を表すブロック図である。
【００５３】
本実施例のＰＣ５０は、周知のＰＣ５０と同様のハードウェア構成にされており、制御部６０と、各種プログラムを記憶するハードディスク装置７１と、液晶ディスプレイ等からなる表示部７３と、キーボードやポインティングデバイス等からなる操作部７５と、ＬＡＮインタフェース７７と、を備える。
【００５４】
ＬＡＮインタフェース７７は、複合機１と同一のネットワークＮＴに接続され、複合機１と通信可能な構成にされている。また、制御部６０は、各種プログラムを実行するＣＰＵ６１、ブートプログラム等を記憶するＲＯＭ６３、作業用メモリとしてのＲＡＭ６５を備え、ＣＰＵ６１にて各種プログラムを実行することにより、装置内各部を統括制御し、各種機能を実現する。例えば、制御部６０は、ＬＡＮインタフェース７７を介して、複合機１と通信し、複合機１に画像データを送信して、複合機１に、送信した画像データに基づく画像を、用紙に印刷させる。
【００５５】
その他、制御部６０は、自装置にインストールされたアプリケーションソフトウェアからの指令に従って、複合機１に接続されたＵＳＢデバイス３を、ネットワーク経由で制御する。
【００５６】
図５は、ＰＣ５０の制御部６０が、ネットワーク経由でＵＳＢデバイス３を制御するに当たって、実行するプログラムの説明図であり、制御部６０が実行する各プログラムの関係、及び、プログラムとハードウェアとの関係をブロック図で示したものである。
【００５７】
具体的に、制御部６０は、ネットワーク経由でＵＳＢデバイス３を制御するに当たって、ＵＳＢドライバ６０１、仮想ＵＳＢホストコントローラドライバ６０３、ＵＳＢＩＰ６０５の各プログラムを実行する。
【００５８】
ＵＳＢＩＰ６０５は、ＬＡＮインタフェース７７を通じてネットワーク経由で受信したＩＰパケットが内包するＵＳＢデータを、ＩＰパケットから抽出して、仮想ＵＳＢホストコントローラドライバ６０３に入力すると共に、仮想ＵＳＢホストコントローラドライバ６０３から入力されたＵＳＢデータを、ＩＰパケット化して、ＵＳＢデータが宛先とするＵＳＢデバイス３が接続された複合機１に送信するプログラム（所謂、ＵＳＢ  ＯＶＥＲ  ＩＰ（登録商標）プログラム）である。このＵＳＢＩＰ６０５に対しては、リモートデバイス管理プログラム６０７により、ＵＳＢデバイス３と、このＵＳＢデバイス３を有する複合機１のＩＰアドレスとの対応関係が設定され、これにより、複合機１に接続されたＵＳＢデバイス３と、当該ＰＣ５０との通信が実現される。
【００５９】
また、仮想ＵＳＢホストコントローラドライバ６０３は、ＵＳＢドライバ６０１−ＵＳＢＩＰ６０５間のＵＳＢデータを中継するプログラムであり、ＵＳＢＩＰ６０５から入力されたＵＳＢデータを、送信元のＵＳＢデバイス３に対応するＵＳＢドライバ６０１に入力すると共に、ＵＳＢドライバ６０１から入力されたＵＳＢデータを、ＵＳＢＩＰ６０５に入力するものである。
【００６０】
また、ＵＳＢドライバ６０１は、ＵＳＢデバイス３を制御するためのプログラムであり、ＵＳＢデバイス３を利用するアプリケーションソフトウェアからの指令に従って、その指令に対応する操作をＵＳＢデバイス３に加えるためのＵＳＢデータ（制御データ）を生成し、これを仮想ＵＳＢホストコントローラドライバ６０３経由でネットワーク上のＵＳＢデバイス３に送信すると共に、ネットワーク上のＵＳＢデバイス３から送信されてきたＵＳＢデータを、仮想ＵＳＢホストコントローラドライバ６０３経由で受け取り、これをアプリケーションソフトウェアに提供するものである。
【００６１】
その他、リモートデバイス管理プログラム６０７は、上記対応関係の設定と共に、ＵＳＢデバイス３に対する接続要求、接続解除要求等を、ユーザからの指示に従って、複合機１に送信する機能を有する（詳細後述）。
【００６２】
以上、ＰＣ５０及び複合機１に関し、装置構成の概略を説明したが、続いて各装置で実現される処理を、具体的に説明する。
［３．ディジタル複合機のＵＳＢ管理プログラムによって実現される処理］
上述したようにＵＳＢ管理プログラム１０７は、複合機１に接続された各ＵＳＢデバイス３に対し、ＵＳＢデバイス毎に、ＵＳＢデバイスサーバ機能及び内部制御機能のいずれか一方を働かせる機能を有するが、この機能は、以下に説明する処理によって実現される。
【００６３】
図６は、ＵＳＢコネクタＣＮにＵＳＢデバイス３が接続されると、ＵＳＢ管理プログラム１０７に従って、制御部１０が実行する接続受付処理を表すフローチャートである。
制御部１０は、接続受付処理を開始すると、まず、ＵＳＢデバイス３からデバイスディスクリプタを取得するためにＵＳＢドライバをロードして（Ｓ１１０）、今回ＵＳＢコネクタＣＮに接続されたＵＳＢデバイス３からデバイスディスクリプタを取得する（Ｓ１２０）。その後、Ｓ１１０でロードしたＵＳＢドライバをアンロードする（Ｓ１２５）。周知のように、デバイスディスクリプタは、ＵＳＢデバイス３のデバイス情報を示すものであり、ＵＳＢバージョン番号やデバイスクラス、ベンダＩＤ、プロダクトＩＤ等が記述されてなるものである。
【００６４】
また、Ｓ１２５の処理を終えると、制御部１０は、取得したデバイスディスクリプタが示す情報に基づき、ＥＥＰＲＯＭ１７が記憶するデバイス共有テーブルＴＢＬ１において、今回接続されたＵＳＢデバイス３の共有設定情報を検索し（Ｓ１３０）、対応する共有設定情報がない場合には（Ｓ１４０でＮｏ）、Ｓ１５０に移行し、対応する共有設定情報がある場合には（Ｓ１４０でＹｅｓ）、Ｓ１６０に移行する。
【００６５】
尚、ＥＥＰＲＯＭ１７が記憶するデバイス共有テーブルＴＢＬ１に、今回接続されたＵＳＢデバイス３の共有設定情報が存在するか否かは、デバイス共有テーブルＴＢＬ１に登録された各共有設定情報が有するデバイス情報に基づいて判断する。即ち、Ｓ１２０で取得したデバイスディスクリプタが示すＵＳＢバージョン番号、デバイスクラス、ベンダＩＤ及びプロダクトＩＤと同一のデバイス情報を示す共有設定情報が、デバイス共有テーブルＴＢＬ１に登録されている場合、制御部１０は、今回接続されたＵＳＢデバイス３の共有設定情報がデバイス共有テーブルＴＢＬ１に存在すると判断し、そうでない場合には、対応する共有設定情報が存在しないと判断する。
【００６６】
Ｓ１５０に移行すると、制御部１０は、デバイス共有テーブルＴＢＬ１に、今回接続されたＵＳＢデバイス３の共有設定情報を、デバイス共有テーブルＴＢＬ１に登録する。具体的には、デバイスＩＤとして、このＵＳＢデバイス３に割り当てたＩＤを記述し、デバイス情報として、デバイスディスクリプタが示すＵＳＢバージョン番号、デバイスクラス、ベンダＩＤ及びプロダクトＩＤを記述し、モード指定情報として、「非共有モード」を記述し、接続許可ホスト情報として、空の情報を設定してなる共有設定情報を生成し、これをデバイス共有テーブルＴＢＬ１に登録する。また、このようにして共有設定情報を、デバイス共有テーブルＴＢＬ１に登録すると、制御部１０は、Ｓ１６０に移行する。
【００６７】
Ｓ１６０に移行すると、制御部１０は、ＲＡＭ１５が記憶する接続デバイステーブルＴＢＬ２に、今回接続されたＵＳＢデバイス３の接続デバイス情報を、登録する。図７は、ＲＡＭ１５が記憶する接続デバイステーブルＴＢＬ２の構成を表す説明図である。
【００６８】
接続デバイステーブルＴＢＬ２は、ＵＳＢコネクタＣＮに接続されたＵＳＢデバイス３の情報を管理するものであり、ＵＳＢコネクタＣＮに接続されたＵＳＢデバイス毎に、接続デバイス情報を有する。即ち、この接続デバイステーブルＴＢＬ２には、Ｓ１６０の処理により、ＵＳＢコネクタＣＮにＵＳＢデバイス３が接続される度、接続されたＵＳＢデバイス３の接続デバイス情報が登録される。
【００６９】
具体的に、接続デバイス情報は、接続されたＵＳＢデバイスのデバイスＩＤと、このＵＳＢデバイスに「共有モード」及び「非共有モード」のいずれが設定されているかを表すモード情報と、当該ＵＳＢデバイスを利用する端末装置を表す接続ホスト情報と、を有する。尚、接続ホスト情報は、該当ＵＳＢデバイスを利用するネットワークＮＴ上の端末装置のＭＡＣアドレス及びＵＳＢデバイスを利用するユーザ名を示す情報である。該当ＵＳＢデバイス３を利用する端末装置及びユーザがいない場合、接続ホスト情報は、空情報にされる。
【００７０】
詳述すると、Ｓ１６０において、制御部１０は、今回接続されたＵＳＢデバイス３の共有設定情報ｄｅｖｉ又は共有設定情報ｄｅｖ０に基づき、共有設定情報が示すモードと同一のモードを表す値（「共有モード」又は「非共有モード」）を、モード情報として記した接続デバイス情報であって、接続ホスト情報を、空情報とした接続デバイス情報を生成し、これを接続デバイステーブルＴＢＬ２に登録する。具体的に、デバイス共有テーブルＴＢＬ１の設定種別が値「１」に設定されている場合には、今回接続されたＵＳＢデバイス３の共有設定情報ｄｅｖｉに基づいて、接続デバイス情報を生成し、デバイス共有テーブルＴＢＬ１の設定種別が値「０」に設定されている場合には、共有設定情報ｄｅｖ０に基づき、接続デバイス情報を生成する。
【００７１】
また、Ｓ１６０での処理を終えると、制御部１０は、当該接続受付処理を終了する。
続いて、ＵＳＢデバイス３に対する接続要求を処理するために、制御部１０が、ＵＳＢ管理プログラム１０７に基づいて実行する接続要求受付処理について説明する。図８は、接続要求が発生すると、制御部１０が実行する接続要求受付処理を表すフローチャートである。
【００７２】
接続要求受付処理を開始すると、制御部１０は、接続要求元がネットワークＮＴ上の端末装置であるか否かを判断する（Ｓ２１０）。
そして、接続要求元がネットワークＮＴ上の端末装置ではなく自装置のアプリケーションソフトウェアであると判断すると（Ｓ２１０でＮｏ）、Ｓ２３０にて、接続要求されたＵＳＢデバイス３に適合するＵＳＢドライバ１０３ｂをロードして、接続要求されたＵＳＢデバイス３の制御系として、ＵＳＢドライバ１０３ｂを用いたＵＳＢデバイス３の制御系を構築する。その後、当該接続要求受付処理を終了する。但し、自装置のアプリケーションソフトウェアから接続要求があった時点で、既に対応するＵＳＢデバイス３のＵＳＢドライバ１０３ｂ又はデバイスブリッジ１０３ａがロードされ、対応するＵＳＢデバイス３の制御系が構築されている場合には、Ｓ２３０で何ら処理を実行することなく、当該接続要求受付処理を終了する。
【００７３】
一方、Ｓ２１０において、接続要求元がネットワークＮＴ上の端末装置であると判断すると（Ｓ２１０でＹｅｓ）、制御部１０は、接続要求元が、予めＵＳＢデバイス３の利用を許可された接続許可ホスト及びユーザに該当する正当な者であるか否かを判断する（Ｓ２４０）。尚、この判断は、ＥＥＰＲＯＭ１７に記録されたデバイス共有テーブルＴＢＬ１に基づいて行われる。
【００７４】
即ち、デバイス共有テーブルＴＢＬ１の設定種別が「０」である場合、制御部１０は、共有設定情報ｄｅｖ０を参照し、デバイス共有テーブルＴＢＬ１の設定種別が「１」である場合には、接続要求されたＵＳＢデバイス３の共有設定情報ｄｅｖｉを参照し、参照した共有設定情報が示すモードが「共有モード」であるかを判断する。そして参照した共有設定情報が示すモードが「共有モード」ではない場合、制御部１０は、接続要求元が正当な者ではないと判断し（Ｓ２４０でＮｏ）、当該接続要求受付処理を終了する。
【００７５】
一方、参照した共有設定情報が示すモードが「共有モード」である場合には、その共有設定情報が示す接続許可ホスト情報に基づき、接続要求元がＵＳＢデバイス３の利用を許可された接続許可ホスト及びユーザに該当するかを判断する。尚、接続要求には、接続要求元のＭＡＣアドレス及びユーザ名の情報が付加されており、上記判断は、接続要求に付加された情報と、接続許可ホスト情報との比較により行う。但し、本実施例では、共有設定情報が示すモードが「共有モード」であるにも拘わらず、接続許可ホスト情報が空情報である場合、ＵＳＢデバイス３が全ての端末装置に開放されているとして取り扱い、接続要求に付加されたＭＡＣアドレス及びユーザ名の情報によらず、全ての端末装置に対し、接続要求元が正当な者であると判断する。
【００７６】
そして、参照した共有設定情報に基づき、接続要求元が正当な者ではないと判断すると（Ｓ２４０でＮｏ）、制御部１０は、当該接続要求受付処理を終了し、正当な者であると判断すると（Ｓ２４０でＹｅｓ）、Ｓ２５０に移行する。尚、本実施例では、Ｓ２４０での判断時に、接続要求されたＵＳＢデバイス３についての制御系が既に構築されており、ＵＳＢデバイス３が他の者に占有されている場合、接続要求元が正当なものではないと取り扱って、当該接続要求受付処理を終了する。
【００７７】
また、Ｓ２５０に移行すると、制御部１０は、デバイスブリッジ１０３ａをロードして、今回接続要求があったＵＳＢデバイス３の制御系として、デバイスブリッジ１０３ａを用いたＵＳＢデバイス３の制御系（図２（ｃ）参照）を構築する。また、Ｓ２５０でデバイスブリッジ１０３ａをロードした後には、ＵＳＢＩＰ１０１に対して、接続要求元のＩＰアドレスと接続要求されたＵＳＢデバイス３との対応関係を設定し（Ｓ２６０）、接続要求されたＵＳＢデバイス３と接続要求元の端末装置とをＵＳＢ通信可能に接続する。
【００７８】
また、Ｓ２６０での処理を終えると、制御部１０は、接続要求されたＵＳＢデバイス３の接続デバイス情報を、接続デバイステーブルＴＢＬ２において編集し、該当接続デバイス情報を構成する接続ホスト情報を、今回接続要求してきた端末装置のＭＡＣアドレスとユーザ名とからなる情報に更新する（Ｓ２７０）。その後、当該接続要求受付処理を終了する。
【００７９】
続いて、一度構築されたＵＳＢデバイス３の制御系の解除を要求する接続解除要求を処理するために、制御部１０が、ＵＳＢ管理プログラム１０７に基づいて実行する接続解除要求受付処理について説明する。図９は、接続解除要求が発生すると、制御部１０が実行する接続解除要求受付処理を表すフローチャートである。
【００８０】
接続解除要求受付処理を開始すると、制御部１０は、接続解除要求が正当な要求であるか否かを判断する（Ｓ３１０）。具体的に、接続解除要求が示す接続解除対象のＵＳＢデバイス３が、非共有モードで動作している場合、制御部１０は、自装置内のアプリケーションソフトウェアから発生した接続解除要求を、正当な要求と取り扱い、ネットワークＮＴ経由で受信した接続解除要求を、正当でない要求として取り扱う。
【００８１】
また、接続解除要求が示す接続解除対象のＵＳＢデバイス３が、共有モードで動作している場合、制御部１０は、自装置内のアプリケーションソフトウェアから発生した接続解除要求及び接続解除対象のＵＳＢデバイス３に接続中の端末装置から、ネットワークＮＴ経由で受信した接続解除要求を、正当な要求であると取り扱い、非接続中のネットワークＮＴ上の端末装置から受信した接続解除要求を、正当でない要求であるとして取り扱う。
【００８２】
そして、接続解除要求が正当な要求ではないと判断すると（Ｓ３１０でＮｏ）、制御部１０は、Ｓ３３０以降の処理を実行することなく、当該接続解除要求受付処理を終了する。一方、制御部１０は、接続解除要求が正当な要求であると判断すると（Ｓ３１０でＹｅｓ）、接続解除要求が、ネットワークＮＴ上の端末装置が占有するＵＳＢデバイス３に対する接続解除要求であるか否かを判断し（Ｓ３３０）、接続解除要求が、ネットワークＮＴ上の端末装置が占有するＵＳＢデバイス３に対する接続解除要求であると判断すると（Ｓ３３０でＹｅｓ）、このＵＳＢデバイス３の制御系を構成するデバイスブリッジ１０３ａをアンロードして（Ｓ３４０）、デバイスブリッジ１０３ａを用いたＵＳＢデバイス３の制御系を一旦解除し、当該ＵＳＢデバイス３を利用していたネットワークＮＴ上の端末装置から、ＵＳＢデバイス３を使えないようにする。
【００８３】
また、Ｓ３４０での処理を終えると、制御部１０は、接続デバイステーブルＴＢＬ２における接続解除要求のあったＵＳＢデバイス３の接続デバイス情報が内包する接続ホスト情報をクリアして、接続解除要求のあったＵＳＢデバイス３に対応する接続デバイス情報を更新する（Ｓ３５０）。その後、当該接続解除要求受付処理を終了する。
【００８４】
一方、Ｓ３３０において、接続解除要求が、ネットワークＮＴ上の端末装置が占有するＵＳＢデバイス３に対する接続解除要求ではないと判断すると（Ｓ３３０でＮｏ）、このＵＳＢデバイス３の制御系を構成するＵＳＢドライバ１０３ｂをアンロードして（Ｓ３６０）。ＵＳＢドライバ１０３ｂを用いたＵＳＢデバイス３の制御系を一旦解除し、ＵＳＢデバイス３を利用できないようにする。そして、この処理を終えると、当該接続解除要求受付処理を終了する。
【００８５】
尚、当該複合機１には、接続解除要求を行うためのアプリケーションソフトウェアとして、図１０に示す操作画面を表示部２９を通じて提供するプログラムがインストールされており、ユーザ操作による複合機１での接続解除は、図１０に示す操作画面を通じて行われる。図１０（ａ）に示す操作画面は、操作部２７を通じ、ユーザから接続解除操作画面の表示指令が入力されると、上記プログラムにより表示される。図１０（ａ）に示す接続解除操作画面には、現在接続されているＵＳＢデバイス３の一覧が表示され、一のＵＳＢデバイス３を選択するためのカーソルも合わせて表示される。ユーザにより、この接続解除操作画面を通じて一のＵＳＢデバイス３が選択されると、制御部１０は、上記プログラムに基づいて、「接続解除」又は「接続継続」指示をユーザから受け付けるための図１０（ｂ）に示す解除確認操作画面を表示し、この解除確認操作画面を通じて「接続解除」の指示がユーザから操作部２７を通じて入力されると、上記選択されたＵＳＢデバイス３の接続解除要求を、接続解除要求受付処理を実行するタスクに入力する。
【００８６】
また、当該複合機１のＵＳＢコネクタＣＮに接続されたＵＳＢデバイス３は、上述の接続解除を受けて、ＵＳＢコネクタＣＮから取外し可能な状態となるわけであるが、制御部１０は、ＵＳＢコネクタＣＮからＵＳＢデバイス３が外された場合に必要な処理を実行するため、図１１に示す取外受付処理も実行する。尚、図１１は、複合機１のＵＳＢコネクタＣＮからＵＳＢデバイス３が取り外されると、制御部１０が実行する取外受付処理を表すフローチャートである。
【００８７】
取外受付処理を開始すると、制御部１０は、ＵＳＢコネクタＣＮより取り外されたＵＳＢデバイス３の接続デバイス情報を特定する（Ｓ４１０）。また、この処理を終えると、Ｓ４１０により特定された接続デバイス情報を、接続デバイステーブルＴＢＬ２から削除する（Ｓ４２０）。その後、当該取外受付処理を終了する。
【００８８】
その他、ＵＳＢ管理プログラム１０７は、モードの指定変更操作や接続許可ホスト及びユーザの更新操作を、操作部２７を通じてユーザから受け付けるためのプログラムを有し、制御部１０は、操作部２７を通じて設定変更画面表示操作がなされると、ＵＳＢ管理プログラム１０７に基づいて、図１２に示す接続デバイス設定変更処理を実行する。尚、この接続デバイス設定変更処理に先駆けては、管理者用のパスワードの入力を、ユーザに求め、操作部２７を通じて正当な管理者用のパスワードが、操作部２７を通じてユーザから入力された場合のみ、制御部１０は、当該接続デバイス設定変更処理を実行する。
【００８９】
接続デバイス設定変更処理を開始すると、制御部１０は、まずＳ５１０にて、デバイス共有テーブルＴＢＬ１の設定種別情報を参照し、設定種別情報が値「１」であるか否かを判断する。そして、設定種別情報が値「１」である場合には（Ｓ５１０でＹｅｓ）、接続デバイステーブルＴＢＬ２の登録情報に基づき、現在ＵＳＢコネクタＣＮに接続されているＵＳＢデバイス３のリストを、表示部２９に表示し、このリスト表示画面に基づき、ユーザが、操作部２７を通じて、一のＵＳＢデバイス３を設定変更対象として選択するまで待機する（Ｓ５３０）。そして、一のＵＳＢデバイス３が設定変更対象として選択されると、選択されたＵＳＢデバイス３についてのモード指定画面を表示部２９に表示する（Ｓ５４０）。
【００９０】
モード指定画面は、ＵＳＢデバイス３に設定すべきモードとして、「共有モード」及び「非共有モード」のいずれかを操作部２７を通じて指定可能な構成にされており、制御部１０は、このモード指定画面を表示すると、ユーザによるモード指定操作が完了するまで待機し（Ｓ５５０）、モード指定操作が完了すると（Ｓ５５０でＹｅｓ）、指定されたモードが「共有モード」であるか否かを判断する（Ｓ５６０）。そして、指定されたモードが「共有モード」である場合には（Ｓ５６０でＹｅｓ）、Ｓ５７０の処理を実行した後、Ｓ５８０に移行し、指定されたモードが「非共有モード」である場合には（Ｓ５６０でＮｏ）、Ｓ５７０の処理を実行することなく、Ｓ５８０に移行する。
【００９１】
尚、Ｓ５７０では、接続許可ホスト及びユーザの指定受付処理を実行して、ユーザから、操作部２７を通じて、上記ＵＳＢデバイス３の利用を許可するホストのＭＡＣアドレス及びユーザ名の指定情報を得る。
【００９２】
また、Ｓ５８０に移行すると、制御部１０は、デバイス共有テーブルＴＢＬ１内の選択されたＵＳＢデバイス３に対応する共有設定情報ｄｅｖｉに、前段階の処理にてユーザから指定されたモード、接続許可ホスト及びユーザ名の情報を反映させて、共有設定情報ｄｅｖｉを更新する。また、この処理を終えると、制御部１０は、Ｓ５９０に移行し、接続デバイステーブルＴＢＬ２内の選択されたＵＳＢデバイス３に対応する接続デバイス情報に、前段階の処理にてユーザから指定されたモードを反映させて、接続デバイス情報を更新する。その後、Ｓ６６０に移行する。
【００９３】
一方、Ｓ５１０において設定種別情報が値「１」ではなく値「０」であると判断すると（Ｓ５１０でＮｏ）、制御部１０は、Ｓ６００に移行して、全ＵＳＢデバイスに設定すべきモードの指定情報をユーザから受け付けるためのモード指定画面を表示部２９に表示する。
【００９４】
尚、ここで表示されるモード指定画面は、Ｓ５４０で表示されるモード指定画面と同様、「共有モード」及び「非共有モード」のいずれかを操作部２７を通じて指定可能な構成にされており、制御部１０は、このモード指定画面を表示すると、ユーザによるモード指定操作が完了するまで待機し（Ｓ６１０）、モード指定操作が完了すると（Ｓ６１０でＹｅｓ）、指定されたモードが「共有モード」であるか否かを判断し（Ｓ６２０）、指定されたモードが「共有モード」である場合には（Ｓ６２０でＹｅｓ）、Ｓ６３０で、接続許可ホスト及びユーザの指定受付処理を実行して、ユーザから、操作部２７を通じて、ＵＳＢデバイス３の利用を許可するホストのＭＡＣアドレス及びユーザ名の指定情報を取得する。また、この処理を終えると、制御部１０は、Ｓ６４０に移行する。これに対し、指定されたモードが「非共有モード」である場合（Ｓ６２０でＮｏ）、制御部１０は、Ｓ６３０の処理を実行することなく、Ｓ６４０に移行する。
【００９５】
また、Ｓ６４０に移行すると、制御部１０は、デバイス共有テーブルＴＢＬ１内の共有設定情報ｄｅｖ０に、前段階の処理にてユーザから指定されたモード、接続許可ホスト及びユーザ名の情報を反映させて、共有設定情報ｄｅｖ０を更新する。また、この処理を終えると、制御部１０は、Ｓ６５０に移行し、接続デバイステーブルＴＢＬ２内の各接続デバイス情報に、前段階の処理にてユーザから指定されたモードの情報を反映させて、各接続デバイス情報を更新する。その後、Ｓ６６０に移行する。
【００９６】
また、Ｓ６６０に移行すると、制御部１０は、共有設定情報の更新により、更新された共有設定情報の内容と、現環境との不整合が発生しているか否かを判断する。具体的に、ここでは、共有設定情報に適合しないモードで動作するＵＳＢデバイス３、又は、接続許可ホスト及びユーザに該当しない者からのＵＳＢデバイス３への接続が存在する場合、更新された共有設定情報の内容と、現環境との不整合が発生していると判断する。
【００９７】
そして、不整合が発生していると判断すると（Ｓ６６０でＹｅｓ）、制御部１０は、不整合が発生しているＵＳＢデバイス３で現在構築されている制御系を解除する。即ち、不整合が発生しているＵＳＢデバイス３に対応するＵＳＢドライバ１０３ｂ又はデバイスブリッジ１０３ａをアンロードして、現接続を解除する（Ｓ６７０）。また、Ｓ６７０では、接続解除と共に、接続デバイステーブルＴＢＬ２における各接続デバイス情報の内容を、解除後の状態に適合する内容に更新する。即ち、接続が解除されたＵＳＢデバイス３についての接続ホスト情報をクリアする。そして、これらの処理を終えると、当該接続デバイス設定変更処理を終了する。一方、不整合が発生していないと判断すると（Ｓ６６０でＮｏ）、制御部１０は、Ｓ６７０の処理を実行することなく、当該接続デバイス設定変更処理を終了する。
【００９８】
また、ＵＳＢ管理プログラム１０７は、ネットワークＮＴ経由で送信されてきた設定情報更新要求や情報通知要求に従い、ＥＥＰＲＯＭ１７がデバイス共有テーブルＴＢＬ１に記憶する共有設定情報を更新したり、要求された情報を要求元にネットワークＮＴ経由で通知する機能を有し、制御部１０は、ＵＳＢ管理プログラム１０７に基づいて、図１３に示す外部要求受付処理を実行することにより、この機能を実現する。図１３は、ネットワークＮＴ上の端末装置からの要求である外部要求を、ネットワークＮＴを介して受信すると、制御部１０が実行する外部要求受付処理を表すフローチャートである。
【００９９】
外部要求受付処理を開始すると、制御部１０は、まず、受信した外部要求が正当な要求であるか否かを判断する（Ｓ７１０）。具体的に、制御部１０は、外部要求として、当該複合機１に接続されたＵＳＢデバイス３のリストを要求するリスト情報通知要求（詳細後述）を受信した場合、例外なく受信した外部要求が正当な要求であると判断する。一方、外部要求として、デバイス共有テーブルＴＢＬ１の共通設定情報を要求する詳細情報通知要求又は設定情報更新要求を受信した場合には、この要求に付加されている管理者パスワードが、予め当該複合機１に設定された管理者パスワードと一致するか否かを判断し、両パスワードが一致する場合には、受信した外部要求が正当な要求であると判断し、両パスワードが不一致である場合には、受信した外部要求が正当な要求ではないと判断する。
【０１００】
Ｓ７１０において受信した外部要求が正当な要求であると判断すると（Ｓ７１０でＹｅｓ）、制御部１０は、Ｓ７３０に移行して、外部要求が情報通知要求（リスト情報通知要求又は詳細情報通知要求）であるか否かを判断し、外部要求が情報通知要求であると判断すると（Ｓ７３０でＹｅｓ）、情報通知要求にて要求された情報を、接続デバイステーブルＴＢＬ２又はデバイス共有テーブルＴＢＬ１から読み出して、これを、要求元装置に、ネットワークＮＴを介して送信する（Ｓ７４０）。
【０１０１】
例えば、ＵＳＢデバイスリストを要求するリスト情報通知要求を受信した場合には、デバイス共有テーブルＴＢＬ１及び接続デバイステーブルＴＢＬ２が示す情報に基づき、接続デバイステーブルＴＢＬ２に登録されている各ＵＳＢデバイス３について、各ＵＳＢデバイス３の名称と、各ＵＳＢデバイス３のデバイスクラスと、各ＵＳＢデバイス３のモード情報及び接続ホスト情報と、を要求元装置に送信する。
【０１０２】
その他、制御部１０は、受信した情報通知要求が、特定の共有設定情報を要求する詳細情報通知要求である場合には、要求された共有設定情報を、デバイス共有テーブルＴＢＬ１から読み出し、これを要求元装置に送信する。また、このようにして、Ｓ７４０での処理を終えると、制御部１０は、当該外部要求受付処理を終了する。
【０１０３】
この他、制御部１０は、受信した外部要求が情報通知要求ではないと判断すると（Ｓ７３０でＮｏ）、この外部要求が設定情報更新要求であるか否かを判断し（Ｓ７５０）、受信した外部要求が設定情報更新要求であると判断すると（Ｓ７５０でＹｅｓ）、Ｓ７６０に移行して、設定情報更新要求が示す更新内容に従って、設定情報更新要求が示すデバイス共有テーブルＴＢＬ１内の更新対象の共有設定情報を更新し（Ｓ７６０）、その後、当該外部要求受付処理を終了する。一方、制御部１０は、受信した外部要求が設定情報更新要求ではないと判断すると（Ｓ７５０でＮｏ）、その他の要求に対応した処理を実行し（Ｓ７７０）、当該外部要求受付処理を終了する。
【０１０４】
［４．ＰＣのリモートデバイス管理プログラムによって実現される処理］
続いて、ＰＣ５０のリモートデバイス管理プログラム６０７によって実現される処理について説明する。上述したように、リモートデバイス管理プログラム６０７は、ＵＳＢデバイス３と、ＵＳＢデバイス３を有する複合機１のＩＰアドレスとの対応関係を、ＰＣ５０におけるＵＳＢＩＰ６０５に設定して、複合機１に接続されたＵＳＢデバイス３と、ＰＣ５０との通信を実現する機能を有するが、このリモートデバイス管理プログラム６０７は、更に、複合機１が有するＵＳＢデバイス３を利用するのに必要な操作を、ユーザから受け付けるためのＧＵＩ構成の画面を、ユーザに対して提供する機能を有する。この機能は、ＰＣ５０の制御部６０が、リモートデバイス管理プログラム６０７に基づいて、実行する図１４及び図１５に示すＵＳＢデバイス接続設定処理によって実現される。
【０１０５】
図１４及び図１５は、ＰＣ５０の制御部６０が実行するＵＳＢデバイス接続設定処理を表すフローチャートである。このＵＳＢデバイス接続設定処理は、ユーザが、操作部７５を通じて接続設定画面の表示操作を行うと、制御部６０により実行される。
【０１０６】
制御部６０は、ＵＳＢデバイス接続設定処理を開始すると、まず表示部７３に、ユーザ名及びパスワードを入力可能なログイン画面を表示し（Ｓ８１０）、ユーザから操作部７５を通じて、ユーザ名及びパスワードを取得する（Ｓ８２０）。また、この処理を終えると、制御部６０は、取得したユーザ名及びパスワードに基づき、ログインを試みるユーザが正当なユーザであるか否かを判断する（Ｓ８３０）。即ち、取得したユーザ名及びパスワードの組合せが、ＰＣ５０に予め登録されたユーザ名及びパスワードと一致するか否かを判断する。そして、正当なユーザではないと判断すると（Ｓ８３０でＮｏ）、当該ＵＳＢデバイス接続設定処理を終了し、正当なユーザであると判断すると（Ｓ８３０でＹｅｓ）、Ｓ８４０に移行する。
【０１０７】
Ｓ８４０に移行すると、制御部６０は、ログインしたユーザが管理者であるか否かを、ＰＣ５０に予め管理者として登録されたユーザ名の情報に基づき判断し、ログインしたユーザが管理者であると判断すると（Ｓ８４０でＹｅｓ）、「接続設定」ボタンを有効にした接続設定画面（図１６（ａ）参照）を表示部７３に表示し（Ｓ８５０）、ログインしたユーザが管理者ではないと判断すると（Ｓ８４０でＮｏ）、「接続設定」ボタンを無効にした接続設定画面を表示部７３に表示する（Ｓ８５５）。
【０１０８】
図１６（ａ）は、接続設定画面の構成を表す説明図である。図１６（ａ）に示すように接続設定画面は、ネットワークＮＴ上の各複合機１に接続されたＵＳＢデバイス３のリストを表示するためのリスト表示欄を備えると共に、入力オブジェクトとして、「接続設定」ボタン、「接続」ボタン、「解除」ボタンを備える（各ボタンの機能は後述）。
【０１０９】
即ち、Ｓ８５０では、「接続設定」ボタンが入力オブジェクトとして機能するように接続設定画面を表示することで「接続設定」ボタンを有効にした接続設定画面を表示し、Ｓ８５５では、「接続設定」ボタンが入力オブジェクトとして機能しないようにして、接続設定画面を表示することで「接続設定」ボタンを無効にした接続設定画面を表示する。但し、Ｓ８５０及びＳ８５５で表示される接続設定画面では、初期段階で、リスト表示欄に、ＵＳＢデバイス３の一覧が、表示されていないものとする。
【０１１０】
このようにして、Ｓ８５０又Ｓ８５５で接続設定画面を表示すると、制御部６０は、Ｓ８６０に移行し、デバイス検索パケットをネットワークＮＴにブロードキャストし、その応答パケットを解析することで、ネットワークＮＴに接続された複合機１を検索する。尚、ネットワークＮＴに、上述した複合機１が複数接続されている場合には、上述のデバイス検索パケットの送出により、各複合機１をネットワークＮＴ上で検索する。
【０１１１】
また、Ｓ８６０での検索が完了すると、制御部６０は、上記検索により発見されたネットワークＮＴ上の各複合機１に対して、複合機１に接続されたＵＳＢデバイス３のリストを要求するリスト情報通知要求を送信し、複合機１に接続されたＵＳＢデバイス３のリスト（各ＵＳＢデバイス３の名称と、各ＵＳＢデバイス３のデバイスクラスと、各ＵＳＢデバイス３のモード情報及び接続ホスト情報とからなる情報）を、各複合機１からネットワークＮＴ経由で受信する（Ｓ８７０）。
【０１１２】
また、この処理を終えると、制御部６０は、Ｓ８８０に移行し、表示部７３を制御して、受信したＵＳＢデバイスリストに基づき、各複合機１に接続されたＵＳＢデバイス３の名称、デバイスクラス、モード（及び接続中ホスト）の一覧を、接続設定画面のリスト表示欄に、図１６（ａ）に示す形態で表示する。
【０１１３】
そして、Ｓ８８０での処理を終えると、制御部６０は、ユーザによる操作イベントが発生しているか否かを判断し、操作イベントが発生していないと判断すると（Ｓ８９０でＮｏ）、Ｓ８６０の処理実行後、所定時間が経過したか否かを判断し（Ｓ９００）、所定時間が経過していないと判断すると（Ｓ９００でＮｏ）、Ｓ８９０に移行して、操作イベントが発生するか所定時間が経過するまで待機する。一方、所定時間が経過したと判断すると（Ｓ９００でＹｅｓ）、制御部６０は、Ｓ８６０に移行し、Ｓ８６０以降の処理をやり直して、接続設定画面におけるリスト表示欄に最新のＵＳＢデバイス３の情報を表示する（Ｓ８６０〜Ｓ８８０）。
【０１１４】
その他、制御部６０は、Ｓ８９０において操作イベントが発生していると判断すると（Ｓ８９０でＹｅｓ）、ユーザにより操作部７５を通じてなされた操作がデバイス選択操作であるか否かを判断する（Ｓ９１０）。即ち、接続設定画面のリスト表示欄に列挙されたＵＳＢデバイス３のいずれかを選択する操作がなされたか否かを判断する。
【０１１５】
そして、なされた操作がデバイス選択操作であると判断すると（Ｓ９１０でＹｅｓ）、制御部６０は、選択されたＵＳＢデバイス３に対応する表示文字列を、接続設定画面において強調表示する（Ｓ９１５）。尚、図１６（ａ）には、選択されたＵＳＢデバイスに対応する表示文字列の背景を他の部分とは変更することで、表示文字列を強調表示する例を示す。また、この処理を終えると、制御部６０は、Ｓ９００に移行して、新たな操作イベントが発生するか、Ｓ８６０の実行後所定時間が経過するまで待機する。
【０１１６】
一方、発生した操作イベントに対応する操作がデバイス選択操作ではないと判断すると（Ｓ９１０でＮｏ）、制御部６０は、Ｓ９２０に移行し、接続設定画面において既にＵＳＢデバイス３が選択されているか否かを判断する。即ち、接続設定画面において強調表示中のＵＳＢデバイス３が存在するか否かを判断する。
【０１１７】
そして、接続設定画面において既にＵＳＢデバイス３が選択されていると判断すると（Ｓ９２０でＹｅｓ）、制御部６０は、Ｓ９３０に移行し、発生した操作イベントに対応する操作が接続設定画面に用意された「接続」ボタンの押下操作であるか否かを判断する。
【０１１８】
ここで、操作イベントに対応する操作が「接続」ボタンの押下操作であると判断すると（Ｓ９３０でＹｅｓ）、制御部６０は、既に選択されている強調表示中のＵＳＢデバイス３についての接続要求を、そのＵＳＢデバイス３が接続された複合機１にネットワークＮＴを介して送信して、上記ＵＳＢデバイス３を、当該ＰＣ５０から利用可能にする（Ｓ９３５）。そして、この処理を終えると、制御部６０は、Ｓ９００に移行する。
【０１１９】
その他、操作イベントに対応する操作が「接続」ボタンの押下操作ではないと判断すると（Ｓ９３０でＮｏ）、制御部６０は、この操作イベントに対応する操作が接続設定画面に設けられた「解除」ボタンの押下操作であるか否かを判断する（Ｓ９４０）。そして、操作イベントに対応する操作が「解除」ボタンの押下操作であると判断すると（Ｓ９４０でＹｅｓ）、既に選択されている強調表示中のＵＳＢデバイス３についての接続解除要求を、そのＵＳＢデバイス３が接続された複合機１にネットワークＮＴ経由で送信して、上記ＵＳＢデバイス３と当該ＰＣ５０との接続を解除する（Ｓ９４５）。そして、この処理を終えると、制御部６０は、Ｓ９００に移行する。
【０１２０】
また、操作イベントに対応するする操作が「解除」ボタンの押下操作でもないと判断すると（Ｓ９４０でＮｏ）、制御部６０は、Ｓ９５０に移行し、当該ＰＣ５０が詳細設定モード（詳細後述）に移行しているか否かを判断する。そして、当該ＰＣ５０が詳細設定モードに移行していると判断すると（Ｓ９５０でＹｅｓ）、Ｓ９６０に移行して、図１７に示す詳細設定処理を実行し、その後、Ｓ９００に移行する。
【０１２１】
これに対し、当該ＰＣ５０が詳細設定モードに移行していないと判断すると（Ｓ９５０でＮｏ）、制御部６０は、発生した操作イベントに対応する操作が「接続設定」ボタンの押下操作であるか否かを判断し（Ｓ９７０）、操作イベントに対応する操作が「接続設定」ボタンの押下操作であると判断すると（Ｓ９７０でＹｅｓ）、Ｓ９７１に移行して、当該ＰＣ５０を、詳細設定モードに移行させる。即ち、接続設定画面を非アクティブにし、その代わりに表示部７３に、強調表示中のＵＳＢデバイス３に対応する共有設定情報を変更するための画面であって図１６（ｂ）に示す構成の詳細設定画面を表示する。但し、Ｓ９７１の処理終了時点では、詳細設定画面に、接続許可ホスト及びユーザの情報が記述されていないものとする。
【０１２２】
また、Ｓ９７１での処理を終えると、制御部６０は、Ｓ９７３に移行し、選択された強調表示中のＵＳＢデバイス３に対応する共有設定情報を要求する詳細情報通知要求を、対応するＵＳＢデバイス３が接続された複合機１にネットワークＮＴ経由で送信して、上記強調表示中のＵＳＢデバイス３に対応する共有設定情報を、複合機１から取得する。但し、この際には、詳細情報通知要求が正当な要求であることを示すために、管理者パスワードを付して詳細情報通知要求を送信し、対応する共有設定情報を複合機１から取得する。
【０１２３】
そして、Ｓ９７３での処理を終えると、制御部６０は、受信した共有設定情報に基づいて、詳細設定画面に、該当ＵＳＢデバイス３のモード、接続許可ホスト及びユーザに関するＵＳＢデバイス３の詳細情報を表示し（Ｓ９７５）、その後、Ｓ９００に移行する。尚、詳細設定画面に対する操作は、図１７の詳細設定処理にて受け付けられる。
【０１２４】
この他、Ｓ９７０にて、発生した操作イベントに対応する操作が「接続設定」ボタンの押下操作でもないと判断すると（Ｓ９７０でＮｏ）、制御部６０は、Ｓ９８０に処理を移行する。尚、制御部６０は、Ｓ９２０において、ＵＳＢデバイス３が選択されていないと判断した場合にも、Ｓ９８０に移行する。
【０１２５】
Ｓ９８０において、制御部６０は、発生した操作イベントに対応する操作が接続設定画面を閉じる操作としての終了操作であるか否かを判断し、操作イベントに対応する操作が終了操作であると判断すると（Ｓ９８０でＹｅｓ）、接続設定画面を閉じた後、当該ＵＳＢデバイス接続設定処理を終了する。
【０１２６】
一方、操作イベントに対応する操作が終了操作でもないと判断すると（Ｓ９８０でＮｏ）、制御部６０は、その他の操作イベントに対応した処理を実行し（Ｓ９９０）、その後、Ｓ９００に移行する。
【０１２７】
次に、Ｓ９６０で実行される詳細設定処理について説明する。図１７は、制御部６０が実行する詳細設定処理を表すフローチャートである。
詳細設定処理を開始すると、制御部６０は、発生した操作イベントに対応する操作が、モード切替操作であるか否かを判断し（Ｓ１０１０）、操作イベントに対応する操作が、モード切替操作であると（Ｓ１０１０でＹｅｓ）、詳細設定画面上のモードを表す表示文字列を、「非共有モード」から「共有モード」、又は、「共有モード」から「非共有モード」に切り替え（Ｓ１０１５）、その後、当該詳細設定処理を終了する。尚、モード切替操作は、操作部７５を通じて、詳細設定画面上のモードを表す表示文字列を選択し、「変更」ボタンを押下操作するといった一連の操作にて実現される。
【０１２８】
一方、操作イベントに対応する操作が、モード切替操作ではないと判断すると（Ｓ１０１０でＮｏ）、制御部６０は、Ｓ１０２０に移行し、操作イベントに対応する操作が、接続許可ホスト追加操作であるか否かを判断する。そして、操作イベントに対応する操作が、接続許可ホスト追加操作であると判断すると（Ｓ１０２０でＹｅｓ）、その後に操作部７５を通じて入力される追加対象の接続許可ホストのホスト名及びＭＡＣアドレスを、詳細設定画面に追加表示する（Ｓ１０２５）。その後、当該詳細設定処理を終了する。尚、接続許可ホスト追加操作は、操作部７５を通じて、詳細設定画面上の「接続許可ホスト」との表示文字列を選択して、「追加」ボタンを押下操作するといった一連の操作にて実現される。
【０１２９】
その他、操作イベントに対応する操作が、接続許可ホスト追加操作ではないと判断すると（Ｓ１０２０でＮｏ）、制御部６０は、Ｓ１０３０に移行し、操作イベントに対応する操作が、接続許可ユーザ追加操作であるか否かを判断する。そして、操作イベントに対応する操作が、接続許可ユーザ追加操作であると判断すると（Ｓ１０３０でＹｅｓ）、その後に操作部７５を通じて入力される追加対象の接続許可ユーザのユーザ名を、詳細設定画面に追加表示する（Ｓ１０３５）。その後、当該詳細設定処理を終了する。
【０１３０】
尚、接続許可ユーザ追加操作は、詳細設定画面上のユーザ追加対象の接続許可ホストの表示欄における「接続許可ユーザ」との表示文字列を選択し、「追加」ボタンを押下操作するといった一連の操作にて実現される。
【０１３１】
また、操作イベントに対応する操作が、接続許可ユーザ追加操作ではないと判断すると（Ｓ１０３０でＮｏ）、制御部６０は、Ｓ１０４０に移行し、操作イベントに対応する操作が、接続許可ホスト削除操作であるか否かを判断する。そして、操作イベントに対応する操作が、接続許可ホスト削除操作であると判断すると（Ｓ１０４０でＹｅｓ）、削除対象の接続許可ホストの情報（ホスト名及びＭＡＣアドレス）を、詳細設定画面から削除する（Ｓ１０４５）。その後、当該詳細設定処理を終了する。尚、接続許可ホスト削除操作は、操作部７５を通じて、詳細設定画面における削除対象の接続許可ホストについてのホスト名を表す表示文字列を選択して、「削除」ボタンを押下操作するといった一連の操作にて実現される。
【０１３２】
その他、操作イベントに対応する操作が、接続許可ホスト削除操作ではないと判断すると（Ｓ１０４０でＮｏ）、制御部６０は、Ｓ１０５０に移行し、操作イベントに対応する操作が、接続許可ユーザ削除操作であるか否かを判断する。そして、操作イベントに対応する操作が、接続許可ユーザ削除操作であると判断すると（Ｓ１０５０でＹｅｓ）、削除対象の接続許可ユーザの情報（ユーザ名）を、詳細設定画面から削除する（Ｓ１０５５）。その後、当該詳細設定処理を終了する。
【０１３３】
尚、接続許可ユーザ削除操作は、詳細設定画面における削除対象の接続許可ユーザについてのユーザ名を表す表示文字列を選択し、「削除」ボタンを押下操作するといった一連の操作にて実現される。
【０１３４】
また、操作イベントに対応する操作が、接続許可ユーザ削除操作でもないと判断すると（Ｓ１０５０でＮｏ）、制御部６０は、Ｓ１０６０に移行し、操作イベントに対応する操作が、詳細設定画面に設けられた「設定」ボタンの押下操作であるか否かを判断する。そして、操作イベントに対応する操作が、「設定」ボタンの押下操作であると判断すると（Ｓ１０６０でＹｅｓ）、制御部６０は、現在の詳細設定画面の表示内容に適合するように、詳細設定画面の表示の際に複合機１から取得した共有設定情報を、複合機１のデバイス共有テーブルＴＢＬ１上で更新するための設定情報更新要求を、上記更新対象の共有設定情報を有する複合機１に送信し、複合機１がデバイス共有テーブルＴＢＬ１に有する共有設定情報を、現在の詳細設定画面の表示内容に適合する情報に更新する（Ｓ１０６５）。その後、当該詳細設定処理を終了する。
【０１３５】
また、制御部６０は、操作イベントに対応する操作が、「設定」ボタンの押下操作ではないと判断すると（Ｓ１０６０でＮｏ）、Ｓ１０７０に移行し、操作イベントに対応する操作が、詳細設定画面に設けられた「取消」ボタンの押下操作であるか否かを判断する。そして、操作イベントに対応する操作が、「取消」ボタンの押下操作であると判断すると（Ｓ１０７０でＹｅｓ）、制御部６０は、詳細設定画面を閉じて、接続設定画面をアクティブにし、詳細設定モードを終了する（Ｓ１０７５）。その後、当該詳細設定処理を終了する。この他、操作イベントに対応する操作が、詳細設定画面に設けられた「取消」ボタンの押下操作でもないと判断すると（Ｓ１０７０でＮｏ）、制御部６０は、Ｓ１０７５の処理を実行することなく、当該詳細設定処理を終了する。
【０１３６】
このようにして、本実施例では、複合機１における共有設定情報を、ＰＣ５０からのネットワークＮＴを介した遠隔操作で更新可能にする。
［５．まとめ］
以上、本実施例の複合機１及びＰＣ５０の構成について説明したが、この複合機１では、非共有モードのＵＳＢデバイス３を制御する際、ＵＳＢドライバ１０３ｂが、自装置内のアプリケーションソフトウェアから入力される指示に従って、ＵＳＢインタフェースに接続されたＵＳＢデバイス３を制御するための制御データであるＵＳＢデータを生成し、これをＵＳＢホストコントローラドライバ１０５に入力し、ＵＳＢホストコントローラドライバ１０５が、ＵＳＢホストコントローラ３１を制御して、ＵＳＢデバイス３に対するＵＳＢデータを、物理信号に変換し、これを対応するＵＳＢデバイス３に伝送する。
【０１３７】
一方、複合機１では、共有モードのＵＳＢデバイス３を制御する際、ＵＳＢＩＰ１０１が、ＬＡＮインタフェース３５により受信されたＩＰパケットから、ＵＳＢインタフェースに接続されたＵＳＢデバイス３宛のＵＳＢデータを抽出する。そして、これをデバイスブリッジ１０３ａが、ＵＳＢホストコントローラドライバ１０５に入力し、ＵＳＢホストコントローラドライバ１０５が、ネットワークＮＴ経由で送信されてきたＵＳＢデータを、対応するＵＳＢデバイス３に伝送する。
【０１３８】
即ち、この複合機１は、自装置内の処理主体からのＵＳＢデバイス３に対する操作を、非ネットワーク経由で受け付けると共に、ネットワーク上の端末装置（ＰＣ５０）からのＵＳＢデバイス３に対する遠隔操作を、ＵＳＢＩＰ１０１を用いて受け付ける。
【０１３９】
従って、本実施例によれば、従来装置のように、複合機１内部のアプリケーションソフトウェアからＵＳＢデバイス３を利用する際、ＵＳＢデータをＩＰパケット化して、ネットワークＮＴ経由で、ＵＳＢデバイス３に入力する必要がなく、内部のアプリケーションソフトウェアからＵＳＢデバイス３を効率的に利用することができる。
【０１４０】
また、本実施例では、ＵＳＢデバイス３の制御系として、複合機１内部のアプリケーションソフトウェアからの指令に応じてＵＳＢドライバ１０３ｂを用いてＵＳＢデバイス３を制御する制御系、及び、ネットワーク上の端末装置から送信されてきたＵＳＢデータをＵＳＢＩＰ１０１及びデバイスブリッジ１０３ａを用いて処理してＵＳＢデバイス３を制御する制御系が構築されるが、ＵＳＢデバイス３の制御が煩雑化しないように、各制御系を切り替えて構築し、同時動作しないようにした。
【０１４１】
即ち、本実施例では、各ＵＳＢデバイス３に関し、ＵＳＢドライバ１０３ｂ及びデバイスブリッジ１０３ａのいずれか一方をロードすることにより、共有設定情報が示すユーザからの指示に従って制御系を切り替え、内部的にＵＳＢデバイス３を制御する非共有モード、ネットワーク経由でＵＳＢデバイス３を制御する共有モードのいずれかにて、各ＵＳＢデバイス３を制御するようにした。
【０１４２】
従って、本実施例によれば、ＵＳＢデバイス３の制御手順が煩雑化しなくて済み、内部のアプリケーションソフトウェア及びネットワーク上の端末装置からＵＳＢデバイス３を制御可能なシステムを、比較的簡単な構成で実現することができる。
【０１４３】
また、本実施例では、モード指定情報を含む共有設定情報を、ユーザの指示に従って書換可能にＥＥＰＲＯＭ１７に記録して、ユーザが簡単に「共有モード」「非共有モード」を切り替えられるようにした。従って、本実施例によれば、ユーザの必要に応じて内部制御機能又はＵＳＢデバイスサーバ機能の各機能を働かせることができ、ユーザに対して利便性の高い複合機１を提供することができる。
【０１４４】
また特に、本実施例では、ＵＳＢデバイス毎に共有設定情報を設け、「共有モード」「非共有モード」を、ユーザがＵＳＢデバイス毎に個別に指定できるようにした。従って、本実施例によれば、ユーザの必要に応じて内部制御機能又はＵＳＢデバイスサーバ機能の各機能を、ＵＳＢデバイス毎に適切に働かせることができ、ユーザに対して利便性の高い複合機１を提供することができる。
【０１４５】
また、本実施例では、ＵＳＢデバイス毎に、「共有モード」及び「非共有モード」のいずれかを個別に設定できるようにしたことで、ネットワーク上のユーザが、各ＵＳＢデバイスのモードを理解できず、混乱する可能性があることを考慮し、ネットワーク上の端末装置に、要求に応じて、各ＵＳＢデバイスのモード情報を通知するようにした。従って、本実施例によれば、端末装置のユーザが、モード情報を、端末装置を通じて簡単に知ることができ、例えば、ＵＳＢデバイスが「非共有モード」であるにもかかわらず、ユーザが、ネットワーク経由でＵＳＢデバイス３を制御しようとして混乱するのを防止することができる。
【０１４６】
また、本実施例では、デバイス共有テーブルＴＢＬ１に共有設定情報が登録されていない過去未接続の新規なＵＳＢデバイス３が、ＵＳＢインタフェースに接続された場合には、このＵＳＢデバイス３を、ネットワークＮＴ経由で利用できないように、ＵＳＢデバイス３の制御系を構築し、モード指定情報のデフォルト値として、「非共有モード」を設定するようにした。デフォルトで、新規のＵＳＢデバイス３を「共有モード」にすると、複合機１に新規のＵＳＢデバイス３を接続した際、そのＵＳＢデバイス３がすぐさまネットワークＮＴ上の端末装置から利用可能となってしまう可能性があり、セキュリティの面で好ましくない。
【０１４７】
一方、本実施例では、新規ＵＳＢデバイス３に「非共有モード」を設定するようにしているので、初期状態では、ネットワーク上の端末装置からＵＳＢデバイス３を利用できないようにすることができ、上記のような問題の発生を防止することができる。
【０１４８】
尚、本発明の通信装置は、本実施例の複合機１に相当し、ネットワークインタフェースは、ＬＡＮインタフェース３５、通信インタフェースは、ＵＳＢインタフェース（ＵＳＢホストコントローラ３１及びＵＳＢルートハブ３３）に相当する。また、インタフェース制御手段は、ＵＳＢホストコントローラドライバ１０５に相当し、機器制御手段は、ＵＳＢドライバ１０３ｂに相当し、中継手段は、ＵＳＢＩＰ１０１及びデバイスブリッジ１０３ａに相当する。また、モード切替手段は、制御部１０が実行するＳ１７０及びＳ１８０並びに接続要求受付処理（図８）に対応し、通知手段は、Ｓ７４０の処理に対応する。
【０１４９】
また、本発明は、上記実施例に限定されるものではなく、種々の態様を採ることができる。例えば、上記実施例では、ディジタル複合機に本発明を適用した例を示したが、本発明は、その他の通信装置に適用することができる。
【図面の簡単な説明】
【０１５０】
【図１】本発明が適用されたディジタル複合機１の構成を表すブロック図である。
【図２】制御部１０により実現されるＵＳＢデバイスサーバ機能の説明図である。
【図３】デバイス共有テーブルＴＢＬ１の構成を表す説明図である。
【図４】ＰＣ５０の構成を表すブロック図である。
【図５】制御部６０により実現される機能の説明図である。
【図６】制御部１０が実行する接続受付処理を表すフローチャートである。
【図７】接続デバイステーブルＴＢＬ２の構成を表す説明図である。
【図８】制御部１０が実行する接続要求受付処理を表すフローチャートである。
【図９】制御部１０が実行する接続解除要求受付処理を表すフローチャートである。
【図１０】接続解除に係る操作画面の構成を表す説明図である。
【図１１】制御部１０が実行する取外受付処理を表すフローチャートである。
【図１２】制御部１０が実行する接続デバイス設定変更処理を表すフローチャートである。
【図１３】制御部１０が実行する外部要求受付処理を表すフローチャートである。
【図１４】制御部６０が実行するＵＳＢデバイス接続設定処理を表すフローチャートである。
【図１５】制御部６０が実行するＵＳＢデバイス接続設定処理を表すフローチャートである。
【図１６】接続設定画面の構成を表す説明図（ａ）及び詳細設定画面の構成を表す説明図（ｂ）である。
【図１７】制御部６０が実行する詳細設定処理を表すフローチャートである。
【符号の説明】
【０１５１】
１…複合機、３…ＵＳＢデバイス、１０，６０…制御部、１１，６１…ＣＰＵ、１３，６３…ＲＯＭ、１５，６５…ＲＡＭ、１７…ＥＥＰＲＯＭ、２１…印刷部、２３…読取部、２５…ＦＡＸ通信部、２７，７５…操作部、２９，７３…表示部、３１…ＵＳＢホストコントローラ、３３…ＵＳＢルートハブ、３５，７７…ＬＡＮインタフェース、５０…ＰＣ、１０１，６０５…ＵＳＢＩＰ、１０３ａ…デバイスブリッジ、１０３ｂ，６０１…ＵＳＢドライバ、１０５…ＵＳＢホストコントローラドライバ、１０７…ＵＳＢ管理プログラム、６０３…仮想ＵＳＢホストコントローラドライバ、６０７…リモートデバイス管理プログラム、ＮＴ…ネットワーク
【図１】
2008048048.tif 000003
【図２】
2008048048.tif 000004
【図３】
2008048048.tif 000005
【図４】
2008048048.tif 000006
【図５】
2008048048.tif 000007
【図６】
2008048048.tif 000008
【図７】
2008048048.tif 000009
【図８】
2008048048.tif 000010
【図９】
2008048048.tif 000011
【図１０】
2008048048.tif 000012
【図１１】
2008048048.tif 000013
【図１２】
2008048048.tif 000014
【図１３】
2008048048.tif 000015
【図１４】
2008048048.tif 000016
【図１５】
2008048048.tif 000017
【図１６】
2008048048.tif 000018
【図１７】
2008048048.tif 000019