トップ :: H 電気 :: H04 電気通信技術




【発明の名称】 通信装置及びプログラム
【発明者】 【氏名】佐々木 博幸

【要約】 【課題】通信装置に接続された周辺機器を、内部の処理主体及びネットワーク上の端末装置から効率的に利用できるようにする。

【構成】本装置では、USBドライバ103bを用いたUSBデバイス3の制御系、デバイスブリッジ103aを用いたUSBデバイスの制御系を、ユーザ指示に従い切り替えて構築する。前者制御系では、ドライバ103bが、自装置内のアプリから入力される指示に従い、USBデバイス制御用のUSBデータを生成し、これをドライバ105に入力し、ドライバ105が、USBホストコントローラ31を制御し、USBデータをUSBデバイスに伝送する。一方、後者制御系では、USBIP101が、LANインタフェース35の受信パケットからUSBデータを抽出し、デバイスブリッジが、これをドライバ105に入力し、ドライバ105が、ネットワークから受信したUSBデータを、対応するUSBデバイスに伝送する。
【特許請求の範囲】
【請求項1】
ネットワークに接続された端末装置と通信するためのネットワークインタフェースと、
ローカル接続された周辺機器と通信するための通信インタフェースと、
を備える通信装置であって、
前記通信インタフェースを制御して、前記周辺機器を制御するための制御データを、該周辺機器に伝送するインタフェース制御手段と、
自装置内の処理主体から入力される指示に従って、前記通信インタフェースに接続された周辺機器に対する制御データを生成し、これを前記インタフェース制御手段に入力する機器制御手段と、
前記ネットワークインタフェースが受信したパケットから、前記通信インタフェースに接続された周辺機器に対する制御データを抽出し、これを前記インタフェース制御手段に入力する中継手段と、
を備えることを特徴とする通信装置。
【請求項2】
前記機器制御手段及び中継手段のいずれか一方を、切り替えて作動させることにより、前記周辺機器の制御モードを、前記機器制御手段を介して周辺機器を制御する内部制御モード、及び、前記中継手段を介して周辺機器を制御するネットワーク制御モードのいずれかに切り替えるモード切替手段
を備えることを特徴とする請求項1記載の通信装置。
【請求項3】
前記周辺機器の制御モードを、前記内部制御モード、及び、前記ネットワーク制御モードのいずれに設定すべきかを表すモード指定情報を記憶するモード指定情報記憶手段
を備え、
前記モード切替手段は、前記モード指定情報記憶手段が記憶するモード指定情報に従って、前記周辺機器の制御モードを設定することを特徴とする請求項2記載の通信装置。
【請求項4】
前記周辺機器の制御モードを、前記内部制御モード、及び、前記ネットワーク制御モードのいずれに設定すべきかを表すモード指定情報を、前記通信インタフェースに接続される周辺機器毎に、記憶するモード指定情報記憶手段
を備え、
前記モード切替手段は、前記モード指定情報記憶手段が記憶するモード指定情報に従って、前記通信インタフェースに接続された各周辺機器の制御モードを設定することを特徴とする請求項2記載の通信装置。
【請求項5】
前記ネットワークインタフェースを通じて、前記ネットワーク上の端末装置に、前記モード指定情報記憶手段が記憶するモード指定情報の内容を通知する通知手段
を備えることを特徴とする請求項3又は請求項4記載の通信装置。
【請求項6】
前記モード切替手段は、前記通信インタフェースに過去未接続の周辺機器が接続された場合、前記通信インタフェースに接続された前記過去未接続の周辺機器の制御モードを、前記内部制御モードに設定することを特徴とする請求項2乃至請求項5のいずれかに記載の通信装置。
【請求項7】
ネットワークに接続された端末装置と通信するためのネットワークインタフェースと、
ローカル接続された周辺機器と通信するための通信インタフェースと、
を備える通信装置のコンピュータに、
前記通信インタフェースを制御して、前記周辺機器を制御するための制御データを、該周辺機器に伝送するインタフェース制御手段と、
自装置内の処理主体から入力される指示に従って、前記通信インタフェースに接続された周辺機器に対する制御データを生成し、これを前記インタフェース制御手段に入力する機器制御手段と、
前記ネットワークインタフェースが受信したパケットから、前記通信インタフェースに接続された周辺機器に対する制御データを抽出し、これを前記インタフェース制御手段に入力する中継手段
としての機能を実現させるためのプログラム。
【発明の詳細な説明】【技術分野】
【0001】
本発明は、ネットワークインタフェースを備える通信装置であって、更に、周辺機器接続用のインタフェースを備える通信装置に関する。
【背景技術】
【0002】
従来より、ネットワークインタフェース及び周辺機器を接続可能なインタフェースを備える通信装置としては、LAN(Local Area Network)インタフェース及びUSB(Universal Serial Bus)インタフェースを備え、USBホストとして機能するディジタル複合機が知られている(例えば、特許文献1参照)。
【0003】
また、USBデバイスの制御技術としては、USBデバイスの接続機器において、機器内で動作する処理主体(アプリケーションソフトウェア等)からの指令に従い、USBデバイスを制御する技術の他、ネットワークを通じてUSBデバイスを制御する技術が知られている(例えば、非特許文献1参照)。
【0004】
ネットワークを通じてUSBデバイスを制御する技術としては、特に、USB OVER IP(登録商標)技術が知られている。USB OVER IP(登録商標)技術は、USBデバイスに伝送すべきUSBデータを、IPパケットでカプセル化し、IPネットワーク経由で、これを、USBデバイスの接続機器に伝送して、USBデバイスの接続機器とは別の通信装置から、IPネットワーク経由で、周辺機器を制御するものである。
【特許文献1】特開2005−348125号公報
【非特許文献1】”silex technology : Japan Site”、[online]、 [平成18年8月3日検索]、インターネット <URL:http://www.silex.jp/japan/products/network/usb/sx2000u2.html>
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、従来知られるUSB OVER IP(登録商標)技術のような、ネットワークを通じて他の通信装置にローカル接続された周辺機器を制御する技術を、ディジタル複合機等の通信装置に、単に適用した場合には、次のような問題があった。
【0006】
従来装置としては、周辺機器とネットワークとの間に設置されて専用の中継器として機能し、ネットワーク経由で送信されてきたIPパケット化された周辺機器宛のデータを自装置に接続された周辺機器に伝送し、自装置に接続された周辺機器からの出力データをIPパケット化して、ネットワークに送出するものが知られているが、この装置を、ディジタル複合機に組み込んだ場合には、ディジタル複合機のアプリケーションソフトウェアから周辺機器を利用する際に、ネットワーク経由でしか自装置に接続された周辺機器を利用することができないといった問題があった。
【0007】
従って、従来技術を、単にディジタル複合機等の通信装置に適用した場合には、自装置に接続された周辺機器を利用するのにも拘わらず、この周辺機器宛のデータを、一旦IPパケット化し、これをネットワークに送出して、ネットワークインタフェース経由で、自装置に接続された周辺機器にデータを伝送しなければならないといった問題があった。また、このような処理により、上記ディジタル複合機等の通信装置には、IPパケット化等に係る大きな負荷がかかるといった問題があった。
【0008】
本発明は、こうした問題に鑑みなされたものであり、通信装置に接続された周辺機器を、通信装置内部の処理主体及びネットワーク上の端末装置から効率的に利用可能な技術を提供することを第一の目的とする。また、通信装置内部の処理主体からの指令に応じて周辺機器を制御する機能及びネットワーク上の端末装置からの指令に応じて周辺機器を制御する機能の各機能を、必要に応じて、適切に働かせることが可能な技術を提供することを第二の目的とする。
【課題を解決するための手段】
【0009】
かかる目的を達成するためになされた請求項1記載の通信装置は、ネットワークに接続された端末装置と通信するためのネットワークインタフェースと、ローカル接続された周辺機器と通信するための通信インタフェースと、この通信インタフェースを制御して、周辺機器に対する制御信号(周辺機器を制御するための制御データ)を、対応する周辺機器に伝送するインタフェース制御手段と、機器制御手段と、中継手段と、を備える。
【0010】
この通信装置では、機器制御手段が、自装置内の処理主体から入力される指示に従って、通信インタフェースに接続された周辺機器に対する制御データを生成し、これをインタフェース制御手段に入力する。また、中継手段は、ネットワークインタフェースが受信したパケットから、通信インタフェースに接続された周辺機器に対する制御データを抽出し、これをインタフェース制御手段に入力する。即ち、この通信装置は、自装置内の処理主体からの周辺機器に対する操作を、非ネットワーク経由で受け付けると共に、ネットワーク経由で、ネットワーク上の端末装置からの周辺機器に対する遠隔操作を受け付ける。
【0011】
従って、本発明によれば、従来装置のように、内部の処理主体から周辺機器を利用する際、制御データをネットワークに送出する必要がなく、内部の処理主体から周辺機器を効率的に利用することができる。よって、本発明によれば、通信装置に接続された周辺機器を、通信装置内部の処理主体及びネットワーク上の端末装置の両者から効率的に利用することができる。尚、通信装置内部の処理主体としては、ユーザに対し様々なサービスを提供するために当該通信装置が実行するアプリケーションソフトウェア等を挙げることができる。
【0012】
ところで、本発明の通信装置には、機器制御手段及び中継手段のいずれか一方を、切り替えて作動させることにより、周辺機器の制御モードを、機器制御手段を介して周辺機器を制御する内部制御モード、及び、中継手段を介して周辺機器を制御するネットワーク制御モードのいずれかに切り替えるモード切替手段を設けるとよい(請求項2)。
【0013】
このように構成された通信装置によれば、複数の指令系統が同時に機能することがないので、通信装置内部の処理主体からの操作及びネットワーク上の端末装置からの操作の各操作に対応した周辺機器の制御を、簡単に実現することができる。即ち、機器制御手段及び中継手段として、周知技術を流用し、モード切替手段によって、これらの各手段の作動をコントロールする程度で、各操作に対応した周辺機器の制御を、適切に実行することができる。
【0014】
また、通信装置には、モード指定情報記憶手段を設け、通信装置は、モード指定情報記憶手段に記憶されたモード指定情報(周辺機器の制御モードを、内部制御モード及びネットワーク制御モードのいずれに設定すべきかを表す情報)に従って、モード切替手段により、周辺機器の制御モードを設定する構成にされるとよい。
【0015】
このように構成された通信装置によれば、ユーザは、モード指定情報を更新する程度で、当該通信装置を、所望の制御モードで動作させることができる。例えば、当該通信装置に、ユーザインタフェースを通じて入力されるユーザからの指示に従って、モード指定記憶手段が記憶するモード指定情報を書き換える指定情報書換手段を設ければ、ユーザは、ユーザインタフェースを通じて、モード指定情報を書き換えることで、当該通信装置による周辺機器の制御形態を、簡単に切り替えることができる。従って、この発明によれば、ユーザからの指示に従い、内部制御機能及びネットワーク制御機能の各機能を、必要に応じて、適切に働かせることができる(請求項3)。
【0016】
尚、モード指定情報記憶手段は、EEPROMやフラッシュメモリ等の電気的にデータ書換可能な不揮発性の記録媒体に、モード指定情報を記録する構成にされるとよい。このようにすれば、通信装置の電源オフ後にも、モード指定情報が記憶維持され便利である。
【0017】
また、上記の通信インタフェースとしては、USBインタフェースやIEEE1394インタフェース等を挙げることができる。また、USBインタフェースのように、複数の周辺機器が通信インタフェースに接続される環境では、通信インタフェースの各周辺機器の制御モードを、夫々別個に設定できるように、通信装置を構成するとよい。
【0018】
即ち、モード指定情報記憶手段は、通信インタフェースに接続される周辺機器毎に、モード指定情報を記憶する構成にされ、モード切替手段は、モード指定情報記憶手段が記憶する周辺機器毎のモード指定情報に従って、通信インタフェースに接続された各周辺機器の制御モードを、個別に設定する構成にされるとよい。
【0019】
このように通信装置を構成すれば、ユーザは、各周辺機器の制御モードを、周辺機器の利用形態に応じて、個別に設定することができ、各周辺機器を、所望の形態で利用することができる。従って、この発明によれば、利便性の高い通信装置を、ユーザに提供することができる(請求項4)。
【0020】
また、通信装置に、内部制御機能及びネットワーク制御機能を、切替動作可能に設ける場合には、ネットワーク制御機能が有効になっていないにもかかわらず、ユーザが、ネットワーク経由で周辺機器を制御しようとする場合が考えられる。
【0021】
従って、上述の通信装置には、ネットワークインタフェースを通じて、ネットワーク上の端末装置に、モード指定情報記憶手段が記憶するモード指定情報の内容を通知する通知手段を設けるとよい。このように構成された通信装置によれば、ユーザが利用する端末装置に向けてモード指定情報の内容を通知するので、端末装置のユーザは、制御モードを、その端末装置を通じて簡単に知ることができる。よって、この発明によれば、周辺機器を利用できない理由が、制御モードの誤認識によるものか、ネットワークの不調等、別の理由によるものかを、ユーザに正しく理解させることができ、ユーザに混乱や不快感を及ぼすのを防止することができる(請求項5)。
【0022】
また、通信インタフェースには、過去未接続の新規な周辺機器が接続される可能性があるので、モード切替手段は、通信インタフェースに過去未接続の周辺機器が接続された場合、通信インタフェースに接続された過去未接続の周辺機器の制御モードを、デフォルトの制御モードに設定する構成にされるとよい。また、デフォルトの制御モードとしては、内部制御モードを採用するのが好ましい。
【0023】
デフォルトの制御モードを、ネットワーク制御モードにすると、当該通信装置に新規の周辺機器を接続した際、その周辺機器がすぐさまネットワーク上の端末装置にて利用可能となってしまうため、周辺機器を接続した者の意思とは無関係に、他の者が、勝手に周辺機器を利用してしまう可能性があり、不都合が大きく、セキュリティの面で好ましくない。
【0024】
一方、デフォルトの制御モードを、内部制御モードにすれば、ユーザが明示的な意思によって設定変更をしないかぎり、ネットワーク上の端末装置から周辺機器を利用することはできないので、ネットワークを通じた周辺機器の不正使用を防止することができ、セキュリティの面でシステムが脆弱になるのを防止することができる(請求項6)。
【0025】
また、上述した通信装置が有する各手段の機能は、プログラムにより、コンピュータに実現させることができる。
請求項7記載の発明は、ネットワークに接続された端末装置と通信するためのネットワークインタフェースと、ローカル接続された周辺機器と通信するための通信インタフェースと、を備える通信装置のコンピュータに、通信インタフェースを制御して、周辺機器を制御するための制御データを、周辺機器に伝送するインタフェース制御手段と、自装置内の処理主体から入力される指示に従って、通信インタフェースに接続された周辺機器に対する制御データを生成し、これをインタフェース制御手段に入力する機器制御手段と、ネットワークインタフェースが受信したパケットから、通信インタフェースに接続された周辺機器に対する制御データを抽出し、これをインタフェース制御手段に入力する中継手段としての機能を実現させるためのプログラムである。このプログラムを用いれば、請求項1記載の通信装置と同様の効果を得ることができる。
【発明を実施するための最良の形態】
【0026】
以下、本発明の実施例について、図面と共に説明する。
[1.ディジタル複合機の構成(概略)]
図1は、本発明が適用されたディジタル複合機1の構成を表すブロック図である。本実施例の複合機1は、コピー機能、プリンタ機能、スキャナ機能、ファクシミリ機能、及び、USBデバイスサーバ機能を有し、制御部10にて、各種処理を実行することにより、上述の機能を実現する。
【0027】
具体的に、複合機1は、制御部10の他、印刷部21、読取部23、FAX通信部25、操作部27、表示部29、USBホストコントローラ31、USBルートハブ33、LANインタフェース35を備え、これらを用い、上述の機能を実現する。
【0028】
制御部10は、各種プログラムを実行するCPU11、各種プログラムを記憶するROM13、作業用メモリとしてのRAM15、及び、設定情報等を記憶するEEPROM17を備え、CPU11にて、プログラムを実行することにより、装置内各部を統括制御し、各種機能を実現する。
【0029】
印刷部21は、レーザプリンタ方式又はインクジェット方式にて、用紙に画像を形成するものであり、制御部10に制御されて、給紙部(図示せず)から用紙を取り込んで、この用紙に、制御部10から与えられた画像データに対応する画像を印刷する。この印刷部21は、コピー機能、プリンタ機能、ファクシミリ機能を実現する際に用いられる。
【0030】
また、読取部23は、載置部(図示せず)に載置された原稿を光学的に読み取り、読取画像を表す画像データを生成するものである。この読取部23は、制御部10に制御されて、原稿を読み取り、生成した画像データを制御部10に提供する。この読取部23は、コピー機能、ファクシミリ機能、スキャナ機能を実現する際に用いられる。
【0031】
また、FAX通信部25は、制御部10から与えられた画像データを、ファクシミリ信号により、公衆電話回線網(PSTN)を通じ、外部のファクシミリ装置に送信すると共に、外部のファクシミリ装置から、公衆電話回線網(PSTN)を通じて送信されてきたファクシミリ信号を、制御部10が取扱い可能な画像データに変換して、ファクシミリ送受信を実現する。
【0032】
その他、操作部27は、ユーザが操作可能な各種キーを有し、キーを通じてユーザの操作を受け付け、その操作内容を制御部10に通知する構成にされている。また、表示部29は、液晶ディスプレイからなり、制御部10に制御されて、各種情報を、ユーザに向け、文字又は画像の形態で表示する。
【0033】
また、USBホストコントローラ31及びUSBルートハブ33は、USBインタフェースを構成するものであり、USBホストコントローラ31は、制御部10に制御されて、USB方式の通信信号を生成し、これをUSBルートハブ33に出力すると共に、USBデバイス3からUSBルートハブ33を介して送信されてくる通信信号を受信して、USBルートハブ33に接続された各USBデバイス3と通信し、制御部10から入力されるUSBデータを、このUSBデータが宛先とするUSBデバイス3に送信すると共に、USBデバイス3から受信したUSBデータを、制御部10に入力する。また、USBルートハブ33は、USBホストコントローラ31からの出力を分岐する構成にされ、各分岐先にUSBコネクタCNを備え、このUSBコネクタCNに、複数のUSBデバイス3を接続可能な構成にされている。
【0034】
その他、複合機1が備えるLANインタフェース35は、複合機1が設置されるオフィスのローカルエリアネットワークNTに接続され、制御部10に制御されて、ネットワークNT内のノードと通信する。具体的に、本実施例のローカルエリアネットワークNTは、IP(インターネットプロトコル)ネットワークとして構成され、このネットワークNT内には、複合機1のUSBデバイス3をネットワークNT経由で制御可能な機能を有するパーソナルコンピュータ(以下、「PC」とする。)50と、ネットワークNTを広域ネットワークとしてのインターネットに接続するルータと、が設けられている。
【0035】
尚、LANインタフェース35は、上述のUSBデバイスサーバ機能を実現する際に用いられる。USBデバイスサーバ機能とは、複合機1に接続されたUSBデバイス3を、ネットワークNT経由で利用可能にする機能のことである。
【0036】
図2は、USBデバイスサーバ機能に関する説明図である。USBデバイスサーバ機能は、制御部10によりソフトウェア的に実現されるため、図2(a)では、制御部10にて実行される各プログラムの関係、及び、プログラムとハードウェアとの関係を、ブロック図で示す。
【0037】
本実施例の複合機1は、USBデバイスサーバ機能の他に、制御部10にて実行されるアプリケーションソフトウェアからの指令に従って、USBデバイス3を制御する内部制御機能を有し、各機能は、USB管理プログラム107により切り替えられて実現される。
【0038】
具体的に、制御部10は、USBデバイスサーバ機能を実現するに当たって、USBIP101、デバイスブリッジ103a、USBホストコントローラドライバ105の各プログラムを実行する。デバイスブリッジ103aは、USBデバイスサーバ機能を実現する際、USBドライバ103bに代えてロードされ、CPU11により実行される。換言すると、USBデバイスサーバ機能に代えて内部制御機能を実現する際、CPU11は、デバイスブリッジ103aに代えて、USBドライバ103bをロードして実行する。
【0039】
USBIP101は、LANインタフェース35を通じてネットワークNTから受信したIPパケットが内包するUSBデータを、IPパケットから抽出し、このUSBデータを、USBデータが宛先とするUSBデバイス3に対応するデバイスブリッジ103aに入力すると共に、デバイスブリッジ103aから入力されたUSBデータを、IPパケット化して、これをネットワークNTに送出するプログラム(所謂、USB OVER IP(登録商標)プログラム)である。
【0040】
このUSBIP101に対しては、USB管理プログラム107により、IPアドレスとUSBデバイス3との対応関係が設定され、これにより、USBデバイス3からデバイスブリッジ103a経由で入力されたUSBデータは、当該USBデバイス3に対応付けられたIPアドレスに対応する外部PC50に送信され、外部PC50からのIPパケット化されたUSBデータは、対応するUSBデバイス3に伝送され、外部PC50−USBデバイス3間のUSBデータの授受が実現される。
【0041】
また、デバイスブリッジ103aは、USBIP101−USBホストコントローラドライバ105間のUSBデータの中継を行うものであり、USBIP101から入力されたUSBデータを、USBホストコントローラドライバ105に伝送すると共に、USBホストコントローラドライバ105から入力されたUSBデータを、USBIP101に伝送する機能を有する。
【0042】
この他、USBホストコントローラドライバ105は、入力された送信対象のUSBデータを、USBホストコントローラ31を制御して、USBホストコントローラ31から下流(USBルートハブ33側)の伝送路に物理信号として出力し、上記USBデータが宛先とするUSBデバイス3に、このUSBデータを送信すると共に、USBデバイス3からUSBルートハブ33を通じて送信されてきたUSBデータをUSBホストコントローラ31を介して受信して、このUSBデータ送信元のUSBデバイス3に対応するUSBドライバ103b又はデバイスブリッジ103aに、受信したUSBデータを伝送する機能を有する。
【0043】
また、デバイスブリッジ103aに代えて、内部制御機能の実現時にロードされるUSBドライバ103bは、USBデバイス3を制御するためのプログラムであり、USBデバイス3を利用する複合機1のアプリケーションソフトウェアからの指令に従って、その指令に対応する操作をUSBデバイス3に加えるためのUSBデータ(制御データ)を生成し、これをUSBホストコントローラドライバ105経由でUSBデバイス3に送信すると共に、USBデバイス3からUSBホストコントローラドライバ105経由で送信されてきたUSBデータを、アプリケーションソフトウェアに提供するものである。
【0044】
即ち、複合機1では、内部制御機能の実現時、USBドライバ103bがロードされて、図2(b)に示すように、USBドライバ103b、USBホストコントローラドライバ105からなるUSBデバイス3の制御系が構築される。一方、USBデバイスサーバ機能の実現時には、USBドライバ103bではなくデバイスブリッジ103aがロードされて、図2(c)に示すように、USBIP101、デバイスブリッジ103a、USBホストコントローラドライバ105からなるUSBデバイス3の制御系が構築される。
【0045】
尚、上述したように、デバイスブリッジ103a及びUSBドライバ103bは、USB管理プログラム107によって、USBデバイス3毎に、切り替えられてロードされる。また、切替は、EEPROM17に記憶されたデバイス共有テーブルTBL1が有する共有設定情報に従って、行われる。図3は、EEPROM17が記憶するデバイス共有テーブルTBL1の構成を表す説明図である。
【0046】
図3に示すように、EEPROM17が記憶するデバイス共有テーブルTBL1は、設定種別情報と、複数の共有設定情報と、からなる。設定種別情報は、USBデバイスサーバ機能の動作設定を、USBデバイス毎に行うか、全USBデバイスに共通して行うかを表す情報である。具体的に、設定種別情報が値「0」を示すとき、制御部10は、共有設定情報dev0を参照し、この共有設定情報dev0が示す全USBデバイス3に共通する設定情報に従って、各USBデバイス3を制御する。
【0047】
一方、設定種別情報が値「1」を示すとき、制御部10は、USBデバイス毎に設けられた共有設定情報dev1〜devNに基づき、各USBデバイス3を、対応USBデバイス3の共有設定情報devi(i=1〜N)が示す設定情報に従って、制御する。
【0048】
尚、共有設定情報dev0は、モード指定情報及び接続許可ホスト情報からなり、他の共有設定情報devi(i=1〜N)は、当該共有設定情報に対応するUSBデバイス3に割り当てられたデバイスIDと、USBバージョン番号、デバイスクラス、ベンダID、及び、プロダクトIDを表すデバイス情報と、モード指定情報と、接続許可ホスト情報とからなる。
【0049】
モード指定情報は、「共有モード」及び「非共有モード」のいずれかの値を採るものであり、モード指定情報が「共有モード」を示す場合、制御部10は、対応するUSBデバイス3に対してUSBデバイスサーバ機能を働かせ、このUSBデバイス3をネットワークNT上の端末装置から利用できるようにする。一方、モード指定情報が「非共有モード」を示す場合、制御部10は、対応するUSBデバイス3に対して内部制御機能を働かせ、このUSBデバイス3を、自装置内でのみ利用可能とする。
【0050】
また、接続許可ホスト情報は、モード指定情報が「共有モード」の場合にのみ有効に機能するものであり、許可ホスト数情報と、接続許可ホスト毎のアドレスユーザ情報と、からなる。ここでいう接続許可ホストとは、USBデバイスサーバ機能を通じたネットワークNT経由でのUSBデバイス3の利用を許可されたネットワークNT上の端末装置のことである。
【0051】
許可ホスト数情報は、該当USBデバイス3のネットワークNT経由の利用が許可された接続許可ホストの数を表す情報であり、この数は、アドレスユーザ情報の個数に一致する。また、接続許可ホスト毎のアドレスユーザ情報は、接続許可ホストのMACアドレスと、この接続許可ホストからのUSBデバイス3の利用が許可されたユーザのリストと、からなる。このユーザリストには、USBデバイス3の利用が許可されたユーザの名称が列挙されている。
【0052】
[2.ディジタル複合機を利用するPCの構成(概略)]
続いて、複合機1を利用するPC50の構成について説明する。図4は、PC50の構成を表すブロック図である。
【0053】
本実施例のPC50は、周知のPC50と同様のハードウェア構成にされており、制御部60と、各種プログラムを記憶するハードディスク装置71と、液晶ディスプレイ等からなる表示部73と、キーボードやポインティングデバイス等からなる操作部75と、LANインタフェース77と、を備える。
【0054】
LANインタフェース77は、複合機1と同一のネットワークNTに接続され、複合機1と通信可能な構成にされている。また、制御部60は、各種プログラムを実行するCPU61、ブートプログラム等を記憶するROM63、作業用メモリとしてのRAM65を備え、CPU61にて各種プログラムを実行することにより、装置内各部を統括制御し、各種機能を実現する。例えば、制御部60は、LANインタフェース77を介して、複合機1と通信し、複合機1に画像データを送信して、複合機1に、送信した画像データに基づく画像を、用紙に印刷させる。
【0055】
その他、制御部60は、自装置にインストールされたアプリケーションソフトウェアからの指令に従って、複合機1に接続されたUSBデバイス3を、ネットワーク経由で制御する。
【0056】
図5は、PC50の制御部60が、ネットワーク経由でUSBデバイス3を制御するに当たって、実行するプログラムの説明図であり、制御部60が実行する各プログラムの関係、及び、プログラムとハードウェアとの関係をブロック図で示したものである。
【0057】
具体的に、制御部60は、ネットワーク経由でUSBデバイス3を制御するに当たって、USBドライバ601、仮想USBホストコントローラドライバ603、USBIP605の各プログラムを実行する。
【0058】
USBIP605は、LANインタフェース77を通じてネットワーク経由で受信したIPパケットが内包するUSBデータを、IPパケットから抽出して、仮想USBホストコントローラドライバ603に入力すると共に、仮想USBホストコントローラドライバ603から入力されたUSBデータを、IPパケット化して、USBデータが宛先とするUSBデバイス3が接続された複合機1に送信するプログラム(所謂、USB OVER IP(登録商標)プログラム)である。このUSBIP605に対しては、リモートデバイス管理プログラム607により、USBデバイス3と、このUSBデバイス3を有する複合機1のIPアドレスとの対応関係が設定され、これにより、複合機1に接続されたUSBデバイス3と、当該PC50との通信が実現される。
【0059】
また、仮想USBホストコントローラドライバ603は、USBドライバ601−USBIP605間のUSBデータを中継するプログラムであり、USBIP605から入力されたUSBデータを、送信元のUSBデバイス3に対応するUSBドライバ601に入力すると共に、USBドライバ601から入力されたUSBデータを、USBIP605に入力するものである。
【0060】
また、USBドライバ601は、USBデバイス3を制御するためのプログラムであり、USBデバイス3を利用するアプリケーションソフトウェアからの指令に従って、その指令に対応する操作をUSBデバイス3に加えるためのUSBデータ(制御データ)を生成し、これを仮想USBホストコントローラドライバ603経由でネットワーク上のUSBデバイス3に送信すると共に、ネットワーク上のUSBデバイス3から送信されてきたUSBデータを、仮想USBホストコントローラドライバ603経由で受け取り、これをアプリケーションソフトウェアに提供するものである。
【0061】
その他、リモートデバイス管理プログラム607は、上記対応関係の設定と共に、USBデバイス3に対する接続要求、接続解除要求等を、ユーザからの指示に従って、複合機1に送信する機能を有する(詳細後述)。
【0062】
以上、PC50及び複合機1に関し、装置構成の概略を説明したが、続いて各装置で実現される処理を、具体的に説明する。
[3.ディジタル複合機のUSB管理プログラムによって実現される処理]
上述したようにUSB管理プログラム107は、複合機1に接続された各USBデバイス3に対し、USBデバイス毎に、USBデバイスサーバ機能及び内部制御機能のいずれか一方を働かせる機能を有するが、この機能は、以下に説明する処理によって実現される。
【0063】
図6は、USBコネクタCNにUSBデバイス3が接続されると、USB管理プログラム107に従って、制御部10が実行する接続受付処理を表すフローチャートである。
制御部10は、接続受付処理を開始すると、まず、USBデバイス3からデバイスディスクリプタを取得するためにUSBドライバをロードして(S110)、今回USBコネクタCNに接続されたUSBデバイス3からデバイスディスクリプタを取得する(S120)。その後、S110でロードしたUSBドライバをアンロードする(S125)。周知のように、デバイスディスクリプタは、USBデバイス3のデバイス情報を示すものであり、USBバージョン番号やデバイスクラス、ベンダID、プロダクトID等が記述されてなるものである。
【0064】
また、S125の処理を終えると、制御部10は、取得したデバイスディスクリプタが示す情報に基づき、EEPROM17が記憶するデバイス共有テーブルTBL1において、今回接続されたUSBデバイス3の共有設定情報を検索し(S130)、対応する共有設定情報がない場合には(S140でNo)、S150に移行し、対応する共有設定情報がある場合には(S140でYes)、S160に移行する。
【0065】
尚、EEPROM17が記憶するデバイス共有テーブルTBL1に、今回接続されたUSBデバイス3の共有設定情報が存在するか否かは、デバイス共有テーブルTBL1に登録された各共有設定情報が有するデバイス情報に基づいて判断する。即ち、S120で取得したデバイスディスクリプタが示すUSBバージョン番号、デバイスクラス、ベンダID及びプロダクトIDと同一のデバイス情報を示す共有設定情報が、デバイス共有テーブルTBL1に登録されている場合、制御部10は、今回接続されたUSBデバイス3の共有設定情報がデバイス共有テーブルTBL1に存在すると判断し、そうでない場合には、対応する共有設定情報が存在しないと判断する。
【0066】
S150に移行すると、制御部10は、デバイス共有テーブルTBL1に、今回接続されたUSBデバイス3の共有設定情報を、デバイス共有テーブルTBL1に登録する。具体的には、デバイスIDとして、このUSBデバイス3に割り当てたIDを記述し、デバイス情報として、デバイスディスクリプタが示すUSBバージョン番号、デバイスクラス、ベンダID及びプロダクトIDを記述し、モード指定情報として、「非共有モード」を記述し、接続許可ホスト情報として、空の情報を設定してなる共有設定情報を生成し、これをデバイス共有テーブルTBL1に登録する。また、このようにして共有設定情報を、デバイス共有テーブルTBL1に登録すると、制御部10は、S160に移行する。
【0067】
S160に移行すると、制御部10は、RAM15が記憶する接続デバイステーブルTBL2に、今回接続されたUSBデバイス3の接続デバイス情報を、登録する。図7は、RAM15が記憶する接続デバイステーブルTBL2の構成を表す説明図である。
【0068】
接続デバイステーブルTBL2は、USBコネクタCNに接続されたUSBデバイス3の情報を管理するものであり、USBコネクタCNに接続されたUSBデバイス毎に、接続デバイス情報を有する。即ち、この接続デバイステーブルTBL2には、S160の処理により、USBコネクタCNにUSBデバイス3が接続される度、接続されたUSBデバイス3の接続デバイス情報が登録される。
【0069】
具体的に、接続デバイス情報は、接続されたUSBデバイスのデバイスIDと、このUSBデバイスに「共有モード」及び「非共有モード」のいずれが設定されているかを表すモード情報と、当該USBデバイスを利用する端末装置を表す接続ホスト情報と、を有する。尚、接続ホスト情報は、該当USBデバイスを利用するネットワークNT上の端末装置のMACアドレス及びUSBデバイスを利用するユーザ名を示す情報である。該当USBデバイス3を利用する端末装置及びユーザがいない場合、接続ホスト情報は、空情報にされる。
【0070】
詳述すると、S160において、制御部10は、今回接続されたUSBデバイス3の共有設定情報devi又は共有設定情報dev0に基づき、共有設定情報が示すモードと同一のモードを表す値(「共有モード」又は「非共有モード」)を、モード情報として記した接続デバイス情報であって、接続ホスト情報を、空情報とした接続デバイス情報を生成し、これを接続デバイステーブルTBL2に登録する。具体的に、デバイス共有テーブルTBL1の設定種別が値「1」に設定されている場合には、今回接続されたUSBデバイス3の共有設定情報deviに基づいて、接続デバイス情報を生成し、デバイス共有テーブルTBL1の設定種別が値「0」に設定されている場合には、共有設定情報dev0に基づき、接続デバイス情報を生成する。
【0071】
また、S160での処理を終えると、制御部10は、当該接続受付処理を終了する。
続いて、USBデバイス3に対する接続要求を処理するために、制御部10が、USB管理プログラム107に基づいて実行する接続要求受付処理について説明する。図8は、接続要求が発生すると、制御部10が実行する接続要求受付処理を表すフローチャートである。
【0072】
接続要求受付処理を開始すると、制御部10は、接続要求元がネットワークNT上の端末装置であるか否かを判断する(S210)。
そして、接続要求元がネットワークNT上の端末装置ではなく自装置のアプリケーションソフトウェアであると判断すると(S210でNo)、S230にて、接続要求されたUSBデバイス3に適合するUSBドライバ103bをロードして、接続要求されたUSBデバイス3の制御系として、USBドライバ103bを用いたUSBデバイス3の制御系を構築する。その後、当該接続要求受付処理を終了する。但し、自装置のアプリケーションソフトウェアから接続要求があった時点で、既に対応するUSBデバイス3のUSBドライバ103b又はデバイスブリッジ103aがロードされ、対応するUSBデバイス3の制御系が構築されている場合には、S230で何ら処理を実行することなく、当該接続要求受付処理を終了する。
【0073】
一方、S210において、接続要求元がネットワークNT上の端末装置であると判断すると(S210でYes)、制御部10は、接続要求元が、予めUSBデバイス3の利用を許可された接続許可ホスト及びユーザに該当する正当な者であるか否かを判断する(S240)。尚、この判断は、EEPROM17に記録されたデバイス共有テーブルTBL1に基づいて行われる。
【0074】
即ち、デバイス共有テーブルTBL1の設定種別が「0」である場合、制御部10は、共有設定情報dev0を参照し、デバイス共有テーブルTBL1の設定種別が「1」である場合には、接続要求されたUSBデバイス3の共有設定情報deviを参照し、参照した共有設定情報が示すモードが「共有モード」であるかを判断する。そして参照した共有設定情報が示すモードが「共有モード」ではない場合、制御部10は、接続要求元が正当な者ではないと判断し(S240でNo)、当該接続要求受付処理を終了する。
【0075】
一方、参照した共有設定情報が示すモードが「共有モード」である場合には、その共有設定情報が示す接続許可ホスト情報に基づき、接続要求元がUSBデバイス3の利用を許可された接続許可ホスト及びユーザに該当するかを判断する。尚、接続要求には、接続要求元のMACアドレス及びユーザ名の情報が付加されており、上記判断は、接続要求に付加された情報と、接続許可ホスト情報との比較により行う。但し、本実施例では、共有設定情報が示すモードが「共有モード」であるにも拘わらず、接続許可ホスト情報が空情報である場合、USBデバイス3が全ての端末装置に開放されているとして取り扱い、接続要求に付加されたMACアドレス及びユーザ名の情報によらず、全ての端末装置に対し、接続要求元が正当な者であると判断する。
【0076】
そして、参照した共有設定情報に基づき、接続要求元が正当な者ではないと判断すると(S240でNo)、制御部10は、当該接続要求受付処理を終了し、正当な者であると判断すると(S240でYes)、S250に移行する。尚、本実施例では、S240での判断時に、接続要求されたUSBデバイス3についての制御系が既に構築されており、USBデバイス3が他の者に占有されている場合、接続要求元が正当なものではないと取り扱って、当該接続要求受付処理を終了する。
【0077】
また、S250に移行すると、制御部10は、デバイスブリッジ103aをロードして、今回接続要求があったUSBデバイス3の制御系として、デバイスブリッジ103aを用いたUSBデバイス3の制御系(図2(c)参照)を構築する。また、S250でデバイスブリッジ103aをロードした後には、USBIP101に対して、接続要求元のIPアドレスと接続要求されたUSBデバイス3との対応関係を設定し(S260)、接続要求されたUSBデバイス3と接続要求元の端末装置とをUSB通信可能に接続する。
【0078】
また、S260での処理を終えると、制御部10は、接続要求されたUSBデバイス3の接続デバイス情報を、接続デバイステーブルTBL2において編集し、該当接続デバイス情報を構成する接続ホスト情報を、今回接続要求してきた端末装置のMACアドレスとユーザ名とからなる情報に更新する(S270)。その後、当該接続要求受付処理を終了する。
【0079】
続いて、一度構築されたUSBデバイス3の制御系の解除を要求する接続解除要求を処理するために、制御部10が、USB管理プログラム107に基づいて実行する接続解除要求受付処理について説明する。図9は、接続解除要求が発生すると、制御部10が実行する接続解除要求受付処理を表すフローチャートである。
【0080】
接続解除要求受付処理を開始すると、制御部10は、接続解除要求が正当な要求であるか否かを判断する(S310)。具体的に、接続解除要求が示す接続解除対象のUSBデバイス3が、非共有モードで動作している場合、制御部10は、自装置内のアプリケーションソフトウェアから発生した接続解除要求を、正当な要求と取り扱い、ネットワークNT経由で受信した接続解除要求を、正当でない要求として取り扱う。
【0081】
また、接続解除要求が示す接続解除対象のUSBデバイス3が、共有モードで動作している場合、制御部10は、自装置内のアプリケーションソフトウェアから発生した接続解除要求及び接続解除対象のUSBデバイス3に接続中の端末装置から、ネットワークNT経由で受信した接続解除要求を、正当な要求であると取り扱い、非接続中のネットワークNT上の端末装置から受信した接続解除要求を、正当でない要求であるとして取り扱う。
【0082】
そして、接続解除要求が正当な要求ではないと判断すると(S310でNo)、制御部10は、S330以降の処理を実行することなく、当該接続解除要求受付処理を終了する。一方、制御部10は、接続解除要求が正当な要求であると判断すると(S310でYes)、接続解除要求が、ネットワークNT上の端末装置が占有するUSBデバイス3に対する接続解除要求であるか否かを判断し(S330)、接続解除要求が、ネットワークNT上の端末装置が占有するUSBデバイス3に対する接続解除要求であると判断すると(S330でYes)、このUSBデバイス3の制御系を構成するデバイスブリッジ103aをアンロードして(S340)、デバイスブリッジ103aを用いたUSBデバイス3の制御系を一旦解除し、当該USBデバイス3を利用していたネットワークNT上の端末装置から、USBデバイス3を使えないようにする。
【0083】
また、S340での処理を終えると、制御部10は、接続デバイステーブルTBL2における接続解除要求のあったUSBデバイス3の接続デバイス情報が内包する接続ホスト情報をクリアして、接続解除要求のあったUSBデバイス3に対応する接続デバイス情報を更新する(S350)。その後、当該接続解除要求受付処理を終了する。
【0084】
一方、S330において、接続解除要求が、ネットワークNT上の端末装置が占有するUSBデバイス3に対する接続解除要求ではないと判断すると(S330でNo)、このUSBデバイス3の制御系を構成するUSBドライバ103bをアンロードして(S360)。USBドライバ103bを用いたUSBデバイス3の制御系を一旦解除し、USBデバイス3を利用できないようにする。そして、この処理を終えると、当該接続解除要求受付処理を終了する。
【0085】
尚、当該複合機1には、接続解除要求を行うためのアプリケーションソフトウェアとして、図10に示す操作画面を表示部29を通じて提供するプログラムがインストールされており、ユーザ操作による複合機1での接続解除は、図10に示す操作画面を通じて行われる。図10(a)に示す操作画面は、操作部27を通じ、ユーザから接続解除操作画面の表示指令が入力されると、上記プログラムにより表示される。図10(a)に示す接続解除操作画面には、現在接続されているUSBデバイス3の一覧が表示され、一のUSBデバイス3を選択するためのカーソルも合わせて表示される。ユーザにより、この接続解除操作画面を通じて一のUSBデバイス3が選択されると、制御部10は、上記プログラムに基づいて、「接続解除」又は「接続継続」指示をユーザから受け付けるための図10(b)に示す解除確認操作画面を表示し、この解除確認操作画面を通じて「接続解除」の指示がユーザから操作部27を通じて入力されると、上記選択されたUSBデバイス3の接続解除要求を、接続解除要求受付処理を実行するタスクに入力する。
【0086】
また、当該複合機1のUSBコネクタCNに接続されたUSBデバイス3は、上述の接続解除を受けて、USBコネクタCNから取外し可能な状態となるわけであるが、制御部10は、USBコネクタCNからUSBデバイス3が外された場合に必要な処理を実行するため、図11に示す取外受付処理も実行する。尚、図11は、複合機1のUSBコネクタCNからUSBデバイス3が取り外されると、制御部10が実行する取外受付処理を表すフローチャートである。
【0087】
取外受付処理を開始すると、制御部10は、USBコネクタCNより取り外されたUSBデバイス3の接続デバイス情報を特定する(S410)。また、この処理を終えると、S410により特定された接続デバイス情報を、接続デバイステーブルTBL2から削除する(S420)。その後、当該取外受付処理を終了する。
【0088】
その他、USB管理プログラム107は、モードの指定変更操作や接続許可ホスト及びユーザの更新操作を、操作部27を通じてユーザから受け付けるためのプログラムを有し、制御部10は、操作部27を通じて設定変更画面表示操作がなされると、USB管理プログラム107に基づいて、図12に示す接続デバイス設定変更処理を実行する。尚、この接続デバイス設定変更処理に先駆けては、管理者用のパスワードの入力を、ユーザに求め、操作部27を通じて正当な管理者用のパスワードが、操作部27を通じてユーザから入力された場合のみ、制御部10は、当該接続デバイス設定変更処理を実行する。
【0089】
接続デバイス設定変更処理を開始すると、制御部10は、まずS510にて、デバイス共有テーブルTBL1の設定種別情報を参照し、設定種別情報が値「1」であるか否かを判断する。そして、設定種別情報が値「1」である場合には(S510でYes)、接続デバイステーブルTBL2の登録情報に基づき、現在USBコネクタCNに接続されているUSBデバイス3のリストを、表示部29に表示し、このリスト表示画面に基づき、ユーザが、操作部27を通じて、一のUSBデバイス3を設定変更対象として選択するまで待機する(S530)。そして、一のUSBデバイス3が設定変更対象として選択されると、選択されたUSBデバイス3についてのモード指定画面を表示部29に表示する(S540)。
【0090】
モード指定画面は、USBデバイス3に設定すべきモードとして、「共有モード」及び「非共有モード」のいずれかを操作部27を通じて指定可能な構成にされており、制御部10は、このモード指定画面を表示すると、ユーザによるモード指定操作が完了するまで待機し(S550)、モード指定操作が完了すると(S550でYes)、指定されたモードが「共有モード」であるか否かを判断する(S560)。そして、指定されたモードが「共有モード」である場合には(S560でYes)、S570の処理を実行した後、S580に移行し、指定されたモードが「非共有モード」である場合には(S560でNo)、S570の処理を実行することなく、S580に移行する。
【0091】
尚、S570では、接続許可ホスト及びユーザの指定受付処理を実行して、ユーザから、操作部27を通じて、上記USBデバイス3の利用を許可するホストのMACアドレス及びユーザ名の指定情報を得る。
【0092】
また、S580に移行すると、制御部10は、デバイス共有テーブルTBL1内の選択されたUSBデバイス3に対応する共有設定情報deviに、前段階の処理にてユーザから指定されたモード、接続許可ホスト及びユーザ名の情報を反映させて、共有設定情報deviを更新する。また、この処理を終えると、制御部10は、S590に移行し、接続デバイステーブルTBL2内の選択されたUSBデバイス3に対応する接続デバイス情報に、前段階の処理にてユーザから指定されたモードを反映させて、接続デバイス情報を更新する。その後、S660に移行する。
【0093】
一方、S510において設定種別情報が値「1」ではなく値「0」であると判断すると(S510でNo)、制御部10は、S600に移行して、全USBデバイスに設定すべきモードの指定情報をユーザから受け付けるためのモード指定画面を表示部29に表示する。
【0094】
尚、ここで表示されるモード指定画面は、S540で表示されるモード指定画面と同様、「共有モード」及び「非共有モード」のいずれかを操作部27を通じて指定可能な構成にされており、制御部10は、このモード指定画面を表示すると、ユーザによるモード指定操作が完了するまで待機し(S610)、モード指定操作が完了すると(S610でYes)、指定されたモードが「共有モード」であるか否かを判断し(S620)、指定されたモードが「共有モード」である場合には(S620でYes)、S630で、接続許可ホスト及びユーザの指定受付処理を実行して、ユーザから、操作部27を通じて、USBデバイス3の利用を許可するホストのMACアドレス及びユーザ名の指定情報を取得する。また、この処理を終えると、制御部10は、S640に移行する。これに対し、指定されたモードが「非共有モード」である場合(S620でNo)、制御部10は、S630の処理を実行することなく、S640に移行する。
【0095】
また、S640に移行すると、制御部10は、デバイス共有テーブルTBL1内の共有設定情報dev0に、前段階の処理にてユーザから指定されたモード、接続許可ホスト及びユーザ名の情報を反映させて、共有設定情報dev0を更新する。また、この処理を終えると、制御部10は、S650に移行し、接続デバイステーブルTBL2内の各接続デバイス情報に、前段階の処理にてユーザから指定されたモードの情報を反映させて、各接続デバイス情報を更新する。その後、S660に移行する。
【0096】
また、S660に移行すると、制御部10は、共有設定情報の更新により、更新された共有設定情報の内容と、現環境との不整合が発生しているか否かを判断する。具体的に、ここでは、共有設定情報に適合しないモードで動作するUSBデバイス3、又は、接続許可ホスト及びユーザに該当しない者からのUSBデバイス3への接続が存在する場合、更新された共有設定情報の内容と、現環境との不整合が発生していると判断する。
【0097】
そして、不整合が発生していると判断すると(S660でYes)、制御部10は、不整合が発生しているUSBデバイス3で現在構築されている制御系を解除する。即ち、不整合が発生しているUSBデバイス3に対応するUSBドライバ103b又はデバイスブリッジ103aをアンロードして、現接続を解除する(S670)。また、S670では、接続解除と共に、接続デバイステーブルTBL2における各接続デバイス情報の内容を、解除後の状態に適合する内容に更新する。即ち、接続が解除されたUSBデバイス3についての接続ホスト情報をクリアする。そして、これらの処理を終えると、当該接続デバイス設定変更処理を終了する。一方、不整合が発生していないと判断すると(S660でNo)、制御部10は、S670の処理を実行することなく、当該接続デバイス設定変更処理を終了する。
【0098】
また、USB管理プログラム107は、ネットワークNT経由で送信されてきた設定情報更新要求や情報通知要求に従い、EEPROM17がデバイス共有テーブルTBL1に記憶する共有設定情報を更新したり、要求された情報を要求元にネットワークNT経由で通知する機能を有し、制御部10は、USB管理プログラム107に基づいて、図13に示す外部要求受付処理を実行することにより、この機能を実現する。図13は、ネットワークNT上の端末装置からの要求である外部要求を、ネットワークNTを介して受信すると、制御部10が実行する外部要求受付処理を表すフローチャートである。
【0099】
外部要求受付処理を開始すると、制御部10は、まず、受信した外部要求が正当な要求であるか否かを判断する(S710)。具体的に、制御部10は、外部要求として、当該複合機1に接続されたUSBデバイス3のリストを要求するリスト情報通知要求(詳細後述)を受信した場合、例外なく受信した外部要求が正当な要求であると判断する。一方、外部要求として、デバイス共有テーブルTBL1の共通設定情報を要求する詳細情報通知要求又は設定情報更新要求を受信した場合には、この要求に付加されている管理者パスワードが、予め当該複合機1に設定された管理者パスワードと一致するか否かを判断し、両パスワードが一致する場合には、受信した外部要求が正当な要求であると判断し、両パスワードが不一致である場合には、受信した外部要求が正当な要求ではないと判断する。
【0100】
S710において受信した外部要求が正当な要求であると判断すると(S710でYes)、制御部10は、S730に移行して、外部要求が情報通知要求(リスト情報通知要求又は詳細情報通知要求)であるか否かを判断し、外部要求が情報通知要求であると判断すると(S730でYes)、情報通知要求にて要求された情報を、接続デバイステーブルTBL2又はデバイス共有テーブルTBL1から読み出して、これを、要求元装置に、ネットワークNTを介して送信する(S740)。
【0101】
例えば、USBデバイスリストを要求するリスト情報通知要求を受信した場合には、デバイス共有テーブルTBL1及び接続デバイステーブルTBL2が示す情報に基づき、接続デバイステーブルTBL2に登録されている各USBデバイス3について、各USBデバイス3の名称と、各USBデバイス3のデバイスクラスと、各USBデバイス3のモード情報及び接続ホスト情報と、を要求元装置に送信する。
【0102】
その他、制御部10は、受信した情報通知要求が、特定の共有設定情報を要求する詳細情報通知要求である場合には、要求された共有設定情報を、デバイス共有テーブルTBL1から読み出し、これを要求元装置に送信する。また、このようにして、S740での処理を終えると、制御部10は、当該外部要求受付処理を終了する。
【0103】
この他、制御部10は、受信した外部要求が情報通知要求ではないと判断すると(S730でNo)、この外部要求が設定情報更新要求であるか否かを判断し(S750)、受信した外部要求が設定情報更新要求であると判断すると(S750でYes)、S760に移行して、設定情報更新要求が示す更新内容に従って、設定情報更新要求が示すデバイス共有テーブルTBL1内の更新対象の共有設定情報を更新し(S760)、その後、当該外部要求受付処理を終了する。一方、制御部10は、受信した外部要求が設定情報更新要求ではないと判断すると(S750でNo)、その他の要求に対応した処理を実行し(S770)、当該外部要求受付処理を終了する。
【0104】
[4.PCのリモートデバイス管理プログラムによって実現される処理]
続いて、PC50のリモートデバイス管理プログラム607によって実現される処理について説明する。上述したように、リモートデバイス管理プログラム607は、USBデバイス3と、USBデバイス3を有する複合機1のIPアドレスとの対応関係を、PC50におけるUSBIP605に設定して、複合機1に接続されたUSBデバイス3と、PC50との通信を実現する機能を有するが、このリモートデバイス管理プログラム607は、更に、複合機1が有するUSBデバイス3を利用するのに必要な操作を、ユーザから受け付けるためのGUI構成の画面を、ユーザに対して提供する機能を有する。この機能は、PC50の制御部60が、リモートデバイス管理プログラム607に基づいて、実行する図14及び図15に示すUSBデバイス接続設定処理によって実現される。
【0105】
図14及び図15は、PC50の制御部60が実行するUSBデバイス接続設定処理を表すフローチャートである。このUSBデバイス接続設定処理は、ユーザが、操作部75を通じて接続設定画面の表示操作を行うと、制御部60により実行される。
【0106】
制御部60は、USBデバイス接続設定処理を開始すると、まず表示部73に、ユーザ名及びパスワードを入力可能なログイン画面を表示し(S810)、ユーザから操作部75を通じて、ユーザ名及びパスワードを取得する(S820)。また、この処理を終えると、制御部60は、取得したユーザ名及びパスワードに基づき、ログインを試みるユーザが正当なユーザであるか否かを判断する(S830)。即ち、取得したユーザ名及びパスワードの組合せが、PC50に予め登録されたユーザ名及びパスワードと一致するか否かを判断する。そして、正当なユーザではないと判断すると(S830でNo)、当該USBデバイス接続設定処理を終了し、正当なユーザであると判断すると(S830でYes)、S840に移行する。
【0107】
S840に移行すると、制御部60は、ログインしたユーザが管理者であるか否かを、PC50に予め管理者として登録されたユーザ名の情報に基づき判断し、ログインしたユーザが管理者であると判断すると(S840でYes)、「接続設定」ボタンを有効にした接続設定画面(図16(a)参照)を表示部73に表示し(S850)、ログインしたユーザが管理者ではないと判断すると(S840でNo)、「接続設定」ボタンを無効にした接続設定画面を表示部73に表示する(S855)。
【0108】
図16(a)は、接続設定画面の構成を表す説明図である。図16(a)に示すように接続設定画面は、ネットワークNT上の各複合機1に接続されたUSBデバイス3のリストを表示するためのリスト表示欄を備えると共に、入力オブジェクトとして、「接続設定」ボタン、「接続」ボタン、「解除」ボタンを備える(各ボタンの機能は後述)。
【0109】
即ち、S850では、「接続設定」ボタンが入力オブジェクトとして機能するように接続設定画面を表示することで「接続設定」ボタンを有効にした接続設定画面を表示し、S855では、「接続設定」ボタンが入力オブジェクトとして機能しないようにして、接続設定画面を表示することで「接続設定」ボタンを無効にした接続設定画面を表示する。但し、S850及びS855で表示される接続設定画面では、初期段階で、リスト表示欄に、USBデバイス3の一覧が、表示されていないものとする。
【0110】
このようにして、S850又S855で接続設定画面を表示すると、制御部60は、S860に移行し、デバイス検索パケットをネットワークNTにブロードキャストし、その応答パケットを解析することで、ネットワークNTに接続された複合機1を検索する。尚、ネットワークNTに、上述した複合機1が複数接続されている場合には、上述のデバイス検索パケットの送出により、各複合機1をネットワークNT上で検索する。
【0111】
また、S860での検索が完了すると、制御部60は、上記検索により発見されたネットワークNT上の各複合機1に対して、複合機1に接続されたUSBデバイス3のリストを要求するリスト情報通知要求を送信し、複合機1に接続されたUSBデバイス3のリスト(各USBデバイス3の名称と、各USBデバイス3のデバイスクラスと、各USBデバイス3のモード情報及び接続ホスト情報とからなる情報)を、各複合機1からネットワークNT経由で受信する(S870)。
【0112】
また、この処理を終えると、制御部60は、S880に移行し、表示部73を制御して、受信したUSBデバイスリストに基づき、各複合機1に接続されたUSBデバイス3の名称、デバイスクラス、モード(及び接続中ホスト)の一覧を、接続設定画面のリスト表示欄に、図16(a)に示す形態で表示する。
【0113】
そして、S880での処理を終えると、制御部60は、ユーザによる操作イベントが発生しているか否かを判断し、操作イベントが発生していないと判断すると(S890でNo)、S860の処理実行後、所定時間が経過したか否かを判断し(S900)、所定時間が経過していないと判断すると(S900でNo)、S890に移行して、操作イベントが発生するか所定時間が経過するまで待機する。一方、所定時間が経過したと判断すると(S900でYes)、制御部60は、S860に移行し、S860以降の処理をやり直して、接続設定画面におけるリスト表示欄に最新のUSBデバイス3の情報を表示する(S860〜S880)。
【0114】
その他、制御部60は、S890において操作イベントが発生していると判断すると(S890でYes)、ユーザにより操作部75を通じてなされた操作がデバイス選択操作であるか否かを判断する(S910)。即ち、接続設定画面のリスト表示欄に列挙されたUSBデバイス3のいずれかを選択する操作がなされたか否かを判断する。
【0115】
そして、なされた操作がデバイス選択操作であると判断すると(S910でYes)、制御部60は、選択されたUSBデバイス3に対応する表示文字列を、接続設定画面において強調表示する(S915)。尚、図16(a)には、選択されたUSBデバイスに対応する表示文字列の背景を他の部分とは変更することで、表示文字列を強調表示する例を示す。また、この処理を終えると、制御部60は、S900に移行して、新たな操作イベントが発生するか、S860の実行後所定時間が経過するまで待機する。
【0116】
一方、発生した操作イベントに対応する操作がデバイス選択操作ではないと判断すると(S910でNo)、制御部60は、S920に移行し、接続設定画面において既にUSBデバイス3が選択されているか否かを判断する。即ち、接続設定画面において強調表示中のUSBデバイス3が存在するか否かを判断する。
【0117】
そして、接続設定画面において既にUSBデバイス3が選択されていると判断すると(S920でYes)、制御部60は、S930に移行し、発生した操作イベントに対応する操作が接続設定画面に用意された「接続」ボタンの押下操作であるか否かを判断する。
【0118】
ここで、操作イベントに対応する操作が「接続」ボタンの押下操作であると判断すると(S930でYes)、制御部60は、既に選択されている強調表示中のUSBデバイス3についての接続要求を、そのUSBデバイス3が接続された複合機1にネットワークNTを介して送信して、上記USBデバイス3を、当該PC50から利用可能にする(S935)。そして、この処理を終えると、制御部60は、S900に移行する。
【0119】
その他、操作イベントに対応する操作が「接続」ボタンの押下操作ではないと判断すると(S930でNo)、制御部60は、この操作イベントに対応する操作が接続設定画面に設けられた「解除」ボタンの押下操作であるか否かを判断する(S940)。そして、操作イベントに対応する操作が「解除」ボタンの押下操作であると判断すると(S940でYes)、既に選択されている強調表示中のUSBデバイス3についての接続解除要求を、そのUSBデバイス3が接続された複合機1にネットワークNT経由で送信して、上記USBデバイス3と当該PC50との接続を解除する(S945)。そして、この処理を終えると、制御部60は、S900に移行する。
【0120】
また、操作イベントに対応するする操作が「解除」ボタンの押下操作でもないと判断すると(S940でNo)、制御部60は、S950に移行し、当該PC50が詳細設定モード(詳細後述)に移行しているか否かを判断する。そして、当該PC50が詳細設定モードに移行していると判断すると(S950でYes)、S960に移行して、図17に示す詳細設定処理を実行し、その後、S900に移行する。
【0121】
これに対し、当該PC50が詳細設定モードに移行していないと判断すると(S950でNo)、制御部60は、発生した操作イベントに対応する操作が「接続設定」ボタンの押下操作であるか否かを判断し(S970)、操作イベントに対応する操作が「接続設定」ボタンの押下操作であると判断すると(S970でYes)、S971に移行して、当該PC50を、詳細設定モードに移行させる。即ち、接続設定画面を非アクティブにし、その代わりに表示部73に、強調表示中のUSBデバイス3に対応する共有設定情報を変更するための画面であって図16(b)に示す構成の詳細設定画面を表示する。但し、S971の処理終了時点では、詳細設定画面に、接続許可ホスト及びユーザの情報が記述されていないものとする。
【0122】
また、S971での処理を終えると、制御部60は、S973に移行し、選択された強調表示中のUSBデバイス3に対応する共有設定情報を要求する詳細情報通知要求を、対応するUSBデバイス3が接続された複合機1にネットワークNT経由で送信して、上記強調表示中のUSBデバイス3に対応する共有設定情報を、複合機1から取得する。但し、この際には、詳細情報通知要求が正当な要求であることを示すために、管理者パスワードを付して詳細情報通知要求を送信し、対応する共有設定情報を複合機1から取得する。
【0123】
そして、S973での処理を終えると、制御部60は、受信した共有設定情報に基づいて、詳細設定画面に、該当USBデバイス3のモード、接続許可ホスト及びユーザに関するUSBデバイス3の詳細情報を表示し(S975)、その後、S900に移行する。尚、詳細設定画面に対する操作は、図17の詳細設定処理にて受け付けられる。
【0124】
この他、S970にて、発生した操作イベントに対応する操作が「接続設定」ボタンの押下操作でもないと判断すると(S970でNo)、制御部60は、S980に処理を移行する。尚、制御部60は、S920において、USBデバイス3が選択されていないと判断した場合にも、S980に移行する。
【0125】
S980において、制御部60は、発生した操作イベントに対応する操作が接続設定画面を閉じる操作としての終了操作であるか否かを判断し、操作イベントに対応する操作が終了操作であると判断すると(S980でYes)、接続設定画面を閉じた後、当該USBデバイス接続設定処理を終了する。
【0126】
一方、操作イベントに対応する操作が終了操作でもないと判断すると(S980でNo)、制御部60は、その他の操作イベントに対応した処理を実行し(S990)、その後、S900に移行する。
【0127】
次に、S960で実行される詳細設定処理について説明する。図17は、制御部60が実行する詳細設定処理を表すフローチャートである。
詳細設定処理を開始すると、制御部60は、発生した操作イベントに対応する操作が、モード切替操作であるか否かを判断し(S1010)、操作イベントに対応する操作が、モード切替操作であると(S1010でYes)、詳細設定画面上のモードを表す表示文字列を、「非共有モード」から「共有モード」、又は、「共有モード」から「非共有モード」に切り替え(S1015)、その後、当該詳細設定処理を終了する。尚、モード切替操作は、操作部75を通じて、詳細設定画面上のモードを表す表示文字列を選択し、「変更」ボタンを押下操作するといった一連の操作にて実現される。
【0128】
一方、操作イベントに対応する操作が、モード切替操作ではないと判断すると(S1010でNo)、制御部60は、S1020に移行し、操作イベントに対応する操作が、接続許可ホスト追加操作であるか否かを判断する。そして、操作イベントに対応する操作が、接続許可ホスト追加操作であると判断すると(S1020でYes)、その後に操作部75を通じて入力される追加対象の接続許可ホストのホスト名及びMACアドレスを、詳細設定画面に追加表示する(S1025)。その後、当該詳細設定処理を終了する。尚、接続許可ホスト追加操作は、操作部75を通じて、詳細設定画面上の「接続許可ホスト」との表示文字列を選択して、「追加」ボタンを押下操作するといった一連の操作にて実現される。
【0129】
その他、操作イベントに対応する操作が、接続許可ホスト追加操作ではないと判断すると(S1020でNo)、制御部60は、S1030に移行し、操作イベントに対応する操作が、接続許可ユーザ追加操作であるか否かを判断する。そして、操作イベントに対応する操作が、接続許可ユーザ追加操作であると判断すると(S1030でYes)、その後に操作部75を通じて入力される追加対象の接続許可ユーザのユーザ名を、詳細設定画面に追加表示する(S1035)。その後、当該詳細設定処理を終了する。
【0130】
尚、接続許可ユーザ追加操作は、詳細設定画面上のユーザ追加対象の接続許可ホストの表示欄における「接続許可ユーザ」との表示文字列を選択し、「追加」ボタンを押下操作するといった一連の操作にて実現される。
【0131】
また、操作イベントに対応する操作が、接続許可ユーザ追加操作ではないと判断すると(S1030でNo)、制御部60は、S1040に移行し、操作イベントに対応する操作が、接続許可ホスト削除操作であるか否かを判断する。そして、操作イベントに対応する操作が、接続許可ホスト削除操作であると判断すると(S1040でYes)、削除対象の接続許可ホストの情報(ホスト名及びMACアドレス)を、詳細設定画面から削除する(S1045)。その後、当該詳細設定処理を終了する。尚、接続許可ホスト削除操作は、操作部75を通じて、詳細設定画面における削除対象の接続許可ホストについてのホスト名を表す表示文字列を選択して、「削除」ボタンを押下操作するといった一連の操作にて実現される。
【0132】
その他、操作イベントに対応する操作が、接続許可ホスト削除操作ではないと判断すると(S1040でNo)、制御部60は、S1050に移行し、操作イベントに対応する操作が、接続許可ユーザ削除操作であるか否かを判断する。そして、操作イベントに対応する操作が、接続許可ユーザ削除操作であると判断すると(S1050でYes)、削除対象の接続許可ユーザの情報(ユーザ名)を、詳細設定画面から削除する(S1055)。その後、当該詳細設定処理を終了する。
【0133】
尚、接続許可ユーザ削除操作は、詳細設定画面における削除対象の接続許可ユーザについてのユーザ名を表す表示文字列を選択し、「削除」ボタンを押下操作するといった一連の操作にて実現される。
【0134】
また、操作イベントに対応する操作が、接続許可ユーザ削除操作でもないと判断すると(S1050でNo)、制御部60は、S1060に移行し、操作イベントに対応する操作が、詳細設定画面に設けられた「設定」ボタンの押下操作であるか否かを判断する。そして、操作イベントに対応する操作が、「設定」ボタンの押下操作であると判断すると(S1060でYes)、制御部60は、現在の詳細設定画面の表示内容に適合するように、詳細設定画面の表示の際に複合機1から取得した共有設定情報を、複合機1のデバイス共有テーブルTBL1上で更新するための設定情報更新要求を、上記更新対象の共有設定情報を有する複合機1に送信し、複合機1がデバイス共有テーブルTBL1に有する共有設定情報を、現在の詳細設定画面の表示内容に適合する情報に更新する(S1065)。その後、当該詳細設定処理を終了する。
【0135】
また、制御部60は、操作イベントに対応する操作が、「設定」ボタンの押下操作ではないと判断すると(S1060でNo)、S1070に移行し、操作イベントに対応する操作が、詳細設定画面に設けられた「取消」ボタンの押下操作であるか否かを判断する。そして、操作イベントに対応する操作が、「取消」ボタンの押下操作であると判断すると(S1070でYes)、制御部60は、詳細設定画面を閉じて、接続設定画面をアクティブにし、詳細設定モードを終了する(S1075)。その後、当該詳細設定処理を終了する。この他、操作イベントに対応する操作が、詳細設定画面に設けられた「取消」ボタンの押下操作でもないと判断すると(S1070でNo)、制御部60は、S1075の処理を実行することなく、当該詳細設定処理を終了する。
【0136】
このようにして、本実施例では、複合機1における共有設定情報を、PC50からのネットワークNTを介した遠隔操作で更新可能にする。
[5.まとめ]
以上、本実施例の複合機1及びPC50の構成について説明したが、この複合機1では、非共有モードのUSBデバイス3を制御する際、USBドライバ103bが、自装置内のアプリケーションソフトウェアから入力される指示に従って、USBインタフェースに接続されたUSBデバイス3を制御するための制御データであるUSBデータを生成し、これをUSBホストコントローラドライバ105に入力し、USBホストコントローラドライバ105が、USBホストコントローラ31を制御して、USBデバイス3に対するUSBデータを、物理信号に変換し、これを対応するUSBデバイス3に伝送する。
【0137】
一方、複合機1では、共有モードのUSBデバイス3を制御する際、USBIP101が、LANインタフェース35により受信されたIPパケットから、USBインタフェースに接続されたUSBデバイス3宛のUSBデータを抽出する。そして、これをデバイスブリッジ103aが、USBホストコントローラドライバ105に入力し、USBホストコントローラドライバ105が、ネットワークNT経由で送信されてきたUSBデータを、対応するUSBデバイス3に伝送する。
【0138】
即ち、この複合機1は、自装置内の処理主体からのUSBデバイス3に対する操作を、非ネットワーク経由で受け付けると共に、ネットワーク上の端末装置(PC50)からのUSBデバイス3に対する遠隔操作を、USBIP101を用いて受け付ける。
【0139】
従って、本実施例によれば、従来装置のように、複合機1内部のアプリケーションソフトウェアからUSBデバイス3を利用する際、USBデータをIPパケット化して、ネットワークNT経由で、USBデバイス3に入力する必要がなく、内部のアプリケーションソフトウェアからUSBデバイス3を効率的に利用することができる。
【0140】
また、本実施例では、USBデバイス3の制御系として、複合機1内部のアプリケーションソフトウェアからの指令に応じてUSBドライバ103bを用いてUSBデバイス3を制御する制御系、及び、ネットワーク上の端末装置から送信されてきたUSBデータをUSBIP101及びデバイスブリッジ103aを用いて処理してUSBデバイス3を制御する制御系が構築されるが、USBデバイス3の制御が煩雑化しないように、各制御系を切り替えて構築し、同時動作しないようにした。
【0141】
即ち、本実施例では、各USBデバイス3に関し、USBドライバ103b及びデバイスブリッジ103aのいずれか一方をロードすることにより、共有設定情報が示すユーザからの指示に従って制御系を切り替え、内部的にUSBデバイス3を制御する非共有モード、ネットワーク経由でUSBデバイス3を制御する共有モードのいずれかにて、各USBデバイス3を制御するようにした。
【0142】
従って、本実施例によれば、USBデバイス3の制御手順が煩雑化しなくて済み、内部のアプリケーションソフトウェア及びネットワーク上の端末装置からUSBデバイス3を制御可能なシステムを、比較的簡単な構成で実現することができる。
【0143】
また、本実施例では、モード指定情報を含む共有設定情報を、ユーザの指示に従って書換可能にEEPROM17に記録して、ユーザが簡単に「共有モード」「非共有モード」を切り替えられるようにした。従って、本実施例によれば、ユーザの必要に応じて内部制御機能又はUSBデバイスサーバ機能の各機能を働かせることができ、ユーザに対して利便性の高い複合機1を提供することができる。
【0144】
また特に、本実施例では、USBデバイス毎に共有設定情報を設け、「共有モード」「非共有モード」を、ユーザがUSBデバイス毎に個別に指定できるようにした。従って、本実施例によれば、ユーザの必要に応じて内部制御機能又はUSBデバイスサーバ機能の各機能を、USBデバイス毎に適切に働かせることができ、ユーザに対して利便性の高い複合機1を提供することができる。
【0145】
また、本実施例では、USBデバイス毎に、「共有モード」及び「非共有モード」のいずれかを個別に設定できるようにしたことで、ネットワーク上のユーザが、各USBデバイスのモードを理解できず、混乱する可能性があることを考慮し、ネットワーク上の端末装置に、要求に応じて、各USBデバイスのモード情報を通知するようにした。従って、本実施例によれば、端末装置のユーザが、モード情報を、端末装置を通じて簡単に知ることができ、例えば、USBデバイスが「非共有モード」であるにもかかわらず、ユーザが、ネットワーク経由でUSBデバイス3を制御しようとして混乱するのを防止することができる。
【0146】
また、本実施例では、デバイス共有テーブルTBL1に共有設定情報が登録されていない過去未接続の新規なUSBデバイス3が、USBインタフェースに接続された場合には、このUSBデバイス3を、ネットワークNT経由で利用できないように、USBデバイス3の制御系を構築し、モード指定情報のデフォルト値として、「非共有モード」を設定するようにした。デフォルトで、新規のUSBデバイス3を「共有モード」にすると、複合機1に新規のUSBデバイス3を接続した際、そのUSBデバイス3がすぐさまネットワークNT上の端末装置から利用可能となってしまう可能性があり、セキュリティの面で好ましくない。
【0147】
一方、本実施例では、新規USBデバイス3に「非共有モード」を設定するようにしているので、初期状態では、ネットワーク上の端末装置からUSBデバイス3を利用できないようにすることができ、上記のような問題の発生を防止することができる。
【0148】
尚、本発明の通信装置は、本実施例の複合機1に相当し、ネットワークインタフェースは、LANインタフェース35、通信インタフェースは、USBインタフェース(USBホストコントローラ31及びUSBルートハブ33)に相当する。また、インタフェース制御手段は、USBホストコントローラドライバ105に相当し、機器制御手段は、USBドライバ103bに相当し、中継手段は、USBIP101及びデバイスブリッジ103aに相当する。また、モード切替手段は、制御部10が実行するS170及びS180並びに接続要求受付処理(図8)に対応し、通知手段は、S740の処理に対応する。
【0149】
また、本発明は、上記実施例に限定されるものではなく、種々の態様を採ることができる。例えば、上記実施例では、ディジタル複合機に本発明を適用した例を示したが、本発明は、その他の通信装置に適用することができる。
【図面の簡単な説明】
【0150】
【図1】本発明が適用されたディジタル複合機1の構成を表すブロック図である。
【図2】制御部10により実現されるUSBデバイスサーバ機能の説明図である。
【図3】デバイス共有テーブルTBL1の構成を表す説明図である。
【図4】PC50の構成を表すブロック図である。
【図5】制御部60により実現される機能の説明図である。
【図6】制御部10が実行する接続受付処理を表すフローチャートである。
【図7】接続デバイステーブルTBL2の構成を表す説明図である。
【図8】制御部10が実行する接続要求受付処理を表すフローチャートである。
【図9】制御部10が実行する接続解除要求受付処理を表すフローチャートである。
【図10】接続解除に係る操作画面の構成を表す説明図である。
【図11】制御部10が実行する取外受付処理を表すフローチャートである。
【図12】制御部10が実行する接続デバイス設定変更処理を表すフローチャートである。
【図13】制御部10が実行する外部要求受付処理を表すフローチャートである。
【図14】制御部60が実行するUSBデバイス接続設定処理を表すフローチャートである。
【図15】制御部60が実行するUSBデバイス接続設定処理を表すフローチャートである。
【図16】接続設定画面の構成を表す説明図(a)及び詳細設定画面の構成を表す説明図(b)である。
【図17】制御部60が実行する詳細設定処理を表すフローチャートである。
【符号の説明】
【0151】
1…複合機、3…USBデバイス、10,60…制御部、11,61…CPU、13,63…ROM、15,65…RAM、17…EEPROM、21…印刷部、23…読取部、25…FAX通信部、27,75…操作部、29,73…表示部、31…USBホストコントローラ、33…USBルートハブ、35,77…LANインタフェース、50…PC、101,605…USBIP、103a…デバイスブリッジ、103b,601…USBドライバ、105…USBホストコントローラドライバ、107…USB管理プログラム、603…仮想USBホストコントローラドライバ、607…リモートデバイス管理プログラム、NT…ネットワーク
【出願人】 【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
【出願日】 平成18年8月11日(2006.8.11)
【代理人】 【識別番号】100082500
【弁理士】
【氏名又は名称】足立 勉

【識別番号】100129090
【弁理士】
【氏名又は名称】竹中 謙史


【公開番号】 特開2008−48048(P2008−48048A)
【公開日】 平成20年2月28日(2008.2.28)
【出願番号】 特願2006−220188(P2006−220188)