(57)【要約】【課題】ＵＳＢ接続機器の認識を復帰させることが容易な情報処理装置を提供する。【解決手段】この情報処理装置は、ノイズなどの影響によって、ＵＳＢデバイス認識部１０がＵＳＢデバイス１７のデバイスＩＤを正常に取得できない等でＵＳＢデバイス１７が接続されていないと判断したときには、ＵＳＢ電源制御部２は、ＵＳＢポート１１とＵＳＢデバイス１７との間に接続されるローカル伸張器１３およびリモート伸張器１５の電源をオンからオフにし、上記電源をオフにしてから所定時間の後に上記電源をオンにする。このような電源のオフ、オンにより、ケーブルの抜き差しに相当する操作が行われて、ＵＳＢデバイス認識部１０によってＵＳＢデバイス１７のデバイスＩＤを取得することが可能となる。【選択図】図１
2008293181.tif 000002
【特許請求の範囲】
【請求項１】
ＵＳＢケーブルでＵＳＢポートに接続されると共に上記ＵＳＢケーブルからのＵＳＢプロトコルの信号をＵＳＢプロトコルよりも長い伝送距離を確保できる別のプロトコルの信号に変換することが可能なローカル伸張器と、
上記ローカル伸張器に所定のケーブルで接続されると共に上記ローカル伸張器から上記別のプロトコルの信号が伝送され、かつ、ＵＳＢケーブルでＵＳＢ接続機器が接続されるリモート伸張器と、
上記リモート伸張器,ローカル伸張器,ＵＳＢケーブル,ＵＳＢポートを経由して入力された信号に基づいて、上記リモート伸張器にＵＳＢ接続機器が接続されたか否かを判断する接続機器認識部を有し、
さらに、上記リモート伸張器に上記ＵＳＢ接続機器が接続されていないと上記接続機器認識部が判断したときに、この接続機器認識部から上記判断を表す信号を受けて、上記ローカル伸張器およびリモート伸張器の電源をオンからオフにすると共に、上記電源をオフにしてから所定時間の後に上記電源をオンにする電源制御部とを備えることを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置を立ち上げる方法であって、
ＵＳＢドライバソフトウェアを起動させるステップと、
上記ＵＳＢドライバソフトウェアが正常に起動したか否かを判断して、正常に起動していないと判断したときに上記ＵＳＢドライバソフトウェアを起動させるステップに戻るステップと、
指定された接続機器名に対応するＵＳＢ接続機器のデバイスＩＤを取得するステップと、
上記取得したデバイスＩＤが正常か異常かを判断するステップと、
上記デバイスＩＤが異常であると判断した場合に、上記ＵＳＢドライバソフトウェアを終了させるステップと、
上記ＵＳＢドライバソフトウェアを終了させるステップの後に、上記ローカル伸張器およびリモート伸張器の電源をオフすると共にこの電源のオフの状態を所定時間だけ持続させるタイマー処理を行うステップと、
上記ローカル伸張器およびリモート伸張器の電源を所定時間だけオフさせた後に、上記ローカル伸張器およびリモート伸張器の電源をオンにするステップとを有し、
正常なデバイスＩＤを取得できるまで上記各ステップを順に繰り返すことを特徴とする情報処理装置の立ち上げ方法。
【請求項３】
請求項１に記載の情報処理装置のデータ転送方法であって、
指定された接続機器名に対応するＵＳＢ接続機器のデバイスＩＤを取得するステップと、
上記取得したデバイスＩＤが正常か異常かを判断するステップと、
上記デバイスＩＤが異常であると判断した場合に、ＵＳＢドライバソフトウェアを終了させるステップと、上記ローカル伸張器およびリモート伸張器の電源をオフすると共にこの電源オフの状態を所定時間だけ持続させるタイマー処理を行うステップと、上記ローカル伸張器およびリモート伸張器の電源を所定時間だけオフさせた後に、上記ローカル伸張器およびリモート伸張器の電源をオンにするステップと、上記ＵＳＢドライバソフトウェアを再起動するステップとを順に行ってから、上記ＵＳＢ接続機器のデバイスＩＤを取得するステップに戻り、
上記取得したデバイスＩＤが正常であると判断した場合は、上記ＵＳＢポートから上記ＵＳＢ接続機器にデータ転送するステップと、上記データ転送後の上記ＵＳＢ接続機器の状態を示すステータス信号を上記ＵＳＢ接続機器から取得するステップと、上記ステータス信号に基づいて上記データ転送のエラーが発生したか否かを判断するステップとを順に行い、上記データ転送のエラーが発生したと判断したときに、上記ＵＳＢ接続機器のデバイスＩＤを取得するステップに戻ることを特徴とする情報処理装置のデータ転送方法。
【請求項４】
請求項２に記載の情報処理装置の立ち上げ方法をコンピュータに実行させるためのコンピュータプログラムが記録されていると共に上記コンピュータプログラムが読み取り可能である記録媒体。
【請求項５】
請求項３に記載の情報処理装置のデータ転送方法をコンピュータに実行させるためのコンピュータプログラムが記録されていると共に上記コンピュータプログラムが読み取り可能である記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＵＳＢ(Ｕniversal Ｓerial Ｂus)接続により周辺機器に接続される情報処理装置およびその立ち上げ方法,データ転送方法に関し、上記立ち上げ方法,データ転送方法をコンピュータプログラムとして記録した記録媒体に関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータやワークステーション等の情報処理装置(ホストコンピュータ)と、スキャナやプリンタ、ハードディスクドライブ等の外部接続機器(周辺機器)との間でデータの送受信(転送)を行う標準的インターフェースとして、ＵＳＢ(Ｕniversal Ｓerial Ｂus)が普及している。上記ＵＳＢインターフェースを有するホストコンピュータと、ＵＳＢ接続ケーブルで接続された周辺機器(ＵＳＢ接続機器)との間のデータ転送は、ＵＳＢ規格に定められたデータの転送方式に基づいて行われる。
【０００３】
一例として、ＵＳＢ仕様書の改定版１.０では、単体ＵＳＢドメインは、１２Ｍｂｐｓの最大バンド幅を提供する分配媒体上で作動する１２７個の装置をサポートすることを要求している。一方で、ＵＳＢ仕様書の改訂版２.０は、バンド幅４８０Ｍｂｐｓを許可している。
【０００４】
しかし、現在、全ての公知のＵＳＢ仕様書では、周辺機器(ＵＳＢデバイス)はホストＰＣ(パーソナルコンピュータ)から５メートルまで分離可能であると、分離距離を制限している。これに対して、一連のＵＳＢハブ装置を利用すると、理論上では、上記分離距離の制限を３０メートルまで伸ばせる。一例として、３０メートル範囲で単体装置をサポートするには、５つのハブを購入せねばならない。さらに、これらのハブの少なくとも２つに電源を備える必要がある。ハブ間の個々のケーブルが５メートルに限られているから、場合によっては、ハブの幾つかは非常不便で安全でない場所に配置せねばならない。
【０００５】
これらの伝送距離の制約を回避するために、例えば、ローカル伸張器(ＬＥＸ)とリモート伸張器(ＲＥＸ)を用いた方法と装置により、上記分離距離を１００ｍにする技術が、特許文献１(特表２００２−５４２５２７号公報)に記載されている。
【０００６】
この特許文献１に記載された技術では、その通常の形態において、広域でホストコントローラーと周辺機器とにデータを送信する方法を提供し、その方法は、次の(ａ)〜(ｍ)のステップよりなる。すなわち、
(ａ) ホストコントローラーからローカル伸張器への第１オリジナル出力デジタル信号の送り出すステップ、
(ｂ) 上記出力デジタル信号を広域の送信に適したフォーマットを有する変換出力信号へ任意変換するステップ、
(ｃ) 出力送信信号として、信号分配システム上で、上記出力デジタル信号または上記変換された出力信号の何れかを送信するステップ、
(ｄ) リモート伸張器で上記出力送信信号を受信するステップ、
(ｅ) 上記出力送信信号を上記第１オリジナル出力デジタル信号へ任意変換するステップ、
(ｆ) 上記リモート伸張器から、少なくとも１つの周辺機器へ上記第１オリジナル出力デジタル信号を搬送するステップ、
(ｇ) 上記リモート伸張器で上記周辺機器からの応答デジタル信号を受信するステップ、
(ｈ) 上記リモート伸張器で上記応答デジタル信号を広域の送信に適したフォーマットを有する変換応答信号へ任意変換するステップ、
(ｉ) 上記リモート伸張器が、信号分配システム上で、上記応答デジタル信号または上記変換された応答信号の何れかを応答送信信号として送信するステップ、
(ｊ) 上記ローカル伸張器で上記応答送信信号を受信するステップ、
(ｋ) 上記ローカル伸張器で上記応答送信信号を上記応答デジタル信号へ任意変換するステップ、
(ｌ) 上記ローカル伸張器が、上記ホストコントローラーが出力する上記第１オリジナル出力デジタル信号と同様もしくは類似した、あとに続くオリジナル出力デジタル信号を受信するまで、蓄積応答デジタル信号としての上記応答デジタル信号を蓄積するステップ、
(ｍ) 上記あとに続くオリジナル出力デジタル信号に応答して、上記ローカル伸張器が、上記ホストコントローラーへ上記蓄積応答デジタル信号を送信するステップ。
【０００７】
しかしながら、上記ローカル伸張器(ＬＥＸ)とリモート伸張器(ＲＥＸ)を用いてホストコンピュータから周辺機器へデータ送信する経路において、ホストコンピュータが周辺機器を認識できないことがある。通常、このような状況が起こるのは、リンクケーブル上にデータエラーが多く発生し過ぎていることが考えられる。または、ホストコンピュータ、ローカル伸張器、リモート伸張器、および周辺機器間にプロトコルまたはタイミングのコンフリクト(衝突)が発生していることが考えられる。すなわち、ノイズによる影響により、ホストコンピュータが周辺機器を認識できないことが発生する。
【０００８】
上記データ送信する経路でのノイズとしては、次の(１)〜(３)がある。
【０００９】
(１) ＵＳＢケーブル長、および、ケーブルと接続デバイスのインピーダンスの不一致によるノイズ、
(２) 外部ノイズ発生源(パワー系のケーブル、スイッチングデバイスなど)からのＵＳＢケーブルへ伝播するノイズ、
(３) 電源ラインからローカル伸張器(ＬＥＸ),リモート伸張器(ＲＥＸ)の電源にノイズが伝播し、この電源に伝播したノイズの影響により信号変換を行うＩＣが誤動作することによるノイズ。
【００１０】
また、これらのノイズは、単体で発生するだけでなく、複合で発生する場合もあり、ノイズ対策の切り分けが困難になるという問題がある。さらに、装置の大きさや部品の配置上の制約により、十分なノイズ対策を行うことができない場合も多い。
【００１１】
ところで、ノイズの影響により、ホストコンピュータが周辺機器を認識できなくなった状態を回避する方法の一例として、ホストコンピュータと周辺機器とを接続しているＵＳＢケーブルを抜き、再度ケーブルを接続することでデバイスＩＤを再取得することが知られている。よって、民生用の機器では、ホストコンピュータが周辺機器を認識しなくなったとき、ケーブルの抜き差しでもって、認識を復帰させることは実使用上特に問題がない場合が多い。
【００１２】
しかし、２４時間稼動の生産装置においては、ケーブルの抜差しにより復帰させることは事実上不可能な操作である。
【特許文献１】特表２００２−５４２５２７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
そこで、この発明の課題は、ＵＳＢ接続されたＵＳＢ接続機器を確実に認識可能とすることができる情報処理装置を提供することにある。
【課題を解決するための手段】
【００１４】
上記課題を解決するため、この発明の情報処理装置は、ＵＳＢケーブルでＵＳＢポートに接続されると共に上記ＵＳＢケーブルからのＵＳＢプロトコルの信号をＵＳＢプロトコルよりも長い伝送距離を確保できる別のプロトコルの信号に変換することが可能なローカル伸張器と、
上記ローカル伸張器に所定のケーブルで接続されると共に上記ローカル伸張器から上記別のプロトコルの信号が伝送され、かつ、ＵＳＢケーブルでＵＳＢ接続機器が接続されるリモート伸張器と、
上記リモート伸張器,ローカル伸張器,ＵＳＢケーブル,ＵＳＢポートを経由して入力された信号に基づいて、上記リモート伸張器にＵＳＢ接続機器が接続されたか否かを判断する接続機器認識部を有し、
さらに、上記リモート伸張器に上記ＵＳＢ接続機器が接続されていないと上記接続機器認識部が判断したときに、この接続機器認識部から上記判断を表す信号を受けて、上記ローカル伸張器およびリモート伸張器の電源をオンからオフにすると共に、上記電源をオフにしてから所定時間の後に上記電源をオンにする電源制御部とを備えることを特徴としている。
【００１５】
この発明の情報処理装置によれば、ノイズなどの影響によって、接続機器認識部がＵＳＢ接続機器のデバイスＩＤを正常に取得できない等でＵＳＢ接続機器が接続されていないと判断したときには、電源制御部は、上記ＵＳＢポートと上記ＵＳＢ接続機器との間に接続されるローカル伸張器およびリモート伸張器の電源をオフにすると共に、上記電源をオフにしてから所定時間の後に上記電源をオンにする。このような電源のオフ、オンにより、ケーブルの抜き差しに相当する操作が行われるので、接続機器認識部によってＵＳＢ接続機器のデバイスＩＤを取得することが可能となる。よって、この発明によれば、ケーブルの抜き差しを行うことなく、ＵＳＢ接続機器の認識を容易に復帰させることが可能となる。
【００１６】
また、一実施形態の情報処理装置の立ち上げ方法では、ＵＳＢドライバソフトウェアを起動させるステップと、
上記ＵＳＢドライバソフトウェアが正常に起動したか否かを判断して、正常に起動していないと判断したときに上記ＵＳＢドライバソフトウェアを起動させるステップに戻るステップと、
指定された接続機器名に対応するＵＳＢ接続機器のデバイスＩＤを取得するステップと、
上記取得したデバイスＩＤが正常か異常かを判断するステップと、
上記デバイスＩＤが異常であると判断した場合に、上記ＵＳＢドライバソフトウェアを終了させるステップと、
上記ＵＳＢドライバソフトウェアを終了させるステップの後に、上記ローカル伸張器およびリモート伸張器の電源をオフすると共にこの電源のオフの状態を所定時間だけ持続させるタイマー処理を行うステップと、
上記ローカル伸張器およびリモート伸張器の電源を所定時間だけオフさせた後に、上記ローカル伸張器およびリモート伸張器の電源をオンにするステップとを有し、
正常なデバイスＩＤを取得できるまで上記各ステップを順に繰り返す。
【００１７】
この実施形態の立ち上げ方法によれば、ノイズなどの影響によって、取得したデバイスＩＤが異常である場合、ＵＳＢドライバソフトウェアを終了させた後、上記ローカル伸張器およびリモート伸張器の電源を所定の時間だけオフにしてからオンにする。このような電源のオフ、オンにより、ケーブルの抜き差しに相当する操作が行われるので、接続機器認識部によってＵＳＢ接続機器のデバイスＩＤを取得することが可能となる。よって、この発明によれば、ケーブルの抜き差しを行うことなく、ＵＳＢ接続機器の認識を容易に復帰させることが可能となる。
【００１８】
また、一実施形態の情報処理装置のデータ転送方法では、指定された接続機器名に対応するＵＳＢ接続機器のデバイスＩＤを取得するステップと、
上記取得したデバイスＩＤが正常か異常かを判断するステップと、
上記デバイスＩＤが異常であると判断した場合に、ＵＳＢドライバソフトウェアを終了させるステップと、上記ローカル伸張器およびリモート伸張器の電源をオフすると共にこの電源オフの状態を所定時間だけ持続させるタイマー処理を行うステップと、上記ローカル伸張器およびリモート伸張器の電源を所定時間だけオフさせた後に、上記ローカル伸張器およびリモート伸張器の電源をオンにするステップと、上記ＵＳＢドライバソフトウェアを再起動するステップとを順に行ってから、上記ＵＳＢ接続機器のデバイスＩＤを取得するステップに戻り、
上記取得したデバイスＩＤが正常であると判断した場合は、上記ＵＳＢポートから上記ＵＳＢ接続機器にデータ転送するステップと、上記データ転送後の上記ＵＳＢ接続機器の状態を示すステータス信号を上記ＵＳＢ接続機器から取得するステップと、上記ステータス信号に基づいて上記データ転送のエラーが発生したか否かを判断するステップとを順に行い、上記データ転送のエラーが発生したと判断したときに、上記ＵＳＢ接続機器のデバイスＩＤを取得するステップに戻る。
【００１９】
この実施形態のデータ転送方法によれば、ノイズなどの影響によって、デバイスＩＤを正常に取得できない場合、ローカル伸張器とリモート伸張器の電源を所定時間だけオフにしてからオンにすることで、ＵＳＢ接続機器を再接続させる。このような電源のオフ、オンにより、ケーブルの抜き差しに相当する操作が行われるので、接続機器認識部によってＵＳＢ接続機器のデバイスＩＤを取得することが可能となる。また、デバイスＩＤを正常に取得できた場合は、ＵＳＢ接続機器へデータ転送を行うと共にデータ転送のエラーが発生したときは、デバイスＩＤを取得するステップに戻って、ＵＳＢ接続機器の正常なデバイスＩＤを取得することができる。
【００２０】
また、一実施形態の記録媒体は、上記実施形態の情報処理装置の立ち上げ方法をコンピュータに実行させるためのコンピュータプログラムが記録されていると共に上記コンピュータプログラムが読み取り可能である。
【００２１】
また、一実施形態の記録媒体は、上記実施形態のデータ転送方法をコンピュータに実行させるためのコンピュータプログラムが記録されていると共に上記コンピュータプログラムが読み取り可能である。
【発明の効果】
【００２２】
この発明の情報処理装置によれば、ノイズなどの影響によって、接続機器認識部がＵＳＢ接続機器のデバイスＩＤを取得できない等でＵＳＢ接続機器が接続されていないと判断したときには、電源制御部は、上記ＵＳＢポートと上記ＵＳＢ接続機器との間に接続されるローカル伸張器およびリモート伸張器の電源をオフすると共に、上記電源をオフにしてから所定時間の後に上記電源をオンにする。このような電源のオフ、オンにより、ケーブルの抜き差しに相当する操作が行われるので、接続機器認識部によってＵＳＢ接続機器のデバイスＩＤを取得することが可能となる。よって、この発明によれば、ケーブルの抜き差しを行うことなく、ＵＳＢ接続機器の認識を容易に復帰させることが可能となる。
【発明を実施するための最良の形態】
【００２３】
以下、この発明を図示の実施の形態により詳細に説明する。
【００２４】
(第１の実施の形態)
図１は、この発明の第１実施形態である情報処理装置が、ＵＳＢケーブル１６でＵＳＢ接続機器であるＵＳＢデバイス１７にＵＳＢ接続されている状態を示すブロック図である。なお、図１において、ＵＳＢケーブル１６の端(ａ)と端(ｂ)とは連続してつながっている。
【００２５】
図１に示すように、この第１実施形態の情報処理装置は、ホストコンピュータ１と、電源制御部としてのＵＳＢ電源制御部２と、ローカル伸張器１３と、リモート伸張器１５とを備える。
【００２６】
上記ホストコンピュータ１は、ＵＳＢドライバ部３とＣＰＵ(中央演算処理装置)５とメモリ６とＨＤＤ(ハードディスクドライブ)７、およびクロック発振器等を有する。さらに、ホストコンピュータ１は、図示しないディスプレイ,キーボード,マウス等を有している。メモリ６は、記録媒体としてのＲＯＭ(リードオンリメモリ),ＲＡＭ(ランダムアクセスメモリ)等で構成される。また、ＨＤＤ７は記録媒体としてのハードディスクを有する。また、ＣＰＵ５は、上記ハードディスクやＲＯＭ等に記憶されたプログラムを実行することにより種々の機能を実現できる。上記ＲＯＭやハードディスクには、必要な処理を行うためのプログラムおよびデータ等が記憶されている。また、上記ＲＡＭには必要なデータが一時的に記憶される。
【００２７】
また、ＵＳＢドライバ部３は、接続機器認識部としてのＵＳＢ送受信部８とＵＳＢデバイス認識部１０を有すると共にＵＳＢポート１１に接続されている。また、ＵＳＢデバイス認識部１０には上記ＵＳＢ電源制御部２が接続されている。
【００２８】
上記ＵＳＢポート１１には、ＵＳＢケーブル１２でローカル伸張器１３が接続されている。このローカル伸張器１３は、ＵＳＢケーブル１２からのＵＳＢプロトコルの信号をＵＳＢプロトコルよりも長い伝送距離を確保できる別のプロトコルの信号に変換する。上記ローカル伸張器１３は、ＬＡＮケーブル１４でリモート伸張器１５に接続されている。このリモート伸張器１５は、ＵＳＢケーブル１６でＵＳＢデバイス１７のＵＳＢポート１８に接続されている。
【００２９】
上記ホストコンピュータ１が有するＨＤＤ７には、データを編集,印刷するための画像処理ソフトウェアを含むアプリケーションプログラムが記憶されている(組み込まれている)。また、ホストコンピュータ１には、ＵＳＢ規格のデータ転送(送受信)を実現するための、データ転送の制御,データの変換,エラー処理等を行うＵＳＢドライバソフトウェアが記憶されている。
【００３０】
したがって、上記アプリケーションプログラムにより上記ＵＳＢデバイス認識部１０で上記ＵＳＢデバイス１７の状態を読み出す場合、ＣＰＵ５はアプリケーションプログラムにしたがってＵＳＢドライバ部３にデータの転送を要求する。そして、ＵＳＢドライバ部３は、ＵＳＢポート１１,ＵＳＢケーブル１２,ローカル伸張器１３,ＬＡＮケーブル１４,リモート伸張器１５,ＵＳＢケーブル１６を介して、ＵＳＢデバイス１７にデータ転送すると共にＵＳＢデバイス１７の状態を表す信号(ステータス信号)を転送する。
【００３１】
上記ローカル伸張器１３には、ホストコンピュータ１のＵＳＢポート１１からＵＳＢケーブル１２を経由してＵＳＢ信号が入力される。ローカル伸張器１３は、入力されたＵＳＢ信号を、ＵＳＢプロトコルよりも伝送距離を長く確保できる他のプロトコル(例えば、パケット通信)の信号に変換し、この変換した信号をＬＡＮケーブル１４を経由してリモート伸張器１５に転送する。このリモート伸張器１５では、上記ローカル伸張器１３から入力された信号を、ＵＳＢプロトコルの信号に変換し、この信号をＵＳＢケーブル１６を経由してＵＳＢデバイス１７に出力する。
【００３２】
また、上記ＵＳＢドライバ部３は、ホストコンピュータ１の起動時(電源オン時)や、起動中のホストコンピュータ１にＵＳＢ接続で周辺機器(ＵＳＢデバイス)が接続された時に、接続されたＵＳＢデバイスを検出し、ＵＳＢ規格の所定のエニュメレーション処理を実行するＵＳＢデバイス認識部１０を有している。なお、エニュメレーション処理とは、各ＵＳＢデバイスを制御するための情報を読み取ったり、各ＵＳＢデバイスを管理するためのアドレスを割り付けたりする処理である。このＵＳＢドライバ部３は、ＵＳＢデバイス認識部１０により、上記ＵＳＢデバイスの正常なデバイスＩＤを取得できたときは、ハードディスクドライブ７上のアプリケーションプログラムにより、ＵＳＢデバイス認識部１０からデバイスＩＤがＵＳＢ送受信部８に入力され、このＵＳＢ送受信部８からＵＳＢポート１１とＵＳＢケーブル１２を経由してデータを転送する。
【００３３】
一方、ＵＳＢデバイス１７は、例えばプリンタである場合、印刷するための動作を制御するプログラムを記録した記録部２０が組み込まれている。さらに、ＵＳＢデバイス１７は、画像データ記憶部(図示せず)を有している。この画像データ記憶部は、ホストコンピュータ１からＵＳＢケーブル１２,ローカル伸張器１３,ＬＡＮケーブル１４,リモート伸張器１５,ＵＳＢケーブル１６を経由してＵＳＢデバイス１７に送信された印刷対象の画像データを記憶する。また、ＵＳＢデバイス１７には、ＵＳＢコントローラ１９が組み込まれている。このＵＳＢコントローラ１９は、ホストコンピュータ１が有するＵＳＢドライバ３と同様の機能を有し、ホストコンピュータ１とＵＳＢデバイス１７との間のＵＳＢ規格のデータの転送(送受信)を制御する。
【００３４】
次に、ＵＳＢ電源制御部２を説明する。このＵＳＢ電源制御部２は、ＵＳＢデバイス認識部１０がＵＳＢポート１１からＵＳＢデバイス１７の正常なデバイスＩＤを取得できなかったことを表す信号をＵＳＢデバイス認識部１０から受けた場合、ローカル伸張器１３およびリモート伸張器１５の電源を所定時間だけオフにした後、上記電源をオンにする。この所定時間とは、例えば、各機器(ローカル伸張器１３,リモート伸張器１５)内部のコンデンサなどに蓄えられた電荷を放出するのに必要な時間であり、一例として約１秒以上の時間である。
【００３５】
このように、ローカル伸張器１３およびリモート伸張器１５の電源を所定時間だけオフにすることで、ホストコンピュータ１とＵＳＢデバイス１７とを接続するＵＳＢケーブル１２,１６を抜いた場合と同じ状態になる。そして、上記電源を所定時間だけオフにした後、ＵＳＢ電源制御部２が上記電源をオンにすることで、ローカル伸張器１３、リモート伸張器１５が稼動して、ホストコンピュータ１は、ＵＳＢ接続で周辺機器であるＵＳＢデバイス１７が接続された時に、接続されたＵＳＢデバイスを検出することが可能になる。
【００３６】
このように、この実施形態の情報処理装置によれば、ノイズなどの影響により、ホストコンピュータ１がＵＳＢデバイス１７のデバイスＩＤを取得できない場合、ＵＳＢデバイス認識部１０はＵＳＢデバイスがＵＳＢポート１１に接続されていないと判断し、このＵＳＢデバイス認識部１０から上記判断を表す信号を受けたＵＳＢ電源制御部２は、ローカル伸張器１３およびリモート伸張器１３の電源を所定時間だけオフにしてからオンにする。これにより、ＵＳＢケーブル１２,１６の抜き差しに相当する再接続動作が行われる。これによって、ホストコンピュータ１がデバイスＩＤを取得することを可能にできる。よって、この実施形態によれば、ケーブルの抜き差しを行うことなく、ＵＳＢデバイス１７の認識を容易に復帰させることが可能となる。
【００３７】
なお、上記実施形態では、ローカル伸張器１３とリモート伸張器１５とをＬＡＮケーブル１４で接続したが、ＬＡＮケーブル１４に替えて、光ケーブルで接続してもよい。
【００３８】
(第２の実施の形態)
次に、図２のフローチャートを参照して、上記第１実施形態の情報処理装置が備えるホストコンピュータ１におけるＵＳＢドライバ部３による処理の立ち上げ方法を第２実施形態として説明する。なお、この第２実施形態の立ち上げ方法をホストコンピュータ１に実行させるためのコンピュータプログラムが上記メモリ６のＲＯＭやＨＤＤ７のハードディスクに記録されている。
【００３９】
図２に示すメインフローチャートの各ステップでの処理は、上記ホストコンピュータ１に記憶されたＵＳＢドライバ制御プログラム(情報処理装置制御プログラム)に従って実行される。図２に示すメインフローチャートは、ホストコンピュータ１の電源をオンすることによって開始(スタート)する。
【００４０】
まず、ステップＳ１１において、ハードディスクドライブ７に記録されたＵＳＢドライバソフトウェアを起動する。
【００４１】
次に、ステップＳ１２に進み、上記ＵＳＢドライバソフトウェアが起動したか否かを判別し、否の場合は、再度ステップＳ１１を実行する。一方、上記ドライバソフトウェアが起動したと判別した場合は、ステップＳ１３に進む。
【００４２】
ステップＳ１３では、ＵＳＢドライバ部３は、指定された接続機器名に対応するＵＳＢ接続機器、例えばＵＳＢデバイス１７のデバイスＩＤを取得する。
【００４３】
次に、ステップＳ１４において、ＵＳＢデバイス認識部１０は、正常なデバイスＩＤが取得できたか否かを判別し、取得したデバイスＩＤが異常であると判断した場合は、ステップＳ１５を実行する。一方、正常なデバイスＩＤが取得できたと判断した場合は、ステップＳ１９に進み、データ送受信可能状態になる。
【００４４】
ステップＳ１５では、上記ＵＳＢドライバソフトウェアを終了させる。次に、ステップＳ１６に進み、ＵＳＢ電源制御部２はローカル伸張器１３およびリモート伸張器１５の電源をオンからオフにする。次に、ステップＳ１７に進み、ＵＳＢ電源制御部２はタイマー処理により所定時間だけ、ローカル伸張器１３およびリモート伸張器１５の電源がオフである状態を保つ。ステップＳ１６およびステップＳ１７での処理により、ＵＳＢケーブル１２,１６を抜いた作業と同等な効果が得られる。
【００４５】
次に、ステップＳ１８において、ＵＳＢ電源制御部２は、ローカル伸張器１３およびリモート伸張器１５の電源をオンする処理を実行して、ステップＳ１１に戻る。上記電源をオンする処理を行うことで、ＵＳＢデバイス認識部１０はＵＳＢデバイス１７のデバイスＩＤを再度取得することが可能となる。これにより、ＵＳＢデバイス１７の正常なデバイスＩＤを取得できるようになる。そして、ＵＳＢデバイス認識部１０は、リモート伸張器１５に接続されたＵＳＢデバイス１７を検出し、ＵＳＢ規格の所定のエニュメレーション処理を実行する。なお、エニュメレーション処理とは、各ＵＳＢデバイスを制御するための情報を読み取ったり、各ＵＳＢデバイスを管理するためのアドレスを割り付けたりする処理である。
【００４６】
この第２実施形態の情報処理装置の立ち上げ方法によれば、ノイズなどの影響により、ホストコンピュータ１が正常なデバイスＩＤを取得できない場合、ローカル伸張器１３およびリモート伸張器１５の電源をオフにしてから所定時間後にオンにする。このことで、ＵＳＢケーブル１２,１６の再接続に相当する操作が行なわれ、ホストコンピュータ１が正常なデバイスＩＤを取得することができるようになって、立上げ完了状態(データ送受信可能状態)にすることができる。
【００４７】
(第３の実施の形態)
次に、図３のフローチャートを参照して、上記第１実施形態の情報処理装置が備えるホストコンピュータ１におけるＵＳＢドライバ部３によるデータ転送方法を第３実施形態として説明する。なお、この第３実施形態のデータ転送方法をホストコンピュータ１に実行させるためのコンピュータプログラムが上記メモリ６のＲＯＭやＨＤＤ７のハードディスクに記録されている。
【００４８】
図３のフローチャートの各ステップでの処理は、上記ホストコンピュータ１に記憶されたＵＳＢドライバ制御プログラム(情報処理装置制御プログラム)に従って実行される。図３のフローチャートは、情報処理装置の立ち上げ完了状態、つまり、データの送受信が可能になった状態から開始(スタート)する。
【００４９】
まず、ステップＳ２１において、指定された接続機器名に対応するＵＳＢデバイス(例えばＵＳＢデバイス１７)のデバイスＩＤを取得する。
【００５０】
次に、ステップＳ２２に進み、ＵＳＢデバイス認識部１０は、上記ＵＳＢデバイスの正常なデバイスＩＤが取得できた否かを判断し、取得したデバイスＩＤが正常であると判断した場合は、ステップＳ２８に進む。一方、正常なデバイスＩＤが取得できなかったと判断した場合は、ステップＳ２３の処理を行う。
【００５１】
ステップＳ２３では、上記ＵＳＢドライバソフトウェアの処理を終了する。次に、ステップＳ２４に進み、ＵＳＢ電源制御部２はローカル伸張器１３およびリモート伸張器１５の電源をオンからオフにする処理を行う。次に、ステップＳ２５に進み、ＵＳＢ電源制御部２はタイマー処理により所定時間だけ、ローカル伸張器１３およびリモート伸張器１５の電源がオフである状態を保つ。このステップＳ２４およびＳ２５での処理により、ＵＳＢケーブル１２,１６を抜いた処理と同等な効果が得られる。
【００５２】
次に、ステップＳ２６に進み、ＵＳＢ電源制御部２は、ローカル伸張器１３およびリモート伸張器１５の電源をオンする処理を実行して、ステップＳ２７に進む。ステップＳ２７では、ＵＳＢドライバソフトウェアの再起動を行って、ステップＳ２１に戻る。
【００５３】
一方、ステップＳ２８では、ステップＳ２１で取得したデバイスＩＤとホストコンピュータ１のＨＤＤ７にある送信データをＵＳＢ送受信部８からＵＳＢデバイス１７に送信する。次に、ステップＳ２９に進み、ＵＳＢドライバ部３は、ＵＳＢデバイス１７のデバイスＩＤを取得する。ここで取得したデバイスＩＤは、ステップＳ３１において、ＵＳＢデバイス１７からのステータス信号を取得するのに使用する。このステータス信号は、ホストコンピュータ１からＵＳＢデバイス１７にデータ送信が正しく行われたか否かを判別するための信号である。
【００５４】
次に、ステップＳ３０に進み、ステップＳ２９でＵＳＢデバイス１７のデバイスＩＤが正常に取得できた否かを判別し、ＵＳＢデバイス１７のデバイスＩＤが正常に取得できた場合は、ステップＳ３１の処理を行う。一方、ＵＳＢデバイス１７のデバイスＩＤが正常に取得できなかった場合は、ステップＳ２１に戻る。
【００５５】
ステップＳ３１では、ステップＳ２９で求めたデバイスＩＤに基づいて、ＵＳＢデバイス１７からステータス信号を取得する。このステータス信号は、ＵＳＢデバイス１７に上記送信データが正しく送信されたか否かをチェックするのに使用される。次に、ステップＳ３２に進み、ホストコンピュータ１は、取得したステータス信号の値に基づいて、送信のエラーが発生したか否かを判別し、送信のエラーが発生したと判断した場合は、ステップＳ２１に戻る。一方、ステップＳ３２で、送信のエラーが発生していないと判断した場合は、データ送受信処理を終了する。
【００５６】
この第３実施形態の情報処理装置のデータ転送方法によれば、ノイズなどの影響により、ホストコンピュータ１が正常なデバイスＩＤを取得できない場合、ローカル伸張器１３とリモート伸張器１５の電源をオフにしてから所定時間後にオンにする。このことで、ＵＳＢケーブル１２,１６の再接続に相当する操作が行なわれ、ホストコンピュータ１が正常なデバイスＩＤを取得することができるようになって、ＵＳＢデバイス１７へのデータ転送を正常に行うことが可能になる。
【産業上の利用可能性】
【００５７】
この発明は、情報処理装置とこの情報処理装置にＵＳＢ接続されたＵＳＢ接続機器との間でやり取りする信号が各種のノイズの影響を受け易い場合にも、ＵＳＢ接続機器のデバイスＩＤを正常に取得するのに適している。一例として、ＵＳＢ接続されたホストコンピュータとＵＳＢ接続機器との間で長距離のデータ転送を行う場合において、データを送受信する度にデバイスＩＤの取得状況を確認して、デバイスＩＤを取得できない場合は、デバイスＩＤを再取得する操作を行うことで、データの確実な送受信が可能になり有用である。
【図面の簡単な説明】
【００５８】
【図１】この発明の情報処理装置の第１実施形態とＵＳＢ接続機器とがＵＳＢ接続された状態を示すブロック図である。
【図２】この発明の第２実施形態としての情報処理装置の立ち上げ方法を説明するメインフローチャートである。
【図３】この発明の第３実施形態としての情報処理装置のデータ転送方法を説明するメインフローチャートである。
【符号の説明】
【００５９】
１  ホストコンピュータ
２  ＵＳＢ電源制御部
３  ＵＳＢドライバ部
５  ＣＰＵ
６  メモリ
７  ＨＤＤ
８  ＵＳＢ送受信部
１０  ＵＳＢデバイス認識部
１１、１８  ＵＳＢポート
１２、１６  ＵＳＢケーブル
１３  ローカル伸張器
１５  リモート伸張器
１７  ＵＳＢデバイス
１９  ＵＳＢコントローラ
２０  制御プログラム記録部
【図１】
2008293181.tif 000003
【図２】
2008293181.tif 000004
【図３】
2008293181.tif 000005
【手続補正書】
【提出日】平成20年8月8日(2008.8.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ＵＳＢケーブルでＵＳＢポートに接続されると共に上記ＵＳＢケーブルからのＵＳＢプロトコルの信号をＵＳＢプロトコルよりも長い伝送距離を確保できる別のプロトコルの信号に変換することが可能なローカル伸張器と、
上記ローカル伸張器に所定のケーブルで接続されると共に上記ローカル伸張器から上記別のプロトコルの信号が伝送され、かつ、ＵＳＢケーブルでＵＳＢ接続機器が接続され、上記別のプロトコルの信号を上記ＵＳＢプロトコルの信号に変換して上記ＵＳＢケーブルから上記ＵＳＢ接続機器へ伝送するリモート伸張器と、
上記リモート伸張器,ローカル伸張器,ＵＳＢケーブル,ＵＳＢポートを経由して入力された信号に基づいて、上記リモート伸張器にデバイスＩＤが正常に取得できるように上記ＵＳＢ接続機器が接続されたか否かを判断する接続機器認識部を有し、
さらに、上記リモート伸張器にデバイスＩＤが正常に取得できるように上記ＵＳＢ接続機器が接続されていないと上記接続機器認識部が判断したときに、この接続機器認識部から上記判断を表す信号を受けて、上記ローカル伸張器およびリモート伸張器の電源をオンからオフにして上記ローカル伸張器およびリモート伸張器を上記ＵＳＢケーブルに対して電気的に非接続状態にすると共に、上記電源をオフにしてから所定時間の後に上記電源をオンにする電源制御部とを備えることを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置による情報処理方法であって、
ＵＳＢドライバソフトウェアを起動させるステップと、
上記ＵＳＢドライバソフトウェアが正常に起動したか否かを判断して、正常に起動していないと判断したときに上記ＵＳＢドライバソフトウェアを起動させるステップに戻るステップと、
指定された接続機器名に対応するＵＳＢ接続機器のデバイスＩＤを取得するステップと、
上記取得したデバイスＩＤが正常か異常かを判断するステップと、
上記デバイスＩＤが異常であると判断した場合に、上記ＵＳＢドライバソフトウェアを終了させるステップと、
上記ＵＳＢドライバソフトウェアを終了させるステップの後に、上記ローカル伸張器およびリモート伸張器の電源をオフすると共にこの電源のオフの状態を所定時間だけ持続させるタイマー処理を行うステップと、
上記ローカル伸張器およびリモート伸張器の電源を所定時間だけオフさせた後に、上記ローカル伸張器およびリモート伸張器の電源をオンにするステップとを有し、
正常なデバイスＩＤを取得できるまで上記各ステップを順に繰り返すことを特徴とする情報処理方法。
【請求項３】
請求項１に記載の情報処理装置による情報処理方法であって、
指定された接続機器名に対応するＵＳＢ接続機器のデバイスＩＤを取得するステップと、
上記取得したデバイスＩＤが正常か異常かを判断するステップと、
上記デバイスＩＤが異常であると判断した場合に、ＵＳＢドライバソフトウェアを終了させるステップと、上記ローカル伸張器およびリモート伸張器の電源をオフすると共にこの電源オフの状態を所定時間だけ持続させるタイマー処理を行うステップと、上記ローカル伸張器およびリモート伸張器の電源を所定時間だけオフさせた後に、上記ローカル伸張器およびリモート伸張器の電源をオンにするステップと、上記ＵＳＢドライバソフトウェアを再起動するステップとを順に行ってから、上記ＵＳＢ接続機器のデバイスＩＤを取得するステップに戻り、
上記取得したデバイスＩＤが正常であると判断した場合は、上記ＵＳＢポートから上記ＵＳＢ接続機器にデータ転送するステップと、上記データ転送後の上記ＵＳＢ接続機器の状態を示すステータス信号を上記ＵＳＢ接続機器から取得するステップと、上記ステータス信号に基づいて上記データ転送のエラーが発生したか否かを判断するステップとを順に行い、上記データ転送のエラーが発生したと判断したときに、上記ＵＳＢ接続機器のデバイスＩＤを取得するステップに戻ることを特徴とする情報処理方法。
【請求項４】
請求項２に記載の情報処理装置による情報処理方法を上記情報処理装置に実行させるためのコンピュータプログラムが記録されていると共に上記コンピュータプログラムが読み取り可能である記録媒体。
【請求項５】
請求項３に記載の情報処理装置による情報処理方法を上記情報処理装置に実行させるためのコンピュータプログラムが記録されていると共に上記コンピュータプログラムが読み取り可能である記録媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＵＳＢ(Ｕniversal Ｓerial Ｂus)接続により周辺機器に接続される情報処理装置および情報処理方法に関し、上記情報処理方法をコンピュータプログラムとして記録した記録媒体に関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータやワークステーション等の情報処理装置(ホストコンピュータ)と、スキャナやプリンタ、ハードディスクドライブ等の外部接続機器(周辺機器)との間でデータの送受信(転送)を行う標準的インターフェースとして、ＵＳＢ(Ｕniversal Ｓerial Ｂus)が普及している。上記ＵＳＢインターフェースを有するホストコンピュータと、ＵＳＢ接続ケーブルで接続された周辺機器(ＵＳＢ接続機器)との間のデータ転送は、ＵＳＢ規格に定められたデータの転送方式に基づいて行われる。
【０００３】
一例として、ＵＳＢ仕様書の改定版１.０では、単体ＵＳＢドメインは、１２Ｍｂｐｓの最大バンド幅を提供する分配媒体上で作動する１２７個の装置をサポートすることを要求している。一方で、ＵＳＢ仕様書の改訂版２.０は、バンド幅４８０Ｍｂｐｓを許可している。
【０００４】
しかし、現在、全ての公知のＵＳＢ仕様書では、周辺機器(ＵＳＢデバイス)はホストＰＣ(パーソナルコンピュータ)から５メートルまで分離可能であると、分離距離を制限している。これに対して、一連のＵＳＢハブ装置を利用すると、理論上では、上記分離距離の制限を３０メートルまで伸ばせる。一例として、３０メートル範囲で単体装置をサポートするには、５つのハブを購入せねばならない。さらに、これらのハブの少なくとも２つに電源を備える必要がある。ハブ間の個々のケーブルが５メートルに限られているから、場合によっては、ハブの幾つかは非常不便で安全でない場所に配置せねばならない。
【０００５】
これらの伝送距離の制約を回避するために、例えば、ローカル伸張器(ＬＥＸ)とリモート伸張器(ＲＥＸ)を用いた方法と装置により、上記分離距離を１００ｍにする技術が、特許文献１(特表２００２−５４２５２７号公報)に記載されている。
【０００６】
この特許文献１に記載された技術では、その通常の形態において、広域でホストコントローラーと周辺機器とにデータを送信する方法を提供し、その方法は、次の(ａ)〜(ｍ)のステップよりなる。すなわち、
(ａ) ホストコントローラーからローカル伸張器への第１オリジナル出力デジタル信号の送り出すステップ、
(ｂ) 上記出力デジタル信号を広域の送信に適したフォーマットを有する変換出力信号へ任意変換するステップ、
(ｃ) 出力送信信号として、信号分配システム上で、上記出力デジタル信号または上記変換された出力信号の何れかを送信するステップ、
(ｄ) リモート伸張器で上記出力送信信号を受信するステップ、
(ｅ) 上記出力送信信号を上記第１オリジナル出力デジタル信号へ任意変換するステップ、
(ｆ) 上記リモート伸張器から、少なくとも１つの周辺機器へ上記第１オリジナル出力デジタル信号を搬送するステップ、
(ｇ) 上記リモート伸張器で上記周辺機器からの応答デジタル信号を受信するステップ、
(ｈ) 上記リモート伸張器で上記応答デジタル信号を広域の送信に適したフォーマットを有する変換応答信号へ任意変換するステップ、
(ｉ) 上記リモート伸張器が、信号分配システム上で、上記応答デジタル信号または上記変換された応答信号の何れかを応答送信信号として送信するステップ、
(ｊ) 上記ローカル伸張器で上記応答送信信号を受信するステップ、
(ｋ) 上記ローカル伸張器で上記応答送信信号を上記応答デジタル信号へ任意変換するステップ、
(ｌ) 上記ローカル伸張器が、上記ホストコントローラーが出力する上記第１オリジナル出力デジタル信号と同様もしくは類似した、あとに続くオリジナル出力デジタル信号を受信するまで、蓄積応答デジタル信号としての上記応答デジタル信号を蓄積するステップ、
(ｍ) 上記あとに続くオリジナル出力デジタル信号に応答して、上記ローカル伸張器が、上記ホストコントローラーへ上記蓄積応答デジタル信号を送信するステップ。
【０００７】
しかしながら、上記ローカル伸張器(ＬＥＸ)とリモート伸張器(ＲＥＸ)を用いてホストコンピュータから周辺機器へデータ送信する経路において、ホストコンピュータが周辺機器を認識できないことがある。通常、このような状況が起こるのは、リンクケーブル上にデータエラーが多く発生し過ぎていることが考えられる。または、ホストコンピュータ、ローカル伸張器、リモート伸張器、および周辺機器間にプロトコルまたはタイミングのコンフリクト(衝突)が発生していることが考えられる。すなわち、ノイズによる影響により、ホストコンピュータが周辺機器を認識できないことが発生する。
【０００８】
上記データ送信する経路でのノイズとしては、次の(１)〜(３)がある。
【０００９】
(１) ＵＳＢケーブル長、および、ケーブルと接続デバイスのインピーダンスの不一致によるノイズ、
(２) 外部ノイズ発生源(パワー系のケーブル、スイッチングデバイスなど)からのＵＳＢケーブルへ伝播するノイズ、
(３) 電源ラインからローカル伸張器(ＬＥＸ),リモート伸張器(ＲＥＸ)の電源にノイズが伝播し、この電源に伝播したノイズの影響により信号変換を行うＩＣが誤動作することによるノイズ。
【００１０】
また、これらのノイズは、単体で発生するだけでなく、複合で発生する場合もあり、ノイズ対策の切り分けが困難になるという問題がある。さらに、装置の大きさや部品の配置上の制約により、十分なノイズ対策を行うことができない場合も多い。
【００１１】
ところで、ノイズの影響により、ホストコンピュータが周辺機器を認識できなくなった状態を回避する方法の一例として、ホストコンピュータと周辺機器とを接続しているＵＳＢケーブルを抜き、再度ケーブルを接続することでデバイスＩＤを再取得することが知られている。よって、民生用の機器では、ホストコンピュータが周辺機器を認識しなくなったとき、ケーブルの抜き差しでもって、認識を復帰させることは実使用上特に問題がない場合が多い。
【００１２】
しかし、２４時間稼動の生産装置においては、ケーブルの抜差しにより復帰させることは事実上不可能な操作である。
【特許文献１】特表２００２−５４２５２７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
そこで、この発明の課題は、ＵＳＢ接続されたＵＳＢ接続機器を確実に認識可能とすることができる情報処理装置を提供することにある。
【課題を解決するための手段】
【００１４】
上記課題を解決するため、この発明の情報処理装置は、ＵＳＢケーブルでＵＳＢポートに接続されると共に上記ＵＳＢケーブルからのＵＳＢプロトコルの信号をＵＳＢプロトコルよりも長い伝送距離を確保できる別のプロトコルの信号に変換することが可能なローカル伸張器と、
上記ローカル伸張器に所定のケーブルで接続されると共に上記ローカル伸張器から上記別のプロトコルの信号が伝送され、かつ、ＵＳＢケーブルでＵＳＢ接続機器が接続され、上記別のプロトコルの信号を上記ＵＳＢプロトコルの信号に変換して上記ＵＳＢケーブルから上記ＵＳＢ接続機器へ伝送するリモート伸張器と、
上記リモート伸張器,ローカル伸張器,ＵＳＢケーブル,ＵＳＢポートを経由して入力された信号に基づいて、上記リモート伸張器にデバイスＩＤが正常に取得できるように上記ＵＳＢ接続機器が接続されたか否かを判断する接続機器認識部を有し、
さらに、上記リモート伸張器にデバイスＩＤが正常に取得できるように上記ＵＳＢ接続機器が接続されていないと上記接続機器認識部が判断したときに、この接続機器認識部から上記判断を表す信号を受けて、上記ローカル伸張器およびリモート伸張器の電源をオンからオフにして上記ローカル伸張器およびリモート伸張器を上記ＵＳＢケーブルに対して電気的に非接続状態にすると共に、上記電源をオフにしてから所定時間の後に上記電源をオンにする電源制御部とを備えることを特徴としている。
【００１５】
この発明の情報処理装置によれば、ノイズなどの影響によって、接続機器認識部がＵＳＢ接続機器のデバイスＩＤを正常に取得できない等でＵＳＢ接続機器が接続されていないと判断したときには、電源制御部は、上記ＵＳＢポートと上記ＵＳＢ接続機器との間に接続されるローカル伸張器およびリモート伸張器の電源をオフにすると共に、上記電源をオフにしてから所定時間の後に上記電源をオンにする。このような電源のオフ、オンにより、ケーブルの抜き差しに相当する操作が行われるので、接続機器認識部によってＵＳＢ接続機器のデバイスＩＤを取得することが可能となる。よって、この発明によれば、ケーブルの抜き差しを行うことなく、ＵＳＢ接続機器の認識を容易に復帰させることが可能となる。
【００１６】
また、一実施形態の情報処理方法では、ＵＳＢドライバソフトウェアを起動させるステップと、
上記ＵＳＢドライバソフトウェアが正常に起動したか否かを判断して、正常に起動していないと判断したときに上記ＵＳＢドライバソフトウェアを起動させるステップに戻るステップと、
指定された接続機器名に対応するＵＳＢ接続機器のデバイスＩＤを取得するステップと、
上記取得したデバイスＩＤが正常か異常かを判断するステップと、
上記デバイスＩＤが異常であると判断した場合に、上記ＵＳＢドライバソフトウェアを終了させるステップと、
上記ＵＳＢドライバソフトウェアを終了させるステップの後に、上記ローカル伸張器およびリモート伸張器の電源をオフすると共にこの電源のオフの状態を所定時間だけ持続させるタイマー処理を行うステップと、
上記ローカル伸張器およびリモート伸張器の電源を所定時間だけオフさせた後に、上記ローカル伸張器およびリモート伸張器の電源をオンにするステップとを有し、
正常なデバイスＩＤを取得できるまで上記各ステップを順に繰り返す。
【００１７】
この実施形態の情報処理方法によれば、ノイズなどの影響によって、取得したデバイスＩＤが異常である場合、ＵＳＢドライバソフトウェアを終了させた後、上記ローカル伸張器およびリモート伸張器の電源を所定の時間だけオフにしてからオンにする。このような電源のオフ、オンにより、ケーブルの抜き差しに相当する操作が行われるので、接続機器認識部によってＵＳＢ接続機器のデバイスＩＤを取得することが可能となる。よって、この発明によれば、ケーブルの抜き差しを行うことなく、ＵＳＢ接続機器の認識を容易に復帰させることが可能となる。
【００１８】
また、一実施形態の情報処理方法では、指定された接続機器名に対応するＵＳＢ接続機器のデバイスＩＤを取得するステップと、
上記取得したデバイスＩＤが正常か異常かを判断するステップと、
上記デバイスＩＤが異常であると判断した場合に、ＵＳＢドライバソフトウェアを終了させるステップと、上記ローカル伸張器およびリモート伸張器の電源をオフすると共にこの電源オフの状態を所定時間だけ持続させるタイマー処理を行うステップと、上記ローカル伸張器およびリモート伸張器の電源を所定時間だけオフさせた後に、上記ローカル伸張器およびリモート伸張器の電源をオンにするステップと、上記ＵＳＢドライバソフトウェアを再起動するステップとを順に行ってから、上記ＵＳＢ接続機器のデバイスＩＤを取得するステップに戻り、
上記取得したデバイスＩＤが正常であると判断した場合は、上記ＵＳＢポートから上記ＵＳＢ接続機器にデータ転送するステップと、上記データ転送後の上記ＵＳＢ接続機器の状態を示すステータス信号を上記ＵＳＢ接続機器から取得するステップと、上記ステータス信号に基づいて上記データ転送のエラーが発生したか否かを判断するステップとを順に行い、上記データ転送のエラーが発生したと判断したときに、上記ＵＳＢ接続機器のデバイスＩＤを取得するステップに戻る。
【００１９】
この実施形態の情報処理方法によれば、ノイズなどの影響によって、デバイスＩＤを正常に取得できない場合、ローカル伸張器とリモート伸張器の電源を所定時間だけオフにしてからオンにすることで、ＵＳＢ接続機器を再接続させる。このような電源のオフ、オンにより、ケーブルの抜き差しに相当する操作が行われるので、接続機器認識部によってＵＳＢ接続機器のデバイスＩＤを取得することが可能となる。また、デバイスＩＤを正常に取得できた場合は、ＵＳＢ接続機器へデータ転送を行うと共にデータ転送のエラーが発生したときは、デバイスＩＤを取得するステップに戻って、ＵＳＢ接続機器の正常なデバイスＩＤを取得することができる。
【００２０】
また、一実施形態の記録媒体は、上記実施形態の情報処理装置による情報処理方法を上記情報処理装置に実行させるためのコンピュータプログラムが記録されていると共に上記コンピュータプログラムが読み取り可能である。
【００２１】
また、一実施形態の記録媒体は、上記実施形態の情報処理装置による情報処理方法を上記情報処理装置に実行させるためのコンピュータプログラムが記録されていると共に上記コンピュータプログラムが読み取り可能である。
【発明の効果】
【００２２】
この発明の情報処理装置によれば、ノイズなどの影響によって、接続機器認識部がＵＳＢ接続機器のデバイスＩＤを取得できない等でＵＳＢ接続機器が接続されていないと判断したときには、電源制御部は、上記ＵＳＢポートと上記ＵＳＢ接続機器との間に接続されるローカル伸張器およびリモート伸張器の電源をオフすると共に、上記電源をオフにしてから所定時間の後に上記電源をオンにする。このような電源のオフ、オンにより、ケーブルの抜き差しに相当する操作が行われるので、接続機器認識部によってＵＳＢ接続機器のデバイスＩＤを取得することが可能となる。よって、この発明によれば、ケーブルの抜き差しを行うことなく、ＵＳＢ接続機器の認識を容易に復帰させることが可能となる。
【発明を実施するための最良の形態】
【００２３】
以下、この発明を図示の実施の形態により詳細に説明する。
【００２４】
(第１の実施の形態)
図１は、この発明の第１実施形態である情報処理装置が、ＵＳＢケーブル１６でＵＳＢ接続機器であるＵＳＢデバイス１７にＵＳＢ接続されている状態を示すブロック図である。なお、図１において、ＵＳＢケーブル１６の端(ａ)と端(ｂ)とは連続してつながっている。
【００２５】
図１に示すように、この第１実施形態の情報処理装置は、ホストコンピュータ１と、電源制御部としてのＵＳＢ電源制御部２と、ローカル伸張器１３と、リモート伸張器１５とを備える。
【００２６】
上記ホストコンピュータ１は、ＵＳＢドライバ部３とＣＰＵ(中央演算処理装置)５とメモリ６とＨＤＤ(ハードディスクドライブ)７、およびクロック発振器等を有する。さらに、ホストコンピュータ１は、図示しないディスプレイ,キーボード,マウス等を有している。メモリ６は、記録媒体としてのＲＯＭ(リードオンリメモリ),ＲＡＭ(ランダムアクセスメモリ)等で構成される。また、ＨＤＤ７は記録媒体としてのハードディスクを有する。また、ＣＰＵ５は、上記ハードディスクやＲＯＭ等に記憶されたプログラムを実行することにより種々の機能を実現できる。上記ＲＯＭやハードディスクには、必要な処理を行うためのプログラムおよびデータ等が記憶されている。また、上記ＲＡＭには必要なデータが一時的に記憶される。
【００２７】
また、ＵＳＢドライバ部３は、接続機器認識部としてのＵＳＢ送受信部８とＵＳＢデバイス認識部１０を有すると共にＵＳＢポート１１に接続されている。また、ＵＳＢデバイス認識部１０には上記ＵＳＢ電源制御部２が接続されている。
【００２８】
上記ＵＳＢポート１１には、ＵＳＢケーブル１２でローカル伸張器１３が接続されている。このローカル伸張器１３は、ＵＳＢケーブル１２からのＵＳＢプロトコルの信号をＵＳＢプロトコルよりも長い伝送距離を確保できる別のプロトコルの信号に変換する。上記ローカル伸張器１３は、ＬＡＮケーブル１４でリモート伸張器１５に接続されている。このリモート伸張器１５は、ＵＳＢケーブル１６でＵＳＢデバイス１７のＵＳＢポート１８に接続されている。
【００２９】
上記ホストコンピュータ１が有するＨＤＤ７には、データを編集,印刷するための画像処理ソフトウェアを含むアプリケーションプログラムが記憶されている(組み込まれている)。また、ホストコンピュータ１には、ＵＳＢ規格のデータ転送(送受信)を実現するための、データ転送の制御,データの変換,エラー処理等を行うＵＳＢドライバソフトウェアが記憶されている。
【００３０】
したがって、上記アプリケーションプログラムにより上記ＵＳＢデバイス認識部１０で上記ＵＳＢデバイス１７の状態を読み出す場合、ＣＰＵ５はアプリケーションプログラムにしたがってＵＳＢドライバ部３にデータの転送を要求する。そして、ＵＳＢドライバ部３は、ＵＳＢポート１１,ＵＳＢケーブル１２,ローカル伸張器１３,ＬＡＮケーブル１４,リモート伸張器１５,ＵＳＢケーブル１６を介して、ＵＳＢデバイス１７にデータ転送すると共にＵＳＢデバイス１７の状態を表す信号(ステータス信号)を転送する。
【００３１】
上記ローカル伸張器１３には、ホストコンピュータ１のＵＳＢポート１１からＵＳＢケーブル１２を経由してＵＳＢ信号が入力される。ローカル伸張器１３は、入力されたＵＳＢ信号を、ＵＳＢプロトコルよりも伝送距離を長く確保できる他のプロトコル(例えば、パケット通信)の信号に変換し、この変換した信号をＬＡＮケーブル１４を経由してリモート伸張器１５に転送する。このリモート伸張器１５では、上記ローカル伸張器１３から入力された信号を、ＵＳＢプロトコルの信号に変換し、この信号をＵＳＢケーブル１６を経由してＵＳＢデバイス１７に出力する。
【００３２】
また、上記ＵＳＢドライバ部３は、ホストコンピュータ１の起動時(電源オン時)や、起動中のホストコンピュータ１にＵＳＢ接続で周辺機器(ＵＳＢデバイス)が接続された時に、接続されたＵＳＢデバイスを検出し、ＵＳＢ規格の所定のエニュメレーション処理を実行するＵＳＢデバイス認識部１０を有している。なお、エニュメレーション処理とは、各ＵＳＢデバイスを制御するための情報を読み取ったり、各ＵＳＢデバイスを管理するためのアドレスを割り付けたりする処理である。このＵＳＢドライバ部３は、ＵＳＢデバイス認識部１０により、上記ＵＳＢデバイスの正常なデバイスＩＤを取得できたときは、ハードディスクドライブ７上のアプリケーションプログラムにより、ＵＳＢデバイス認識部１０からデバイスＩＤがＵＳＢ送受信部８に入力され、このＵＳＢ送受信部８からＵＳＢポート１１とＵＳＢケーブル１２を経由してデータを転送する。
【００３３】
一方、ＵＳＢデバイス１７は、例えばプリンタである場合、印刷するための動作を制御するプログラムを記録した記録部２０が組み込まれている。さらに、ＵＳＢデバイス１７は、画像データ記憶部(図示せず)を有している。この画像データ記憶部は、ホストコンピュータ１からＵＳＢケーブル１２,ローカル伸張器１３,ＬＡＮケーブル１４,リモート伸張器１５,ＵＳＢケーブル１６を経由してＵＳＢデバイス１７に送信された印刷対象の画像データを記憶する。また、ＵＳＢデバイス１７には、ＵＳＢコントローラ１９が組み込まれている。このＵＳＢコントローラ１９は、ホストコンピュータ１が有するＵＳＢドライバ３と同様の機能を有し、ホストコンピュータ１とＵＳＢデバイス１７との間のＵＳＢ規格のデータの転送(送受信)を制御する。
【００３４】
次に、ＵＳＢ電源制御部２を説明する。このＵＳＢ電源制御部２は、ＵＳＢデバイス認識部１０がＵＳＢポート１１からＵＳＢデバイス１７の正常なデバイスＩＤを取得できなかったことを表す信号をＵＳＢデバイス認識部１０から受けた場合、ローカル伸張器１３およびリモート伸張器１５の電源を所定時間だけオフにした後、上記電源をオンにする。この所定時間とは、例えば、各機器(ローカル伸張器１３,リモート伸張器１５)内部のコンデンサなどに蓄えられた電荷を放出するのに必要な時間であり、一例として約１秒以上の時間である。
【００３５】
このように、ローカル伸張器１３およびリモート伸張器１５の電源を所定時間だけオフにすることで、ホストコンピュータ１とＵＳＢデバイス１７とを接続するＵＳＢケーブル１２,１６を抜いた場合と同じ状態になる。そして、上記電源を所定時間だけオフにした後、ＵＳＢ電源制御部２が上記電源をオンにすることで、ローカル伸張器１３、リモート伸張器１５が稼動して、ホストコンピュータ１は、ＵＳＢ接続で周辺機器であるＵＳＢデバイス１７が接続された時に、接続されたＵＳＢデバイスを検出することが可能になる。
【００３６】
このように、この実施形態の情報処理装置によれば、ノイズなどの影響により、ホストコンピュータ１がＵＳＢデバイス１７のデバイスＩＤを取得できない場合、ＵＳＢデバイス認識部１０はＵＳＢデバイスがＵＳＢポート１１に接続されていないと判断し、このＵＳＢデバイス認識部１０から上記判断を表す信号を受けたＵＳＢ電源制御部２は、ローカル伸張器１３およびリモート伸張器１３の電源を所定時間だけオフにしてからオンにする。これにより、ＵＳＢケーブル１２,１６の抜き差しに相当する再接続動作が行われる。これによって、ホストコンピュータ１がデバイスＩＤを取得することを可能にできる。よって、この実施形態によれば、ケーブルの抜き差しを行うことなく、ＵＳＢデバイス１７の認識を容易に復帰させることが可能となる。
【００３７】
なお、上記実施形態では、ローカル伸張器１３とリモート伸張器１５とをＬＡＮケーブル１４で接続したが、ＬＡＮケーブル１４に替えて、光ケーブルで接続してもよい。
【００３８】
(第２の実施の形態)
次に、図２のフローチャートを参照して、上記第１実施形態の情報処理装置が備えるホストコンピュータ１におけるＵＳＢドライバ部３による情報処理方法を第２実施形態として説明する。なお、この第２実施形態の情報処理方法をホストコンピュータ１に実行させるためのコンピュータプログラムが上記メモリ６のＲＯＭやＨＤＤ７のハードディスクに記録されている。
【００３９】
図２に示すメインフローチャートの各ステップでの処理は、上記ホストコンピュータ１に記憶されたＵＳＢドライバ制御プログラム(情報処理装置制御プログラム)に従って実行される。図２に示すメインフローチャートは、ホストコンピュータ１の電源をオンすることによって開始(スタート)する。
【００４０】
まず、ステップＳ１１において、ハードディスクドライブ７に記録されたＵＳＢドライバソフトウェアを起動する。
【００４１】
次に、ステップＳ１２に進み、上記ＵＳＢドライバソフトウェアが起動したか否かを判別し、否の場合は、再度ステップＳ１１を実行する。一方、上記ドライバソフトウェアが起動したと判別した場合は、ステップＳ１３に進む。
【００４２】
ステップＳ１３では、ＵＳＢドライバ部３は、指定された接続機器名に対応するＵＳＢ接続機器、例えばＵＳＢデバイス１７のデバイスＩＤを取得する。
【００４３】
次に、ステップＳ１４において、ＵＳＢデバイス認識部１０は、正常なデバイスＩＤが取得できたか否かを判別し、取得したデバイスＩＤが異常であると判断した場合は、ステップＳ１５を実行する。一方、正常なデバイスＩＤが取得できたと判断した場合は、ステップＳ１９に進み、データ送受信可能状態になる。
【００４４】
ステップＳ１５では、上記ＵＳＢドライバソフトウェアを終了させる。次に、ステップＳ１６に進み、ＵＳＢ電源制御部２はローカル伸張器１３およびリモート伸張器１５の電源をオンからオフにする。次に、ステップＳ１７に進み、ＵＳＢ電源制御部２はタイマー処理により所定時間だけ、ローカル伸張器１３およびリモート伸張器１５の電源がオフである状態を保つ。ステップＳ１６およびステップＳ１７での処理により、ＵＳＢケーブル１２,１６を抜いた作業と同等な効果が得られる。
【００４５】
次に、ステップＳ１８において、ＵＳＢ電源制御部２は、ローカル伸張器１３およびリモート伸張器１５の電源をオンする処理を実行して、ステップＳ１１に戻る。上記電源をオンする処理を行うことで、ＵＳＢデバイス認識部１０はＵＳＢデバイス１７のデバイスＩＤを再度取得することが可能となる。これにより、ＵＳＢデバイス１７の正常なデバイスＩＤを取得できるようになる。そして、ＵＳＢデバイス認識部１０は、リモート伸張器１５に接続されたＵＳＢデバイス１７を検出し、ＵＳＢ規格の所定のエニュメレーション処理を実行する。なお、エニュメレーション処理とは、各ＵＳＢデバイスを制御するための情報を読み取ったり、各ＵＳＢデバイスを管理するためのアドレスを割り付けたりする処理である。
【００４６】
この第２実施形態の情報処理方法によれば、ノイズなどの影響により、ホストコンピュータ１が正常なデバイスＩＤを取得できない場合、ローカル伸張器１３およびリモート伸張器１５の電源をオフにしてから所定時間後にオンにする。このことで、ＵＳＢケーブル１２,１６の再接続に相当する操作が行なわれ、ホストコンピュータ１が正常なデバイスＩＤを取得することができるようになって、立上げ完了状態(データ送受信可能状態)にすることができる。
【００４７】
(第３の実施の形態)
次に、図３のフローチャートを参照して、上記第１実施形態の情報処理装置が備えるホストコンピュータ１におけるＵＳＢドライバ部３による情報処理方法を第３実施形態として説明する。なお、この第３実施形態の情報処理方法をホストコンピュータ１に実行させるためのコンピュータプログラムが上記メモリ６のＲＯＭやＨＤＤ７のハードディスクに記録されている。
【００４８】
図３のフローチャートの各ステップでの処理は、上記ホストコンピュータ１に記憶されたＵＳＢドライバ制御プログラム(情報処理装置制御プログラム)に従って実行される。図３のフローチャートは、情報処理装置の立ち上げ完了状態、つまり、データの送受信が可能になった状態から開始(スタート)する。
【００４９】
まず、ステップＳ２１において、指定された接続機器名に対応するＵＳＢデバイス(例えばＵＳＢデバイス１７)のデバイスＩＤを取得する。
【００５０】
次に、ステップＳ２２に進み、ＵＳＢデバイス認識部１０は、上記ＵＳＢデバイスの正常なデバイスＩＤが取得できた否かを判断し、取得したデバイスＩＤが正常であると判断した場合は、ステップＳ２８に進む。一方、正常なデバイスＩＤが取得できなかったと判断した場合は、ステップＳ２３の処理を行う。
【００５１】
ステップＳ２３では、上記ＵＳＢドライバソフトウェアの処理を終了する。次に、ステップＳ２４に進み、ＵＳＢ電源制御部２はローカル伸張器１３およびリモート伸張器１５の電源をオンからオフにする処理を行う。次に、ステップＳ２５に進み、ＵＳＢ電源制御部２はタイマー処理により所定時間だけ、ローカル伸張器１３およびリモート伸張器１５の電源がオフである状態を保つ。このステップＳ２４およびＳ２５での処理により、ＵＳＢケーブル１２,１６を抜いた処理と同等な効果が得られる。
【００５２】
次に、ステップＳ２６に進み、ＵＳＢ電源制御部２は、ローカル伸張器１３およびリモート伸張器１５の電源をオンする処理を実行して、ステップＳ２７に進む。ステップＳ２７では、ＵＳＢドライバソフトウェアの再起動を行って、ステップＳ２１に戻る。
【００５３】
一方、ステップＳ２８では、ステップＳ２１で取得したデバイスＩＤとホストコンピュータ１のＨＤＤ７にある送信データをＵＳＢ送受信部８からＵＳＢデバイス１７に送信する。次に、ステップＳ２９に進み、ＵＳＢドライバ部３は、ＵＳＢデバイス１７のデバイスＩＤを取得する。ここで取得したデバイスＩＤは、ステップＳ３１において、ＵＳＢデバイス１７からのステータス信号を取得するのに使用する。このステータス信号は、ホストコンピュータ１からＵＳＢデバイス１７にデータ送信が正しく行われたか否かを判別するための信号である。
【００５４】
次に、ステップＳ３０に進み、ステップＳ２９でＵＳＢデバイス１７のデバイスＩＤが正常に取得できた否かを判別し、ＵＳＢデバイス１７のデバイスＩＤが正常に取得できた場合は、ステップＳ３１の処理を行う。一方、ＵＳＢデバイス１７のデバイスＩＤが正常に取得できなかった場合は、ステップＳ２１に戻る。
【００５５】
ステップＳ３１では、ステップＳ２９で求めたデバイスＩＤに基づいて、ＵＳＢデバイス１７からステータス信号を取得する。このステータス信号は、ＵＳＢデバイス１７に上記送信データが正しく送信されたか否かをチェックするのに使用される。次に、ステップＳ３２に進み、ホストコンピュータ１は、取得したステータス信号の値に基づいて、送信のエラーが発生したか否かを判別し、送信のエラーが発生したと判断した場合は、ステップＳ２１に戻る。一方、ステップＳ３２で、送信のエラーが発生していないと判断した場合は、データ送受信処理を終了する。
【００５６】
この第３実施形態の情報処理方法によれば、ノイズなどの影響により、ホストコンピュータ１が正常なデバイスＩＤを取得できない場合、ローカル伸張器１３とリモート伸張器１５の電源をオフにしてから所定時間後にオンにする。このことで、ＵＳＢケーブル１２,１６の再接続に相当する操作が行なわれ、ホストコンピュータ１が正常なデバイスＩＤを取得することができるようになって、ＵＳＢデバイス１７へのデータ転送を正常に行うことが可能になる。
【産業上の利用可能性】
【００５７】
この発明は、情報処理装置とこの情報処理装置にＵＳＢ接続されたＵＳＢ接続機器との間でやり取りする信号が各種のノイズの影響を受け易い場合にも、ＵＳＢ接続機器のデバイスＩＤを正常に取得するのに適している。一例として、ＵＳＢ接続されたホストコンピュータとＵＳＢ接続機器との間で長距離のデータ転送を行う場合において、データを送受信する度にデバイスＩＤの取得状況を確認して、デバイスＩＤを取得できない場合は、デバイスＩＤを再取得する操作を行うことで、データの確実な送受信が可能になり有用である。
【図面の簡単な説明】
【００５８】
【図１】この発明の情報処理装置の第１実施形態とＵＳＢ接続機器とがＵＳＢ接続された状態を示すブロック図である。
【図２】この発明の第２実施形態としての情報処理方法を説明するメインフローチャートである。
【図３】この発明の第３実施形態としての情報処理方法を説明するメインフローチャートである。
【符号の説明】
【００５９】
１  ホストコンピュータ
２  ＵＳＢ電源制御部
３  ＵＳＢドライバ部
５  ＣＰＵ
６  メモリ
７  ＨＤＤ
８  ＵＳＢ送受信部
１０  ＵＳＢデバイス認識部
１１、１８  ＵＳＢポート
１２、１６  ＵＳＢケーブル
１３  ローカル伸張器
１５  リモート伸張器
１７  ＵＳＢデバイス
１９  ＵＳＢコントローラ
２０  制御プログラム記録部