JP4638398B2 - 通信装置及びプログラム - Google Patents

通信装置及びプログラム Download PDF

Info

Publication number
JP4638398B2
JP4638398B2 JP2006220188A JP2006220188A JP4638398B2 JP 4638398 B2 JP4638398 B2 JP 4638398B2 JP 2006220188 A JP2006220188 A JP 2006220188A JP 2006220188 A JP2006220188 A JP 2006220188A JP 4638398 B2 JP4638398 B2 JP 4638398B2
Authority
JP
Japan
Prior art keywords
usb
mode
peripheral device
control
interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006220188A
Other languages
English (en)
Other versions
JP2008048048A (ja
Inventor
博幸 佐々木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2006220188A priority Critical patent/JP4638398B2/ja
Priority to US11/837,240 priority patent/US8314945B2/en
Priority to DE602007004041T priority patent/DE602007004041D1/de
Priority to EP07253146A priority patent/EP1887474B1/en
Publication of JP2008048048A publication Critical patent/JP2008048048A/ja
Application granted granted Critical
Publication of JP4638398B2 publication Critical patent/JP4638398B2/ja
Priority to US13/446,409 priority patent/US8422042B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、ネットワークインタフェースを備える通信装置であって、更に、USB周辺機器接続用のUSBインタフェースを備える通信装置に関する。
従来より、ネットワークインタフェース及び周辺機器を接続可能なインタフェースを備える通信装置としては、LAN(Local Area Network)インタフェース及びUSB(Universal Serial Bus)インタフェースを備え、USBホストとして機能するディジタル複合機が知られている(例えば、特許文献1参照)。
また、USBデバイスの制御技術としては、USBデバイスの接続機器において、機器内で動作する処理主体(アプリケーションソフトウェア等)からの指令に従い、USBデバイスを制御する技術の他、ネットワークを通じてUSBデバイスを制御する技術が知られている(例えば、非特許文献1参照)。
ネットワークを通じてUSBデバイスを制御する技術としては、特に、USB OVER IP(登録商標)技術が知られている。USB OVER IP(登録商標)技術は、USBデバイスに伝送すべきUSBデータを、IPパケットでカプセル化し、IPネットワーク経由で、これを、USBデバイスの接続機器に伝送して、USBデバイスの接続機器とは別の通信装置から、IPネットワーク経由で、周辺機器を制御するものである。
特開2005−348125号公報 "silex technology : Japan Site"、[online]、 [平成18年8月3日検索]、インターネット <URL:http://www.silex.jp/japan/products/network/usb/sx2000u2.html>
しかしながら、従来知られるUSB OVER IP(登録商標)技術のような、ネットワークを通じて他の通信装置にローカル接続された周辺機器を制御する技術を、ディジタル複合機等の通信装置に、単に適用した場合には、次のような問題があった。
従来装置としては、周辺機器とネットワークとの間に設置されて専用の中継器として機能し、ネットワーク経由で送信されてきたIPパケット化された周辺機器宛のデータを自装置に接続された周辺機器に伝送し、自装置に接続された周辺機器からの出力データをIPパケット化して、ネットワークに送出するものが知られているが、この装置を、ディジタル複合機に組み込んだ場合には、ディジタル複合機のアプリケーションソフトウェアから周辺機器を利用する際に、ネットワーク経由でしか自装置に接続された周辺機器を利用することができないといった問題があった。
従って、従来技術を、単にディジタル複合機等の通信装置に適用した場合には、自装置に接続された周辺機器を利用するのにも拘わらず、この周辺機器宛のデータを、一旦IPパケット化し、これをネットワークに送出して、ネットワークインタフェース経由で、自装置に接続された周辺機器にデータを伝送しなければならないといった問題があった。また、このような処理により、上記ディジタル複合機等の通信装置には、IPパケット化等に係る大きな負荷がかかるといった問題があった。
本発明は、こうした問題に鑑みなされたものであり、通信装置に接続されたUSB周辺機器を、通信装置内部の処理主体及びネットワーク上の端末装置から効率的に利用可能な技術を提供することを第一の目的とする。また、通信装置内部の処理主体からの指令に応じてUSB周辺機器を制御する機能及びネットワーク上の端末装置からの指令に応じてUSB周辺機器を制御する機能の各機能を、必要に応じて、適切に働かせることが可能な技術を提供することを第二の目的とする。
かかる目的を達成するためになされた請求項1記載の通信装置は、ローカルエリアネットワークに接続された端末装置と通信するためのネットワークインタフェースと、USB接続されたUSB周辺機器と通信するためのUSBインタフェースと、このUSBインタフェースを制御して、USB周辺機器に対する制御信号(USB周辺機器を制御するための制御データ)を、対応するUSB周辺機器に伝送するインタフェース制御手段と、機器制御手段と、中継手段と、を備える。
この通信装置では、機器制御手段が、自装置内の処理主体からUSB周辺機器に対する指示が入力されたことを条件として、当該入力された指示に従い、USBインタフェースに接続されたUSB周辺機器に対する制御データを生成し、これをインタフェース制御手段に入力する。また、中継手段は、ネットワークインタフェースを介して端末装置からUSB周辺機器に対するパケットを受信したことを条件として、当該受信したパケットから、USBインタフェースに接続されたUSB周辺機器に対する制御データを抽出し、これをインタフェース制御手段に入力する。即ち、この通信装置は、自装置内の処理主体からのUSB周辺機器に対する操作を、非ネットワーク経由で受け付けると共に、ネットワーク経由で、ネットワーク上の端末装置からのUSB周辺機器に対する遠隔操作を受け付ける。
従って、本発明によれば、従来装置のように、内部の処理主体からUSB周辺機器を利用する際、制御データをネットワークに送出する必要がなく、内部の処理主体からUSB周辺機器を効率的に利用することができる。よって、本発明によれば、通信装置に接続されたUSB周辺機器を、通信装置内部の処理主体及びネットワーク上の端末装置の両者から効率的に利用することができる。尚、通信装置内部の処理主体としては、ユーザに対し様々なサービスを提供するために当該通信装置が実行するアプリケーションソフトウェア等を挙げることができる。
また、本発明の通信装置は、機器制御手段及び中継手段のいずれか一方を、切り替えて作動させることにより、USB周辺機器の制御モードを、機器制御手段を介してUSB周辺機器を制御する内部制御モード、及び、中継手段を介してUSB周辺機器を制御するネットワーク制御モードのいずれかに切り替えるとともに、内部制御モードの状態で、ネットワークインタフェースを介して端末装置からネットワーク制御モードでのUSB周辺機器の制御が要求された場合、その要求を受諾することなく、内部制御モードを維持し続けるモード切替手段を備える。
このように構成された通信装置によれば、複数の指令系統が同時に機能することがないので、通信装置内部の処理主体からの操作及びネットワーク上の端末装置からの操作の各操作に対応したUSB周辺機器の制御を、簡単に実現することができる。即ち、機器制御手段及び中継手段として、周知技術を流用し、モード切替手段によって、これらの各手段の作動をコントロールする程度で、各操作に対応したUSB周辺機器の制御を、適切に実行することができる。
また、通信装置には、モード指定情報記憶手段を設け、通信装置は、モード指定情報記憶手段に記憶されたモード指定情報(USB周辺機器の制御モードを、内部制御モード及びネットワーク制御モードのいずれに切り替えるべきかを表す情報)に従って、モード切替手段により、USB周辺機器の制御モードを切り替える構成にされるとよい。
このように構成された通信装置によれば、ユーザは、モード指定情報を更新する程度で、当該通信装置を、所望の制御モードで動作させることができる。例えば、当該通信装置に、ユーザインタフェースを通じて入力されるユーザからの指示に従って、モード指定記憶手段が記憶するモード指定情報を書き換える指定情報書換手段を設ければ、ユーザは、ユーザインタフェースを通じて、モード指定情報を書き換えることで、当該通信装置によるUSB周辺機器の制御形態を、簡単に切り替えることができる。従って、この発明によれば、ユーザからの指示に従い、内部制御機能及びネットワーク制御機能の各機能を、必要に応じて、適切に働かせることができる。
尚、モード指定情報記憶手段は、EEPROMやフラッシュメモリ等の電気的にデータ書換可能な不揮発性の記録媒体に、モード指定情報を記録する構成にされるとよい。このようにすれば、通信装置の電源オフ後にも、モード指定情報が記憶維持され便利である。
請求項2記載の通信装置は、ローカルエリアネットワークに接続された端末装置と通信するためのネットワークインタフェースと、USB接続されたUSB周辺機器と通信するためのUSBインタフェースと、このUSBインタフェースを制御して、USB周辺機器に対する制御信号を、対応するUSB周辺機器に伝送するインタフェース制御手段と、機器制御手段と、中継手段と、を備える。
この通信装置では、機器制御手段が、自装置内の処理主体からUSB周辺機器に対する指示が入力されたことを条件として、当該入力された指示に従い、USBインタフェースに接続されたUSB周辺機器に対する制御データを生成し、これをインタフェース制御手段に入力する。また、中継手段は、ネットワークインタフェースを介して端末装置からUSB周辺機器に対するパケットを受信したことを条件として、当該受信したパケットから、USBインタフェースに接続されたUSB周辺機器に対する制御データを抽出し、これをインタフェース制御手段に入力する。即ち、この通信装置は、自装置内の処理主体からのUSB周辺機器に対する操作を、非ネットワーク経由で受け付けると共に、ネットワーク経由で、ネットワーク上の端末装置からのUSB周辺機器に対する遠隔操作を受け付ける。
従って、本発明によれば、従来装置のように、内部の処理主体からUSB周辺機器を利用する際、制御データをネットワークに送出する必要がなく、内部の処理主体からUSB周辺機器を効率的に利用することができる。よって、本発明によれば、通信装置に接続されたUSB周辺機器を、通信装置内部の処理主体及びネットワーク上の端末装置の両者から効率的に利用することができる。尚、通信装置内部の処理主体としては、ユーザに対し様々なサービスを提供するために当該通信装置が実行するアプリケーションソフトウェア等を挙げることができる。
また、本発明の通信装置は、機器制御手段及び中継手段のいずれか一方を、切り替えて作動させることにより、USB周辺機器の制御モードを、機器制御手段を介してUSB周辺機器を制御する内部制御モード、及び、中継手段を介してUSB周辺機器を制御するネットワーク制御モードのいずれかに切り替えるとともに、内部制御モードの状態で、ネットワークインタフェースを介して端末装置からネットワーク制御モードでのUSB周辺機器の制御が要求された場合、その要求を受諾することなく、内部制御モードを維持し続けるモード切替手段を備える。
このように構成された通信装置によれば、複数の指令系統が同時に機能することがないので、通信装置内部の処理主体からの操作及びネットワーク上の端末装置からの操作の各操作に対応したUSB周辺機器の制御を、簡単に実現することができる。即ち、機器制御手段及び中継手段として、周知技術を流用し、モード切替手段によって、これらの各手段の作動をコントロールする程度で、各操作に対応したUSB周辺機器の制御を、適切に実行することができる。
また、通信装置には、モード指定情報記憶手段を設け、通信装置は、モード指定情報記憶手段に記憶されたモード指定情報(USB周辺機器の制御モードを、内部制御モード及びネットワーク制御モードのいずれに切り替えるべきかを表す情報)に従って、モード切替手段により、USB周辺機器の制御モードを切り替える構成にされるとよい。
このように構成された通信装置によれば、ユーザは、モード指定情報を更新する程度で、当該通信装置を、所望の制御モードで動作させることができる。例えば、当該通信装置に、ユーザインタフェースを通じて入力されるユーザからの指示に従って、モード指定記憶手段が記憶するモード指定情報を書き換える指定情報書換手段を設ければ、ユーザは、ユーザインタフェースを通じて、モード指定情報を書き換えることで、当該通信装置によるUSB周辺機器の制御形態を、簡単に切り替えることができる。従って、この発明によれば、ユーザからの指示に従い、内部制御機能及びネットワーク制御機能の各機能を、必要に応じて、適切に働かせることができる。
また、通信装置には、ネットワークインタフェースを通じて、ローカルエリアネットワーク上の端末装置に、モード指定情報記憶手段が記憶するモード指定情報の内容を通知する通知手段を設けるとよい。このように構成された通信装置によれば、ユーザが利用する端末装置に向けてモード指定情報の内容を通知するので、端末装置のユーザは、制御モードを、その端末装置を通じて簡単に知ることができる。よって、この発明によれば、USB周辺機器を利用できない理由が、制御モードの誤認識によるものか、ネットワークの不調等、別の理由によるものかを、ユーザに正しく理解させることができ、ユーザに混乱や不快感を及ぼすのを防止することができる。
請求項3記載の通信装置は、ローカルエリアネットワークに接続された端末装置と通信するためのネットワークインタフェースと、USB接続されたUSB周辺機器と通信するためのUSBインタフェースと、このUSBインタフェースを制御して、USB周辺機器に対する制御信号を、対応するUSB周辺機器に伝送するインタフェース制御手段と、機器制御手段と、中継手段と、を備える。
この通信装置では、機器制御手段が、自装置内の処理主体からUSB周辺機器に対する指示が入力されたことを条件として、当該入力された指示に従い、USBインタフェースに接続されたUSB周辺機器に対する制御データを生成し、これをインタフェース制御手段に入力する。また、中継手段は、ネットワークインタフェースを介して端末装置からUSB周辺機器に対するパケットを受信したことを条件として、当該受信したパケットから、USBインタフェースに接続されたUSB周辺機器に対する制御データを抽出し、これをインタフェース制御手段に入力する。即ち、この通信装置は、自装置内の処理主体からのUSB周辺機器に対する操作を、非ネットワーク経由で受け付けると共に、ネットワーク経由で、ネットワーク上の端末装置からのUSB周辺機器に対する遠隔操作を受け付ける。
従って、本発明によれば、従来装置のように、内部の処理主体からUSB周辺機器を利用する際、制御データをネットワークに送出する必要がなく、内部の処理主体からUSB周辺機器を効率的に利用することができる。よって、本発明によれば、通信装置に接続されたUSB周辺機器を、通信装置内部の処理主体及びネットワーク上の端末装置の両者から効率的に利用することができる。尚、通信装置内部の処理主体としては、ユーザに対し様々なサービスを提供するために当該通信装置が実行するアプリケーションソフトウェア等を挙げることができる。
また、本発明の通信装置は、機器制御手段及び中継手段のいずれか一方を、切り替えて作動させることにより、USB周辺機器の制御モードを、機器制御手段を介してUSB周辺機器を制御する内部制御モード、及び、中継手段を介してUSB周辺機器を制御するネットワーク制御モードのいずれかに切り替えるとともに、内部制御モードの状態で、ネットワークインタフェースを介して端末装置からネットワーク制御モードでのUSB周辺機器の制御が要求された場合、その要求を受諾することなく、内部制御モードを維持し続けるモード切替手段を備える。
このように構成された通信装置によれば、複数の指令系統が同時に機能することがないので、通信装置内部の処理主体からの操作及びネットワーク上の端末装置からの操作の各操作に対応したUSB周辺機器の制御を、簡単に実現することができる。即ち、機器制御手段及び中継手段として、周知技術を流用し、モード切替手段によって、これらの各手段の作動をコントロールする程度で、各操作に対応したUSB周辺機器の制御を、適切に実行することができる。
また、USBインタフェースには、過去未接続の新規なUSB周辺機器が接続される可能性があるので、モード切替手段は、USBインタフェースに過去未接続のUSB周辺機器が接続された場合、USBインタフェースに接続された過去未接続のUSB周辺機器の制御モードを、デフォルトの制御モードに切り替える構成にされるとよい。また、デフォルトの制御モードとしては、内部制御モードを採用するのが好ましい。
デフォルトの制御モードを、ネットワーク制御モードにすると、当該通信装置に新規のUSB周辺機器を接続した際、そのUSB周辺機器がすぐさまネットワーク上の端末装置にて利用可能となってしまうため、USB周辺機器を接続した者の意思とは無関係に、他の者が、勝手にUSB周辺機器を利用してしまう可能性があり、不都合が大きく、セキュリティの面で好ましくない。
一方、デフォルトの制御モードを、内部制御モードにすれば、ユーザが明示的な意思によって切り替え変更をしないかぎり、ネットワーク上の端末装置からUSB周辺機器を利用することはできないので、ネットワークを通じたUSB周辺機器の不正使用を防止することができ、セキュリティの面でシステムが脆弱になるのを防止することができる。
請求項4記載の通信装置は、モード指定情報記憶手段は、USB周辺機器の制御モードを、内部制御モード、及び、ネットワーク制御モードのいずれに切り替えるべきかを表すモード指定情報をUSBインタフェースに接続されるUSB周辺機器毎に記憶し、モード切替手段は、USB周辺機器がUSBインタフェースに接続された場合に、モード指定情報記憶手段が記憶するモード指定情報に従って、USBインタフェースに接続された各USB周辺機器の制御モードを切り替えることを特徴とする請求項2記載の通信装置である。
請求項5記載の通信装置は、モード切替手段は、USBインタフェースに過去未接続のUSB周辺機器が接続された場合に、USBインタフェースに接続された過去未接続のUSB周辺機器の制御モードを、内部制御モードに切り替えることを特徴とする請求項1又は請求項2又は請求項4のいずれかに記載の通信装置である。
請求項6記載の通信装置は、ネットワークインタフェースを通じて、ローカルエリアネットワーク上の端末装置に、モード指定情報記憶手段が記憶するモード指定情報の内容を通知する通知手段を備えることを特徴とする請求項1又は請求項3記載の通信装置である。
また、請求項7記載の通信装置は、次のように構成されてもよい。即ち、モード切替手段は、端末装置からネットワークインタフェースを通じてUSB周辺機器に対する接続要求を受信すると、USB周辺機器の制御モードを、ネットワーク制御モードに切り替え、自装置の処理主体からUSB周辺機器に対する接続要求が入力されると、USB周辺機器の制御モードを、内部制御モードに切り替える構成にされ、インタフェース制御手段は、USB周辺機器の制御モードが内部制御モードに切り替えられている場合には、USB周辺機器の出力データを、機器制御手段に入力し、USB周辺機器の制御モードがネットワーク制御モードに切り替えられている場合には、USB周辺機器の出力データを、中継手段に入力し、中継手段は、インタフェース制御手段から入力された出力データを、パケットに格納して、当該パケットを、接続要求をしてきた端末装置に、ネットワークインタフェースを通じて送信し、機器制御手段は、インタフェース制御手段から入力された出力データを、上記自装置内の処理主体に伝送する構成にされてもよい。
また、上述した通信装置が有する各手段の機能は、プログラムにより、コンピュータに実現させることができる
以下、本発明の実施例について、図面と共に説明する。
[1.ディジタル複合機の構成(概略)]
図1は、本発明が適用されたディジタル複合機1の構成を表すブロック図である。本実施例の複合機1は、コピー機能、プリンタ機能、スキャナ機能、ファクシミリ機能、及び、USBデバイスサーバ機能を有し、制御部10にて、各種処理を実行することにより、上述の機能を実現する。
具体的に、複合機1は、制御部10の他、印刷部21、読取部23、FAX通信部25、操作部27、表示部29、USBホストコントローラ31、USBルートハブ33、LANインタフェース35を備え、これらを用い、上述の機能を実現する。
制御部10は、各種プログラムを実行するCPU11、各種プログラムを記憶するROM13、作業用メモリとしてのRAM15、及び、設定情報等を記憶するEEPROM17を備え、CPU11にて、プログラムを実行することにより、装置内各部を統括制御し、各種機能を実現する。
印刷部21は、レーザプリンタ方式又はインクジェット方式にて、用紙に画像を形成するものであり、制御部10に制御されて、給紙部(図示せず)から用紙を取り込んで、この用紙に、制御部10から与えられた画像データに対応する画像を印刷する。この印刷部21は、コピー機能、プリンタ機能、ファクシミリ機能を実現する際に用いられる。
また、読取部23は、載置部(図示せず)に載置された原稿を光学的に読み取り、読取画像を表す画像データを生成するものである。この読取部23は、制御部10に制御されて、原稿を読み取り、生成した画像データを制御部10に提供する。この読取部23は、コピー機能、ファクシミリ機能、スキャナ機能を実現する際に用いられる。
また、FAX通信部25は、制御部10から与えられた画像データを、ファクシミリ信号により、公衆電話回線網(PSTN)を通じ、外部のファクシミリ装置に送信すると共に、外部のファクシミリ装置から、公衆電話回線網(PSTN)を通じて送信されてきたファクシミリ信号を、制御部10が取扱い可能な画像データに変換して、ファクシミリ送受信を実現する。
その他、操作部27は、ユーザが操作可能な各種キーを有し、キーを通じてユーザの操作を受け付け、その操作内容を制御部10に通知する構成にされている。また、表示部29は、液晶ディスプレイからなり、制御部10に制御されて、各種情報を、ユーザに向け、文字又は画像の形態で表示する。
また、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を接続可能な構成にされている。
その他、複合機1が備えるLANインタフェース35は、複合機1が設置されるオフィスのローカルエリアネットワークNTに接続され、制御部10に制御されて、ネットワークNT内のノードと通信する。具体的に、本実施例のローカルエリアネットワークNTは、IP(インターネットプロトコル)ネットワークとして構成され、このネットワークNT内には、複合機1のUSBデバイス3をネットワークNT経由で制御可能な機能を有するパーソナルコンピュータ(以下、「PC」とする。)50と、ネットワークNTを広域ネットワークとしてのインターネットに接続するルータと、が設けられている。
尚、LANインタフェース35は、上述のUSBデバイスサーバ機能を実現する際に用いられる。USBデバイスサーバ機能とは、複合機1に接続されたUSBデバイス3を、ネットワークNT経由で利用可能にする機能のことである。
図2は、USBデバイスサーバ機能に関する説明図である。USBデバイスサーバ機能は、制御部10によりソフトウェア的に実現されるため、図2(a)では、制御部10にて実行される各プログラムの関係、及び、プログラムとハードウェアとの関係を、ブロック図で示す。
本実施例の複合機1は、USBデバイスサーバ機能の他に、制御部10にて実行されるアプリケーションソフトウェアからの指令に従って、USBデバイス3を制御する内部制御機能を有し、各機能は、USB管理プログラム107により切り替えられて実現される。
具体的に、制御部10は、USBデバイスサーバ機能を実現するに当たって、USBIP101、デバイスブリッジ103a、USBホストコントローラドライバ105の各プログラムを実行する。デバイスブリッジ103aは、USBデバイスサーバ機能を実現する際、USBドライバ103bに代えてロードされ、CPU11により実行される。換言すると、USBデバイスサーバ機能に代えて内部制御機能を実現する際、CPU11は、デバイスブリッジ103aに代えて、USBドライバ103bをロードして実行する。
USBIP101は、LANインタフェース35を通じてネットワークNTから受信したIPパケットが内包するUSBデータを、IPパケットから抽出し、このUSBデータを、USBデータが宛先とするUSBデバイス3に対応するデバイスブリッジ103aに入力すると共に、デバイスブリッジ103aから入力されたUSBデータを、IPパケット化して、これをネットワークNTに送出するプログラム(所謂、USB OVER IP(登録商標)プログラム)である。
このUSBIP101に対しては、USB管理プログラム107により、IPアドレスとUSBデバイス3との対応関係が設定され、これにより、USBデバイス3からデバイスブリッジ103a経由で入力されたUSBデータは、当該USBデバイス3に対応付けられたIPアドレスに対応する外部PC50に送信され、外部PC50からのIPパケット化されたUSBデータは、対応するUSBデバイス3に伝送され、外部PC50−USBデバイス3間のUSBデータの授受が実現される。
また、デバイスブリッジ103aは、USBIP101−USBホストコントローラドライバ105間のUSBデータの中継を行うものであり、USBIP101から入力されたUSBデータを、USBホストコントローラドライバ105に伝送すると共に、USBホストコントローラドライバ105から入力されたUSBデータを、USBIP101に伝送する機能を有する。
この他、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データを伝送する機能を有する。
また、デバイスブリッジ103aに代えて、内部制御機能の実現時にロードされるUSBドライバ103bは、USBデバイス3を制御するためのプログラムであり、USBデバイス3を利用する複合機1のアプリケーションソフトウェアからの指令に従って、その指令に対応する操作をUSBデバイス3に加えるためのUSBデータ(制御データ)を生成し、これをUSBホストコントローラドライバ105経由でUSBデバイス3に送信すると共に、USBデバイス3からUSBホストコントローラドライバ105経由で送信されてきたUSBデータを、アプリケーションソフトウェアに提供するものである。
即ち、複合機1では、内部制御機能の実現時、USBドライバ103bがロードされて、図2(b)に示すように、USBドライバ103b、USBホストコントローラドライバ105からなるUSBデバイス3の制御系が構築される。一方、USBデバイスサーバ機能の実現時には、USBドライバ103bではなくデバイスブリッジ103aがロードされて、図2(c)に示すように、USBIP101、デバイスブリッジ103a、USBホストコントローラドライバ105からなるUSBデバイス3の制御系が構築される。
尚、上述したように、デバイスブリッジ103a及びUSBドライバ103bは、USB管理プログラム107によって、USBデバイス3毎に、切り替えられてロードされる。また、切替は、EEPROM17に記憶されたデバイス共有テーブルTBL1が有する共有設定情報に従って、行われる。図3は、EEPROM17が記憶するデバイス共有テーブルTBL1の構成を表す説明図である。
図3に示すように、EEPROM17が記憶するデバイス共有テーブルTBL1は、設定種別情報と、複数の共有設定情報と、からなる。設定種別情報は、USBデバイスサーバ機能の動作設定を、USBデバイス毎に行うか、全USBデバイスに共通して行うかを表す情報である。具体的に、設定種別情報が値「0」を示すとき、制御部10は、共有設定情報dev0を参照し、この共有設定情報dev0が示す全USBデバイス3に共通する設定情報に従って、各USBデバイス3を制御する。
一方、設定種別情報が値「1」を示すとき、制御部10は、USBデバイス毎に設けられた共有設定情報dev1〜devNに基づき、各USBデバイス3を、対応USBデバイス3の共有設定情報devi(i=1〜N)が示す設定情報に従って、制御する。
尚、共有設定情報dev0は、モード指定情報及び接続許可ホスト情報からなり、他の共有設定情報devi(i=1〜N)は、当該共有設定情報に対応するUSBデバイス3に割り当てられたデバイスIDと、USBバージョン番号、デバイスクラス、ベンダID、及び、プロダクトIDを表すデバイス情報と、モード指定情報と、接続許可ホスト情報とからなる。
モード指定情報は、「共有モード」及び「非共有モード」のいずれかの値を採るものであり、モード指定情報が「共有モード」を示す場合、制御部10は、対応するUSBデバイス3に対してUSBデバイスサーバ機能を働かせ、このUSBデバイス3をネットワークNT上の端末装置から利用できるようにする。一方、モード指定情報が「非共有モード」を示す場合、制御部10は、対応するUSBデバイス3に対して内部制御機能を働かせ、このUSBデバイス3を、自装置内でのみ利用可能とする。
また、接続許可ホスト情報は、モード指定情報が「共有モード」の場合にのみ有効に機能するものであり、許可ホスト数情報と、接続許可ホスト毎のアドレスユーザ情報と、からなる。ここでいう接続許可ホストとは、USBデバイスサーバ機能を通じたネットワークNT経由でのUSBデバイス3の利用を許可されたネットワークNT上の端末装置のことである。
許可ホスト数情報は、該当USBデバイス3のネットワークNT経由の利用が許可された接続許可ホストの数を表す情報であり、この数は、アドレスユーザ情報の個数に一致する。また、接続許可ホスト毎のアドレスユーザ情報は、接続許可ホストのMACアドレスと、この接続許可ホストからのUSBデバイス3の利用が許可されたユーザのリストと、からなる。このユーザリストには、USBデバイス3の利用が許可されたユーザの名称が列挙されている。
[2.ディジタル複合機を利用するPCの構成(概略)]
続いて、複合機1を利用するPC50の構成について説明する。図4は、PC50の構成を表すブロック図である。
本実施例のPC50は、周知のPC50と同様のハードウェア構成にされており、制御部60と、各種プログラムを記憶するハードディスク装置71と、液晶ディスプレイ等からなる表示部73と、キーボードやポインティングデバイス等からなる操作部75と、LANインタフェース77と、を備える。
LANインタフェース77は、複合機1と同一のネットワークNTに接続され、複合機1と通信可能な構成にされている。また、制御部60は、各種プログラムを実行するCPU61、ブートプログラム等を記憶するROM63、作業用メモリとしてのRAM65を備え、CPU61にて各種プログラムを実行することにより、装置内各部を統括制御し、各種機能を実現する。例えば、制御部60は、LANインタフェース77を介して、複合機1と通信し、複合機1に画像データを送信して、複合機1に、送信した画像データに基づく画像を、用紙に印刷させる。
その他、制御部60は、自装置にインストールされたアプリケーションソフトウェアからの指令に従って、複合機1に接続されたUSBデバイス3を、ネットワーク経由で制御する。
図5は、PC50の制御部60が、ネットワーク経由でUSBデバイス3を制御するに当たって、実行するプログラムの説明図であり、制御部60が実行する各プログラムの関係、及び、プログラムとハードウェアとの関係をブロック図で示したものである。
具体的に、制御部60は、ネットワーク経由でUSBデバイス3を制御するに当たって、USBドライバ601、仮想USBホストコントローラドライバ603、USBIP605の各プログラムを実行する。
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との通信が実現される。
また、仮想USBホストコントローラドライバ603は、USBドライバ601−USBIP605間のUSBデータを中継するプログラムであり、USBIP605から入力されたUSBデータを、送信元のUSBデバイス3に対応するUSBドライバ601に入力すると共に、USBドライバ601から入力されたUSBデータを、USBIP605に入力するものである。
また、USBドライバ601は、USBデバイス3を制御するためのプログラムであり、USBデバイス3を利用するアプリケーションソフトウェアからの指令に従って、その指令に対応する操作をUSBデバイス3に加えるためのUSBデータ(制御データ)を生成し、これを仮想USBホストコントローラドライバ603経由でネットワーク上のUSBデバイス3に送信すると共に、ネットワーク上のUSBデバイス3から送信されてきたUSBデータを、仮想USBホストコントローラドライバ603経由で受け取り、これをアプリケーションソフトウェアに提供するものである。
その他、リモートデバイス管理プログラム607は、上記対応関係の設定と共に、USBデバイス3に対する接続要求、接続解除要求等を、ユーザからの指示に従って、複合機1に送信する機能を有する(詳細後述)。
以上、PC50及び複合機1に関し、装置構成の概略を説明したが、続いて各装置で実現される処理を、具体的に説明する。
[3.ディジタル複合機のUSB管理プログラムによって実現される処理]
上述したようにUSB管理プログラム107は、複合機1に接続された各USBデバイス3に対し、USBデバイス毎に、USBデバイスサーバ機能及び内部制御機能のいずれか一方を働かせる機能を有するが、この機能は、以下に説明する処理によって実現される。
図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等が記述されてなるものである。
また、S125の処理を終えると、制御部10は、取得したデバイスディスクリプタが示す情報に基づき、EEPROM17が記憶するデバイス共有テーブルTBL1において、今回接続されたUSBデバイス3の共有設定情報を検索し(S130)、対応する共有設定情報がない場合には(S140でNo)、S150に移行し、対応する共有設定情報がある場合には(S140でYes)、S160に移行する。
尚、EEPROM17が記憶するデバイス共有テーブルTBL1に、今回接続されたUSBデバイス3の共有設定情報が存在するか否かは、デバイス共有テーブルTBL1に登録された各共有設定情報が有するデバイス情報に基づいて判断する。即ち、S120で取得したデバイスディスクリプタが示すUSBバージョン番号、デバイスクラス、ベンダID及びプロダクトIDと同一のデバイス情報を示す共有設定情報が、デバイス共有テーブルTBL1に登録されている場合、制御部10は、今回接続されたUSBデバイス3の共有設定情報がデバイス共有テーブルTBL1に存在すると判断し、そうでない場合には、対応する共有設定情報が存在しないと判断する。
S150に移行すると、制御部10は、デバイス共有テーブルTBL1に、今回接続されたUSBデバイス3の共有設定情報を、デバイス共有テーブルTBL1に登録する。具体的には、デバイスIDとして、このUSBデバイス3に割り当てたIDを記述し、デバイス情報として、デバイスディスクリプタが示すUSBバージョン番号、デバイスクラス、ベンダID及びプロダクトIDを記述し、モード指定情報として、「非共有モード」を記述し、接続許可ホスト情報として、空の情報を設定してなる共有設定情報を生成し、これをデバイス共有テーブルTBL1に登録する。また、このようにして共有設定情報を、デバイス共有テーブルTBL1に登録すると、制御部10は、S160に移行する。
S160に移行すると、制御部10は、RAM15が記憶する接続デバイステーブルTBL2に、今回接続されたUSBデバイス3の接続デバイス情報を、登録する。図7は、RAM15が記憶する接続デバイステーブルTBL2の構成を表す説明図である。
接続デバイステーブルTBL2は、USBコネクタCNに接続されたUSBデバイス3の情報を管理するものであり、USBコネクタCNに接続されたUSBデバイス毎に、接続デバイス情報を有する。即ち、この接続デバイステーブルTBL2には、S160の処理により、USBコネクタCNにUSBデバイス3が接続される度、接続されたUSBデバイス3の接続デバイス情報が登録される。
具体的に、接続デバイス情報は、接続されたUSBデバイスのデバイスIDと、このUSBデバイスに「共有モード」及び「非共有モード」のいずれが設定されているかを表すモード情報と、当該USBデバイスを利用する端末装置を表す接続ホスト情報と、を有する。尚、接続ホスト情報は、該当USBデバイスを利用するネットワークNT上の端末装置のMACアドレス及びUSBデバイスを利用するユーザ名を示す情報である。該当USBデバイス3を利用する端末装置及びユーザがいない場合、接続ホスト情報は、空情報にされる。
詳述すると、S160において、制御部10は、今回接続されたUSBデバイス3の共有設定情報devi又は共有設定情報dev0に基づき、共有設定情報が示すモードと同一のモードを表す値(「共有モード」又は「非共有モード」)を、モード情報として記した接続デバイス情報であって、接続ホスト情報を、空情報とした接続デバイス情報を生成し、これを接続デバイステーブルTBL2に登録する。具体的に、デバイス共有テーブルTBL1の設定種別が値「1」に設定されている場合には、今回接続されたUSBデバイス3の共有設定情報deviに基づいて、接続デバイス情報を生成し、デバイス共有テーブルTBL1の設定種別が値「0」に設定されている場合には、共有設定情報dev0に基づき、接続デバイス情報を生成する。
また、S160での処理を終えると、制御部10は、当該接続受付処理を終了する。
続いて、USBデバイス3に対する接続要求を処理するために、制御部10が、USB管理プログラム107に基づいて実行する接続要求受付処理について説明する。図8は、接続要求が発生すると、制御部10が実行する接続要求受付処理を表すフローチャートである。
接続要求受付処理を開始すると、制御部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で何ら処理を実行することなく、当該接続要求受付処理を終了する。
一方、S210において、接続要求元がネットワークNT上の端末装置であると判断すると(S210でYes)、制御部10は、接続要求元が、予めUSBデバイス3の利用を許可された接続許可ホスト及びユーザに該当する正当な者であるか否かを判断する(S240)。尚、この判断は、EEPROM17に記録されたデバイス共有テーブルTBL1に基づいて行われる。
即ち、デバイス共有テーブルTBL1の設定種別が「0」である場合、制御部10は、共有設定情報dev0を参照し、デバイス共有テーブルTBL1の設定種別が「1」である場合には、接続要求されたUSBデバイス3の共有設定情報deviを参照し、参照した共有設定情報が示すモードが「共有モード」であるかを判断する。そして参照した共有設定情報が示すモードが「共有モード」ではない場合、制御部10は、接続要求元が正当な者ではないと判断し(S240でNo)、当該接続要求受付処理を終了する。
一方、参照した共有設定情報が示すモードが「共有モード」である場合には、その共有設定情報が示す接続許可ホスト情報に基づき、接続要求元がUSBデバイス3の利用を許可された接続許可ホスト及びユーザに該当するかを判断する。尚、接続要求には、接続要求元のMACアドレス及びユーザ名の情報が付加されており、上記判断は、接続要求に付加された情報と、接続許可ホスト情報との比較により行う。但し、本実施例では、共有設定情報が示すモードが「共有モード」であるにも拘わらず、接続許可ホスト情報が空情報である場合、USBデバイス3が全ての端末装置に開放されているとして取り扱い、接続要求に付加されたMACアドレス及びユーザ名の情報によらず、全ての端末装置に対し、接続要求元が正当な者であると判断する。
そして、参照した共有設定情報に基づき、接続要求元が正当な者ではないと判断すると(S240でNo)、制御部10は、当該接続要求受付処理を終了し、正当な者であると判断すると(S240でYes)、S250に移行する。尚、本実施例では、S240での判断時に、接続要求されたUSBデバイス3についての制御系が既に構築されており、USBデバイス3が他の者に占有されている場合、接続要求元が正当なものではないと取り扱って、当該接続要求受付処理を終了する。
また、S250に移行すると、制御部10は、デバイスブリッジ103aをロードして、今回接続要求があったUSBデバイス3の制御系として、デバイスブリッジ103aを用いたUSBデバイス3の制御系(図2(c)参照)を構築する。また、S250でデバイスブリッジ103aをロードした後には、USBIP101に対して、接続要求元のIPアドレスと接続要求されたUSBデバイス3との対応関係を設定し(S260)、接続要求されたUSBデバイス3と接続要求元の端末装置とをUSB通信可能に接続する。
また、S260での処理を終えると、制御部10は、接続要求されたUSBデバイス3の接続デバイス情報を、接続デバイステーブルTBL2において編集し、該当接続デバイス情報を構成する接続ホスト情報を、今回接続要求してきた端末装置のMACアドレスとユーザ名とからなる情報に更新する(S270)。その後、当該接続要求受付処理を終了する。
続いて、一度構築されたUSBデバイス3の制御系の解除を要求する接続解除要求を処理するために、制御部10が、USB管理プログラム107に基づいて実行する接続解除要求受付処理について説明する。図9は、接続解除要求が発生すると、制御部10が実行する接続解除要求受付処理を表すフローチャートである。
接続解除要求受付処理を開始すると、制御部10は、接続解除要求が正当な要求であるか否かを判断する(S310)。具体的に、接続解除要求が示す接続解除対象のUSBデバイス3が、非共有モードで動作している場合、制御部10は、自装置内のアプリケーションソフトウェアから発生した接続解除要求を、正当な要求と取り扱い、ネットワークNT経由で受信した接続解除要求を、正当でない要求として取り扱う。
また、接続解除要求が示す接続解除対象のUSBデバイス3が、共有モードで動作している場合、制御部10は、自装置内のアプリケーションソフトウェアから発生した接続解除要求及び接続解除対象のUSBデバイス3に接続中の端末装置から、ネットワークNT経由で受信した接続解除要求を、正当な要求であると取り扱い、非接続中のネットワークNT上の端末装置から受信した接続解除要求を、正当でない要求であるとして取り扱う。
そして、接続解除要求が正当な要求ではないと判断すると(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を使えないようにする。
また、S340での処理を終えると、制御部10は、接続デバイステーブルTBL2における接続解除要求のあったUSBデバイス3の接続デバイス情報が内包する接続ホスト情報をクリアして、接続解除要求のあったUSBデバイス3に対応する接続デバイス情報を更新する(S350)。その後、当該接続解除要求受付処理を終了する。
一方、S330において、接続解除要求が、ネットワークNT上の端末装置が占有するUSBデバイス3に対する接続解除要求ではないと判断すると(S330でNo)、このUSBデバイス3の制御系を構成するUSBドライバ103bをアンロードして(S360)。USBドライバ103bを用いたUSBデバイス3の制御系を一旦解除し、USBデバイス3を利用できないようにする。そして、この処理を終えると、当該接続解除要求受付処理を終了する。
尚、当該複合機1には、接続解除要求を行うためのアプリケーションソフトウェアとして、図10に示す操作画面を表示部29を通じて提供するプログラムがインストールされており、ユーザ操作による複合機1での接続解除は、図10に示す操作画面を通じて行われる。図10(a)に示す操作画面は、操作部27を通じ、ユーザから接続解除操作画面の表示指令が入力されると、上記プログラムにより表示される。図10(a)に示す接続解除操作画面には、現在接続されているUSBデバイス3の一覧が表示され、一のUSBデバイス3を選択するためのカーソルも合わせて表示される。ユーザにより、この接続解除操作画面を通じて一のUSBデバイス3が選択されると、制御部10は、上記プログラムに基づいて、「接続解除」又は「接続継続」指示をユーザから受け付けるための図10(b)に示す解除確認操作画面を表示し、この解除確認操作画面を通じて「接続解除」の指示がユーザから操作部27を通じて入力されると、上記選択されたUSBデバイス3の接続解除要求を、接続解除要求受付処理を実行するタスクに入力する。
また、当該複合機1のUSBコネクタCNに接続されたUSBデバイス3は、上述の接続解除を受けて、USBコネクタCNから取外し可能な状態となるわけであるが、制御部10は、USBコネクタCNからUSBデバイス3が外された場合に必要な処理を実行するため、図11に示す取外受付処理も実行する。尚、図11は、複合機1のUSBコネクタCNからUSBデバイス3が取り外されると、制御部10が実行する取外受付処理を表すフローチャートである。
取外受付処理を開始すると、制御部10は、USBコネクタCNより取り外されたUSBデバイス3の接続デバイス情報を特定する(S410)。また、この処理を終えると、S410により特定された接続デバイス情報を、接続デバイステーブルTBL2から削除する(S420)。その後、当該取外受付処理を終了する。
その他、USB管理プログラム107は、モードの指定変更操作や接続許可ホスト及びユーザの更新操作を、操作部27を通じてユーザから受け付けるためのプログラムを有し、制御部10は、操作部27を通じて設定変更画面表示操作がなされると、USB管理プログラム107に基づいて、図12に示す接続デバイス設定変更処理を実行する。尚、この接続デバイス設定変更処理に先駆けては、管理者用のパスワードの入力を、ユーザに求め、操作部27を通じて正当な管理者用のパスワードが、操作部27を通じてユーザから入力された場合のみ、制御部10は、当該接続デバイス設定変更処理を実行する。
接続デバイス設定変更処理を開始すると、制御部10は、まずS510にて、デバイス共有テーブルTBL1の設定種別情報を参照し、設定種別情報が値「1」であるか否かを判断する。そして、設定種別情報が値「1」である場合には(S510でYes)、接続デバイステーブルTBL2の登録情報に基づき、現在USBコネクタCNに接続されているUSBデバイス3のリストを、表示部29に表示し、このリスト表示画面に基づき、ユーザが、操作部27を通じて、一のUSBデバイス3を設定変更対象として選択するまで待機する(S530)。そして、一のUSBデバイス3が設定変更対象として選択されると、選択されたUSBデバイス3についてのモード指定画面を表示部29に表示する(S540)。
モード指定画面は、USBデバイス3に設定すべきモードとして、「共有モード」及び「非共有モード」のいずれかを操作部27を通じて指定可能な構成にされており、制御部10は、このモード指定画面を表示すると、ユーザによるモード指定操作が完了するまで待機し(S550)、モード指定操作が完了すると(S550でYes)、指定されたモードが「共有モード」であるか否かを判断する(S560)。そして、指定されたモードが「共有モード」である場合には(S560でYes)、S570の処理を実行した後、S580に移行し、指定されたモードが「非共有モード」である場合には(S560でNo)、S570の処理を実行することなく、S580に移行する。
尚、S570では、接続許可ホスト及びユーザの指定受付処理を実行して、ユーザから、操作部27を通じて、上記USBデバイス3の利用を許可するホストのMACアドレス及びユーザ名の指定情報を得る。
また、S580に移行すると、制御部10は、デバイス共有テーブルTBL1内の選択されたUSBデバイス3に対応する共有設定情報deviに、前段階の処理にてユーザから指定されたモード、接続許可ホスト及びユーザ名の情報を反映させて、共有設定情報deviを更新する。また、この処理を終えると、制御部10は、S590に移行し、接続デバイステーブルTBL2内の選択されたUSBデバイス3に対応する接続デバイス情報に、前段階の処理にてユーザから指定されたモードを反映させて、接続デバイス情報を更新する。その後、S660に移行する。
一方、S510において設定種別情報が値「1」ではなく値「0」であると判断すると(S510でNo)、制御部10は、S600に移行して、全USBデバイスに設定すべきモードの指定情報をユーザから受け付けるためのモード指定画面を表示部29に表示する。
尚、ここで表示されるモード指定画面は、S540で表示されるモード指定画面と同様、「共有モード」及び「非共有モード」のいずれかを操作部27を通じて指定可能な構成にされており、制御部10は、このモード指定画面を表示すると、ユーザによるモード指定操作が完了するまで待機し(S610)、モード指定操作が完了すると(S610でYes)、指定されたモードが「共有モード」であるか否かを判断し(S620)、指定されたモードが「共有モード」である場合には(S620でYes)、S630で、接続許可ホスト及びユーザの指定受付処理を実行して、ユーザから、操作部27を通じて、USBデバイス3の利用を許可するホストのMACアドレス及びユーザ名の指定情報を取得する。また、この処理を終えると、制御部10は、S640に移行する。これに対し、指定されたモードが「非共有モード」である場合(S620でNo)、制御部10は、S630の処理を実行することなく、S640に移行する。
また、S640に移行すると、制御部10は、デバイス共有テーブルTBL1内の共有設定情報dev0に、前段階の処理にてユーザから指定されたモード、接続許可ホスト及びユーザ名の情報を反映させて、共有設定情報dev0を更新する。また、この処理を終えると、制御部10は、S650に移行し、接続デバイステーブルTBL2内の各接続デバイス情報に、前段階の処理にてユーザから指定されたモードの情報を反映させて、各接続デバイス情報を更新する。その後、S660に移行する。
また、S660に移行すると、制御部10は、共有設定情報の更新により、更新された共有設定情報の内容と、現環境との不整合が発生しているか否かを判断する。具体的に、ここでは、共有設定情報に適合しないモードで動作するUSBデバイス3、又は、接続許可ホスト及びユーザに該当しない者からのUSBデバイス3への接続が存在する場合、更新された共有設定情報の内容と、現環境との不整合が発生していると判断する。
そして、不整合が発生していると判断すると(S660でYes)、制御部10は、不整合が発生しているUSBデバイス3で現在構築されている制御系を解除する。即ち、不整合が発生しているUSBデバイス3に対応するUSBドライバ103b又はデバイスブリッジ103aをアンロードして、現接続を解除する(S670)。また、S670では、接続解除と共に、接続デバイステーブルTBL2における各接続デバイス情報の内容を、解除後の状態に適合する内容に更新する。即ち、接続が解除されたUSBデバイス3についての接続ホスト情報をクリアする。そして、これらの処理を終えると、当該接続デバイス設定変更処理を終了する。一方、不整合が発生していないと判断すると(S660でNo)、制御部10は、S670の処理を実行することなく、当該接続デバイス設定変更処理を終了する。
また、USB管理プログラム107は、ネットワークNT経由で送信されてきた設定情報更新要求や情報通知要求に従い、EEPROM17がデバイス共有テーブルTBL1に記憶する共有設定情報を更新したり、要求された情報を要求元にネットワークNT経由で通知する機能を有し、制御部10は、USB管理プログラム107に基づいて、図13に示す外部要求受付処理を実行することにより、この機能を実現する。図13は、ネットワークNT上の端末装置からの要求である外部要求を、ネットワークNTを介して受信すると、制御部10が実行する外部要求受付処理を表すフローチャートである。
外部要求受付処理を開始すると、制御部10は、まず、受信した外部要求が正当な要求であるか否かを判断する(S710)。具体的に、制御部10は、外部要求として、当該複合機1に接続されたUSBデバイス3のリストを要求するリスト情報通知要求(詳細後述)を受信した場合、例外なく受信した外部要求が正当な要求であると判断する。一方、外部要求として、デバイス共有テーブルTBL1の共通設定情報を要求する詳細情報通知要求又は設定情報更新要求を受信した場合には、この要求に付加されている管理者パスワードが、予め当該複合機1に設定された管理者パスワードと一致するか否かを判断し、両パスワードが一致する場合には、受信した外部要求が正当な要求であると判断し、両パスワードが不一致である場合には、受信した外部要求が正当な要求ではないと判断する。
S710において受信した外部要求が正当な要求であると判断すると(S710でYes)、制御部10は、S730に移行して、外部要求が情報通知要求(リスト情報通知要求又は詳細情報通知要求)であるか否かを判断し、外部要求が情報通知要求であると判断すると(S730でYes)、情報通知要求にて要求された情報を、接続デバイステーブルTBL2又はデバイス共有テーブルTBL1から読み出して、これを、要求元装置に、ネットワークNTを介して送信する(S740)。
例えば、USBデバイスリストを要求するリスト情報通知要求を受信した場合には、デバイス共有テーブルTBL1及び接続デバイステーブルTBL2が示す情報に基づき、接続デバイステーブルTBL2に登録されている各USBデバイス3について、各USBデバイス3の名称と、各USBデバイス3のデバイスクラスと、各USBデバイス3のモード情報及び接続ホスト情報と、を要求元装置に送信する。
その他、制御部10は、受信した情報通知要求が、特定の共有設定情報を要求する詳細情報通知要求である場合には、要求された共有設定情報を、デバイス共有テーブルTBL1から読み出し、これを要求元装置に送信する。また、このようにして、S740での処理を終えると、制御部10は、当該外部要求受付処理を終了する。
この他、制御部10は、受信した外部要求が情報通知要求ではないと判断すると(S730でNo)、この外部要求が設定情報更新要求であるか否かを判断し(S750)、受信した外部要求が設定情報更新要求であると判断すると(S750でYes)、S760に移行して、設定情報更新要求が示す更新内容に従って、設定情報更新要求が示すデバイス共有テーブルTBL1内の更新対象の共有設定情報を更新し(S760)、その後、当該外部要求受付処理を終了する。一方、制御部10は、受信した外部要求が設定情報更新要求ではないと判断すると(S750でNo)、その他の要求に対応した処理を実行し(S770)、当該外部要求受付処理を終了する。
[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デバイス接続設定処理によって実現される。
図14及び図15は、PC50の制御部60が実行するUSBデバイス接続設定処理を表すフローチャートである。このUSBデバイス接続設定処理は、ユーザが、操作部75を通じて接続設定画面の表示操作を行うと、制御部60により実行される。
制御部60は、USBデバイス接続設定処理を開始すると、まず表示部73に、ユーザ名及びパスワードを入力可能なログイン画面を表示し(S810)、ユーザから操作部75を通じて、ユーザ名及びパスワードを取得する(S820)。また、この処理を終えると、制御部60は、取得したユーザ名及びパスワードに基づき、ログインを試みるユーザが正当なユーザであるか否かを判断する(S830)。即ち、取得したユーザ名及びパスワードの組合せが、PC50に予め登録されたユーザ名及びパスワードと一致するか否かを判断する。そして、正当なユーザではないと判断すると(S830でNo)、当該USBデバイス接続設定処理を終了し、正当なユーザであると判断すると(S830でYes)、S840に移行する。
S840に移行すると、制御部60は、ログインしたユーザが管理者であるか否かを、PC50に予め管理者として登録されたユーザ名の情報に基づき判断し、ログインしたユーザが管理者であると判断すると(S840でYes)、「接続設定」ボタンを有効にした接続設定画面(図16(a)参照)を表示部73に表示し(S850)、ログインしたユーザが管理者ではないと判断すると(S840でNo)、「接続設定」ボタンを無効にした接続設定画面を表示部73に表示する(S855)。
図16(a)は、接続設定画面の構成を表す説明図である。図16(a)に示すように接続設定画面は、ネットワークNT上の各複合機1に接続されたUSBデバイス3のリストを表示するためのリスト表示欄を備えると共に、入力オブジェクトとして、「接続設定」ボタン、「接続」ボタン、「解除」ボタンを備える(各ボタンの機能は後述)。
即ち、S850では、「接続設定」ボタンが入力オブジェクトとして機能するように接続設定画面を表示することで「接続設定」ボタンを有効にした接続設定画面を表示し、S855では、「接続設定」ボタンが入力オブジェクトとして機能しないようにして、接続設定画面を表示することで「接続設定」ボタンを無効にした接続設定画面を表示する。但し、S850及びS855で表示される接続設定画面では、初期段階で、リスト表示欄に、USBデバイス3の一覧が、表示されていないものとする。
このようにして、S850又S855で接続設定画面を表示すると、制御部60は、S860に移行し、デバイス検索パケットをネットワークNTにブロードキャストし、その応答パケットを解析することで、ネットワークNTに接続された複合機1を検索する。尚、ネットワークNTに、上述した複合機1が複数接続されている場合には、上述のデバイス検索パケットの送出により、各複合機1をネットワークNT上で検索する。
また、S860での検索が完了すると、制御部60は、上記検索により発見されたネットワークNT上の各複合機1に対して、複合機1に接続されたUSBデバイス3のリストを要求するリスト情報通知要求を送信し、複合機1に接続されたUSBデバイス3のリスト(各USBデバイス3の名称と、各USBデバイス3のデバイスクラスと、各USBデバイス3のモード情報及び接続ホスト情報とからなる情報)を、各複合機1からネットワークNT経由で受信する(S870)。
また、この処理を終えると、制御部60は、S880に移行し、表示部73を制御して、受信したUSBデバイスリストに基づき、各複合機1に接続されたUSBデバイス3の名称、デバイスクラス、モード(及び接続中ホスト)の一覧を、接続設定画面のリスト表示欄に、図16(a)に示す形態で表示する。
そして、S880での処理を終えると、制御部60は、ユーザによる操作イベントが発生しているか否かを判断し、操作イベントが発生していないと判断すると(S890でNo)、S860の処理実行後、所定時間が経過したか否かを判断し(S900)、所定時間が経過していないと判断すると(S900でNo)、S890に移行して、操作イベントが発生するか所定時間が経過するまで待機する。一方、所定時間が経過したと判断すると(S900でYes)、制御部60は、S860に移行し、S860以降の処理をやり直して、接続設定画面におけるリスト表示欄に最新のUSBデバイス3の情報を表示する(S860〜S880)。
その他、制御部60は、S890において操作イベントが発生していると判断すると(S890でYes)、ユーザにより操作部75を通じてなされた操作がデバイス選択操作であるか否かを判断する(S910)。即ち、接続設定画面のリスト表示欄に列挙されたUSBデバイス3のいずれかを選択する操作がなされたか否かを判断する。
そして、なされた操作がデバイス選択操作であると判断すると(S910でYes)、制御部60は、選択されたUSBデバイス3に対応する表示文字列を、接続設定画面において強調表示する(S915)。尚、図16(a)には、選択されたUSBデバイスに対応する表示文字列の背景を他の部分とは変更することで、表示文字列を強調表示する例を示す。また、この処理を終えると、制御部60は、S900に移行して、新たな操作イベントが発生するか、S860の実行後所定時間が経過するまで待機する。
一方、発生した操作イベントに対応する操作がデバイス選択操作ではないと判断すると(S910でNo)、制御部60は、S920に移行し、接続設定画面において既にUSBデバイス3が選択されているか否かを判断する。即ち、接続設定画面において強調表示中のUSBデバイス3が存在するか否かを判断する。
そして、接続設定画面において既にUSBデバイス3が選択されていると判断すると(S920でYes)、制御部60は、S930に移行し、発生した操作イベントに対応する操作が接続設定画面に用意された「接続」ボタンの押下操作であるか否かを判断する。
ここで、操作イベントに対応する操作が「接続」ボタンの押下操作であると判断すると(S930でYes)、制御部60は、既に選択されている強調表示中のUSBデバイス3についての接続要求を、そのUSBデバイス3が接続された複合機1にネットワークNTを介して送信して、上記USBデバイス3を、当該PC50から利用可能にする(S935)。そして、この処理を終えると、制御部60は、S900に移行する。
その他、操作イベントに対応する操作が「接続」ボタンの押下操作ではないと判断すると(S930でNo)、制御部60は、この操作イベントに対応する操作が接続設定画面に設けられた「解除」ボタンの押下操作であるか否かを判断する(S940)。そして、操作イベントに対応する操作が「解除」ボタンの押下操作であると判断すると(S940でYes)、既に選択されている強調表示中のUSBデバイス3についての接続解除要求を、そのUSBデバイス3が接続された複合機1にネットワークNT経由で送信して、上記USBデバイス3と当該PC50との接続を解除する(S945)。そして、この処理を終えると、制御部60は、S900に移行する。
また、操作イベントに対応するする操作が「解除」ボタンの押下操作でもないと判断すると(S940でNo)、制御部60は、S950に移行し、当該PC50が詳細設定モード(詳細後述)に移行しているか否かを判断する。そして、当該PC50が詳細設定モードに移行していると判断すると(S950でYes)、S960に移行して、図17に示す詳細設定処理を実行し、その後、S900に移行する。
これに対し、当該PC50が詳細設定モードに移行していないと判断すると(S950でNo)、制御部60は、発生した操作イベントに対応する操作が「接続設定」ボタンの押下操作であるか否かを判断し(S970)、操作イベントに対応する操作が「接続設定」ボタンの押下操作であると判断すると(S970でYes)、S971に移行して、当該PC50を、詳細設定モードに移行させる。即ち、接続設定画面を非アクティブにし、その代わりに表示部73に、強調表示中のUSBデバイス3に対応する共有設定情報を変更するための画面であって図16(b)に示す構成の詳細設定画面を表示する。但し、S971の処理終了時点では、詳細設定画面に、接続許可ホスト及びユーザの情報が記述されていないものとする。
また、S971での処理を終えると、制御部60は、S973に移行し、選択された強調表示中のUSBデバイス3に対応する共有設定情報を要求する詳細情報通知要求を、対応するUSBデバイス3が接続された複合機1にネットワークNT経由で送信して、上記強調表示中のUSBデバイス3に対応する共有設定情報を、複合機1から取得する。但し、この際には、詳細情報通知要求が正当な要求であることを示すために、管理者パスワードを付して詳細情報通知要求を送信し、対応する共有設定情報を複合機1から取得する。
そして、S973での処理を終えると、制御部60は、受信した共有設定情報に基づいて、詳細設定画面に、該当USBデバイス3のモード、接続許可ホスト及びユーザに関するUSBデバイス3の詳細情報を表示し(S975)、その後、S900に移行する。尚、詳細設定画面に対する操作は、図17の詳細設定処理にて受け付けられる。
この他、S970にて、発生した操作イベントに対応する操作が「接続設定」ボタンの押下操作でもないと判断すると(S970でNo)、制御部60は、S980に処理を移行する。尚、制御部60は、S920において、USBデバイス3が選択されていないと判断した場合にも、S980に移行する。
S980において、制御部60は、発生した操作イベントに対応する操作が接続設定画面を閉じる操作としての終了操作であるか否かを判断し、操作イベントに対応する操作が終了操作であると判断すると(S980でYes)、接続設定画面を閉じた後、当該USBデバイス接続設定処理を終了する。
一方、操作イベントに対応する操作が終了操作でもないと判断すると(S980でNo)、制御部60は、その他の操作イベントに対応した処理を実行し(S990)、その後、S900に移行する。
次に、S960で実行される詳細設定処理について説明する。図17は、制御部60が実行する詳細設定処理を表すフローチャートである。
詳細設定処理を開始すると、制御部60は、発生した操作イベントに対応する操作が、モード切替操作であるか否かを判断し(S1010)、操作イベントに対応する操作が、モード切替操作であると(S1010でYes)、詳細設定画面上のモードを表す表示文字列を、「非共有モード」から「共有モード」、又は、「共有モード」から「非共有モード」に切り替え(S1015)、その後、当該詳細設定処理を終了する。尚、モード切替操作は、操作部75を通じて、詳細設定画面上のモードを表す表示文字列を選択し、「変更」ボタンを押下操作するといった一連の操作にて実現される。
一方、操作イベントに対応する操作が、モード切替操作ではないと判断すると(S1010でNo)、制御部60は、S1020に移行し、操作イベントに対応する操作が、接続許可ホスト追加操作であるか否かを判断する。そして、操作イベントに対応する操作が、接続許可ホスト追加操作であると判断すると(S1020でYes)、その後に操作部75を通じて入力される追加対象の接続許可ホストのホスト名及びMACアドレスを、詳細設定画面に追加表示する(S1025)。その後、当該詳細設定処理を終了する。尚、接続許可ホスト追加操作は、操作部75を通じて、詳細設定画面上の「接続許可ホスト」との表示文字列を選択して、「追加」ボタンを押下操作するといった一連の操作にて実現される。
その他、操作イベントに対応する操作が、接続許可ホスト追加操作ではないと判断すると(S1020でNo)、制御部60は、S1030に移行し、操作イベントに対応する操作が、接続許可ユーザ追加操作であるか否かを判断する。そして、操作イベントに対応する操作が、接続許可ユーザ追加操作であると判断すると(S1030でYes)、その後に操作部75を通じて入力される追加対象の接続許可ユーザのユーザ名を、詳細設定画面に追加表示する(S1035)。その後、当該詳細設定処理を終了する。
尚、接続許可ユーザ追加操作は、詳細設定画面上のユーザ追加対象の接続許可ホストの表示欄における「接続許可ユーザ」との表示文字列を選択し、「追加」ボタンを押下操作するといった一連の操作にて実現される。
また、操作イベントに対応する操作が、接続許可ユーザ追加操作ではないと判断すると(S1030でNo)、制御部60は、S1040に移行し、操作イベントに対応する操作が、接続許可ホスト削除操作であるか否かを判断する。そして、操作イベントに対応する操作が、接続許可ホスト削除操作であると判断すると(S1040でYes)、削除対象の接続許可ホストの情報(ホスト名及びMACアドレス)を、詳細設定画面から削除する(S1045)。その後、当該詳細設定処理を終了する。尚、接続許可ホスト削除操作は、操作部75を通じて、詳細設定画面における削除対象の接続許可ホストについてのホスト名を表す表示文字列を選択して、「削除」ボタンを押下操作するといった一連の操作にて実現される。
その他、操作イベントに対応する操作が、接続許可ホスト削除操作ではないと判断すると(S1040でNo)、制御部60は、S1050に移行し、操作イベントに対応する操作が、接続許可ユーザ削除操作であるか否かを判断する。そして、操作イベントに対応する操作が、接続許可ユーザ削除操作であると判断すると(S1050でYes)、削除対象の接続許可ユーザの情報(ユーザ名)を、詳細設定画面から削除する(S1055)。その後、当該詳細設定処理を終了する。
尚、接続許可ユーザ削除操作は、詳細設定画面における削除対象の接続許可ユーザについてのユーザ名を表す表示文字列を選択し、「削除」ボタンを押下操作するといった一連の操作にて実現される。
また、操作イベントに対応する操作が、接続許可ユーザ削除操作でもないと判断すると(S1050でNo)、制御部60は、S1060に移行し、操作イベントに対応する操作が、詳細設定画面に設けられた「設定」ボタンの押下操作であるか否かを判断する。そして、操作イベントに対応する操作が、「設定」ボタンの押下操作であると判断すると(S1060でYes)、制御部60は、現在の詳細設定画面の表示内容に適合するように、詳細設定画面の表示の際に複合機1から取得した共有設定情報を、複合機1のデバイス共有テーブルTBL1上で更新するための設定情報更新要求を、上記更新対象の共有設定情報を有する複合機1に送信し、複合機1がデバイス共有テーブルTBL1に有する共有設定情報を、現在の詳細設定画面の表示内容に適合する情報に更新する(S1065)。その後、当該詳細設定処理を終了する。
また、制御部60は、操作イベントに対応する操作が、「設定」ボタンの押下操作ではないと判断すると(S1060でNo)、S1070に移行し、操作イベントに対応する操作が、詳細設定画面に設けられた「取消」ボタンの押下操作であるか否かを判断する。そして、操作イベントに対応する操作が、「取消」ボタンの押下操作であると判断すると(S1070でYes)、制御部60は、詳細設定画面を閉じて、接続設定画面をアクティブにし、詳細設定モードを終了する(S1075)。その後、当該詳細設定処理を終了する。この他、操作イベントに対応する操作が、詳細設定画面に設けられた「取消」ボタンの押下操作でもないと判断すると(S1070でNo)、制御部60は、S1075の処理を実行することなく、当該詳細設定処理を終了する。
このようにして、本実施例では、複合機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に伝送する。
一方、複合機1では、共有モードのUSBデバイス3を制御する際、USBIP101が、LANインタフェース35により受信されたIPパケットから、USBインタフェースに接続されたUSBデバイス3宛のUSBデータを抽出する。そして、これをデバイスブリッジ103aが、USBホストコントローラドライバ105に入力し、USBホストコントローラドライバ105が、ネットワークNT経由で送信されてきたUSBデータを、対応するUSBデバイス3に伝送する。
即ち、この複合機1は、自装置内の処理主体からのUSBデバイス3に対する操作を、非ネットワーク経由で受け付けると共に、ネットワーク上の端末装置(PC50)からのUSBデバイス3に対する遠隔操作を、USBIP101を用いて受け付ける。
従って、本実施例によれば、従来装置のように、複合機1内部のアプリケーションソフトウェアからUSBデバイス3を利用する際、USBデータをIPパケット化して、ネットワークNT経由で、USBデバイス3に入力する必要がなく、内部のアプリケーションソフトウェアからUSBデバイス3を効率的に利用することができる。
また、本実施例では、USBデバイス3の制御系として、複合機1内部のアプリケーションソフトウェアからの指令に応じてUSBドライバ103bを用いてUSBデバイス3を制御する制御系、及び、ネットワーク上の端末装置から送信されてきたUSBデータをUSBIP101及びデバイスブリッジ103aを用いて処理してUSBデバイス3を制御する制御系が構築されるが、USBデバイス3の制御が煩雑化しないように、各制御系を切り替えて構築し、同時動作しないようにした。
即ち、本実施例では、各USBデバイス3に関し、USBドライバ103b及びデバイスブリッジ103aのいずれか一方をロードすることにより、共有設定情報が示すユーザからの指示に従って制御系を切り替え、内部的にUSBデバイス3を制御する非共有モード、ネットワーク経由でUSBデバイス3を制御する共有モードのいずれかにて、各USBデバイス3を制御するようにした。
従って、本実施例によれば、USBデバイス3の制御手順が煩雑化しなくて済み、内部のアプリケーションソフトウェア及びネットワーク上の端末装置からUSBデバイス3を制御可能なシステムを、比較的簡単な構成で実現することができる。
また、本実施例では、モード指定情報を含む共有設定情報を、ユーザの指示に従って書換可能にEEPROM17に記録して、ユーザが簡単に「共有モード」「非共有モード」を切り替えられるようにした。従って、本実施例によれば、ユーザの必要に応じて内部制御機能又はUSBデバイスサーバ機能の各機能を働かせることができ、ユーザに対して利便性の高い複合機1を提供することができる。
また特に、本実施例では、USBデバイス毎に共有設定情報を設け、「共有モード」「非共有モード」を、ユーザがUSBデバイス毎に個別に指定できるようにした。従って、本実施例によれば、ユーザの必要に応じて内部制御機能又はUSBデバイスサーバ機能の各機能を、USBデバイス毎に適切に働かせることができ、ユーザに対して利便性の高い複合機1を提供することができる。
また、本実施例では、USBデバイス毎に、「共有モード」及び「非共有モード」のいずれかを個別に設定できるようにしたことで、ネットワーク上のユーザが、各USBデバイスのモードを理解できず、混乱する可能性があることを考慮し、ネットワーク上の端末装置に、要求に応じて、各USBデバイスのモード情報を通知するようにした。従って、本実施例によれば、端末装置のユーザが、モード情報を、端末装置を通じて簡単に知ることができ、例えば、USBデバイスが「非共有モード」であるにもかかわらず、ユーザが、ネットワーク経由でUSBデバイス3を制御しようとして混乱するのを防止することができる。
また、本実施例では、デバイス共有テーブルTBL1に共有設定情報が登録されていない過去未接続の新規なUSBデバイス3が、USBインタフェースに接続された場合には、このUSBデバイス3を、ネットワークNT経由で利用できないように、USBデバイス3の制御系を構築し、モード指定情報のデフォルト値として、「非共有モード」を設定するようにした。デフォルトで、新規のUSBデバイス3を「共有モード」にすると、複合機1に新規のUSBデバイス3を接続した際、そのUSBデバイス3がすぐさまネットワークNT上の端末装置から利用可能となってしまう可能性があり、セキュリティの面で好ましくない。
一方、本実施例では、新規USBデバイス3に「非共有モード」を設定するようにしているので、初期状態では、ネットワーク上の端末装置からUSBデバイス3を利用できないようにすることができ、上記のような問題の発生を防止することができる。
尚、本発明の通信装置は、本実施例の複合機1に相当し、ネットワークインタフェースは、LANインタフェース35、USBインタフェースは、USBインタフェース(USBホストコントローラ31及びUSBルートハブ33)に相当する。また、インタフェース制御手段は、USBホストコントローラドライバ105に相当し、機器制御手段は、USBドライバ103bに相当し、中継手段は、USBIP101及びデバイスブリッジ103aに相当する。また、モード切替手段は、制御部10が実行するS150及びS160並びに接続要求受付処理(図8)に対応し、通知手段は、S740の処理に対応する。
また、本発明は、上記実施例に限定されるものではなく、種々の態様を採ることができる。例えば、上記実施例では、ディジタル複合機に本発明を適用した例を示したが、本発明は、その他の通信装置に適用することができる。
本発明が適用されたディジタル複合機1の構成を表すブロック図である。 制御部10により実現されるUSBデバイスサーバ機能の説明図である。 デバイス共有テーブルTBL1の構成を表す説明図である。 PC50の構成を表すブロック図である。 制御部60により実現される機能の説明図である。 制御部10が実行する接続受付処理を表すフローチャートである。 接続デバイステーブルTBL2の構成を表す説明図である。 制御部10が実行する接続要求受付処理を表すフローチャートである。 制御部10が実行する接続解除要求受付処理を表すフローチャートである。 接続解除に係る操作画面の構成を表す説明図である。 制御部10が実行する取外受付処理を表すフローチャートである。 制御部10が実行する接続デバイス設定変更処理を表すフローチャートである。 制御部10が実行する外部要求受付処理を表すフローチャートである。 制御部60が実行するUSBデバイス接続設定処理を表すフローチャートである。 制御部60が実行するUSBデバイス接続設定処理を表すフローチャートである。 接続設定画面の構成を表す説明図(a)及び詳細設定画面の構成を表す説明図(b)である。 制御部60が実行する詳細設定処理を表すフローチャートである。
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…ネットワーク

Claims (7)

  1. ローカルエリアネットワークに接続された端末装置と通信するためのネットワークインタフェースと、
    USB接続されたUSB周辺機器と通信するためのUSBインタフェースと、
    を備える通信装置であって、
    前記USBインタフェースを制御して、前記USB周辺機器を制御するための制御データを、該USB周辺機器に伝送するインタフェース制御手段と、
    自装置内の処理主体から前記USB周辺機器に対する指示が入力されたことを条件として、当該入力された指示に従い、前記USBインタフェースに接続されたUSB周辺機器に対する制御データを生成し、これを前記インタフェース制御手段に入力する機器制御手段と、
    前記ネットワークインタフェースを介して前記端末装置から前記USB周辺機器に対するパケットを受信したことを条件として、当該受信したパケットから、前記USBインタフェースに接続されたUSB周辺機器に対する制御データを抽出し、これを前記インタフェース制御手段に入力する中継手段と、
    前記機器制御手段及び中継手段のいずれか一方を、切り替えて作動させることにより、前記USB周辺機器の制御モードを、前記機器制御手段を介してUSB周辺機器を制御する内部制御モード、及び、前記中継手段を介してUSB周辺機器を制御するネットワーク制御モードのいずれかに切り替えるとともに、前記内部制御モードの状態で、前記ネットワークインタフェースを介して前記端末装置から前記ネットワーク制御モードでの前記USB周辺機器の制御が要求された場合、当該要求を受諾することなく、前記内部制御モードを維持し続けるモード切替手段と、
    前記USB周辺機器の制御モードを、前記内部制御モード、及び、前記ネットワーク制御モードのいずれに切り替えるべきかを表すモード指定情報を、前記USBインタフェースに接続されるUSB周辺機器毎に記憶するモード指定情報記憶手段と、
    を備え、
    前記モード切替手段は、前記モード指定情報記憶手段が記憶するモード指定情報に従って、前記USBインタフェースに接続された各USB周辺機器の制御モードを切り替えることを特徴とする通信装置。
  2. ローカルエリアネットワークに接続された端末装置と通信するためのネットワークインタフェースと、
    USB接続されたUSB周辺機器と通信するためのUSBインタフェースと、
    を備える通信装置であって、
    前記USBインタフェースを制御して、前記USB周辺機器を制御するための制御データを、該USB周辺機器に伝送するインタフェース制御手段と、
    自装置内の処理主体から前記USB周辺機器に対する指示が入力されたことを条件として、当該入力された指示に従い、前記USBインタフェースに接続されたUSB周辺機器に対する制御データを生成し、これを前記インタフェース制御手段に入力する機器制御手段と、
    前記ネットワークインタフェースを介して前記端末装置から前記USB周辺機器に対するパケットを受信したことを条件として、当該受信したパケットから、前記USBインタフェースに接続されたUSB周辺機器に対する制御データを抽出し、これを前記インタフェース制御手段に入力する中継手段と、
    前記機器制御手段及び中継手段のいずれか一方を、切り替えて作動させることにより、前記USB周辺機器の制御モードを、前記機器制御手段を介してUSB周辺機器を制御する内部制御モード、及び、前記中継手段を介してUSB周辺機器を制御するネットワーク制御モードのいずれかに切り替えるとともに、前記内部制御モードの状態で、前記ネットワークインタフェースを介して前記端末装置から前記ネットワーク制御モードでの前記USB周辺機器の制御が要求された場合、当該要求を受諾することなく、前記内部制御モードを維持し続けるモード切替手段と、
    前記USB周辺機器の制御モードを、前記内部制御モード、及び、前記ネットワーク制御モードのいずれに切り替えるべきかを表すモード指定情報を記憶するモード指定情報記憶手段と、
    前記ネットワークインタフェースを通じて、前記ローカルエリアネットワーク上の端末装置に、前記モード指定情報記憶手段が記憶するモード指定情報の内容を通知する通知手段と、
    を備え、
    前記モード切替手段は、前記モード指定情報記憶手段が記憶するモード指定情報に従って、前記USB周辺機器の制御モードを切り替えることを特徴とする通信装置。
  3. ローカルエリアネットワークに接続された端末装置と通信するためのネットワークインタフェースと、
    USB接続されたUSB周辺機器と通信するためのUSBインタフェースと、
    を備える通信装置であって、
    前記USBインタフェースを制御して、前記USB周辺機器を制御するための制御データを、該USB周辺機器に伝送するインタフェース制御手段と、
    自装置内の処理主体から前記USB周辺機器に対する指示が入力されたことを条件として、当該入力された指示に従い、前記USBインタフェースに接続されたUSB周辺機器に対する制御データを生成し、これを前記インタフェース制御手段に入力する機器制御手段と、
    前記ネットワークインタフェースを介して前記端末装置から前記USB周辺機器に対するパケットを受信したことを条件として、当該受信したパケットから、前記USBインタフェースに接続されたUSB周辺機器に対する制御データを抽出し、これを前記インタフェース制御手段に入力する中継手段と、
    前記機器制御手段及び中継手段のいずれか一方を、切り替えて作動させることにより、前記USB周辺機器の制御モードを、前記機器制御手段を介してUSB周辺機器を制御する内部制御モード、及び、前記中継手段を介してUSB周辺機器を制御するネットワーク制御モードのいずれかに切り替えるとともに、前記内部制御モードの状態で、前記ネットワークインタフェースを介して前記端末装置から前記ネットワーク制御モードでの前記USB周辺機器の制御が要求された場合、当該要求を受諾することなく、前記内部制御モードを維持し続けるモード切替手段と、
    を備え
    前記モード切替手段は、前記USBインタフェースに過去未接続のUSB周辺機器が接続された場合に、前記USBインタフェースに接続された前記過去未接続のUSB周辺機器の制御モードを、前記内部制御モードに切り替えることを特徴とする通信装置。
  4. 前記モード指定情報記憶手段は、前記USB周辺機器の制御モードを、前記内部制御モード、及び、前記ネットワーク制御モードのいずれに切り替えるべきかを表すモード指定情報を、前記USBインタフェースに接続されるUSB周辺機器毎に記憶し、
    前記モード切替手段は、前記USB周辺機器が前記USBインタフェースに接続された場合に、前記モード指定情報記憶手段が記憶するモード指定情報に従って、前記USBインタフェースに接続された各USB周辺機器の制御モードを切り替えることを特徴とする請求項2記載の通信装置
  5. 前記モード切替手段は、前記USBインタフェースに過去未接続のUSB周辺機器が接続された場合、前記USBインタフェースに接続された前記過去未接続のUSB周辺機器の制御モードを、前記内部制御モードに切り替えることを特徴とする請求項1又は請求項2又は請求項4のいずれかに記載の通信装置。
  6. 前記ネットワークインタフェースを通じて、前記ローカルエリアネットワーク上の端末装置に、前記モード指定情報記憶手段が記憶するモード指定情報の内容を通知する通知手段を備えることを特徴とする請求項1又は請求項3記載の通信装置。
  7. 前記モード切替手段は、前記端末装置から前記ネットワークインタフェースを通じて前記USB周辺機器に対する接続要求を受信すると、前記USB周辺機器の制御モードを、前記ネットワーク制御モードに切り替え、前記自装置の処理主体から前記USB周辺機器に対する接続要求が入力されると、前記USB周辺機器の制御モードを、前記内部制御モードに切り替える構成にされ、
    前記インタフェース制御手段は、前記USB周辺機器の制御モードが前記内部制御モードに切り替えられている場合には、前記USB周辺機器の出力データを、前記機器制御手段に入力し、前記USB周辺機器の制御モードが前記ネットワーク制御モードに切り替えられている場合には、前記USB周辺機器の出力データを、前記中継手段に入力し、
    前記中継手段は、前記インタフェース制御手段から入力された前記出力データを、パケットに格納して、当該パケットを、前記接続要求をしてきた前記端末装置に、前記ネットワークインタフェースを通じて送信し、
    前記機器制御手段は、前記インタフェース制御手段から入力された前記出力データを、前記自装置内の処理主体に伝送する構成にされていること
    を特徴とする請求項1乃至請求項6のいずれかに記載の通信装置。
JP2006220188A 2006-08-11 2006-08-11 通信装置及びプログラム Expired - Fee Related JP4638398B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2006220188A JP4638398B2 (ja) 2006-08-11 2006-08-11 通信装置及びプログラム
US11/837,240 US8314945B2 (en) 2006-08-11 2007-08-10 Terminal device
DE602007004041T DE602007004041D1 (de) 2006-08-11 2007-08-10 Endgerät
EP07253146A EP1887474B1 (en) 2006-08-11 2007-08-10 Terminal device
US13/446,409 US8422042B2 (en) 2006-08-11 2012-04-13 Terminal device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006220188A JP4638398B2 (ja) 2006-08-11 2006-08-11 通信装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2008048048A JP2008048048A (ja) 2008-02-28
JP4638398B2 true JP4638398B2 (ja) 2011-02-23

Family

ID=39181385

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006220188A Expired - Fee Related JP4638398B2 (ja) 2006-08-11 2006-08-11 通信装置及びプログラム

Country Status (1)

Country Link
JP (1) JP4638398B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5339958B2 (ja) * 2009-02-18 2013-11-13 キヤノン株式会社 情報処理装置及び制御方法及びプログラム
JP2011128741A (ja) * 2009-12-16 2011-06-30 Hitachi Consumer Electronics Co Ltd データ伝送装置、およびデータ伝送方法
JP2012123690A (ja) * 2010-12-09 2012-06-28 Mitsubishi Electric Engineering Co Ltd ネットワーク用モニタシステム
KR101251212B1 (ko) * 2011-07-07 2013-04-08 알서포트 주식회사 Usb 장치의 원격 제어 방법 및 이를 수행하는 시스템
JP6062652B2 (ja) 2012-04-25 2017-01-18 キヤノン株式会社 画像形成装置および情報処理装置
JP2018077749A (ja) * 2016-11-11 2018-05-17 シャープ株式会社 情報処理装置
JP6981138B2 (ja) 2017-09-25 2021-12-15 セイコーエプソン株式会社 電子機器および電子機器の制御方法
JP2019061322A (ja) * 2017-09-25 2019-04-18 セイコーエプソン株式会社 電子機器および電子機器の制御方法
JP6700564B1 (ja) * 2018-12-28 2020-05-27 富士通クライアントコンピューティング株式会社 情報処理システム

Also Published As

Publication number Publication date
JP2008048048A (ja) 2008-02-28

Similar Documents

Publication Publication Date Title
JP4638398B2 (ja) 通信装置及びプログラム
JP5875351B2 (ja) 情報処理システム、情報処理装置、認証方法、及びコンピュータプログラム
EP1887474B1 (en) Terminal device
JP4849962B2 (ja) 画像処理装置、認証サーバ選択方法及びプログラム
US8164770B2 (en) Image processing apparatus and image processing system with remote login
JP2004302658A (ja) 情報処理装置、端末装置およびプログラム
JP6873642B2 (ja) 画像形成装置及びその画像通信方法、並びにプログラム
JP2014170549A (ja) 情報処理装置および制御方法および制御プログラム
JP2008158646A (ja) データ処理装置、印刷装置、印刷処理方法、記憶媒体、プログラム
JP4556997B2 (ja) 画像形成装置、および、画像形成プログラム
JP6755379B2 (ja) プリンタ、及びその制御方法とプログラム
JP4858272B2 (ja) 通信装置及びプログラム
JP4337900B2 (ja) 画像形成システム、サーバ装置、画像形成装置、画像形成装置制御方法及び同制御プログラム
JP6187000B2 (ja) 情報処理システム、その制御方法、及びプログラム、並びに画像処理装置、その制御方法、及びプログラム
US20110194138A1 (en) Control point, image forming apparatus, and method for sending fax data using fax data transmission function of the image forming apparatus
JP2011015323A (ja) 画像形成装置とその処理方法及びプログラム
JP6794198B2 (ja) 画像処理装置、制御方法及びプログラム
JP2004118313A (ja) ネットワークプリンタ
JP2023139682A (ja) 画像形成装置
JP4197051B2 (ja) データ入出力システム、データ入出力システムの制御方法および制御装置
JP7263023B2 (ja) 画像処理装置及び方法
JP2018020443A (ja) 画像形成装置、印刷方法、およびコンピュータプログラム
EP2197194B1 (en) Image processing apparatus, method for controlling the image processing apparatus, and computer program
JP5131704B2 (ja) 画像形成装置、情報処理システムとその処理方法およびプログラム
JP2015225479A (ja) 情報処理システム、情報処理装置、情報処理方法、及びコンピュータプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080704

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080715

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080912

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090216

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090223

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20090313

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101028

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101125

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131203

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees