(57)【要約】【課題】利用者の望む各デバイス間の通信路を確立すること。【解決手段】中継装置１００は、デバイスが接続された際に接続されたデバイスから機器情報を取得して、接続された電子機器を示す接続デバイスリストを生成する。中継装置１００は、ホストデバイスが接続された際に接続デバイスリストをホストデバイスに送信して、ホストデバイスから接続要求デバイスリストを受け付ける。中継装置１００は、接続要求デバイスリストに基づいて通信トポロジーを構成し、構成した通信トポロジーによってデバイス間の通信路を確立させる。【選択図】図１
2014229936.tif 000002
【特許請求の範囲】
【請求項１】
第１電子機器が接続された際に前記第１電子機器から機器情報を取得して、接続された電子機器を示すリスト情報を生成し、
第２電子機器が接続された際に前記リスト情報を前記第２電子機器に送信して、前記第２電子機器の通信対象となる第１電子機器を示す選択情報を受け付け、
前記選択情報に基づいて通信トポロジーを構成し、構成した通信トポロジーによって前記第１電子機器と前記第２電子機器との通信路を確立させる各処理を実行するプロセッサ
を有することを特徴とする中継装置。
【請求項２】
前記プロセッサは、前記第２電子機器から変更された選択情報を受け付けた際に、変更された選択情報に基づいて通信トポロジーを再構成し、再構成した通信トポロジーによって前記第１電子機器と前記第２電子機器との通信路を確立させることを特徴とする請求項１に記載の中継装置。
【請求項３】
前記中継装置と、前記第１電子機器および前記第２電子機器とはデータ通信を行う第１信号線および給電を行う第２信号線によって接続され、前記プロセッサは、前記第２電子機器が通信対象を指定していない場合には、前記第２電子機器に接続される第１信号線を無通信状態に設定し、第２信号線によって給電を行うことを特徴とする請求項１または２に記載の中継装置。
【請求項４】
コンピュータが実行する中継方法であって、
第１電子機器が接続された際に前記第１電子機器から機器情報を取得して、接続された電子機器を示すリスト情報を生成し、
第２電子機器が接続された際に前記リスト情報を前記第２電子機器に送信して、前記第２電子機器の通信対象となる第１電子機器を示す選択情報を受け付け、
前記選択情報に基づいて通信トポロジーを構成し、構成した通信トポロジーによって前記第１電子機器と前記第２電子機器との通信路を確立させる
各処理を実行することを特徴とする中継方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置等に関する。
【背景技術】
【０００２】
ＵＳＢ（Universal  Serial  Bus）ハブ等の中継装置は、中継装置に接続されるデバイス間のデータ通信を中継する機能を有する。以下の説明では、ホストとなるデバイスをホストデバイス、ホスト以外のデバイスをクライアントデバイスと適宜表記する。また、ホストデバイスとクライアントデバイスとを特に区別しない場合には、デバイスと表記する。
【０００３】
ホストデバイスと、クライアントデバイスとが中継装置に接続された場合には、中継装置自体は、デバイスの管理を行わず、ホストデバイスが、クライアントデバイスの管理を行う。
【０００４】
例えば、ホストデバイスとクライアントデバイスとが中継装置に接続されると、エニュメレーションと呼ばれるデバイス認識処理が行われる。エニュメレーションは、ホストデバイスのＯＳ（Operating  System）が、クライアントデバイスを認識するまでの一連の処理である。デバイスは、いくつかのディスクリプターと呼ばれる構成情報を保持しており、ホストデバイスは、かかる構成情報をクライアントデバイスに要求し、中継装置に接続されたクライアントデバイスを認識することで、通信路を確立する。
【０００５】
ところで、近年の中継装置には、Power  Deliveryの仕様に対応した中継装置がある。以下の説明では、Power  Deliveryの仕様に対応した中継装置を適宜、ＰＤ中継装置と表記する。ＰＤ中継装置は、ＰＤ中継装置に接続されたデバイスに最大で１００Ｗまでの電力を給電することができる。ＰＤ中継装置は、データ通信を行う信号線と、給電を行う信号線とを独立して制御し、ホストデバイスおよびクライアントデバイスに給電を行うことが出来る。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−１９４６４９号公報
【特許文献２】特開２０１２−２０３７６５号公報
【特許文献３】特開２００８−２１１３２７号公報
【特許文献４】特開２００２−３４２２５５号公報
【特許文献５】特開２００８−２７１２１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来技術では、利用者の望まない各デバイス間の通信路が自動的に確立されてしまうという問題がある。
【０００８】
ＰＤ中継装置を用いることで、デバイスはＵＳＢから十分な電力を得ることが出来る。このため、自宅や職場では、利用者は、デバイスの充電のみを目的として、ＰＤ中継装置に接続する場合が想定される。しかし、従来技術では、ＰＤ中継装置に接続された各デバイス間でエニュメレーションが実行されてしまい、利用者の望まない通信路が確立されてしまう場合がある。
【０００９】
また、従来のＰＤ中継装置は、ＰＤ中継装置に複数のデバイスが接続された場合に、ホストデバイス毎に異なるクライアントデバイスを接続する通信路を確立することが出来ない。
【００１０】
開示の技術は、上記に鑑みてなされたものであって、利用者の望む各デバイス間の通信路を確立することができる中継装置および中継方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
第１の案では、中継装置はプロセッサを有する。プロセッサは、第１電子機器が接続された際に前記第１電子機器から機器情報を取得して、接続された電子機器を示すリスト情報を生成する。プロセッサは、第２電子機器が接続された際に前記リスト情報を前記第２電子機器に送信して、第２電子機器の通信対象となる第１電子機器を示す選択情報を受け付ける。プロセッサは、選択情報に基づいて通信トポロジーを構成し、構成した通信トポロジーによって第１電子機器と第２電子機器との通信路を確立させる各処理を実行する。
【発明の効果】
【００１２】
本発明の１実施態様によれば、利用者の望む各デバイス間の通信路を確立することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、本実施例に係るシステムを示す図である。
【図２】図２は、本実施例に係るシステムの処理の一例を示す図（１）である。
【図３】図３は、本実施例に係るシステムの処理の一例を示す図（２）である。
【図４】図４は、本実施例に係るシステムの処理の一例を示す図（３）である。
【図５】図５は、本実施例に係るシステムの処理の一例を示す図（４）である。
【図６】図６は、本実施例に係るシステムの処理の一例を示す図（５）である。
【図７】図７は、本実施例に係るシステムの処理の一例を示す図（６）である。
【図７Ａ】図７Ａは、本実施例に係るシステムの処理の一例を示す図（７）である。
【図８】図８は、本実施例に係るシステムの処理の一例を示す図（８）である。
【図９】図９は、本実施例に係るシステムの処理の一例を示す図（９）である。
【図１０】図１０は、本実施例に係るシステムの処理の一例を示す図（１０）である。
【図１１】図１１は、本実施例に係るシステムの処理の一例を示す図（１１）である。
【図１１Ａ】図１１Ａは、本実施例に係るシステムの処理の一例を示す図（１２）である。
【図１２】図１２は、本実施例に係る接続デバイスリストのデータ構造の一例を示す図である。
【図１３】図１３は、本実施例に係る通信トポロジーリストのデータ構造の一例を示す図である。
【図１４】図１４は、本実施例に係る中継装置の構成を示す機能ブロック図である。
【図１５】図１５は、デバイス接続時の処理手順を示すフローチャートである。
【図１６】図１６は、デバイス切断時の処理手順を示すフローチャートである。
【図１７】図１７は、接続デバイスリストを通知する処理手順および接続要求デバイスリストを受信する処理手順を示すフローチャートである。
【図１８】図１８は、通信トポロジーを構成する処理手順を示すフローチャートである。
【図１９】図１９は、通信トポロジーを変更または解除する処理手順を示すフローチャートである。
【図２０】図２０は、ホストデバイスの処理手順を示すフローチャートである。
【図２１】図２１は、中継装置のその他の構成を示す図である。
【発明を実施するための形態】
【００１４】
以下に、本願の開示する中継装置および中継方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例】
【００１５】
本実施例に係るシステムについて説明する。図１は、本実施例に係るシステムを示す図である。図１に示すように、このシステムは、中継装置１００と、デバイス１０ａ，１０ｂ，１０ｃ，１０ｄとを有する。本実施例では一例として、デバイス１０ａ，１０ｂをホストデバイスとし、デバイス１０ｃ，１０ｄをクライアントデバイスとする。図１に示すシステムは一例であり、中継装置１００は、その他のデバイスに接続されても良い。
【００１６】
中継装置１００は、中継装置１００に接続される各デバイスに電力の供給を行う。また、中継装置１００は、接続された各デバイスから構成情報を取得し、接続デバイスリストを作成する。中継装置１００は、接続デバイスリストをホストデバイスに通知し、ホストデバイスに選択されたデバイスに基づいてトポロジーを再構築して通信路を確立する。例えば、中継装置１００は、デバイス１０ａとデバイス１０ｄとを結ぶ通信路と、デバイス１０ｂとデバイス１０ｃとを結ぶ通信路とを確立する。
【００１７】
中継装置１００は、データ通信用の信号線（Ｄ＋／Ｄ−）と、Power  Deliveryで使用する給電用の信号線とを分離し、信号線（Ｄ＋／Ｄ−）を使用して、デバイスとデータ通信を行う。以下の説明で、データ通信用の信号線（Ｄ＋／Ｄ−）を「データ信号線」と適宜表記する。また、Power  Delivery用の信号線を「ＶＢＵＳ」と適宜表記する。
【００１８】
中継装置１００は、クライアントデバイスと接続した場合には、仮想ホストとしてクライアントデバイスとデータ通信を行い、クライアントデバイスから構成情報を取得する。中継装置１００は、クライアントデバイスから取得した構成情報を、接続デバイスリストに登録して管理する。接続デバイスリストには、中継装置１００に接続された各デバイスの情報が含まれる。
【００１９】
中継装置１００は、ホストデバイスと接続した場合には、仮想デバイスとしてホストデバイスとデータ通信を行い、ホストデバイスに接続デバイスリストを通知する。中継装置１００は、ホストデバイスから、接続要求デバイスリストを取得する。接続要求デバイスリストには、ホストデバイスが接続したいデバイスの情報が含まれる。ホストデバイスが給電のみを望む場合には、接続要求デバイスリストには、接続対象となるデバイスの情報が含まれない。
【００２０】
中継装置１００は、接続要求デバイスリストを基にして、ホストデバイスとクライアントデバイスとのデータ信号線の通信トポロジーを、従来のＵＳＢハブ経由の構成に変更して、データの通信路を再構成する。なお、中継装置１００は、ホストデバイスが、他のクライアントデバイスとの接続を希望しない場合には、トポロジーの再構成を行わず、ホストデバイスに給電のみを行う。
【００２１】
以下において、図２〜図１１を用いて、本実施例に係るシステムの処理を説明する。図２〜図１１は、本実施例に係るシステムの処理の一例を示す図である。図２について説明する。例えば、中継装置１００は、ＵＳＢケーブル１によって、デバイス１０ｄと既に接続済みとし、中継装置１００は、ＵＳＢケーブル１のＶＢＵＳで、デバイス１０ｄに対して給電を行っており、ＵＳＢケーブル１のデータ信号線は、無通信状態とする。中継装置１００は、仮想ホスト１００ａとして、デバイス１０ｄに接続している。また、中継装置１００の接続デバイスリスト２０には、接続済みのデバイス１０ｄの構成情報（ＶＩＤ１／ＰＩＤ１）が登録されている。接続デバイスリストの具体的な説明は後述する。
【００２２】
新たに、中継装置１００とデバイス１０ｃとがＵＳＢケーブル２を介して接続すると、中継装置１００は、仮想ホスト１００ｂとして、デバイス１０ｃに接続する。仮想ホスト１００ｂは、ＵＳＢケーブル２のデータ信号線で、デバイス認識処理を行い、デバイス１０ｃから構成情報（ＶＩＤ２／ＰＩＤ２）２１を取得する。
【００２３】
中継装置１００およびとデバイス１０ｃは、ＵＳＢケーブル２のＶＢＵＳにより、Power  Deliveryのネゴシエーションを行い、中継装置１００は、電力の供給をデバイス１０ｃに対して行う。
【００２４】
図３について説明する。中継装置１００は、デバイス１０ｃから取得した構成情報２１を基にして、接続デバイスリスト２０を更新する。接続デバイスリスト２０は、クライアントデバイスとホストクライアントとの接続状態を示す属性情報を有する。ホストデバイスとクライアントデバイスとが接続されていない場合には、「未接続」となる。ホストデバイスとクライアントデバイスとが接続されている場合には、「接続」となる。デバイス１０ｃ，１０ｄは、現段階で、ホストクライアントと接続されていないため、「ＶＩＤ１／ＰＩＤ１」および「ＶＩＤ２／ＰＩＤ２」に対応する接続状態は「未接続」となる。
【００２５】
図３において、中継装置１００は、デバイス１０ｃに接続されたＵＳＢケーブル２のデータ信号線を無通信状態にする。中継装置１００は、ＵＳＢケーブル２のＶＢＵＳにより、電力の供給をデバイス１０ｃに対して行う。なお、中継装置１００は、ＵＳＢケーブル１のデータ信号線を無通信状態のままにし、ＵＳＢケーブル１のＶＢＵＳによって、デバイス１０ｄに対する電力供給を継続する。
【００２６】
図４について説明する。中継装置１００は、ホスト用のコネクタにＵＳＢケーブル３が接続された場合に、仮想デバイス１００ｃとして接続処理を行う。仮想デバイス１００ｃが、デバイス１０ａによって認識された後に、中継装置１００は、接続デバイスリスト２０をデバイス１０ａに通知する。また、中継装置１００は、Power  Deliveryのネゴシエーションを行い、ＵＳＢケーブル３のＶＢＵＳにより、デバイス１０ａに電力の供給を行う。
【００２７】
図４において、中継装置１００は、ＵＳＢケーブル１，２のデータ信号線を無通信状態のままにし、ＵＳＢケーブル１，２のＶＢＵＳによって、デバイス１０ｄ，１０ｃに対する電力供給を継続する。
【００２８】
図５について説明する。デバイス１０ａは、接続デバイスリスト２０の中から接続するデバイスを選択し、中継装置１００の仮想デバイス１００ｃに通知する。ここでは一例として、デバイス１０ａは、デバイス１０ｃを接続対象として指定した接続要求デバイスリストを、中継装置１００に通知するものとする。
【００２９】
なお、デバイス１０ａは、中継装置１００から、接続デバイスリスト２０を受信した場合に、接続デバイスリスト２０を表示装置に表示する。デバイス１０ａは、接続するデバイスを接続デバイスリスト２０の中から利用者に選択させ、選択結果に応じた接続要求デバイスリストを、中継装置１００に通知する。
【００３０】
図５において、中継装置１００は、ＵＳＢケーブル１，２のデータ信号線を無通信状態のままにし、ＵＳＢケーブル１，２のＶＢＵＳによって、デバイス１０ｃ，１０ｄに対する電力供給を継続する。
【００３１】
図６について説明する。中継装置１００は、接続要求デバイスリスト３０を受信した場合に、デバイス１０ａに接続されたＵＳＢケーブル３のデータ信号線を無通信状態にする。また、中継装置１００は、ＵＳＢケーブル３のＶＢＵＳにより、デバイス１０ａに対する給電を継続する。
【００３２】
図６において、中継装置１００は、ＵＳＢケーブル１，２のデータ信号線を無通信状態のままにし、ＵＳＢケーブル１，２のＶＢＵＳによって、デバイス１０ｃ，１０ｄに対する電力供給を継続する。
【００３３】
図７について説明する。中継装置１００は、接続デバイスリストおよび通信トポロジーリストを更新する。中継装置１００のＵＳＢハブ１００ｄは、通信トポロジーリストを基にして、デバイス１０ａとデバイス１０ｃとを再接続する。また、ＵＳＢハブ１００ｄは、中継装置１００の仮想デバイス１００ｅとも接続する。仮想デバイス１００ｅは、デバイス１０ａから接続要求デバイスリストを受け付ける。デバイス１０ａは、接続するデバイスを変更する場合には、変更を反映させた接続要求デバイスリストを、仮想デバイス１００ｅに通知する。
【００３４】
続いて、中継装置１００のＵＳＢハブ１００ｄは、再接続動作によって、デバイス１０ａ，１０ｃに再開信号を送信する。再開信号により、ＵＳＢケーブル３，２のデータ信号線のＤ＋線がＨｉｇｈとなる。デバイス１０ａは、再開信号により、ＵＳＢハブ１００ｄに繋がるデバイス１０ｃ、仮想デバイス１００ｅとの間で再接続処理を行う。これによって、デバイス１０ａと、デバイス１０ｃと、仮想デバイス１００ｅとの間で、Plug＆Play仕様による再接続が行われる。
【００３５】
図７において、中継装置１００は、ＵＳＢケーブル１，２，３のＶＢＵＳによって、デバイス１０ａ，１０ｃ，１０ｄに対する給電を継続する。また、ＵＳＢケーブル１のデータ信号線は、無通信状態のままとなる。
【００３６】
ところで、中継装置１００の仮想デバイス１００ｅは、新たなデバイスが接続され、接続デバイスリストが変更された場合には、デバイス１０ａに変更された接続デバイスリストを通知する。デバイス１０ａは、接続するデバイスを変更する場合には、新たな接続要求デバイスリストを仮想デバイス１００ｅに通知する。仮想デバイス１００ｅは、デバイス１０ａから接続要求デバイスリストを受信すると、現在のトポロジーの接続構成を切断する。中継装置１００は、ＵＳＢケーブル２，３のデータ信号線を無通信状態にすることで、トポロジーの接続構成を切断する。ここでは一例として、新たな接続要求デバイスリストには、デバイス１０ｃの（ＶＩＤ１／ＰＩＤ１）およびデバイス１０ｄの（ＶＩＤ２／ＰＩＤ２）が含まれるものとする。
【００３７】
図７Ａについて説明する。ＵＳＢハブ１００ｄは、接続デバイスリストおよび通信トポロジーリストを更新する。ＵＳＢハブ１００ｄは、新たな通信トポロジーリストに基づいて、例えば、デバイス１０ａと対象となるデバイスとの接続構成を変更して再接続動作を行う。ＵＳＢハブ１００ｄは、デバイス１０ａ，１０ｃ，１０ｄに再開信号を送信する。デバイス１０ａは、再開信号により、ＵＳＢハブ１００ｄに繋がるデバイス１０ｃ，１０ｄ、仮想デバイス１００ｅとの間で再接続処理を行う。これによって、デバイス１０ａと、デバイス１０ｃ，１０ｄと、仮想デバイス１００ｅとの間で、Plug＆Play仕様による再接続が行われる。なお、中継装置１００は、ＵＳＢケーブル１，２，３のＶＢＵＳによって、デバイス１０ａ，１０ｃ，１０ｄに対する給電を継続する。
【００３８】
図８について説明する。デバイス１０ａが接続するホスト用コネクタとは別のホスト用コネクタに、デバイス１０ｂが接続された場合には、中継装置１００は、仮想デバイス１００ｆとして接続処理を行う。仮想デバイス１００ｆが、デバイス１０ｂによって認識された後に、中継装置１００は、接続デバイスリスト２１をデバイス１０ｂに通知する。また、中継装置１００は、Power  Deliveryのネゴシエーションを行い、ＵＳＢケーブル４のＶＢＵＳにより、デバイス１０ｂに電力の供給を行う。
【００３９】
デバイス１０ｂは、接続デバイスリスト２１の中から接続するデバイスを選択し、中継装置１００の仮想デバイス１００ｆに通知する。ここでは一例として、デバイス１０ｂは、デバイス１０ｄを接続対象として指定した接続要求デバイスリストを、中継装置１００に通知するものとする。
【００４０】
なお、デバイス１０ｂは、中継装置１００から、接続デバイスリスト２１を受信した場合に、接続デバイスリスト２１を表示装置に表示する。デバイス１０ｂは、接続するデバイスを接続デバイスリスト２１の中から利用者に選択させ、選択結果に応じた接続要求デバイスリストを、中継装置１００に通知する。
【００４１】
図８において、中継装置１００は、ＵＳＢケーブル１，２，３のＶＢＵＳによって、デバイス１０ａ，１０ｃ，１０ｄに対する電力供給を継続する。中継装置１００は、ＵＳＢケーブル１のデータ信号線を無通信状態のままにする。また、デバイス１０ａ，１０ｃは、ＵＳＢケーブル２，３のデータ信号線により、データ通信を行う。
【００４２】
図９について説明する。中継装置１００は、接続要求デバイスリスト３１を受信した場合に、デバイス１０ｂに接続されたＵＳＢケーブル４のデータ信号線を無通信状態にする。また、中継装置１００は、ＵＳＢケーブル４のＶＢＵＳにより、デバイス１０ｂに対する給電を継続する。
【００４３】
図９において、中継装置１００は、ＵＳＢケーブル１，２，３のＶＢＵＳによって、デバイス１０ａ，１０ｃ，１０ｄに対する電力供給を継続する。中継装置１００は、ＵＳＢケーブル１のデータ信号線を無通信状態のままにする。また、デバイス１０ａ，１０ｃは、ＵＳＢケーブル２，３のデータ信号線により、データ通信を行う。
【００４４】
ここで、例えば、デバイス１０ｂが、他のデバイスと接続しないで、給電のみを目的として、中継装置１００に接続された場合には、ＵＳＢケーブル４のデータ信号線を無通信状態にし、ＵＳＢケーブル４のＶＢＵＳによって、デバイス１０ｂに対する電力供給を行う。
【００４５】
図１０について説明する。中継装置１００は、接続デバイスリストおよび通信トポロジーリストを更新する。中継装置１００のＵＳＢハブ１００ｇは、新たなトポロジーリスト３１を基にして、デバイス１０ｂとデバイス１０ｄとを再接続する。また、ＵＳＢハブ１００ｇは、中継装置１００の仮想デバイス１００ｈとも接続する。仮想デバイス１００ｈは、新たなデバイスが中継装置１００に接続された場合に、デバイス１０ｂに、接続デバイスリストを通知する処理を行う。
【００４６】
続いて、中継装置１００のＵＳＢハブ１００ｇは、再接続動作によって、デバイス１０ｂ，１０ｄに再開信号を送信する。係る再開信号により、ＵＳＢケーブル１，４のデータ信号線のＤ＋線がＨｉｇｈとなる。デバイス１０ｂは、再開信号により、ＵＳＢハブ１００ｇに繋がるデバイス１０ｄ、仮想デバイス１００ｈとの間で再接続処理を行う。これによって、デバイス１０ｂと、デバイス１０ｄと、仮想デバイス１００ｈとの間で、Plug＆Play仕様による再接続が行われる。
【００４７】
ここで、デバイスの接続を変更する処理について説明する。例えば、図１０に示す例では、デバイス１０ａが、デバイス１０ｃと接続し、デバイス１０ｂがデバイス１０ｄと接続されている。例えば、デバイス１０ａがデバイス１０ｃ，１０ｄに接続し、デバイス１０ｂがデバイス１０ｄと切断する場合について説明する。
【００４８】
デバイス１０ｂは、仮想デバイス１００ｈに対して、切断要求コマンドを通知する。仮想デバイス１００ｈは、デバイス１０ｂから切断要求コマンドを受け付けると、現在のＵＳＢハブ１００ｇのトポロジーの接続構成を切断する。中継装置１００は、ＵＳＢケーブル４のデータ信号線を無通信状態にし、ＵＳＢケーブル４のＶＢＵＳによって、デバイス１０ｂに対する電力供給を継続する。
【００４９】
図１１について説明する。デバイス１０ａは、デバイス１０ｃに加えて、デバイス１０ｄと接続する場合には、接続要求デバイスリスト３２を仮想デバイス１００ｅに通知する。仮想デバイス１００ｅは、デバイス１０ａから接続要求デバイスリスト３２を受け取ると、現在のＵＳＢハブ１００ｄのトポロジーの接続構成を切断する。中継装置１００は、ＵＳＢケーブル１，２，３のデータ信号線を無通信状態にすることで、トポロジーの接続構成を切断する。
【００５０】
図１１Ａについて説明する。中継装置１００は、接続デバイスリストおよび通信トポロジーリストを更新する。中継装置１００のＵＳＢハブ１００ｄは、新たな通信トポロジーリストを基にして、デバイス１０ａと、接続対象となるデバイスとの接続構成を変更して、再接続動作を行う。ＵＳＢハブ１００ｄは、再接続動作によって、デバイス１０ａ，１０ｃ，１０ｄに再開信号を送信する。係る再開信号により、ＵＳＢハブ１，２，３のデータ信号線のＤ＋線がＨｉｇｈとなる。デバイス１０ａは、再開信号により、ＵＳＢハブ１００ｄに繋がるデバイス１０ｄ，１０ｃ、仮想デバイス１００ｅとの間で再接続処理を行う。これによって、デバイス１０ａと、デバイス１０ｃ，１０ｄと、仮想デバイス１００ｅとの間で、Plug＆Play仕様による再接続が行われる。
【００５１】
次に、本実施例に係る接続デバイスリストのデータ構造の一例について説明する。図１２は、本実施例に係る接続デバイスリストのデータ構造の一例を示す図である。図１２に示すように、接続デバイスリストは、コネクタ番号、ＰＩＤ、ＶＩＤ、ＣｌａｓｓＩＤ、デバイス名、接続状態をそれぞれ関連付ける。コネクタ番号は、デバイスが接続された中継装置１００のコネクタを一意に識別する情報である。ＰＩＤは、プロダクトＩＤ（identification）に対応し、ＶＩＤは、ベンダＩＤに対応する。ＣｌａｓｓＩＤは、デバイスの仕様を一意に識別する情報である。デバイス名はデバイスの名称である。接続状態は、デバイスがホストデバイスと接続中であるか否かを識別する情報である。接続状態が「未接続」である場合には、該当するデバイスはホストデバイスに接続されていない。接続状態が「接続」である場合には、該当するデバイスはホストデバイスに接続されている。接続状態が接続である場合には、接続先のコネクタ番号で識別されるホストデバイスを識別する情報が対応付けられる。
【００５２】
例えば、図１２において、コネクタ番号「１１０ｃ」に接続されたデバイス名「ＡＡ  Ｄｉｓｐｌａｙ」の接続状態は「未接続」である。このため、デバイス名「ＡＡ  Ｄｉｓｐｌａｙ」のデバイスには、給電のみ行われている。コネクタ番号「１１０ｄ」に接続された「ＡＡ  Ｐｒｉｎｔｅｒ」の接続状態は「接続（ホストデバイス１）」である。このため、デバイス名「ＡＡ  Ｐｒｉｎｔｅｒ」のデバイスは、コネクタ番号「１１０ａ」に接続されたホストデバイス１に接続されている。
【００５３】
次に、本実施例に係る通信トポロジーリストのデータ構造の一例について説明する。図１３は、本実施例に係る通信トポロジーリストのデータ構造の一例を示す図である。この通信トポロジーリストはホストデバイスのコネクタの数分必要となる。図１３に示すように、通信トポロジーリストは、ハブ番号、ホスト識別情報、コネクタ番号、ＰＩＤ、ＶＩＤ、ＣｌａｓｓＩＤ、デバイス名をそれぞれ関連付ける。ハブ番号は、ＵＳＢハブを一意に識別する情報である。ホスト識別情報は、接続されたデバイスがホストデバイスであるか、クライアントデバイスであるかを識別する情報である。コネクタ番号、ＰＩＤ、ＶＩＤ、ＣｌａｓｓＩＤ、デバイス名に関する説明は、図１２で説明したコネクタ番号、ＰＩＤ、ＶＩＤ、ＣｌａｓｓＩＤ、デバイス名に関する説明と同様である。
【００５４】
次に、本実施例に係る中継装置１００の構成について説明する。図１４は、本実施例に係る中継装置の構成を示す機能ブロック図である。図１４に示すように、この中継装置１００は、コネクタ１１０ａ，１１０ｂ，１１０ｃ，１１０ｄ，１１０ｅを有する。コネクタ１１０ａ〜１１０ｅを適宜コネクタ１１０と表記する。中継装置１００は、PowerDelivery制御チップ１２０ａ，１２０ｂ，１２０ｃ，１２０ｄ，１２０ｅを有する。PowerDelivery制御チップ１２０ａ〜１２０ｅを適宜PowerDelivery制御チップ１２０と表記する。
【００５５】
図１４に示すように、中継装置１００は、スイッチ１３０ａ，１３０ｂ，１３０ｃ，１３０ｄ，１１３０ｅを有する。スイッチ１３０ａ〜１３０ｅを適宜スイッチ１３０と表記する。中継装置１００は、ＵＳＢファンクションチップ１４０ａ，１４０ｂ，１４０ｃ，１４０ｄを有する。ＵＳＢファンクションチップ１４０ａ〜１４０ｄを適宜、ＵＳＢファンクションチップ１４０と表記する。中継装置１００は、ＵＳＢホストコントローラチップ１５０ａ，１５０ｂ，１５０ｃを有する。ＵＳＢホストコントローラチップ１５０ａ〜１５０ｃを適宜ＵＳＢホストコントローラチップ１５０と表記する。
【００５６】
図１４に示すように、中継装置１００は、ＵＳＢハブコントローラチップ１６０ａ，１６０ｂを有する。ＵＳＢハブコントローラチップ１６０ａ，１６０ｂを適宜、ＵＳＢハブコントローラチップ１６０と表記する。中継装置１００は、スイッチコントローラ１７０、メイン制御部１８０、記憶部１９０を有する。
【００５７】
コネクタ１１０ａ，１１０ｂは、ホストデバイスと接続するコネクタである。コネクタ１１０ｃ，１１０ｄは、クライアントデバイスと接続するコネクタである。本実施例に係る中継装置１００は、コネクタ１１０のところで、データ通信を行うデータ信号線と、給電および給電制御を行うＶＢＵＳとに分離する。また、給電および給電制御を行う線を、ＶＢＵＳおよびＩＤ線に分離してもよい。ＩＤ線は、microUSBコネクタの場合にのみ存在する。以下の説明では、ＩＤ線に関する説明を省略する。
【００５８】
PowerDelivery制御チップ１２０は、給電および給電制御を行うＶＢＵＳに接続され、Power  Delivery仕様に従った制御を行い、接続したデバイスに電力を供給する。また、PowerDelivery制御チップ１２０は、コネクタ１１０を介したデバイスの接続を検出する。
【００５９】
スイッチ１３０ａは、デフォルト状態では、スイッチ１３０ａのデータ信号線をＵＳＢファンクションチップ１４０ａに繋げる。スイッチ１３０ａは、スイッチコントローラ１７０の指示により、ＵＳＢハブコントローラチップ１６０ａとコネクタ１１０ａとの接続、ＵＳＢファンクションチップ１４０ａとコネクタ１１０ａとの接続を切り替える。
【００６０】
スイッチ１３０ｂは、デフォルト状態では、スイッチ１３０ｂのデータ信号線をＵＳＢファンクションチップ１４０ｂに繋げる。スイッチ１３０ｂは、スイッチコントローラ１７０の指示により、ＵＳＢハブコントローラチップ１６０ｂとコネクタ１１０ｂとの接続、ＵＳＢファンクションチップ１４０ｂとコネクタ１１０ｂとの接続を切り替える。
【００６１】
スイッチ１３０ｃは、デフォルト状態では、スイッチ１３０ｃのデータ信号線をＵＳＢホストコントローラチップ１５０ａに繋げる。スイッチ１３０ｃは、スイッチコントローラ１７０の指示により、ＵＳＢハブコントローラチップ１６０ａとコネクタ１１０ｃとの接続、ＵＳＢハブコントローラチップ１６０ｂとコネクタ１１０ｃとの接続を切り替える。また、スイッチ１３０ｃは、スイッチコントローラ１７０の指示により、ＵＳＢホストコントローラチップ１５０ａとコネクタ１１０ｃとの接続に切り替える。
【００６２】
スイッチ１３０ｄは、デフォルト状態では、スイッチ１３０ｄのデータ信号線をＵＳＢホストコントローラチップ１５０ｂに繋げる。スイッチ１３０ｄは、スイッチコントローラ１７０の指示により、ＵＳＢハブコントローラチップ１６０ａとコネクタ１１０ｄとの接続、ＵＳＢハブコントローラチップ１６０ｂとコネクタ１１０ｄとの接続を切り替える。また、スイッチ１３０ｄは、スイッチコントローラ１７０の指示により、ＵＳＢホストコントローラチップ１５０ｂとコネクタ１１０ｄとの接続に切り替える。
【００６３】
スイッチ１３０ｅは、デフォルト状態では、スイッチ１３０ｅのデータ信号線をＵＳＢホストコントローラチップ１５０ｃに繋げる。スイッチ１３０ｅは、スイッチコントローラ１７０の指示により、ＵＳＢハブコントローラチップ１６０ａとコネクタ１１０ｅとの接続、ＵＳＢハブコントローラチップ１６０ｂとコネクタ１１０ｅとの接続を切り替える。また、スイッチ１３０ｅは、スイッチコントローラ１７０の指示により、ＵＳＢホストコントローラチップ１５０ｃとコネクタ１１０ｅとの接続に切り替える。
【００６４】
ＵＳＢファンクションチップ１４０ａ，１４０ｂは、デフォルト状態で、ホストデバイスと接続され、仮想デバイスとして動作する。例えば、ＵＳＢファンクションチップ１４０ａ，１４０ｂは、上述した図４の仮想デバイス１００ｃに対応する処理を行う。例えば、ＵＳＢファンクションチップ１４０ａ，１４０ｂは、メイン制御部１８０から、接続デバイスリストを取得し、取得した接続デバイスリストを、ホストデバイスに通知する。そして、ＵＳＢファンクションチップ１４０ａ，１４０ｂは、ホストデバイスから、接続要求デバイスリストを受け付け、接続要求デバイスリストを、メイン制御部１８０に通知する。また、ＵＳＢファンクションチップ１４０ａ，１４０ｂは、メイン制御部１８０からの指示に応じて、データ信号線を無通信状態にする。
【００６５】
ＵＳＢファンクションチップ１４０ｃ，１４０ｄは、ＵＳＢハブコントローラチップ１６０ａ，１６０ｂのデバイスポートに接続され、ホストデバイスからの接続機器の変更を受け付けるためのファンクションデバイスとして動作する。例えば、上述した図７の仮想デバイス１００ｅに対応する処理を行う。
【００６６】
ＵＳＢホストコントローラチップ１５０は、デフォルト状態で、クライアントデバイスと接続される。ＵＳＢホストコントローラチップ１５０は、仮想ホストとして、クライアントデバイスに接続する。例えば、ＵＳＢホストコントローラチップ１５０は、上述した図２等の仮想ホスト１００ａ，１００ｂ等に対応する。
【００６７】
ＵＳＢホストコントローラチップ１５０は、コネクタ１１０に接続されたクライアントデバイスから構成情報を収集し、構成情報をメイン制御部１８０に通知する。例えば、構成情報には、クライアントデバイスに対応するＰＩＤ、ＶＩＤ、ＣｌａｓｓＩＤ、デバイス名が含まれる。
【００６８】
ＵＳＢハブコントローラチップ１６０は、ＵＳＢハブとして動作する。例えば、ＵＳＢハブコントローラチップ１６０は、図１０等に示したＵＳＢハブ１００ｄ，１００ｇ等に対応する。
【００６９】
スイッチコントローラ１７０は、メイン制御部１８０からの指示に応じて、スイッチ１３０の切り替えを制御する。
【００７０】
メイン制御部１８０は、PowerDelivery制御チップ１２０、ＵＳＢファンクションチップ１４０、ＵＳＢホストコントローラチップ１５０、ＵＳＢハブコントローラチップ１６０、スイッチコントローラ１７０を制御する処理部である。また、メイン制御部１８０は、接続デバイスリスト、通信トポロジーリストを作成し、記憶部１９０に格納する。また、メイン制御部１８０は、接続デバイスリスト、通信トポロジーリストを適宜更新する。メイン制御部１８０に関する具体的な説明は後述する。
【００７１】
記憶部１９０は、接続デバイスリストおよび通信トポロジーリストを格納する記憶装置である。例えば、接続デバイスリストのデータ構造は、図１２に示したものに対応する。通信トポロジーリストは、図１３に示したものに対応する。
【００７２】
次に、中継装置１００の処理について具体的に説明する。以下では、デバイス接続時の処理、デバイス切断時の処理、ホストデバイスに接続デバイスリストを通知する処理および接続要求デバイスリストを受信する処理について説明する。また、通信トポロジーを更新する処理、通信トポロジーを変更または解除する処理について説明する。
【００７３】
「デバイス接続時の処理」について説明する。ここでは、コネクタ１１０ｃ〜１１０ｅのいずれかに、デバイスが接続された場合について説明する。図１５は、デバイス接続時の処理手順を示すフローチャートである。図１５に示すように、メイン制御部１８０は、デバイスが接続されたＵＳＢホストコントローラ１５０から、接続イベントを受信する（ステップＳ１０１）。メイン制御部１８０は、ＵＳＢホストコントローラチップ１５０に対し、バスエニュメレーション処理の実行を指示する（ステップＳ１０２）。ステップＳ１０２で、ＵＳＢホストコントローラチップ１５０は、バスエニュメレーション処理を実行することで、デバイスから構成情報を取得する。
【００７４】
メイン制御部１８０は、ＵＳＢホストコントローラチップ１５０から構成情報を取得し（ステップＳ１０３）、構成情報を基にして、接続デバイスリストを作成する（ステップＳ１０４）。ステップ１０４において、メイン制御部１８０は、構成情報に含まれるＰＩＤ、ＶＩＤ、ＣｌａｓｓＩＤ、デバイス名、ＵＳＢホストコントローラチップ１５０に対応するコネクタ番号を対応付けて、接続デバイスリストに登録する。また、接続状態の初期値を「未接続」とする。
【００７５】
メイン制御部１８０は、ＵＳＢホストコントローラチップ１５０に対し、データ信号線を無通信状態にするように指示する（ステップＳ１０５）。ステップＳ１０５の指示を受けたＵＳＢコントローラチップ１５０は、データ信号線を無通信状態にする。
【００７６】
「デバイス切断時の処理」について説明する。図１６は、デバイス切断時の処理手順を示すフローチャートである。図１６に示すように、メイン制御部１８０は、PowerDelivery制御チップ１２０から切断イベントを受信する（ステップＳ２０１）。
【００７７】
メイン制御部１８０は、PowerDelivery制御チップ１２０に対応したコネクタ番号から切断されたデバイスを特定する（ステップＳ２０２）。ステップＳ２０２において、メイン制御部１８０は、該当するコネクタ番号と、接続デバイスリストとを比較して、切断されたデバイスを特定する。メイン制御部１８０は、切断されたデバイスの情報を、接続デバイスリストから削除する（ステップＳ２０３）。
【００７８】
「ホストデバイスに接続デバイスリストを通知する処理および接続要求デバイスリストを受信する処理」について説明する。図１７は、接続デバイスリストを通知する処理手順および接続要求デバイスリストを受信する処理手順を示すフローチャートである。図１７に示すようにメイン制御部１８０は、ホストデバイスが接続されたＵＳＢファンクションチップ１４０から接続イベントを受信する（ステップＳ３０１）。
【００７９】
メイン制御部１８０は、ＵＳＢファンクションチップ１４０に対し、バスエニュメレーション処理の実行を指示する（ステップＳ３０２）。メイン制御部１８０は、ＵＳＢファンクションチップ１４０に対し、接続デバイスリストを通知し、ホストデバイスに接続デバイスリストの情報を送信する（ステップＳ３０３）。
【００８０】
ステップＳ３０３において、接続デバイスリストの情報を受信したホストデバイスは、デバイス情報管理アプリを起動する。ホストデバイスは、接続デバイスリストを表示し、ユーザの操作を受け付けて、接続要求デバイスリストを取得する。ホストデバイスは、接続要求デバイスリストを、中継装置のＵＳＢファンクションチップ１４０に送信する。
【００８１】
メイン制御部１８０は、ＵＳＢファンクションチップ１４０から、ホストデバイスで利用者が指定した、接続要求デバイスリストを受信する（ステップＳ３０４）。メイン制御部１８０は、ＵＳＢファンクションチップ１４０に対し、データ信号線を無通信状態にするように指示する（ステップＳ３０５）。
【００８２】
「通信トポロジーを構成する処理」について説明する。図１８は、通信トポロジーを構成する処理手順を示すフローチャートである。図１８に示すように、メイン制御部１８０は、ＵＳＢファンクションチップ１４０から、接続要求デバイスリストを読み込み、接続デバイスリストを更新する（ステップＳ４０１）。図１２を用いて、Ｓ４０１のメイン制御部１８０の処理の一例を説明する。例えば、接続要求デバイスリストにＰＩＤ「０ｘ９９９９」、ＶＩＤ「０ｘ９９９９」である場合には、図１２の接続デバイスリストの１行目のレコードがヒットする。メイン制御部１８０は、接続デバイスリストの１行目のレコードを「接続」に更新し、ホストデバイスを識別する情報を登録する。
【００８３】
図１８の説明に戻る。メイン制御部１８０は、ＵＳＢファンクションチップ１４０に対応したホストデバイスが既に接続されているか否かを判定する（ステップＳ４０２）。メイン制御部１８０は、ＵＳＢファンクションチップ１４０に対応したホストデバイスが既に接続されている場合には（ステップＳ４０２，Ｙｅｓ）、トポロジー変更および解除処理を実行する（ステップＳ４０３）。
【００８４】
一方、メイン制御部１８０は、ＵＳＢファンクションチップ１４０に対応したホストデバイスが既に接続されていない場合には（ステップＳ４０２，Ｎｏ）、接続要求デバイスリストに、接続対象のデバイスがない（給電のみの要求）か否かを判定する（ステップＳ４０４）。メイン制御部１８０は、接続要求デバイスリストに、接続対象のデバイスがない場合には（ステップＳ４０４，Ｙｅｓ）、処理を終了する。接続要求デバイスリストに、接続対象のデバイスがない場合には、ホストデバイスは給電のみを目的として、中継装置１００に接続したことを意味する。
【００８５】
一方、メイン制御部１８０は、接続要求デバイスリストに、接続対象のデバイスが存在する場合に（ステップＳ４０４，Ｎｏ）、接続デバイスリストを更新する（ステップＳ４０５）。ステップＳ４０４において、メイン制御部１８０は、接続要求デバイスリストに含まれるＰＩＤ、ＶＩＤ、ホストデバイスの識別情報を基にして、接続デバイスリストの接続状態を更新する。
【００８６】
メイン制御部１８０は、未使用のＵＳＢハブコントローラチップ１６０に対応した通信トポロジーリストを生成する（ステップＳ４０６）。
【００８７】
ここで、ステップＳ４０６の処理を具体的に説明する。一例として、未使用のＵＳＢハブコントローラチップを、ＵＳＢハブコントローラチップ１６０ａとする。接続要求デバイスリストには、ＰＩＤ「０ｘ９９９９」、ＶＩＤ「０ｘ９９９９」、ＣｌａｓｓＩＤ「０ｘ９９９９」、デバイス名「ＡＡ  Ｄｉｓｐｌａｙ」のデバイスが指定されるものとする。また、接続要求デバイスリストには、ＰＩＤ「０ｘ８８８８」、ＶＩＤ「０ｘ８８８８」、ＣｌａｓｓＩＤ「０ｘ８８８８」、デバイス名「ＡＡ  Ｐｒｉｎｔｅｒ」のデバイスが指定されるものとする。このような条件下において、メイン制御部１８０は、図１３に示した通信トポロジーリストを生成する。
【００８８】
図１３において、ハブ番号「１６０ａ」は、ＵＳＢハブコントローラチップ１６０ａを識別する情報である。ホスト識別情報「ホスト」のデバイスは、コネクタ番号「１１０ａ」のコネクタに接続される。また、接続対象となるデバイス名「ＡＡ  Ｄｉｓｐｌａｙ」は、コネクタ番号「１１０ｃ」に接続される。また、デバイス名「ＡＡ  Ｄｉｓｐｌａｙ」に対応するＰＩＤ、ＶＩＤ、ＣｌａｓｓＩＤも対応付けて登録される。接続対象となるデバイス名「ＡＡ  Ｐｒｉｎｔｅｒ」は、コネクタ番号「１１０ｄ」に接続される。また、デバイスめい「ＡＡ  Ｐｒｉｎｔｅｒ」に対応するＰＩＤ、ＶＩＤ、ＣｌａｓｓＩＤも対応付けて登録される。
【００８９】
図１８の説明に戻る。メイン制御部１８０は、通信トポロジーリストのコネクタ番号から、スイッチコントローラ１７０に対し、切替制御を実行する（ステップＳ４０７）。例えば、通信トポロジーリストが図１３に示すものである場合には、メイン制御部１８０は、スイッチ１３０ａを切り替えて、コネクタ１１０ａとＵＳＢバスコントローラチップ１６０ａとを接続する。メイン制御部１８０は、スイッチ１３０ｃを切り替えて、コネクタ１１０ｃとＵＳＢハブコントローラチップ１６０ａとを接続する。また、メイン制御部１８０は、スインチ１３０ｄを切り替えて、コネクタ１１０ｄとＵＳＢハブコントローラチップ１６０ａとを接続する。
【００９０】
メイン制御部１８０は、対象となるＵＳＢハブコントローラチップ１６０を再起動する（ステップＳ４０８）。例えば、ＵＳＢハブコントローラチップ１６０ａが対象となる場合には、メイン制御部１８０は、ＵＳＢハブコントローラチップ１６０ａを再起動させる。
【００９１】
「通信トポロジーを変更または解除する処理」について説明する。図１９は、通信トポロジーを変更または解除する処理手順を示すフローチャートである。図１９に示す処理は、図１８のステップＳ４０３に示したトポロジー変更および解除処理に対応する。図１９に示すステップＳ５０４〜Ｓ５０７の処理は、通信トポロジーを解除する処理であり、ステップＳ５０８〜５１１の処理は、通信トポロジーに、新たなデバイスを追加する処理である。
【００９２】
図１９に示すように、メイン制御部１８０は、ＵＳＢハブコントローラチップ１６０を停止する（ステップＳ５０１）。ステップＳ５０１において、メイン制御部１８０は、通信トポロジーリストを基にして、ホストコントローラに接続するＵＳＢハブコントローラチップ１６０を特定し、停止させる。
【００９３】
メイン制御部１８０は、ＵＳＢファンクションチップ１４０から接続要求デバイスリストを読み込む（ステップＳ５０２）。メイン制御部１８０は、接続要求デバイスリストに、接続対象のデバイスが含まれるか否かを判定する（ステップＳ５０３）。
【００９４】
メイン制御部１８０は、接続要求デバイスリストに、接続対象のデバイスがない場合には（ステップＳ５０３，Ｙｅｓ）、接続デバイスリストを更新する（ステップＳ５０４）。ステップＳ５０４の処理を、図１２の接続デバイスリストを用いて説明する。例えば、メイン制御部１８０は、ホストデバイス１とデバイス名「ＡＡ  Ｐｒｉｎｔｅｒ」との接続を解除する場合には、デバイス名「ＡＡ  Ｐｒｉｎｔｅｒ」の接続状態を「未接続」に更新する。
【００９５】
メイン制御部１８０は、対象のホストデバイスおよびクライアントデバイスに対応したＵＳＢファンクションチップ１４０、ＵＳＢホストコントローラチップ１５０を停止状態に制御する（ステップＳ５０５）。
【００９６】
メイン制御部１８０は、通信トポロジーリストのコネクタ番号から、スイッチコントローラ１７０に対し、デフォルト状態になるように切替制御を行う（ステップＳ５０６）。メイン制御部１８０は、通信トポロジーリストの内容を削除する（ステップＳ５０７）。例えば、通信トポロジーリストを、図１３に示すものとする。この場合には、ステップＳ５０６，Ｓ５０７において、メイン制御部１８０は、コネクタ１１０ａ，１１０ｃ，１１０ｄに接続されたスイッチ１３０ａ，１３０ｃ，１３０ｄをデフォルト状態にする。そして、図１３に示す通信トポロジーリストの内容を削除する。
【００９７】
図１９のステップＳ５０３の説明に戻る。メイン制御部１８０は、接続デバイスリストに、対象の接続デバイスが存在する場合には（ステップＳ５０３，Ｎｏ）、接続デバイスリストを更新する（ステップＳ５０８）。ステップＳ５０８において、メイン制御部１８０は、接続要求デバイスリストに含まれるＰＩＤ，ＶＩＤ、ホスト識別情報を基にして、接続デバイスリストの接続状態を更新する。メイン制御部１８０は、追加されるデバイスの接続状態を接続に更新する。
【００９８】
メイン制御部１８０は、未使用のＵＳＢハブコントローラスイッチ１６０に対応した通信トポロジーリストを生成する（ステップＳ５０９）。メイン制御部１８０は、通信トポロジーリストのコネクタ番号から、スイッチコントローラ１７０に対し、切替制御を実行する（ステップＳ５１０）。メイン制御部１８０は、対象となるＵＳＢハブコントローラチップ１６０を再起動する（ステップＳ５１１）。ステップＳ５０９〜Ｓ５１１の具体的な説明は、図１８のステップＳ４０５〜Ｓ４０７の処理に対応する。
【００９９】
次に、中継装置１００に接続するホストデバイスの処理について説明する。図２０は、ホストデバイスの処理手順を示すフローチャートである。ここでは、ホストデバイスをデバイス１０ａとして説明を行う。なお、デバイス１０ａには、図２０の処理を実行するデバイス情報管理アプリがインストールされていることを前提とする。
【０１００】
デバイス１０ａは、中継装置１００のＵＳＢファンクションチップ１４０の通信ポートをオープンし（ステップＳ６０１）、接続デバイスリストを取得する（ステップＳ６０２）。デバイス１０ａは、接続デバイスリストを一覧表示する（ステップＳ６０３）。
【０１０１】
デバイス１０ａは、利用者によるデバイスの選択を受け付ける（ステップＳ６０４）。デバイス１０ａは、中継装置１００のＵＳＢファンクションチップ１４０に接続要求デバイスリストを通知する（ステップＳ６０５）。
【０１０２】
次に、本実施例に係る中継装置１００の効果について説明する。中継装置１００は、中継装置１００に接続された各デバイスの接続デバイスリストをホストデバイスに通知する。そして、中継装置１００は、ホストデバイスから受信する接続要求デバイスリストに基づき通信トポロジーを構成して通信路を確立する。このため、中継装置１００によれば、利用者の望む各デバイス間の通信路を確立することができる。例えば、中継装置１００に複数のホストデバイスおよびクライアントデバイスが接続された場合であっても、ホストデバイス毎に異なるクライアントデバイスを接続することができる。
【０１０３】
また、中継装置１００によれば、ホストデバイスから、新たな接続要求デバイスリストを取得して、通信対象の変更要求を受け付けた場合には、新たな接続要求デバイスリストに基づいて、接続デバイスリストを更新し、通信トポロジーを更新する。このため、ホストデバイスは、ＵＳＢケーブルを抜き差しすることなく、論理的に通信トポロジーを切り替えることができる。
【０１０４】
また、中継装置１００によれば、ホストデバイスが、充電を目的として中継装置１００に接続された場合には、中継装置１００は、データ信号線を無通信状態にし、ＶＢＵＳによって、電力の供給を継続して実施する。このため、ホストデバイスは、他のデバイスとデータ通信を行わないで、充電だけを行うことが出来る。
【０１０５】
ところで、図１４に示した中継装置１００の構成は一例であり、本実施例に係る中継装置はその他の構成を含んでも良い。図２１は、中継装置のその他の構成を示す図である。図２１に示すように、この中継装置１００は、ＬＡＮ（Local  Area  Network）アダプタコントローラ２００ａ，２００ｂを有する。ＬＡＮアダプタコントローラ２００ａ，２００ｂを適宜、ＬＡＮアダプタコントローラ２００と表記する。その他の構成は、図１４に示した中継装置１００と同様である。
【０１０６】
ＬＡＮアダプタコントローラ２００は、インターネット等のネットワークに接続するコントローラである。ＬＡＮアダプタコントローラ２００は、ＵＳＢハブコントローラチップ１６０に接続される。このようなＬＡＮアダプタコントローラ２００を設けることで、デバイスは、ＬＡＮケーブルを有していなくても、ＵＳＢケーブルでインターネット等のネットワークに接続することができる。
【０１０７】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１０８】
（付記１）第１電子機器が接続された際に前記第１電子機器から機器情報を取得して、接続された電子機器を示すリスト情報を生成し、
第２電子機器が接続された際に前記リスト情報を前記第２電子機器に送信して、前記第２電子機器の通信対象となる第１電子機器を示す選択情報を受け付け、
前記選択情報に基づいて通信トポロジーを構成し、構成した通信トポロジーによって前記第１電子機器と前記第２電子機器との通信路を確立させる各処理を実行するプロセッサ
を有することを特徴とする中継装置。
【０１０９】
（付記２）前記プロセッサは、前記第２電子機器から変更された選択情報を受け付けた際に、変更された選択情報に基づいて通信トポロジーを再構成し、再構成した通信トポロジーによって前記第１電子機器と前記第２電子機器との通信路を確立させることを特徴とする付記１に記載の中継装置。
【０１１０】
（付記３）前記中継装置と、前記第１電子機器および前記第２電子機器とはデータ通信を行う第１信号線および給電を行う第２信号線によって接続され、前記プロセッサは、前記第２電子機器が通信対象を指定していない場合には、前記第２電子機器に接続される第１信号線を無通信状態に設定し、第２信号線によって給電を行うことを特徴とする付記１または２に記載の中継装置。
【０１１１】
（付記４）コンピュータが実行する中継方法であって、
第１電子機器が接続された際に前記第１電子機器から機器情報を取得して、接続された電子機器を示すリスト情報を生成し、
第２電子機器が接続された際に前記リスト情報を前記第２電子機器に送信して、前記第２電子機器の通信対象となる第１電子機器を示す選択情報を受け付け、
前記選択情報に基づいて通信トポロジーを構成し、構成した通信トポロジーによって前記第１電子機器と前記第２電子機器との通信路を確立させる
各処理を実行することを特徴とする中継方法。
【０１１２】
（付記５）前記第２電子機器から変更された選択情報を受け付けた際に、変更された選択情報に基づいて通信トポロジーを再構成し、再構成した通信トポロジーによって前記第１電子機器と前記第２電子機器との通信路を確立させる処理を更に実行することを特徴とする付記４に記載の中継方法。
【０１１３】
（付記６）前記コンピュータと、前記第１電子機器および前記第２電子機器とはデータ通信を行う第１信号線および給電を行う第２信号線によって接続され、
前記第２電子機器が通信対象を指定していない場合には、前記第２電子機器に接続される第１信号線を無通信状態に設定し、第２信号線によって給電を行う処理を更に実行することを特徴とする付記４または５に記載の中継方法。
【符号の説明】
【０１１４】
１００  中継装置
１０ａ，１０ｂ，１０ｃ，１０ｄ  デバイス
【図１】
2014229936.tif 000003
【図２】
2014229936.tif 000004
【図３】
2014229936.tif 000005
【図４】
2014229936.tif 000006
【図５】
2014229936.tif 000007
【図６】
2014229936.tif 000008
【図７】
2014229936.tif 000009
【図７Ａ】
2014229936.tif 000010
【図８】
2014229936.tif 000011
【図９】
2014229936.tif 000012
【図１０】
2014229936.tif 000013
【図１１】
2014229936.tif 000014
【図１１Ａ】
2014229936.tif 000015
【図１２】
2014229936.tif 000016
【図１３】
2014229936.tif 000017
【図１４】
2014229936.tif 000018
【図１５】
2014229936.tif 000019
【図１６】
2014229936.tif 000020
【図１７】
2014229936.tif 000021
【図１８】
2014229936.tif 000022
【図１９】
2014229936.tif 000023
【図２０】
2014229936.tif 000024
【図２１】
2014229936.tif 000025