(57)【要約】【課題】  情報処理装置と周辺機器とのＵＳＢ接続の自動リセットを情報処理装置側からエミュレートする。【解決手段】  情報処理装置（101）は、周辺機器（115〜117）をＵＳＢ接続するポート（109〜111）と、ポートを介して周辺機器へ供給すべき電源をＯＳ制御に基づき断続する第１スイッチ（106〜108）と、第１スイッチが周辺機器へ電源を供給すべく動作する間に該電源の供給を断続する第２スイッチ（119〜121）と、ポートを介した周辺機器との接続の異常の有無を監視し該監視の結果に基づき第２スイッチの動作をＯＳ制御から独立して制御する制御ユニット（102）とを備える。制御ユニットは、周辺機器の接続異常を検知したとき、接続のリセットを行うべく第２スイッチを切り替える。【選択図】      図１
2006309404.tif 000002
【特許請求の範囲】
【請求項１】
周辺機器をシリアルバスにより接続するポートと、
前記ポートを介して周辺機器へ供給すべき電源をＯＳ制御に基づき断続する第１のスイッチと、
前記第１のスイッチが周辺機器へ電源を供給すべく動作する間に該電源の供給を断続する第２のスイッチと、
前記ポートを介した周辺機器との接続の異常の有無を監視し該監視の結果に基づき前記第２のスイッチの動作をＯＳ制御から独立して制御する制御ユニットとを備えることを特徴とする情報処理装置。
【請求項２】
前記ポートは、ＵＳＢにより周辺機器を接続することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記制御ユニットは、周辺機器との接続の異常を検知したとき該周辺機器との接続をリセットすべく前記第２のスイッチを制御することを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記制御ユニットは、複数の周辺機器のそれぞれに対応する前記第２のスイッチの動作を周辺機器ごとに制御する請求項１又は２記載の情報処理装置。
【請求項５】
前記第２のスイッチは、前記ポートおよび第１のスイッチ間に直列に接続されていることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
周辺機器と、
前記周辺機器をシリアルバスにより接続するポートと、該ポートを介して前記周辺機器へ供給すべき電源をＯＳ制御に基づき断続する第１のスイッチと、該第１のスイッチが前記周辺機器へ電源を供給すべく動作する間に該電源の供給を断続する第２のスイッチとを有する端末装置と、
前記端末装置を接続するポートと、前記端末装置および周辺機器間の接続の異常の有無を監視し該監視の結果に基づき前記第２のスイッチの動作をＯＳ制御から独立して制御する制御ユニットとを有する情報処理装置と
を備えることを特徴とする情報処理システム。
【請求項７】
前記端末装置の前記ポートは、前記周辺機器をＵＳＢにより接続することを特徴とする請求項６記載の情報処理システム。
【請求項８】
前記制御ユニットは、前記周辺機器との接続の異常を検知したとき該周辺機器との接続をリセットすべく前記第２のスイッチを制御することを特徴とする請求項６又は７記載の情報処理システム。
【請求項９】
前記端末装置は、複数の前記周辺機器と接続され、
前記制御ユニットは、複数の前記周辺機器のそれぞれに対応する前記第２のスイッチの動作を周辺機器ごとに制御する請求項６乃至８のいずれか１項に記載の情報処理システム。
【請求項１０】
前記第２のスイッチは、前記端末装置の前記ポートおよび前記第１のスイッチ間に直列に接続されていることを特徴とする請求項６乃至９のいずれか１項に記載の情報処理システム。
【請求項１１】
周辺機器をシリアルバスにより接続するポートと、該ポートを介して周辺機器へ供給すべき電源をＯＳ制御に基づき断続する第１のスイッチと、該第１のスイッチが周辺機器へ電源を供給すべく動作する間に該電源の供給を断続する第２のスイッチとを備えるコンピュータに、
前記ポートを介した周辺機器との接続の異常の有無を監視し該監視の結果に基づき前記第２のスイッチの動作をＯＳ制御から独立して制御することを実行させることを特徴とするプログラム。
【請求項１２】
前記ポートがＵＳＢにより周辺機器を接続することを特徴とする請求項１１記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パーソナルコンピュータや業務用のホストコンピュータのような情報処理装置とその周辺機器と間の接続障害に対処するための技術に関し、特に、両者間の接続にＵＳＢ（Universal Serial Bus）のようなシリアルバスを用いる技術に関する。
【背景技術】
【０００２】
従来、情報処理装置と周辺機器とを接続するシリアルバス規格の一つにＵＳＢ（Universal Serial Bus）がある。図８に、ＵＳＢ接続された情報処理装置及び周辺機器の一般的な構成を示す。従来の情報処理装置７０１は、ＣＰＵ、主記憶装置及び補助記憶装置等、コンピュータが持つ基本的な構成部分である制御ユニット７０２と、制御ユニット７０２にシステムバス７０３を介して接続されたＵＳＢホストコントローラ７０４と、このコントローラ７０４及び複数のＵＳＢポート７０９〜７１１間を接続するＵＳＢルートハブ７０５とを備える。
【０００３】
情報処理装置７０１は、ＵＳＢポート７０９〜７１１に取り付けられたケーブル７１２〜７１４を介して複数の周辺機器７１５〜７１７と接続されている。ＵＳＢルートハブ７０５は、周辺機器７１５〜７１７に対する電源の供給をＯＮ／ＯＦＦするスイッチ７０６〜７０８を有する。スイッチ７０６〜７０８は、ＵＳＢポート７０９〜７１１に接続され、制御ユニット７０２からＵＳＢホストコントローラ７０４を介して行われるＯＳ（Operating System）による制御に基づき動作する。
【０００４】
図９に、情報処理装置７０１及び周辺機器７１５〜７１７間の接続制御に用いるソフトウェアの相互関係を模式的に示す。図９において、例えば、図示のＨ／Ｗ（ハードウェア）８０６に相当するＵＳＢポート７０９に周辺機器７１５が接続されると、情報処理装置７０１の汎用ＯＳ（図示略）が、この周辺機器７１５のＦ／Ｗ（ファームウェア）８０７ａを検知する。汎用ＯＳは、使用されたＵＳＢポート７０９に対応する周辺機器ドライバ８０２ａをロードすることにより、アプリケーション８０１で周辺機器７１５を利用可能に設定する。
【０００５】
アプリケーション８０１は、接続された周辺機器７１５に対し入出力を行うとき、周辺機器ドライバ８０２ａ及びＵＳＢポート・ハブドライバ８０５を経由し、Ｈ／Ｗ８０６、すなわちＵＳＢポート７０９にアクセスする。なお、図９に示す周辺機器ドライバ（８０２）及びＵＳＢポート・ハブドライバ８０５は、汎用ＯＳのドライバスタックとして、当業者によく知られている。
【０００６】
また、情報処理装置７０１から周辺機器７１５〜７１７に対する電源制御は、前述のドライバスタックがＵＳＢルートハブ７０５のスイッチ７０６〜７０８を制御することにより実施される。その際、情報処理装置７０１は、周辺機器と常に接続状態にあり、その間、フルオン、スリープ、サスペンド等の状態とドライバのロード状態とに応じてスイッチを制御することにより消費電力の低減を図る。
【０００７】
ここで、周辺機器７１５に対応する周辺機器ドライバ８０２ａに不具合が発生し、情報処理装置７０１が周辺機器７１５を利用できない障害が発生したとする。アプリケーション８０１は、この異常を検知し、周辺機器Ｆ／Ｗ８０７に対する入出力を停止してオペレータに異常を報告する。オペレータは、周辺機器ドライバ８０２を再起動するために、ＵＳＢポート７０９からケーブル７１２を取り外す。
【０００８】
ケーブル７１２が取り外されたことにより、汎用ＯＳは、周辺機器Ｆ／Ｗ８０７ａの不在を検知し、周辺機器ドライバ８０２ａをアンロードし、オペレータに周辺機器７１５の取り外しを報告する。その後、オペレータがＵＳＢポート７０９にケーブル７１２を再接続したとき、汎用ＯＳが、周辺機器Ｆ／Ｗ８０７ａの接続を検知し、周辺機器ドライバ８０２をロードすることにより、再びアプリケーション８０１から周辺機器７１５が利用可能となる。
【０００９】
ＵＳＢ接続に異常が発生したとき、上述のように該当のケーブル（７１２）を着脱することにより周辺機器ドライバ（８０２ａ）の再起動が可能となるが、オペレータによる着脱作業の手間を省くために、汎用ＯＳの制御下のアプリケーション８０１からスイッチ７０６を切ることにより、周辺機器７１５への電源を遮断するよう設定することが考えられる。
【００１０】
しかしながら、一般的に、汎用ＯＳは使用中である周辺機器の電源を遮断しないように設計されていることから、たとえ周辺機器ドライバ（８０２ａ）に不具合が発生していても、このドライバがロードされている限り、汎用ＯＳにより自動的にスイッチ（７０６）を切ることは出来ない。
【００１１】
ＵＳＢ接続の異常に対処するための技術として、例えば、後述の特許文献１に記載のものがある。特許文献１に記載の技術は、ケーブルを介してホストコンピュータのポートに接続可能なＵＳＢ装置が、ケーブルの取り外しを行うことなくホストコンピュータに対する接続をリセットする回路構成を備えるというものである。特許文献１に記載の手法によれば、ＵＳＢ装置とホストコンピュータとの接続に異常が発生しても、ケーブルを取り外すことなく両者間の接続をリセットすることができる。
【特許文献１】特開２００１−２２８９４４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、上記特許文献１に記載の手法は、ＵＳＢ装置側からホストコンピュータに対し接続のリセットをエミュレートするという手法であることから、コンピュータに接続すべきＵＳＢ装置ごとに、同文献に記載の回路構成を配備する必要がある。そうすると、例えば業務用システムのように、コンピュータに多数のＵＳＢ装置が接続される用途にあっては、多大な費用が掛かるという問題がある。
【００１３】
また、仮に、ケーブルを取り外すことなくＵＳＢ接続をリセットする手段を、ホストコンピュータ側に配備しようとする場合、従来は汎用ＯＳそのものを改変する必要があった。
【００１４】
本発明は、上記課題に鑑みてなされたものであり、情報処理装置及び周辺機器間の接続のリセットを情報処理装置側からエミュレートする手法を提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明に係る情報処理装置は、周辺機器をシリアルバスにより接続するポートと、前記ポートを介して周辺機器へ供給すべき電源をＯＳ制御に基づき断続する第１のスイッチと、前記第１のスイッチが周辺機器へ電源を供給すべく動作する間に該電源の供給を断続する第２のスイッチと、前記ポートを介した周辺機器との接続の異常の有無を監視し該監視の結果に基づき前記第２のスイッチの動作をＯＳ制御から独立して制御する制御ユニットとを備える。
【００１６】
本発明に係る情報処理システムは、周辺機器と、前記周辺機器をシリアルバスにより接続するポートと、該ポートを介して前記周辺機器へ供給すべき電源をＯＳ制御に基づき断続する第１のスイッチと、該第１のスイッチが前記周辺機器へ電源を供給すべく動作する間に該電源の供給を断続する第２のスイッチとを有する端末装置と、前記端末装置を接続するポートと、前記端末装置および周辺機器間の接続の異常の有無を監視し該監視の結果に基づき前記第２のスイッチの動作をＯＳ制御から独立して制御する制御ユニットとを有する情報処理装置とを備える。
【００１７】
本発明に係るプログラムは、周辺機器をシリアルバスにより接続するポートと、該ポートを介して周辺機器へ供給すべき電源をＯＳ制御に基づき断続する第１のスイッチと、該第１のスイッチが周辺機器へ電源を供給すべく動作する間に該電源の供給を断続する第２のスイッチとを備えるコンピュータに、前記ポートを介した周辺機器との接続の異常の有無を監視し該監視の結果に基づき前記第２のスイッチの動作をＯＳ制御から独立して制御することを実行させるというプログラムである。
【発明の効果】
【００１８】
本発明によれば、情報処理装置において第１のスイッチによる電源供給を制御する第２のスイッチを設けたことから、周辺機器との接続のリセットを情報処理装置側からエミュレートすることができる。また、この第２のスイッチをＯＳから独立して制御するので、ケーブルの抜き差しが不要な自動リセットをＯＳを改変することなく実施することができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施形態について図面を用いて詳細に説明する。図１に、本発明に係る情報処理装置の実施形態の構成を示す。本実施形態の情報処理装置１０１は、ＣＰＵ、主記憶装置及び補助記憶装置等、コンピュータが持つ基本的な構成部分である制御ユニット１０２と、制御ユニット１０２にシステムバス１０３を介して接続されたＵＳＢホストコントローラ１０４と、このコントローラ１０４及び複数のＵＳＢポート１０９〜１１１間を接続するＵＳＢルートハブ１０５とを備える。なお、図示の例ではＵＳＢルートハブ１０５は３個のインターフェースを持つが、その数量は、公知のＵＳＢ仕様書に基づく範囲で、用途に応じて任意に変更することができる。
【００２０】
情報処理装置１０１は、ＵＳＢポート１０９〜１１１に取り付けられたケーブル１１２〜１１４を介して複数の周辺機器１１５〜１１７と接続されている。ＵＳＢルートハブ１０５は、ＯＳ制御に基づき周辺機器１１５〜１１７に対する電源の供給をＯＮ／ＯＦＦする第１スイッチ１０６〜１０８を有する。第１スイッチ１０６〜１０８は、制御ユニット１０２からＵＳＢホストコントローラ１０４を介して行われるＯＳ制御に基づき動作する。
【００２１】
図１に示すように、本実施形態の情報処理装置１０１は、さらに、第１スイッチ１０６〜１０８のＯＮ動作時に、周辺機器１１５〜１１７に対する電源供給をＯＳ制御から独立して制御するための第２スイッチ１１９〜１２１と、これらの各スイッチに対し制御ユニット１０２からの動作指示を与えるスイッチ制御用出力ポート１１８とを備える。
【００２２】
図２に、第１及び第２の各スイッチに関連する回路構成を示す。図示の構成は、周辺機器１１５に対応する第１スイッチ１０６及び第２スイッチ１１９を例に挙げたものであり、第２スイッチ１１９は、第１スイッチ１０６と周辺機器１１５との間に直列に接続されている。よって、第１スイッチ１０６のＯＮ動作時に、第２スイッチ１１９をＯＮからＯＦＦへ切り替えることにより、ケーブル１１２を取り外すことなく周辺機器１１５への電源供給を断つことができる。
【００２３】
図３に、情報処理装置１０１及び周辺機器１１５〜１１７間の接続制御に用いるソフトウェアの相互関係を模式的に示す。本実施形態では、図９に示す従来のソフトウェアと同様なものに加え、後述の監視動作を行うための監視ドライバ３１０と、第２スイッチ１１９〜１２１のための第２スイッチ制御ドライバ３１１ａと、スイッチ制御用出力ポート１１８のための出力ポートドライバ３１１ｂとを備える。これらのドライバ（３１０、３１１ａ、３１１ｂ）は、ＯＳの制御下にあるドライバスタックである周辺機器ドライバ群（３０２ａ〜３０２ｃ）及びＵＳＢポート・ハブドライバ３０５とは別個に制御されるよう位置づけされている。
【００２４】
図４及び図５に示すフローチャートに沿って本実施形態の動作手順を説明する。図４は、周辺機器１１５〜１１７に対する監視ドライバ３１０の基本的な監視手順を表し、図５は、ＵＳＢ接続の自動リセットに関する手順を表す。
【００２５】
まず図４より、監視ドライバ３１０は、情報処理装置１０１の起動時にロードされた後にオープンされると（ステップＡ１）、周辺機器ドライバ群（３０２ａ〜３０２ｃ）の監視を開始する（ステップＡ２）。監視動作において、監視ドライバ３１０は、ＵＳＢポート（１０９〜１２１）の接続状況を検索し（ステップＡ３）、その結果を記憶する（ステップＡ４）。例えば、図１に示すケースでは、ＵＳＢポート１０９に周辺機器１１５が接続され、ＵＳＢポート１１０に周辺機器１１６が接続され、そして、ＵＳＢポート１１１に周辺機器１１７が接続されていることを記憶する。記憶した情報は、後述のリセット処理の際に用いる。
【００２６】
続いて、監視ドライバ３１０は、各周辺機器ドライバが取り扱うデータの入出力を監視し（ステップＡ５）、それらが正常に動作している場合は（ステップＡ６：Yes）、周辺機器ドライバのアイドル状態を監視する（ステップＡ７）。さらに、周辺機器ドライバがアイドル状態にある間、従来知られたピンポンテストを行い（ステップＡ１０）、当該周辺機器が適正に接続されているか否かを確認する。監視ドライバ３１０は、クローズされるまで（ステップＡ１１）、上記手順にて周辺機器ドライバ群（３０２ａ〜３０２ｃ）の監視を行う。
【００２７】
また、監視ドライバ３１０は、例えば、いずれかの周辺機器ドライバによるデータの入出力が正常に行われないとき（ステップＡ６：No）、あるいは、アイドル中のピンポンテストが正常に終了しないとき（ステップＡ１０：No）、当該周辺機器ドライバに異常が発生したとの認識のもとに、図５に示す手順にてリセット処理を開始する。
【００２８】
以下、一例として、周辺機器１１５に対応する周辺機器ドライバ３０２ａに異常が発生したケースを図５に沿って説明する。監視ドライバ３１０は、周辺機器ドライバ３０２ａの異常を検知すると、予め記憶している情報（図４：ステップＡ４）を参照し、周辺機器１１５の接続ポートがＵＳＢポート１０９であると認識する。そして、このＵＳＢポート１０９に対応する第２スイッチ１１９をＯＦＦに切り替えるよう、第２スイッチ制御ドライバ３１１ａ及び出力ポートドライバ３１１ｂを介して制御する（ステップＢ１）。
【００２９】
ここで、図２より、第２スイッチ１１９が遮断されると、電源線であるＶｂｕｓ２０１ａの供給電圧が５［Ｖ］から０［Ｖ］になる。そうすると、周辺機器１１５の存在を通知するためのプルアップ抵抗２０４を経由しＤ＋信号２０２の電圧が０［Ｖ］になると共に、Ｄ−信号２０３の電圧も０［Ｖ］となる。その結果、情報処理装置１０１のＯＳにより、周辺機器１１５の周辺機器Ｆ／Ｗ３０７ａの不在が検知され、対応する周辺機器ドライバ３０２ａがアンロードされる。
【００３０】
監視ドライバ３１０は、周辺機器ドライバ３０２ａのアンロードが完了したことを確認すると（ステップＢ２：Yes）、第２スイッチ制御ドライバ３１１ａ及び出力ポートドライバ３１１ｂを介して、第２スイッチ１１９をＯＮに切り替える（ステップＢ３）。第２スイッチ１１９がＯＮになると、Ｖｂｕｓ２０１ａの供給電圧は５［Ｖ］に戻り、これにより、Ｄ＋信号２０２及びＤ−信号２０３の電圧が、周辺機器１１５の存在を示す規定の電圧となる。そして、情報処理装置１０１のＯＳにより周辺機器Ｆ／Ｗ３０７ａの存在が検知されることにより、周辺機器ドライバ３０２ａが再ロードされる。
【００３１】
監視ドライバ３１０は、周辺機器ドライバ３０２ａの再ロードの完了を確認すると（ステップＢ４：Yes）、周辺機器１１５に対するピンポンテストを行う（ステップＢ５）。そして、テストが正常に終了した場合は（ステップＢ６：Yes）、障害が復旧した旨をアプリケーション３０１へ通知すると共に（ステップＢ７）、図４に沿って説明した監視動作を行う。なお、ピンポンテストが正常に終了しない場合は（ステップＢ６：No）、正常に終了するまで上記のリセット処理を繰り返す。
【００３２】
以上説明した実施形態によれば、第１スイッチ（１０６〜１０８）による電源供給を制御する第２スイッチ（１１９〜１２１）を情報処理装置１０１に設けたことから、ＵＳＢ接続のリセットを情報処理装置１０１側からエミュレートすることができる。また、この第２スイッチ（１１９〜１２１）をＯＳから独立して制御することから、ＯＳを改変することなくＵＳＢ接続の自動リセットを実施することができる。
【００３３】
図６に、本発明に係る情報処理システムの実施形態の構成を示す。本実施形態のシステム５００は、ＵＳＢホストコントローラ５０４、ＵＳＢルートハブ５２０及びＵＳＢポート５２４〜５２６等、ＵＳＢ接続のための一般的な構成を持つ情報処理装置５０１に対し、前述の実施形態にて説明した第１スイッチ及び第２スイッチを具備する拡張端末５３０を介して周辺機器５１５〜５１７を接続するものである。
【００３４】
図６に示すように、拡張端末５３０のＵＳＢハブ５０５は、情報処理装置５０１のＵＳＢハブ５２０に、ＵＳＢポート５２４〜５２６の何れか（図示の例ではＵＳＢポート５２４）を介して接続される。
【００３５】
また、拡張端末５３０の第２スイッチ５１９〜５２１は、スイッチ制御用マイコン５３１を介して情報処理装置５０１のシリアルポート５１８に接続される。すなわち、本実施形態の第２スイッチ５１９〜５２１は、シリアルポート５１８及びスイッチ制御用マイコン５３１を介して情報処理装置５０１の制御ユニット５０２により制御される。なお、シリアルポート５１８による接続に代えて、情報処理装置５０１が具備するパラレルポート（図示略）を用いて拡張端末５３０を接続するようにしてもよい。
【００３６】
図７に、本実施形態におけるソフトウェアの相互関係を示す。本実施形態のソフトウェア構成は、前述の実施形態にて説明した図３の出力ポートドライバ３１１ｂに代えてシリアルポートドライバ６１２を備える点と、スイッチ制御用マイコン５３１のＦ／Ｗ６１３を認識する点に前述の実施形態との差異があるが、その他の構成は図３のものと同様である。また、本実施形態の動作手順は、図４及び図５に沿って説明した手順と同様であり、説明を省略する。
【００３７】
本実施形態によっても、前述した図１に示す実施形態と同様な効果をもたらすことができる。また、第２スイッチの制御のために、予めスイッチ制御用出力ポート１１８（図１）を備えるコンピュータでなくとも本発明を実施できるというメリットがある。
【産業上の利用可能性】
【００３８】
本発明は、ＵＳＢ接続の障害復旧に対する迅速な対処が必要とされる用途に好適である。例えば、販売管理のためのＰＯＳシステムや金融機関システムにおけるキーボード、レシートプリンタ、通帳プリンタ、カードリーダのような周辺機器とサーバ装置との接続障害の自動復旧に好適である。
【図面の簡単な説明】
【００３９】
【図１】本発明に係る情報処理装置の実施形態のブロック図である。
【図２】実施形態のＵＳＢ接続に関連する回路図である。
【図３】実施形態のＵＳＢ接続に関連するソフトウェアの説明図である。
【図４】実施形態の動作手順を示すフローチャートである。
【図５】実施形態の動作手順を示すフローチャートである。
【図６】本発明に係る情報処理システムの実施形態のブロック図である。
【図７】実施形態のＵＳＢ接続に関連するソフトウェアの説明図である。
【図８】従来の情報処理装置のブロック図である。
【図９】従来のＵＳＢ接続に関連するソフトウェアの説明図である。
【符号の説明】
【００４０】
１０１  情報処理装置
１０２  制御ユニット
１０３  システムバス
１０４  ＵＳＢホストコントローラ
１０５  ＵＳＢルートハブ
１０６〜１０８  第１スイッチ
１０９〜１１１  ＵＳＢポート
１１２〜１１４  ケーブル
１１５〜１１７  周辺機器
１１８  スイッチ制御用出力ポート
１１９〜１２１  第２スイッチ
【図１】
2006309404.tif 000003
【図２】
2006309404.tif 000004
【図３】
2006309404.tif 000005
【図４】
2006309404.tif 000006
【図５】
2006309404.tif 000007
【図６】
2006309404.tif 000008
【図７】
2006309404.tif 000009
【図８】
2006309404.tif 000010
【図９】
2006309404.tif 000011