(57)【要約】  通信速度の低下を抑制する。  情報処理装置（１）は、Ｉ／Ｆ回路（１１−１〜１１−ｎ）、スイッチ（１２）および制御部（１３）を備える。Ｉ／Ｆ回路（１１−１〜１１−ｎ）は、それぞれ通信ポート（Ｐ）を有し、通信ポート（Ｐ）を介して、機器との入出力インタフェースを制御する。スイッチ（１２）は、Ｉ／Ｆ回路（１１−１〜１１−ｎ）と機器（Ｄ１〜Ｄｍ）との間に位置するマトリクススイッチであり、スイッチ指示にもとづいて、Ｉ／Ｆ回路（１１−１〜１１−ｎ）の各通信ポート（Ｐ）と機器（Ｄ１〜Ｄｍ）との接続をスイッチングする。制御部（１３）は、Ｉ／Ｆ回路（１１−１〜１１−ｎ）の通信ポートの負荷に応じて、スイッチ指示を出力してスイッチ（１２）を制御する。
2014020745.tif 000002
【特許請求の範囲】
【請求項１】
通信ポートを備え、前記通信ポートを介して少なくとも１つの機器との入出力インタフェースを制御する複数のインタフェース回路と、
前記各インタフェース回路と複数の機器との間に位置して、スイッチ指示にもとづいて、前記各インタフェース回路の前記通信ポートと前記複数の機器のそれぞれとの接続をスイッチングするスイッチと、
前記スイッチ指示を出力し、前記各通信ポートの負荷に応じて前記スイッチを制御する制御部と、
を有することを特徴とする情報処理装置。
【請求項２】
前記制御部は、前記各インタフェース回路における単位時間当たりの通信データ量が所定範囲に収まるように前記スイッチ指示を出力することを特徴とする請求の範囲第１項記載の情報処理装置。
【請求項３】
前記複数の機器ごとに、前記インタフェース回路との通信時における単位時間当たりの最大通信データ量を示す情報が記憶された記憶部をさらに有し、
前記制御部は、前記複数の機器の中から使用する機器の選択入力を受け付け、前記記憶部に記憶された情報のうち前記選択入力によって選択された機器についての最大通信データ量を示す情報にもとづいて、前記インタフェース回路当たりの通信データ量が前記所定範囲に収まるように前記スイッチ指示を出力する、
ことを特徴とする請求の範囲第２項記載の情報処理装置。
【請求項４】
前記制御部は、使用する機器の追加が要求された場合には、前記記憶部に記憶された情報のうち、前記選択された機器および追加が要求された機器についての最大通信データ量を示す情報にもとづいて、前記各インタフェース回路における単位時間当たりの通信データ量が前記所定範囲に収まるように前記スイッチ指示を更新することを特徴とする請求の範囲第３項記載の情報処理装置。
【請求項５】
前記制御部は、
オペレーティングシステムの起動前に機器制御プログラムに従って前記スイッチ指示を出力し、
前記オペレーティングシステムの起動後の運用中に使用する機器の追加が要求された場合には、前記情報処理装置を再起動させた後、前記機器制御プログラムに従って、前記記憶部に記憶された情報のうち、前記選択された機器および追加が要求された機器についての最大通信データ量を示す情報にもとづいて、前記スイッチ指示を再度出力する、
ことを特徴とする請求の範囲第４項記載の情報処理装置。
【請求項６】
前記インタフェース回路ごとに設けられ、いずれか１つの前記インタフェース回路の前記通信ポートに接続する第１の通信ポートと、前記第１の通信ポートにそれぞれ接続する複数の第２の通信ポートとをそれぞれ備える複数のハブをさらに有し、
前記スイッチは、前記ハブがそれぞれ備える複数の前記第２の通信ポートと前記各機器との接続をスイッチングする、
ことを特徴とする請求の範囲第１項〜第５項のいずれか１項に記載の情報処理装置。
【請求項７】
通信ポートを備え、前記通信ポートを介して、少なくとも１つの機器との入出力インタフェースを制御する複数のインタフェース回路と、制御部とを有する情報処理装置の制御方法において、
前記制御部が、前記各通信ポートの負荷に応じてスイッチ指示を出力し、
前記各インタフェース回路と複数の機器との間に配置されたスイッチが、前記スイッチ指示にもとづいて、前記各インタフェース回路の前記通信ポートと前記各機器との接続をスイッチングする、
ことを特徴とする情報処理装置の制御方法。
【請求項８】
前記スイッチ指示を出力する処理では、前記制御部は、前記各インタフェース回路における単位時間当たりの通信データ量が所定範囲に収まるように前記スイッチ指示を出力することを特徴とする請求の範囲第７項記載の情報処理装置の制御方法。
【請求項９】
前記制御部が、前記複数の機器の中から使用する機器の選択入力を受け付ける処理をさらに含み、
前記スイッチ指示を出力する処理では、前記制御部は、前記複数の機器ごとに、前記インタフェース回路との通信時における単位時間当たりの最大通信データ量を示す情報が記憶された記憶部を参照し、前記記憶部に記憶された情報のうち前記選択入力によって選択された機器についての最大通信データ量を示す情報にもとづいて、前記各インタフェース回路における単位時間当たりの通信データ量が前記所定範囲に収まるように前記スイッチ指示を出力する、
ことを特徴とする請求の範囲第８項記載の情報処理装置の制御方法。
【請求項１０】
使用する機器の追加が要求された場合に、前記制御部が、前記記憶部に記憶された情報のうち、前記選択された機器および追加が要求された機器についての最大通信データ量を示す情報にもとづいて、前記各インタフェース回路における単位時間当たりの通信データ量が前記所定範囲に収まるように前記スイッチ指示を更新する、
処理をさらに含むことを特徴とする請求の範囲第９項記載の情報処理装置の制御方法。
【請求項１１】
前記選択入力に応じて前記スイッチ指示を出力する処理では、前記制御部は、オペレーティングシステムの起動前に機器制御プログラムに従って前記スイッチ指示を出力し、
前記オペレーティングシステムの起動後の運用中に使用する機器の追加が要求された場合には、前記制御部は、前記情報処理装置を再起動させた後、前記機器制御プログラムに従って、前記記憶部に記憶された情報のうち、前記選択された機器および追加が要求された機器についての最大通信データ量を示す情報にもとづいて、前記スイッチ指示を再度出力する、
ことを特徴とする請求の範囲第１０項記載の情報処理装置の制御方法。
【請求項１２】
前記情報処理装置は、前記インタフェース回路ごとに設けられ、いずれか１つの前記インタフェース回路の前記通信ポートに接続する第１の通信ポートと、前記第１の通信ポートにそれぞれ接続する複数の第２の通信ポートとをそれぞれ備える複数のハブを有し、
前記スイッチは、前記ハブがそれぞれ備える複数の前記第２の通信ポートと前記各機器との接続をスイッチングする、
ことを特徴とする請求の範囲第７項〜第１１項のいずれか１項に記載の情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置およびその制御方法に関する。
【背景技術】
【０００２】
コンピュータ拡張バスの規格としては、ＰＣＩ（Peripheral Component Interconnect）やＰＣＩ Ｅｘｐｒｅｓｓが主流であったが、最近ではＵＳＢ（Universal Serial Bus）も使用されるようになっている。【０００３】
ＵＳＢは、主にコンピュータと周辺機器とを接続するインタフェースであって、基板の省スペース化やＰＣ（Personal Computer）の小型化などに伴って多用されている。また、近年では、より高速な通信が可能なＵＳＢ３．０が規格化されている。【０００４】
ＵＳＢに関する技術としては、１系統のＵＳＢデバイスインタフェースを通じて２以上のＵＳＢホストと多重接続する技術がある。また、ＵＳＢに接続された機器の状態に応じて、アプリケーションからＵＳＢデバイスへのアクセス制御を行う技術もある。【０００５】
一方、ＨＢＡ（Host Bus Adopter）と呼ばれるインタフェース回路に関する技術としては、アプリケーションから発生したＩ／Ｏ（In/Out）リクエストを複数のＩ／Ｆ回路に分散する技術がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−１７６１５２号公報
【特許文献２】特開２００７−２７９９７６号公報
【非特許文献】
【０００７】
【非特許文献１】Keith R. Kammer，“ストレージの可用性を向上するDell｜EMC Power Path”，Dell Power Solutions ２００２年８月版
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ＵＳＢの転送速度の向上に伴い、ＵＳＢホストに接続されるＵＳＢデバイスも高機能化が進み、取り扱うデータ量も多くなってきている。このため、１つのＵＳＢホストに複数のＵＳＢデバイスが接続して動作するような場合、輻輳が生じて、ＵＳＢホストと各ＵＳＢデバイスとの間の通信速度が低下してしまう場合がある。【０００９】
１つの側面では、本発明は、接続された複数の機器との通信速度の低下を抑制する情報処理装置およびその制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
１つの案では、情報処理装置が提供される。情報処理装置は、複数のインタフェース回路、スイッチおよび制御部を有する。複数のインタフェース回路のそれぞれは、通信ポートを備え、通信ポートを介して少なくとも１つの機器との入出力インタフェースを制御する。スイッチは、各インタフェース回路と複数の機器との間に位置して、スイッチ指示にもとづいて、各インタフェース回路の通信ポートと複数の機器のそれぞれとの接続をスイッチングする。制御部は、スイッチ指示を出力し、各通信ポートの負荷に応じてスイッチを制御する。【００１１】
また、１つの案では、上記情報処理装置と同様の制御を実行する、情報処理装置の制御方法が提供される。
【発明の効果】
【００１２】
１態様によれば、情報処理装置およびその制御方法おいて、通信速度の低下を抑制することが可能になる。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
【図面の簡単な説明】
【００１３】
【図１】第１の実施の形態に係る情報処理装置の構成例を示す図である。
【図２】情報処理装置のハードウェア構成例を示す図である。
【図３】ＵＳＢスイッチの内部構成例を示す図である。
【図４】マトリクステーブルの構成例を示す図である。
【図５】占有率テーブルの構成例を示す図である。
【図６】ＢＩＯＳ選択メニューの画面例を示す図である。
【図７】第２の実施の形態のスイッチ制御の動作を示すフローチャートである。
【図８】第２の実施の形態のスイッチ制御の動作を示すフローチャートである。
【図９】運用開始後のデバイス追加の監視処理を示すフローチャートである。
【図１０】選択メニューの画面例を示す図である。
【図１１】第３の実施の形態のスイッチ制御の動作を示すフローチャートである。
【図１２】第３の実施の形態のスイッチ制御の動作を示すフローチャートである。
【図１３】第３の実施の形態のスイッチ制御の動作を示すフローチャートである。
【図１４】ＵＳＢホストに接続するＵＳＢデバイスを示す図である。
【図１５】ＵＳＢデバイスの配置例を示す図である。
【図１６】ＵＳＢデバイスの配置例を示す図である。
【図１７】ＵＳＢデバイスの配置例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態を図面を参照して説明する。
〔第１の実施の形態〕
図１は第１の実施の形態に係る情報処理装置の構成例を示す図である。情報処理装置１は、Ｉ／Ｆ回路（インタフェース回路）１１−１〜１１−ｎ、スイッチ１２および制御部１３を備える。
【００１５】
Ｉ／Ｆ回路１１−１〜１１−ｎは、通信ポートＰを有し、通信ポートＰを介して、機器Ｄ１〜Ｄｍとの入出力インタフェースを制御する。なお、機器Ｄ１〜Ｄｍは、装置内部にあらかじめ搭載されている内部機器であってもよいし、装置外部から接続される外部機器であってもよい。
【００１６】
スイッチ１２は、Ｉ／Ｆ回路１１−１〜１１−ｎと機器Ｄ１〜Ｄｍ間に配置される。スイッチ１２は、スイッチ指示にもとづいて、Ｉ／Ｆ回路１１−１〜１１−ｎの各通信ポートＰと機器Ｄ１〜Ｄｍとの接続をスイッチングする。
【００１７】
制御部１３は、スイッチ指示をスイッチ１２へ出力し、Ｉ／Ｆ回路１１−１〜１１−ｎの各通信ポートＰの負荷に応じて、スイッチ１２を制御する。例えば、制御部１３は、Ｉ／Ｆ回路１１−１〜１１−ｎのそれぞれにおける単位時間当たりの通信データ量が所定範囲に収まるようにスイッチ指示を出力する。
【００１８】
ここで、図１の下部に示すように、スイッチ１２が、Ｉ／Ｆ回路１１−１、１１−２と機器Ｄ１〜Ｄ４とのスイッチングを行う場合の例について説明する。また、機器Ｄ１の負荷が０．５、機器Ｄ２の負荷が０．６、機器Ｄ３の負荷が０．５、機器Ｄ４の負荷が０．３であるとする。ここで言う「負荷」とは、例えば、Ｉ／Ｆ回路１１−１，１１−２のそれぞれが単位時間に通信可能な最大データ量を１としたときの、機器ごとの単位時間当たりの最大通信データ量を示す。
【００１９】
接続状態Ｓｔ１では、Ｉ／Ｆ回路１１−１の通信ポートＰ１に機器Ｄ１、Ｄ２が接続し、Ｉ／Ｆ回路１１−２の通信ポートＰ２に機器Ｄ３、Ｄ４が接続している。このとき、通信ポートＰ１の負荷が１．１、通信ポートＰ２の負荷が０．８となるため、Ｉ／Ｆ回路１１−２では、機器Ｄ３、Ｄ４の負荷は許容範囲内にあるが、Ｉ／Ｆ回路１１−１では、機器Ｄ１、Ｄ２の負荷が許容範囲を超えていることになる。
【００２０】
これに対し、接続状態Ｓｔ２は、本実施の形態における制御部１３のスイッチ制御により機器配置を行った場合の状態であり、スイッチ１２を介して、Ｉ／Ｆ回路１１−１の通信ポートＰ１には、機器Ｄ１、Ｄ３が接続し、Ｉ／Ｆ回路１１−２の通信ポートＰ２には、機器Ｄ２、Ｄ４が接続している。この接続状態Ｓｔ２では、通信ポートＰ１の負荷が１、通信ポートＰ２の負荷が０．９となる。このため、Ｉ／Ｆ回路１１−１、１１−２の両方で機器の負荷は許容範囲内に収まることになる。
【００２１】
このように、情報処理装置１は、Ｉ／Ｆ回路と機器とを互いに接続するスイッチに対して、Ｉ／Ｆ回路の通信ポートの負荷に応じて、Ｉ／Ｆ回路の通信ポートと機器との接続をフレキシブルにスイッチ制御する。
【００２２】
これにより、Ｉ／Ｆ回路と、Ｉ／Ｆ回路に接続された複数の機器との間の通信速度の低下を抑制することが可能になり、また、機器の性能低下を抑制して、パフォーマンスを向上させることが可能になる。
【００２３】
〔第２の実施の形態〕
次に、第２の実施の形態として、第１の実施の形態で示した機能を適用した、ＵＳＢインタフェースを有する情報処理装置について説明する。図２は情報処理装置のハードウェア構成例を示す図である。情報処理装置１ａは、図２に示すハードウェア構成を有するコンピュータとして実現される。
【００２４】
情報処理装置１ａは、チップセット２０、ＵＳＢハブ３１、３２、ＵＳＢスイッチ３３およびテーブルレジスタ３４を備える。ＵＳＢデバイスｄ１〜ｄ８は、装置内部にあらかじめ搭載されていてもよいし、装置外部から接続されるものでもよい。
【００２５】
チップセット２０は、ＵＳＢホスト２１、２２、Ｉ／Ｏ（入出力）コントローラ２３、ＣＰＵ（Central Processing Unit）２４、ＨＤＤ（Hard Disk Drive）２５、ＲＡＭ（Random Access Memory）２６、フラッシュメモリ２７およびグラフィックＩ／Ｆ２８を備える。チップセット２０の中に、ＵＳＢハブ３１、３２、ＵＳＢスイッチ３３およびテーブルレジスタ３４の少なくとも１つが含まれる構成でもよい。
【００２６】
なお、ＵＳＢホスト２１、２２は、図１のＩ／Ｆ回路１１−１〜１１−ｎの機能を実現する。また、ＵＳＢスイッチ３３は、図１のスイッチ１２に該当し、ＣＰＵ２４は、図１の制御部１３の機能を実現する。さらに、ＵＳＢデバイスｄ１〜ｄ８は、図１の機器Ｄ１〜Ｄｍに該当する。
【００２７】
２つのＵＳＢホスト２１、２２には、それぞれ４ポートのＵＳＢハブ３１、３２が接続されている。ＵＳＢホスト２１の通信ポートｐ１は、ＵＳＢハブ３１のポートａ０と接続し、ＵＳＢホスト２２の通信ポートｐ２は、ＵＳＢハブ３２のポートｂ０と接続する。これにより、情報処理装置１ａは、ＵＳＢハブ３１，３２による合計８ポートのＵＳＢインタフェースに８個のＵＳＢデバイスｄ１〜ｄ８を接続可能な構成になっている。
【００２８】
また、ＵＳＢハブ３１のＵＳＢポートａ１〜ａ４はそれぞれ、ＵＳＢスイッチ３３のスイッチポートｓ１−１〜ｓ１−４と接続し、ＵＳＢハブ３２のＵＳＢポートｂ１〜ｂ４はそれぞれ、ＵＳＢスイッチ３３のスイッチポートｓ２−１〜ｓ２−４と接続する。さらに、ＵＳＢスイッチ３３のデバイスポートｓ１〜ｓ８はそれぞれ、ＵＳＢデバイスｄ１〜ｄ８と接続する。
【００２９】
ＵＳＢホスト２１、２２は、ＵＳＢインタフェースにおけるホストコントローラとして機能する。ＵＳＢハブ３１、３２は、ＵＳＢホスト２１、２２の１つの通信ポートｐ１、ｐ２にそれぞれ接続して、複数のインタフェースを収容可能にする集線部である。
【００３０】
ＵＳＢスイッチ３３は、マトリクススイッチであり、外部設定に応じて、ＵＳＢインタフェースの接続先を変更して、ＵＳＢポートとＵＳＢデバイスｄ１〜ｄ８の接続をフレキシブルに変更する。テーブルレジスタ３４は、後述のマトリクステーブルＴ１および占有率テーブルＴ２を保持してテーブル管理を行う。
【００３１】
チップセット２０において、ＣＰＵ２４には、バスを介して、Ｉ／Ｏコントローラ２３、ＨＤＤ２５、ＲＡＭ２６およびフラッシュメモリ２７が接続している。フラッシュメモリ２７には、ＢＩＯＳ（Basic Input／Output System）プログラムが書き込まれている。ＣＰＵ２４は、電源投入時や装置リセット時などに、ＯＳ（Operating System）を実行する前にフラッシュメモリ２７のＢＩＯＳプログラムを実行する。
【００３２】
ＲＡＭ２６は、情報処理装置１ａの一次記憶デバイスとして機能する。ＲＡＭ２６には例えば、ＣＰＵ２４に実行させるＢＩＯＳプログラム、ＯＳプログラムおよびアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ２６には、ＣＰＵ２４による処理に必要な各種データが格納される。
【００３３】
ＨＤＤ２５は、情報処理装置１ａの二次記憶デバイスとして機能する。ＨＤＤ２５には例えば、ＣＰＵ２４が実行するＯＳプログラムやアプリケーションプログラム、各プログラムの実行に必要な各種のデータが格納される。なお、二次記憶デバイスとしては、ＳＳＤ（Solid State Drive）などの他の種類の不揮発性記憶装置が使用されてもよい。
【００３４】
グラフィックＩ／Ｆ２８は、ＣＰＵ２４からの指示に応じて、モニタ２８ａに対して画像を表示させる。なお、モニタ２８ａは、情報処理装置１ａの外部に接続されていてもよく、あるいは、情報処理装置１ａの内部に搭載されていてもよい。
【００３５】
Ｉ／Ｏコントローラ２３は、ＣＰＵ２４、ＵＳＢホスト２１、２２、ＨＤＤ２５、グラフィックＩ／Ｆ２８およびテーブルレジスタ３４間の入出力のＩ／Ｆ制御を行う。
次にＵＳＢスイッチ３３の内部構成について説明する。図３はＵＳＢスイッチの内部構成例を示す図である。図３では、ＵＳＢデバイスｄ１〜ｄ８の内、ＵＳＢデバイスｄ１の接続部分について示している。ＵＳＢデバイスｄ２〜ｄ８の各接続部分についても同様な構成である。すなわち、ＵＳＢスイッチ３３は、実際には、図３に示す構成を接続されたＵＳＢデバイスの数だけ（ここでは８個分）備えている。
【００３６】
ＵＳＢスイッチ３３は、ＵＳＢデバイスｄ１の接続部分に対して、セレクタ３−１−１〜３−１−８を有している。ＵＳＢスイッチ３３のスイッチポートｓ１−１〜ｓ１−４、ｓ２−１〜ｓ２−４はそれぞれ、セレクタ３−１−１〜３−１−８の一方の端子と接続する。
【００３７】
また、セレクタ３−１−１〜３−１−８の他方の端子にはそれぞれ、セレクト信号ＳＥＬ１−１〜ＳＥＬ１−８が接続する。セレクト信号ＳＥＬ１−１〜ＳＥＬ１−８は、ＣＰＵ２４の指示にもとづき、Ｉ／Ｏコントローラ２３から出力される制御信号である。
【００３８】
セレクト信号がイネーブルになると、該当セレクタがＯＮして、ＵＳＢスイッチ３３のＵＳＢホスト側のスイッチポートと、ＵＳＢデバイス側のデバイスポートとが接続する。例えば、セレクト信号ＳＥＬ１−１がイネーブルになると、セレクタ３−１−１がＯＮする。すると、スイッチポートｓ１−１とデバイスポートｓ１とが導通して接続し、ＵＳＢデバイスｄ１は、図２に示したＵＳＢハブ３１を介して、ＵＳＢホスト２１の通信ポートｐ１に接続することになる。
【００３９】
次にテーブルレジスタ３４で保持されるマトリクステーブルＴ１および占有率テーブルＴ２について説明する。図４はマトリクステーブルの構成例を示す図である。
マトリクステーブルＴ１においては、各行には８個のＵＳＢスイッチポートｓ１−１〜ｓ１−４、ｓ２−１〜ｓ２−４が示され、各列には８個のＵＳＢデバイスポートｓ１〜ｓ８にそれぞれ接続されたＵＳＢデバイスｄ１〜ｄ８が示されている。また、マトリクステーブルＴ１においては、互いに対応付けられたＵＳＢスイッチポートとＵＳＢデバイスとが接続されていない場合には“０”が記載され、接続される場合には“１”が記載される。
【００４０】
ＣＰＵ２４は、マトリクステーブルＴ１に対して“１”または“０”の設定を行う。ここで、ＵＳＢスイッチポートとＵＳＢデバイスとは１対１で繋がることになるため、各行および各列において、“１”が２つ以上登録されることはない。ＣＰＵ２４は、マトリクステーブルＴ１への設定が完了すると、マトリクステーブルＴ１内で“１”となっている箇所を接続するように、図３に示したセレクト信号を発生させる。
【００４１】
なお、上記のように、ＵＳＢスイッチポートとＵＳＢデバイスとは、１対１で繋がることになるため、各行および各列において、“１”が２つ以上登録されることはなく、各行および各列の総和は常に“１”となる。ＣＰＵ２４は、マトリクステーブルＴ１の接続マトリクスを任意に変更可能だが、変更後の各行および各列の総和が“１”になっていることを確認するようにしてもよい。
【００４２】
この場合、例えば、ＣＰＵ２４は、総和が“２”以上の場合は、重複していると認識して、接続マトリクスを変更前の状態に戻すか、再設定する。また、総和が“０”の場合、未接続のエラーを意味するが、ＣＰＵ２４は、総和“０”を許可し、例えば、不要なＵＳＢデバイスを使用不可にする運用を行う場合などに用いてもよい。
【００４３】
図５は占有率テーブルの構成例を示す図である。占有率テーブルＴ２は、ＵＳＢデバイス名、稼働時バス占有率（稼働時の最大バス占有率）、非稼働時バス占有率および使用フラグの項目を有する。ＣＰＵ２４は、各ＵＳＢデバイスから個々のバス占有率（稼働時、非稼働時）を取得して占有率テーブルＴ２に登録する。
【００４４】
なお、バス占有率とは、該当ＵＳＢデバイスの通信時において、該当ＵＳＢデバイスが接続しているＵＳＢホストのバスを占有する割合を示す。より具体的には、バス占有率とは、ＵＳＢホストの単位時間当たりの最大通信データ量に対する、該当ＵＳＢデバイスの単位時間当たりの通信データ量の割合を示す。
【００４５】
稼働時バス占有率とは、該当ＵＳＢデバイスが稼働した際に、該当ＵＳＢデバイスが接続しているＵＳＢホストのバスを占有する割合の最大値である。また、非稼働時バス占有率とは、該当ＵＳＢデバイスが稼働していないときに、該当ＵＳＢデバイスが接続しているＵＳＢホストのバスを占有する割合の最大値である。
【００４６】
使用フラグとは、ユーザによって該当ＵＳＢデバイスを使用する（該当ＵＳＢデバイスを稼働させる）ように設定されているか否かを示すフラグ情報である。
ここで、１つのＵＳＢホストに複数のＵＳＢデバイスが接続して、ＵＳＢインタフェースのバス占有率の総和が１００％を超えると、接続している中のＵＳＢデバイスの幾つかが動作不可になったり、性能が劣化したりすることになる。
【００４７】
例えば、ＵＳＢネットワークデバイス（ＷＷＡＮ：Wireless Wide Area Network）＃１、ＵＳＢタッチパネル、ＵＳＢカメラ＃１１が、１つのＵＳＢホストに接続して、同時に動作する場合、図５の数値例よりバス占有率の総和は40＋10＋50＋20＝120％となる。なお、この計算ではシステムの占有率２０％が追加されている。システムの占有率とは、各ＵＳＢデバイスが実データを送受信していない状態において、ＵＳＢホストとＵＳＢデバイスとの間で行われる通信によるバス占有率である。
【００４８】
システムの占有率２０％が追加されるので、実際は、ＵＳＢデバイスの占有率だけでは、最大総和は８０％以下にすることになる。ＣＰＵ２４では、ＵＳＢインタフェースの占有率が１００％を超えた時点で、動作させようとしているＵＳＢデバイスが動作不可であることをユーザに通知する。
【００４９】
上記の例では、ＵＳＢネットワークデバイス＃１とＵＳＢタッチパネルを動作させた時点で、ＵＳＢインタフェースの占有率は３０％（＝100−40−10−20）しか余裕がなくなる。このため、ＣＰＵ２４は、稼働時に占有率５０％を要するＵＳＢカメラ＃１１は動作できないと判断してエラー表示を行う。
【００５０】
次に、具体的なスイッチ制御の処理手順について説明する。本実施の形態は、ＯＳ（Operating System）起動前に、ＢＩＯＳプログラムにもとづきスイッチ制御を行うものである。
【００５１】
図６はＢＩＯＳ選択メニューの画面例を示す図である。電源投入後のＯＳ起動前に、情報処理装置１ａのＧＵＩ（Graphical User Interface）を通じて、ＢＩＯＳ選択メニューｍ１が表示される。ユーザは、ＢＩＯＳ選択メニューｍ１にしたがって、使用するＵＳＢデバイスまたは使用しないＵＳＢデバイスを選択して設定する。
【００５２】
図７、図８は第２の実施の形態のスイッチ制御の動作を示すフローチャートである。この図７、図８に示すフローは、ＣＰＵ２４がＢＩＯＳプログラムを実行することで実現される処理である。すなわち、情報処理装置１ａが電源投入あるいは再起動要求に応じて起動すると、ＣＰＵ２４は、ＯＳプログラムを読み込む前にフラッシュメモリ２７からＢＩＯＳプログラムを読み込み、ＢＩＯＳプログラムに従って以下の処理を実行する。
【００５３】
〔Ｓ１〕ＣＰＵ２４は、フラッシュメモリ２７に格納された起動フラグの状態を確認する。起動フラグは、情報処理装置１ａが起動したときに、使用するＵＳＢデバイスをユーザに選択させるか、または現在使用しているＵＳＢデバイスをそのまま使用するかを示すフラグ情報である。なお、起動フラグの初期値は“１”である。
【００５４】
〔Ｓ２〕ＣＰＵ２４は、起動フラグ＝１の場合はステップＳ３へ行き、起動フラグ＝０の場合はステップＳ５へ行く。ここでは、起動フラグ＝１は、ＢＩＯＳ選択メニューｍ１を介したユーザからの選択設定を受け付け、起動フラグ＝０は、選択設定を受け付けずに現在の占有率テーブルＴ２における使用フラグの設定状態をそのまま使用するものとする。なお、起動フラグ＝０の場合、ＣＰＵ２４は、起動フラグを“１”に更新して、ステップＳ５の処理を実行する。
【００５５】
〔Ｓ３〕ＣＰＵ２４は、ＢＩＯＳ選択メニューｍ１をモニタ２８ａに表示させる。そして、ユーザ操作により、使用するＵＳＢデバイスが選択される。
〔Ｓ４〕ＣＰＵ２４は、選択されたＵＳＢデバイスの使用フラグをＯＮにして、占有率テーブルＴ２に登録する。
【００５６】
〔Ｓ４ａ〕ＣＰＵ２４は、マトリクステーブルＴ１におけるすべての設定値を“０”に初期化する。
〔Ｓ５〕ＣＰＵ２４は、占有率テーブルＴ２を参照し、使用フラグがＯＮになっている使用対象ＵＳＢデバイスの中から、１つの使用対象ＵＳＢデバイスの稼働時バス占有率を取得する。
【００５７】
〔Ｓ６〕ＣＰＵ２４は、使用対象ＵＳＢデバイスに接続するＵＳＢホストを選択し、選択したＵＳＢホストに対応する一時的な計算値である「占有率加算値」に対し、初期値としてシステム占有率（例えば２０％）を設定する。なお、この占有率加算値はＵＳＢホストごとに作成され、各ＵＳＢホストに対するＵＳＢデバイスの割り当てが完了するまで、例えば情報処理装置１ａのＲＡＭ２６に保持される。
【００５８】
〔Ｓ７〕ＣＰＵ２４は、該当ＵＳＢホストに空きのＵＳＢポートがあるか否かを判断する。ＵＳＢポートの空きが無ければステップＳ８へ行き、空きがあればステップＳ１０へ行く。
【００５９】
〔Ｓ８〕ＣＰＵ２４は、他のＵＳＢホストが存在するか否かを判断する。他のＵＳＢホストがあればステップＳ６へ戻り、他のＵＳＢホストが無ければステップＳ９へ行く。
〔Ｓ９〕ＣＰＵ２４は、ＵＳＢ配置不可のためエラーをモニタ２８ａに表示させる。なお、ステップＳ９の処理後は、後述のステップＳ３１へ行く。
【００６０】
〔Ｓ１０〕ＣＰＵ２４は、次の使用対象ＵＳＢデバイスを選択する。そして、ＣＰＵ２４は、占有率テーブルＴ２を参照し、選択した使用対象ＵＳＢデバイスの稼働時バス占有率を取得する。
【００６１】
〔Ｓ１１〕ＣＰＵ２４は、占有率加算値に対して、ステップＳ１０で取得した稼働時バス占有率を加算する。
〔Ｓ１２〕ＣＰＵ２４は、占有率加算値が１００％を超えるか否かを判断する。１００％を超える場合はステップＳ８へ戻り、１００％以下の場合はステップＳ１３へ行く。
【００６２】
〔Ｓ１３〕ＣＰＵ２４は、該当ＵＳＢホストに繋がる未割り当てのＵＳＢスイッチポートに使用対象ＵＳＢデバイスを割り当てる。この場合、ＣＰＵ２４は、マトリクステーブルＴ１のＵＳＢスイッチポートと使用対象ＵＳＢデバイスとの該当交差欄に“１”を設定する。
【００６３】
〔Ｓ１４〕ＣＰＵ２４は、割り当てられていない使用対象ＵＳＢデバイスがあるか否かを判断する。未割り当ての使用対象ＵＳＢデバイスがある場合はステップＳ７へ戻り、未割り当ての使用対象ＵＳＢデバイスが無い場合はステップＳ１５へ行く。
【００６４】
〔Ｓ１５〕ステップＳ１４の段階で、使用対象ＵＳＢデバイスをＵＳＢホストに割り当てる処理が完了したので、次に、ＣＰＵ２４は、使用しないＵＳＢデバイス（未使用ＵＳＢデバイス）の割り当て処理を行う。
【００６５】
〔Ｓ１６〕ＣＰＵ２４は、未使用ＵＳＢデバイスを割り当てるためのＵＳＢホストを選択する。
〔Ｓ１７〕ＣＰＵ２４は、選択した該当ＵＳＢホストに繋がるＵＳＢスイッチポートの中に、空きのＵＳＢスイッチポートがあるか否かを判断する。空きのＵＳＢスイッチポートが無い場合はステップＳ１８へ行き、空きのＵＳＢスイッチポートがある場合はステップＳ２０へ行く。
【００６６】
〔Ｓ１８〕ＣＰＵ２４は、他のＵＳＢホストが存在するか否かを判断する。他のＵＳＢホストがあればステップＳ１６へ戻り、他のＵＳＢホストが無ければステップＳ１９へ行く。
【００６７】
〔Ｓ１９〕ＣＰＵ２４は、ＵＳＢ配置不可のためエラーをモニタ２８ａに表示させる。なお、ステップＳ１９の処理後は、後述のステップＳ３１へ行く。
〔Ｓ２０〕ＣＰＵ２４は、次の未使用ＵＳＢデバイスを選択する。そして、ＣＰＵ２４は、占有率テーブルをＴ２参照し、選択した未使用ＵＳＢデバイスの非稼働時バス占有率を取得する。
【００６８】
〔Ｓ２１〕ＣＰＵ２４は、該当ＵＳＢホストに対応する占有率加算値に対して、ステップＳ２０で取得した未使用ＵＳＢデバイスの非稼働時バス占有率を加算する。
〔Ｓ２２〕ＣＰＵ２４は、システム占有率を含めて、加算結果の占有率の総和が１００％以下になるか否かを判断する。１００％を超えた場合はステップＳ１８へ戻り、１００％以下の場合はステップＳ２３へ行く。
【００６９】
〔Ｓ２３〕ＣＰＵ２４は、該当ＵＳＢホストに繋がる未割り当てのＵＳＢスイッチポートに未使用ＵＳＢデバイスを割り当てる。この場合、ＣＰＵ２４は、マトリクステーブルＴ１のＵＳＢスイッチポートと未使用対象ＵＳＢデバイスとの該当交差欄に“１”を設定する。
【００７０】
〔Ｓ２４〕ＣＰＵ２４は、割り当てられていない未使用ＵＳＢデバイスが、まだあるか否かを判断する。未割り当ての未使用ＵＳＢデバイスがある場合はステップＳ１７へ戻り、未割り当ての未使用ＵＳＢデバイスが無い場合はステップＳ２５へ行く。
【００７１】
なお、以上のステップＳ１３〜Ｓ２４では、未使用ＵＳＢデバイスについても電源が投入される場合について示した。しかしながら、例えば、未使用ＵＳＢデバイスについては電源を投入しない場合、ＣＰＵ２４は、ステップＳ１３〜Ｓ２４の処理の代わりに、未割り当てのＵＳＢスイッチポートに対して未使用ＵＳＢデバイスを順次割り当てるだけでもよい。
【００７２】
〔Ｓ２５〕ＣＰＵ２４は、設定が完了したマトリクステーブルＴ１にもとづいて、ＵＳＢスイッチ３３に対してセレクト信号を出力して、ＵＳＢスイッチ３３におけるポートの接続状態を制御する。
【００７３】
このように、第１の実施の形態では、ＣＰＵ２４は、メモリに記録されているＢＩＯＳプログラムをＯＳ起動前に実行してスイッチ制御を行う。ＣＰＵ２４は、例えば、ＵＳＢホスト２１に対し、ＵＳＢデバイスの占有率を累積加算し、１００％を超えなければ、ＵＳＢホスト２１に繋がるＵＳＢハブ３１の各ＵＳＢポートにＵＳＢデバイスを割り当てる。
【００７４】
ＣＰＵ２４は、占有率が１００％を超えた時点で、次のＵＳＢホスト２２に移り、同様に占有率を確認しながらＵＳＢデバイスを割り当てる。このような処理を、使用するＵＳＢデバイスが無くなるまで繰り返す。
【００７５】
その後、ＣＰＵ２４は、使用しないＵＳＢデバイスは、空いているＵＳＢポートに割り当てる。なお、当然ながら、１つのＵＳＢホストに対して繋がっているＵＳＢポート数が決まっているので、占有率に余裕があっても接続できるＵＳＢポートが無ければ次のＵＳＢホストへ移る。
【００７６】
ＣＰＵ２４は、すべてのＵＳＢデバイスの配置が完了したら、ＯＳプログラムを起動し、各ＵＳＢデバイスのドライバをインストールする。これにより、情報処理装置１ａの運用が開始される。
【００７７】
図９は、運用開始後のデバイス追加の監視処理を示すフローチャートである。この図９のフローは、ＯＳプログラムの起動後に、ＣＰＵ２４が所定の監視用アプリケーションプログラムを実行することで実現される。
【００７８】
〔Ｓ３１〕ＣＰＵ２４は、追加されたＵＳＢデバイスがあるか否かを判断する。ＵＳＢデバイスが追加されるとは、例えば、他のアプリケーションプログラムの実行によって未使用ＵＳＢデバイスの動作が要求される、または未接続のＵＳＢポートに新たなＵＳＢデバイスが接続される等が該当する。ＣＰＵ２４は、追加されたＵＳＢデバイスがある場合は、ステップＳ３２に進み、無ければステップＳ３１の判断を一定時間ごとに繰り返す。
【００７９】
〔Ｓ３２〕ＣＰＵ２４は、追加されたＵＳＢデバイスの使用フラグをＯＮにして、占有率テーブルＴ２に登録する。
〔Ｓ３３〕ＣＰＵ２４は、フラッシュメモリ２７の起動フラグを“１”から“０”に更新する。なお、ステップＳ３２、Ｓ３３の処理順は逆でもよい。
【００８０】
〔Ｓ３４〕ＣＰＵ２４は、情報処理装置１ａを再起動させる。
これにより、再起動後の情報処理装置１ａでは、図７、図８の処理が再度実行されて、マトリクステーブルＴ１が再設定され、ＵＳＢスイッチ３３に対して再設定されたマトリクステーブルＴ１にもとづくセレクト信号が出力される。なお、再起動後の状態では起動フラグは“０”となるので、図７のステップＳ３、Ｓ４がスキップされて、再起動直前における使用フラグの設定値がそのまま使用される。これにより、追加されたＵＳＢデバイスの稼働時バス占有率が加味されたスイッチ制御が行われる。
【００８１】
〔第３の実施の形態〕
第３の実施の形態は、第２の実施の形態の情報処理装置１ａのスイッチ制御を、ＢＩＯＳプログラムを使用せずにすべてアプリケーションプログラムの実行によって行うように変形したものである。以下、第３の実施の形態について、第２の実施の形態と同じ符号を用いて説明する。
【００８２】
図１０は選択メニューの画面例を示す図である。ＯＳ起動後の運用中に、ＣＰＵ２４が所定のアプリケーションプログラムを実行することにより、選択メニューｍ２が表示される。ユーザは、選択メニューｍ２にしたがって、使用するＵＳＢデバイスまたは使用しないＵＳＢデバイスを選択・設定する。
【００８３】
図１１〜図１３は第３の実施の形態のスイッチ制御の動作を示すフローチャートである。この図１１〜図１３に示すフローは、ＣＰＵ２４がアプリケーションプログラムを実行することで実現される処理である。すなわち、ＣＰＵ２４は、ＢＩＯＳプログラムを使用せずに、ＨＤＤ２５からアプリケーションプログラムを読み込み、アプリケーションプログラムに従って以下の処理を実行する。
【００８４】
〔Ｓ４１〕ＣＰＵ２４は、選択メニューｍ２をモニタ２８ａに表示させる。そして、ユーザ操作により、使用するＵＳＢデバイスが選択される。
〔Ｓ４２〕ＣＰＵ２４は、選択されたＵＳＢデバイスの使用フラグをＯＮにして、占有率テーブルＴ２に登録する。
【００８５】
〔Ｓ４３〕ＣＰＵ２４は、マトリクステーブルＴ１におけるすべての設定値を“０”に初期化する。
〔Ｓ４４〕ＣＰＵ２４は、占有率テーブルＴ２を参照し、使用フラグがＯＮになっている使用対象ＵＳＢデバイスの中から、１つの使用対象ＵＳＢデバイスの稼働時バス占有率を取得する。
【００８６】
〔Ｓ４５〕ＣＰＵ２４は、使用対象ＵＳＢデバイスに接続するＵＳＢホストを選択し、選択したＵＳＢホストに対応する一時的な計算値である「占有率加算値」に対し、初期値としてシステム占有率（例えば２０％）を設定する。なお、この占有率加算値はＵＳＢホストごとに作成され、各ＵＳＢホストに対するＵＳＢデバイスの割り当てが完了するまで、例えば情報処理装置１ａのＲＡＭ２６に保持される。
【００８７】
〔Ｓ４６〕ＣＰＵ２４は、該当ＵＳＢホストに空きのＵＳＢポートがあるか否かを判断する。ＵＳＢポートの空きが無ければステップＳ４７へ行き、空きがあればステップＳ４９へ行く。
【００８８】
〔Ｓ４７〕ＣＰＵ２４は、他のＵＳＢホストが存在するか否かを判断する。他のＵＳＢホストがあればステップＳ４５へ戻り、他のＵＳＢホストが無ければステップＳ４８へ行く。
【００８９】
〔Ｓ４８〕ＣＰＵ２４は、ＵＳＢ配置不可のためエラーをモニタ２８ａに表示させる。なお、ステップＳ４８の処理後は、前述のステップＳ３１へ行く。
〔Ｓ４９〕ＣＰＵ２４は、次の使用対象ＵＳＢデバイスを選択する。そして、ＣＰＵ２４は、占有率テーブルＴ２を参照し、選択した使用対象ＵＳＢデバイスの稼働時バス占有率を取得する。
【００９０】
〔Ｓ５０〕ＣＰＵ２４は、占有率加算値に対して、ステップＳ４９で取得した稼働時バス占有率を加算する。
〔Ｓ５１〕ＣＰＵ２４は、占有率加算値が１００％を超えるか否かを判断する。１００％を超える場合はステップＳ４７へ戻り、１００％以下の場合はステップＳ５２へ行く。
【００９１】
〔Ｓ５２〕ＣＰＵ２４は、該当ＵＳＢホストに繋がる未割り当てのＵＳＢスイッチポートに使用対象ＵＳＢデバイスを割り当てる。この場合、ＣＰＵ２４は、マトリクステーブルＴ１のＵＳＢスイッチポートと使用対象ＵＳＢデバイスとの該当交差欄に“１”を設定する。
【００９２】
〔Ｓ５３〕ＣＰＵ２４は、割り当てられていない使用対象ＵＳＢデバイスがあるか否かを判断する。未割り当ての使用対象ＵＳＢデバイスがある場合はステップＳ４６へ戻り、未割り当ての使用対象ＵＳＢデバイスが無い場合はステップＳ５４へ行く。
【００９３】
〔Ｓ５４〕ステップＳ５３の段階で、使用対象ＵＳＢデバイスをＵＳＢホストに割り当てる処理が完了したので、次に、ＣＰＵ２４は、使用しないＵＳＢデバイス（未使用ＵＳＢデバイス）の割り当て処理を行う。
【００９４】
〔Ｓ５５〕ＣＰＵ２４は、未使用ＵＳＢデバイスを割り当てるためのＵＳＢホストを選択する。
〔Ｓ５６〕ＣＰＵ２４は、選択した該当ＵＳＢホストに繋がるＵＳＢスイッチポートの中に、空きのＵＳＢスイッチポートがあるか否かを判断する。空きのＵＳＢスイッチポートが無い場合はステップＳ５７へ行き、空きのＵＳＢスイッチポートがある場合はステップＳ５９へ行く。
【００９５】
〔Ｓ５７〕ＣＰＵ２４は、他のＵＳＢホストが存在するか否かを判断する。他のＵＳＢホストがあればステップＳ５５へ戻り、他のＵＳＢホストが無ければステップＳ５８へ行く。
【００９６】
〔Ｓ５８〕ＣＰＵ２４は、ＵＳＢ配置不可のためエラーをモニタ２８ａに表示させる。なお、ステップＳ５８の処理後は、前述のステップＳ３１へ行く。
〔Ｓ５９〕ＣＰＵ２４は、次の未使用ＵＳＢデバイスを選択する。そして、ＣＰＵ２４は、占有率テーブルをＴ２参照し、選択した未使用ＵＳＢデバイスの非稼働時バス占有率を取得する。
【００９７】
〔Ｓ６０〕ＣＰＵ２４は、占有率加算値に対して、ステップＳ５９で取得した未使用ＵＳＢデバイスの非稼働時バス占有率を加算する。
〔Ｓ６１〕ＣＰＵ２４は、システム占有率を含めて、加算結果の占有率の総和が１００％以下になるか否かを判断する。１００％を超えた場合はステップＳ５７へ戻り、１００％以下の場合はステップＳ６２へ行く。
【００９８】
〔Ｓ６２〕ＣＰＵ２４は、該当ＵＳＢホストに繋がる未割り当てのＵＳＢスイッチポートに未使用ＵＳＢデバイスを割り当てる。この場合、ＣＰＵ２４は、マトリクステーブルＴ１のＵＳＢスイッチポートと未使用対象ＵＳＢデバイスとの該当交差欄に“１”を設定する。
【００９９】
〔Ｓ６３〕ＣＰＵ２４は、割り当てられていない未使用ＵＳＢデバイスが、まだあるか否かを判断する。未割り当ての未使用ＵＳＢデバイスがある場合はステップＳ５６へ戻り、未割り当ての未使用ＵＳＢデバイスが無い場合はステップＳ６４へ行く。
【０１００】
なお、以上のステップＳ４１〜Ｓ６３では、未使用ＵＳＢデバイスについても電源が投入される場合について示した。しかしながら、例えば、未使用ＵＳＢデバイスについては電源を投入しない場合、ＣＰＵ２４は、ステップＳ４１〜Ｓ６３の処理の代わりに、未割り当てのＵＳＢスイッチポートに対して未使用ＵＳＢデバイスを順次割り当てるだけでもよい。
【０１０１】
〔Ｓ６４〕ＣＰＵ２４は、設定が完了したマトリクステーブルＴ１にもとづいて、ＵＳＢスイッチ３３に対してセレクト信号を出力して、ＵＳＢスイッチ３３におけるポートの接続状態を制御する。これにより、ＵＳＢデバイスの運用が開始される。
【０１０２】
〔Ｓ６５〕ＣＰＵ２４は、追加されたＵＳＢデバイスがあるか否かを判断する。ＵＳＢデバイスが追加されるとは、例えば、他のアプリケーションプログラムの実行によって未使用ＵＳＢデバイスの動作が要求される、または未接続のＵＳＢポートに新たなＵＳＢデバイスが接続される等が該当する。ＣＰＵ２４は、追加されたＵＳＢデバイスがある場合は、ステップＳ６６に進み、無ければステップＳ６５の判断を一定時間ごとに繰り返す。
【０１０３】
〔Ｓ６６〕ＣＰＵ２４は、追加されたＵＳＢデバイスを含めて、現在の接続状態で占有率を再計算する。
〔Ｓ６７〕ＣＰＵ２４は、再計算結果が１００％を超えるか否かを判断する。１００％を超える場合はステップＳ４１へ戻り、ＵＳＢスイッチ３３の再設定を行う。一方、ＣＰＵ２４は、１００％を超えない場合はステップＳ６８へ行く。
【０１０４】
〔Ｓ６８〕ＣＰＵ２４は、追加されたＵＳＢデバイスの使用フラグをＯＮにして、占有率テーブルＴ２に登録し、追加されたＵＳＢデバイスを含めて、現状のスイッチ制御状態で運用を継続する。
【０１０５】
このように、第３の実施の形態では、ＣＰＵ２４は、ＨＤＤ２５に記録されているアプリケーションプログラムをＯＳ起動後に実行してスイッチ制御を行う。
第３の実施の形態では、ＯＳ起動後のアプリケーションを通じてスイッチ制御を行うので、例えば、通常運用中に未使用ＵＳＢデバイスの使用要求があった場合などは、再起動せずに、ＵＳＢデバイスの再配置をすみやかに行うことが可能になる。
【０１０６】
次に利用場面毎のＵＳＢデバイスの配置例について説明する。なお、以下の図１４〜図１７の配置例は、上記の第２の実施の形態および第３の実施の形態で共通である。
図１４はＵＳＢホストに接続するＵＳＢデバイスを示す図である。ＵＳＢデバイスとしては、カメラｄ１、ｄ２、ＢＤ／ＤＶＤ（Blu ray Disc／Digital Versatile Disc）ｄ３、キーボードｄ４、ネットワークデバイス（ＷＷＡＮ）ｄ５、ネットワークデバイス（ＷＬＡＮ：Wireless LAN）ｄ６、ネットワークデバイス（ＬＡＮ：Local Area Network）ｄ７、マウスｄ８がある。これらがＵＳＢスイッチ３３を介して、ＵＳＢホスト２１、２２に接続されるものとする。
【０１０７】
また、各ＵＳＢデバイスの占有率は、（稼働時バス占有率、非稼働時バス占有率）とすると、カメラｄ１＝（５０％、０％）、カメラｄ２＝（５０％、０％）、ＢＤ／ＤＶＤｄ３＝（５０％、０％）、キーボードｄ４＝（１０％、１０％）、ネットワークデバイス（ＷＷＡＮ）ｄ５＝（４０％、０％）、ネットワークデバイス（ＷＬＡＮ）ｄ６＝（４０％、０％）、ネットワークデバイス（ＬＡＮ）ｄ７＝（５０％、０％）、マウスｄ８＝（１０％、１０％）である。
【０１０８】
このようなＵＳＢデバイスが接続するときは、各ＵＳＢホスト２１、２２のＵＳＢインタフェース占有率の総和が１００％以下となるように（システム占有率は２０％なので、ＵＳＢデバイスのみの占有率は８０％以下となるように）、ＵＳＢデバイスの接続処理が行われる。
【０１０９】
図１５はＵＳＢデバイスの配置例を示す図である。カメラ２台を同時使用する場合の配置例を示している。ＵＳＢスイッチ３３のスイッチングにより、ＵＳＢハブ３１には、カメラｄ１、キーボードｄ４、ネットワークデバイス（ＷＬＡＮ）ｄ６およびＢＤ／ＤＶＤｄ３が接続している。
【０１１０】
カメラｄ１は使用するので占有率は５０％である。また、キーボードｄ４、ネットワークデバイス（ＷＬＡＮ）ｄ６およびＢＤ／ＤＶＤｄ３は使用しないので、占有率はそれぞれ１０％、０％、０％である。したがって、ＵＳＢホスト２１のＵＳＢデバイスに関する占有率は６０％となる。
【０１１１】
一方、ＵＳＢスイッチ３３のスイッチングにより、ＵＳＢハブ３２には、カメラｄ２、マウスｄ８、ネットワークデバイス（ＬＡＮ）ｄ７およびネットワークデバイス（ＷＷＡＮ）ｄ５が接続している。
【０１１２】
カメラｄ２は使用するので占有率は５０％である。また、マウスｄ８、ネットワークデバイス（ＬＡＮ）ｄ７およびネットワークデバイス（ＷＷＡＮ）ｄ５は使用しないので、占有率はそれぞれ１０％、０％、０％である。したがって、ＵＳＢホスト２２のＵＳＢデバイスに関する占有率は６０％となる。
【０１１３】
ＵＳＢデバイスに関する占有率はそれぞれ６０％であるから、ＵＳＢホスト２１、２２共に、システム占有率を加えて合計８０％となる。各ＵＳＢホスト２１、２２では、ＵＳＢインタフェース占有率が１００％以下でＵＳＢデバイスが動作する。したがって、通信速度が低下したり、ＵＳＢデバイスの性能が劣化したりせずに、ＵＳＢデバイスの運用が可能になる。
【０１１４】
図１６はＵＳＢデバイスの配置例を示す図である。ネットワークデバイス（ＷＷＡＮ）ｄ５、ネットワークデバイス（ＷＬＡＮ）ｄ６およびネットワークデバイス（ＬＡＮ）ｄ７を同時使用する場合の配置例を示している。
【０１１５】
ＵＳＢスイッチ３３のスイッチングにより、ＵＳＢハブ３１には、カメラｄ１、カメラｄ２、ネットワークデバイス（ＷＬＡＮ）ｄ６およびネットワークデバイス（ＷＷＡＮ）ｄ５が接続している。
【０１１６】
ネットワークデバイス（ＷＬＡＮ）ｄ６およびネットワークデバイス（ＷＷＡＮ）ｄ５は使用するので、占有率はそれぞれ４０％、４０％である。また、カメラｄ１、ｄ２は使用しないので占有率は共に０％である。したがって、ＵＳＢホスト２１のＵＳＢデバイスに関する占有率は８０％となる。
【０１１７】
一方、ＵＳＢスイッチ３３のスイッチングにより、ＵＳＢハブ３２には、ネットワークデバイス（ＬＡＮ）ｄ７、キーボードｄ４、ＢＤ／ＤＶＤｄ３およびマウスｄ８が接続している。
【０１１８】
ネットワークデバイス（ＬＡＮ）ｄ７は使用するので占有率は５０％である。また、キーボードｄ４、ＢＤ／ＤＶＤｄ３およびマウスｄ８は使用しないので、占有率はそれぞれ１０％、０％、１０％である。したがって、ＵＳＢホスト２２のＵＳＢデバイスに関する占有率は７０％となる。
【０１１９】
ＵＳＢホスト２１のＵＳＢインタフェース占有率は、ＵＳＢデバイスに関する占有率８０％と、システム占有率２０％を合わせて１００％となる。また、ＵＳＢホスト２２のＵＳＢインタフェース占有率は、ＵＳＢデバイスに関する占有率７０％と、システム占有率２０％を合わせて９０％となる。
【０１２０】
各ＵＳＢホスト２１、２２では、占有率１００％以下でＵＳＢデバイスが動作する。したがって、通信速度が低下したり、ＵＳＢデバイスの性能が劣化したりせずに、ＵＳＢデバイスの運用が可能になる。
【０１２１】
図１７はＵＳＢデバイスの配置例を示す図である。ネットワークデバイス（ＷＷＡＮ）ｄ５、ネットワークデバイス（ＷＬＡＮ）ｄ６およびＢＤ／ＤＶＤｄ３を同時使用する場合の配置例を示している。
【０１２２】
ＵＳＢスイッチ３３のスイッチングにより、ＵＳＢハブ３１には、カメラｄ１、ＢＤ／ＤＶＤｄ３、マウスｄ８およびキーボードｄ４が接続している。
ＢＤ／ＤＶＤｄ３は使用するので占有率は５０％である。カメラｄ１、マウスｄ８およびキーボードｄ４は使用しないので占有率はそれぞれ０％、１０％、１０％である。したがって、ＵＳＢホスト２１のＵＳＢデバイスに関する占有率は７０％となる。
【０１２３】
一方、ＵＳＢスイッチ３３のスイッチングにより、ＵＳＢハブ３２には、カメラｄ２、ネットワークデバイス（ＷＷＡＮ）ｄ５、ネットワークデバイス（ＬＡＮ）ｄ７およびネットワークデバイス（ＷＬＡＮ）ｄ６が接続している。
【０１２４】
ネットワークデバイス（ＷＷＡＮ）ｄ５およびネットワークデバイス（ＷＬＡＮ）ｄ６は使用するので占有率はそれぞれ４０％、４０％である。また、カメラｄ２およびネットワークデバイス（ＬＡＮ）ｄ７は使用しないので、占有率はそれぞれ０％、０％である。したがって、ＵＳＢホスト２２のＵＳＢデバイスに関する占有率は８０％となる。
【０１２５】
ＵＳＢホスト２１のＵＳＢインタフェース占有率は、ＵＳＢデバイスに関する占有率７０％と、システム占有率２０％を合わせて９０％となる。また、ＵＳＢホスト２２のＵＳＢインタフェース占有率は、ＵＳＢデバイスに関する占有率８０％と、システム占有率２０％を合わせて１００％となる。
【０１２６】
各ＵＳＢホスト２１、２２では、占有率１００％以下でＵＳＢデバイスが動作する。したがって、通信速度が低下したり、ＵＳＢデバイスの性能が劣化したりせずに、ＵＳＢデバイスの運用が可能になる。
【０１２７】
以上説明したように、本技術により、ＵＳＢデバイスをＵＳＢホストの負荷に応じて適切に配置することができるので、常に高性能の状態でＵＳＢデバイスを使用することが可能になる。
【０１２８】
また、従来は、ＵＳＢデバイスの配置関係で、ユーザが利用できない場面が存在したが、本技術を採用することにより、ＵＳＢデバイスの配置による制限は解消されることになり、ユーザの利用場面を増やすことが可能になる。
【０１２９】
上記については単に本発明の原理を示すものである。さらに、多数の変形や変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
【符号の説明】
【０１３０】
１  情報処理装置
１１−１〜１１−ｎ  Ｉ／Ｆ回路
１２  スイッチ
１３  制御部
Ｄ１〜Ｄｍ  機器
Ｐ、Ｐ１、Ｐ２  通信ポート
Ｓｔ１、Ｓｔ２  接続状態
【図１】
2014020745.tif 000003
【図２】
2014020745.tif 000004
【図３】
2014020745.tif 000005
【図４】
2014020745.tif 000006
【図５】
2014020745.tif 000007
【図６】
2014020745.tif 000008
【図７】
2014020745.tif 000009
【図８】
2014020745.tif 000010
【図９】
2014020745.tif 000011
【図１０】
2014020745.tif 000012
【図１１】
2014020745.tif 000013
【図１２】
2014020745.tif 000014
【図１３】
2014020745.tif 000015
【図１４】
2014020745.tif 000016
【図１５】
2014020745.tif 000017
【図１６】
2014020745.tif 000018
【図１７】
2014020745.tif 000019
【手続補正書】
【提出日】平成26年12月19日(2014.12.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
通信ポートを備え、前記通信ポートを介して少なくとも１つの機器との入出力インタフェースを制御する複数のインタフェース回路と、
前記各インタフェース回路と複数の機器との間に位置して、スイッチ指示にもとづいて、前記各インタフェース回路の前記通信ポートと前記複数の機器のそれぞれとの接続をスイッチングするスイッチと、
前記スイッチ指示を出力し、前記各通信ポートの負荷に応じて前記スイッチを制御する制御部と、
を有することを特徴とする情報処理装置。
【請求項２】
前記制御部は、前記各インタフェース回路における単位時間当たりの通信データ量が所定範囲に収まるように前記スイッチ指示を出力することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記複数の機器ごとに、前記インタフェース回路との通信時における単位時間当たりの最大通信データ量を示す情報が記憶された記憶部をさらに有し、
前記制御部は、前記複数の機器の中から使用する機器の選択入力を受け付け、前記記憶部に記憶された情報のうち前記選択入力によって選択された機器についての最大通信データ量を示す情報にもとづいて、前記インタフェース回路当たりの通信データ量が前記所定範囲に収まるように前記スイッチ指示を出力する、
ことを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記制御部は、使用する機器の追加が要求された場合には、前記記憶部に記憶された情報のうち、前記選択された機器および追加が要求された機器についての最大通信データ量を示す情報にもとづいて、前記各インタフェース回路における単位時間当たりの通信データ量が前記所定範囲に収まるように前記スイッチ指示を更新することを特徴とする請求項３記載の情報処理装置。
【請求項５】
前記制御部は、
オペレーティングシステムの起動前に機器制御プログラムに従って前記スイッチ指示を出力し、
前記オペレーティングシステムの起動後の運用中に使用する機器の追加が要求された場合には、前記情報処理装置を再起動させた後、前記機器制御プログラムに従って、前記記憶部に記憶された情報のうち、前記選択された機器および追加が要求された機器についての最大通信データ量を示す情報にもとづいて、前記スイッチ指示を再度出力する、
ことを特徴とする請求項４記載の情報処理装置。
【請求項６】
前記インタフェース回路ごとに設けられ、いずれか１つの前記インタフェース回路の前記通信ポートに接続する第１の通信ポートと、前記第１の通信ポートにそれぞれ接続する複数の第２の通信ポートとをそれぞれ備える複数のハブをさらに有し、
前記スイッチは、前記ハブがそれぞれ備える複数の前記第２の通信ポートと前記各機器との接続をスイッチングする、
ことを特徴とする請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
通信ポートを備え、前記通信ポートを介して、少なくとも１つの機器との入出力インタフェースを制御する複数のインタフェース回路と、制御部とを有する情報処理装置の制御方法において、
前記制御部が、前記各通信ポートの負荷に応じてスイッチ指示を出力し、
前記各インタフェース回路と複数の機器との間に配置されたスイッチが、前記スイッチ指示にもとづいて、前記各インタフェース回路の前記通信ポートと前記各機器との接続をスイッチングする、
ことを特徴とする情報処理装置の制御方法。
【手続補正書】
【提出日】平成27年9月25日(2015.9.25)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
１つの案では、情報処理装置が提供される。情報処理装置は、通信ポートを備え、前記通信ポートを介して少なくとも１つの機器との入出力インタフェースを制御する複数のインタフェース回路と、前記インタフェース回路ごとに設けられ、前記インタフェース回路の前記通信ポートに接続する第１の通信ポートと、前記第１の通信ポートに接続する複数の第２の通信ポートとを備える複数のハブと、前記各インタフェース回路と複数の前記機器との間に位置して、スイッチ指示にもとづいて、前記ハブが備える前記第２の通信ポートと、前記機器との接続をスイッチングするスイッチと、前記機器が稼働した際に前記インタフェース回路のバスを占有する最大割合である稼働時バス占有率と、前記機器が非稼働の際に前記インタフェース回路のバスを占有する最大割合である非稼働時バス占有率と、前記機器が実データを送受信していない状態で、前記機器と前記インタフェース回路との間で行われる通信によるバス占有率であるシステム占有率とが、前記インタフェース回路における単位時間当たりの通信データ量に対応し、前記稼働時バス占有率と、前記非稼働時バス占有率と、前記システム占有率との和が所定範囲に収まるように前記スイッチ指示を出力して、前記各通信ポートの負荷に応じて前記スイッチを制御する制御部とを有する。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
通信ポートを備え、前記通信ポートを介して少なくとも１つの機器との入出力インタフェースを制御する複数のインタフェース回路と、
前記インタフェース回路ごとに設けられ、前記インタフェース回路の前記通信ポートに接続する第１の通信ポートと、前記第１の通信ポートに接続する複数の第２の通信ポートとを備える複数のハブと、
前記各インタフェース回路と複数の前記機器との間に位置して、スイッチ指示にもとづいて、前記ハブが備える前記第２の通信ポートと、前記機器との接続をスイッチングするスイッチと、
前記機器が稼働した際に前記インタフェース回路のバスを占有する最大割合である稼働時バス占有率と、前記機器が非稼働の際に前記インタフェース回路のバスを占有する最大割合である非稼働時バス占有率と、前記機器が実データを送受信していない状態で、前記機器と前記インタフェース回路との間で行われる通信によるバス占有率であるシステム占有率とが、前記インタフェース回路における単位時間当たりの通信データ量に対応し、前記稼働時バス占有率と、前記非稼働時バス占有率と、前記システム占有率との和が所定範囲に収まるように前記スイッチ指示を出力して、前記各通信ポートの負荷に応じて前記スイッチを制御する制御部と、
を有することを特徴とする情報処理装置。
【請求項２】
複数の前記機器ごとに、前記インタフェース回路との通信時における単位時間当たりの最大通信データ量を示す情報が記憶された記憶部をさらに有し、
前記制御部は、複数の前記機器の中から使用する機器の選択入力を受け付け、前記記憶部に記憶された情報のうち前記選択入力によって選択された機器についての最大通信データ量を示す情報にもとづいて、前記インタフェース回路当たりの前記通信データ量が前記所定範囲に収まるように前記スイッチ指示を出力する、
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記制御部は、使用する機器の追加が要求された場合には、前記記憶部に記憶された情報のうち、前記選択された機器および追加が要求された機器についての最大通信データ量を示す情報にもとづいて、前記各インタフェース回路における単位時間当たりの前記通信データ量が前記所定範囲に収まるように前記スイッチ指示を更新することを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記制御部は、
オペレーティングシステムの起動前に機器制御プログラムに従って前記スイッチ指示を出力し、
前記オペレーティングシステムの起動後の運用中に使用する機器の追加が要求された場合には、前記情報処理装置を再起動させた後、前記機器制御プログラムに従って、前記記憶部に記憶された情報のうち、前記選択された機器および追加が要求された機器についての最大通信データ量を示す情報にもとづいて、前記スイッチ指示を再度出力する、
ことを特徴とする請求項３記載の情報処理装置。
【請求項５】
通信ポートを備え、前記通信ポートを介して、少なくとも１つの機器との入出力インタフェースを制御する複数のインタフェース回路と、複数のハブと、スイッチと、制御部とを有する情報処理装置の制御方法において、
前記インタフェース回路の前記通信ポートに接続する第１の通信ポートと、前記第１の通信ポートに接続する複数の第２の通信ポートとを備える前記ハブを、前記インタフェース回路ごとに設け、
前記各インタフェース回路と複数の前記機器との間に位置する前記スイッチが、スイッチ指示にもとづいて、前記ハブが備える前記第２の通信ポートと、前記機器との接続をスイッチングし、
前記制御部が、前記機器が稼働した際に前記インタフェース回路のバスを占有する最大割合である稼働時バス占有率と、前記機器が非稼働の際に前記インタフェース回路のバスを占有する最大割合である非稼働時バス占有率と、前記機器が実データを送受信していない状態で、前記機器と前記インタフェース回路との間で行われる通信によるバス占有率であるシステム占有率との和が所定範囲に収まるように前記スイッチ指示を出力する、
ことを特徴とする情報処理装置の制御方法。
【手続補正書】
【提出日】平成28年4月28日(2016.4.28)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
１つの案では、情報処理装置が提供される。情報処理装置は、通信ポートを備え、前記通信ポートを介して少なくとも１つの機器との入出力インタフェースを制御する複数のインタフェース回路と、前記インタフェース回路ごとに設けられ、前記インタフェース回路の前記通信ポートに接続する第１の通信ポートと、前記第１の通信ポートに接続する複数の第２の通信ポートとを備える複数のハブと、前記各インタフェース回路と複数の前記機器との間に位置して、スイッチ指示にもとづいて、前記ハブが備える前記第２の通信ポートと、前記機器との接続をスイッチングするスイッチと、前記機器が稼働した際に前記インタフェース回路のバスを占有する最大割合である稼働時バス占有率と、前記機器が非稼働の際に前記インタフェース回路のバスを占有する最大割合である非稼働時バス占有率と、前記機器が実データを送受信していない状態で、前記機器と前記インタフェース回路との間で行われる通信によるバス占有率であるシステム占有率とが、前記インタフェース回路における単位時間当たりの通信データ量に対応し、使用対象となる前記機器の前記稼働時バス占有率と、使用しない前記機器の前記非稼働時バス占有率と、前記システム占有率との和が所定範囲に収まるように前記スイッチ指示を出力して、前記各通信ポートの負荷に応じて前記スイッチを制御する制御部とを有する。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１
【補正方法】変更
【補正の内容】
【請求項１】
通信ポートを備え、前記通信ポートを介して少なくとも１つの機器との入出力インタフェースを制御する複数のインタフェース回路と、
前記インタフェース回路ごとに設けられ、前記インタフェース回路の前記通信ポートに接続する第１の通信ポートと、前記第１の通信ポートに接続する複数の第２の通信ポートとを備える複数のハブと、
前記各インタフェース回路と複数の前記機器との間に位置して、スイッチ指示にもとづいて、前記ハブが備える前記第２の通信ポートと、前記機器との接続をスイッチングするスイッチと、
前記機器が稼働した際に前記インタフェース回路のバスを占有する最大割合である稼働時バス占有率と、前記機器が非稼働の際に前記インタフェース回路のバスを占有する最大割合である非稼働時バス占有率と、前記機器が実データを送受信していない状態で、前記機器と前記インタフェース回路との間で行われる通信によるバス占有率であるシステム占有率とが、前記インタフェース回路における単位時間当たりの通信データ量に対応し、使用対象となる前記機器の前記稼働時バス占有率と、使用しない前記機器の前記非稼働時バス占有率と、前記システム占有率との和が所定範囲に収まるように前記スイッチ指示を出力して、前記各通信ポートの負荷に応じて前記スイッチを制御する制御部と、
を有することを特徴とする情報処理装置。
【手続補正３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項５
【補正方法】変更
【補正の内容】
【請求項５】
通信ポートを備え、前記通信ポートを介して、少なくとも１つの機器との入出力インタフェースを制御する複数のインタフェース回路と、複数のハブと、スイッチと、制御部とを有する情報処理装置の制御方法において、
前記インタフェース回路の前記通信ポートに接続する第１の通信ポートと、前記第１の通信ポートに接続する複数の第２の通信ポートとを備える前記ハブを、前記インタフェース回路ごとに設け、
前記各インタフェース回路と複数の前記機器との間に位置する前記スイッチが、スイッチ指示にもとづいて、前記ハブが備える前記第２の通信ポートと、前記機器との接続をスイッチングし、
前記制御部が、前記機器が稼働した際に前記インタフェース回路のバスを占有する最大割合である稼働時バス占有率と、前記機器が非稼働の際に前記インタフェース回路のバスを占有する最大割合である非稼働時バス占有率と、前記機器が実データを送受信していない状態で、前記機器と前記インタフェース回路との間で行われる通信によるバス占有率であるシステム占有率とに対して、使用対象となる前記機器の前記稼働時バス占有率と、使用しない前記機器の前記非稼働時バス占有率と、前記システム占有率との和が所定範囲に収まるように前記スイッチ指示を出力する、
ことを特徴とする情報処理装置の制御方法。
【国際調査報告】
2014020745.tif 000020
2014020745.tif 000021