(57)【要約】      （修正有）【課題】特別な部品を周辺機器に設けることなく、当該周辺機器との通信エラーが生じた場合にユーザの手を煩わすことなく通信を再開することができる端末装置および通信プログラムを提供する。【解決手段】取り外し可能な周辺機器１０２との通信を行う端末装置１０１であって、周辺機器１０２が取り付けられると起動し、周辺機器１０２との間で信号を送受信するインタフェース回路２２と、インタフェース回路２２が起動すると周辺機器１０２を認識し、認識した周辺機器１０２と自己の端末装置１０１との通信の制御を行う通信制御部１２とを備え、通信制御部１２は、周辺機器１０２との通信の可否を検知し、通信が可能ではないことを検知した場合、インタフェース回路２２を停止させた後、インタフェース回路２２を再起動させる。【選択図】図１
2014209282.tif 000002
【特許請求の範囲】
【請求項１】
取り外し可能な周辺機器との通信を行う端末装置であって、
前記周辺機器が取り付けられると起動し、前記周辺機器との間で信号を送受信するインタフェース回路と、
前記インタフェース回路が起動すると前記周辺機器を認識し、認識した前記周辺機器と自己の前記端末装置との通信の制御を行う通信制御部とを備え、
前記通信制御部は、前記周辺機器との通信の可否を検知し、通信が可能ではないことを検知した場合、前記インタフェース回路を停止させた後、前記インタフェース回路を再起動させる、端末装置。
【請求項２】
前記通信制御部は、
前記周辺機器との通信が可能ではない場合、前記インタフェース回路の停止要求を出力する管理部と、
前記管理部から前記停止要求を受けて、前記インタフェース回路を停止させる制御および再起動させる制御を行う回路制御部とを含む、請求項１に記載の端末装置。
【請求項３】
前記通信制御部は、ＯＳ（Operating System）によって実現され、
前記管理部は、前記ＯＳにおけるカーネルであり、
前記回路制御部は、前記ＯＳにおけるデーモンである、請求項２に記載の端末装置。
【請求項４】
取り外し可能な周辺機器との通信を行う端末装置において用いられる通信プラグラムであって、
前記端末装置は、前記周辺機器との間で信号を送受信するインタフェース回路を備え、
前記通信プログラムは、
コンピュータに、
前記周辺機器が取り付けられると前記インタフェース回路を起動させるステップと、
前記インタフェース回路が起動すると前記周辺機器を認識するステップと、
前記周辺機器との通信の可否を検知し、通信が可能ではないことを検知した場合、前記インタフェース回路を停止させるステップと、
前記インタフェース回路を再起動させるステップとを実行させるための、通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末装置および通信プログラムに関し、特に、取り外し可能な周辺機器との通信を行う端末装置および当該端末装置において用いられる通信プログラムに関する。
【背景技術】
【０００２】
従来、ＵＳＢ（Universal Serial Bus）通信規格に対応した端末装置など、電源を入れたまま周辺機器の取り外しを行うことが可能な端末装置が知られている。このような端末装置では、静電気の発生等の影響で、端末装置と周辺機器との通信エラーが生じることがあり、このような場合、周辺機器を端末装置から取り外し、再び接続させることにより通信の再開を行っていた。
【０００３】
また、ユーザの手を煩わすことなく通信の再開を可能にするため、たとえば、特許文献１（特開２００１−３０６４１３号公報）には、ＵＳＢ通信規格に対応した通信をホストとの間で行うＵＳＢ通信デバイスにおいて、ＵＳＢ通信ラインのＤ＋ラインと電源ラインとの間、または、Ｄ−ラインと電源ラインとの間に挿入されたプルアップ抵抗と、プルアップ抵抗に対して直列に挿入された電子スイッチと、電子スイッチを必要に応じて制御し、電子スイッチの再起動動作を行う制御回路と、を有することを特徴とするＵＳＢ通信デバイスが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−３０６４１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の技術では、周辺機器であるＵＳＢ通信デバイスに電子スイッチなどの部品を別途設ける必要があり、このような電子スイッチ等が設けられていない既存の周辺機器に対して特許文献１に記載の技術を適用させることは困難である。
【０００６】
この発明は、上述の課題を解決するためになされたもので、その目的は、特別な部品を周辺機器に設けることなく、当該周辺機器との通信エラーが生じた場合にユーザの手を煩わすことなく通信を再開することができる端末装置および通信プログラムを提供することである。
【課題を解決するための手段】
【０００７】
（１）上記課題を解決するために、この発明のある局面に係わる端末装置は、取り外し可能な周辺機器との通信を行う端末装置であって、前記周辺機器が取り付けられると起動し、前記周辺機器との間で信号を送受信するインタフェース回路と、前記インタフェース回路が起動すると前記周辺機器を認識し、認識した前記周辺機器と自己の前記端末装置との通信の制御を行う通信制御部とを備え、前記通信制御部は、前記周辺機器との通信の可否を検知し、通信が可能ではないことを検知した場合、前記インタフェース回路を停止させた後、前記インタフェース回路を再起動させる。
【０００８】
（４）上記課題を解決するために、この発明のある局面に係わる通信プログラムは、取り外し可能な周辺機器との通信を行う端末装置において用いられる通信プラグラムであって、前記端末装置は、前記周辺機器との間で信号を送受信するインタフェース回路を備え、前記通信プログラムは、コンピュータに、前記周辺機器が取り付けられると前記インタフェース回路を起動させるステップと、前記インタフェース回路が起動すると前記周辺機器を認識するステップと、前記周辺機器との通信の可否を検知し、通信が可能ではないことを検知した場合、前記インタフェース回路を停止させるステップと、前記インタフェース回路を再起動させるステップとを実行させるためのプログラムである。
【発明の効果】
【０００９】
本発明によれば、特別な部品を周辺機器に設けることなく、当該周辺機器との通信エラーが生じた場合にユーザの手を煩わすことなく通信を再開することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、本発明の実施の形態に係る端末装置のソフトウェア構成およびインタフェース構成を示す図である。
【図２】図２は、本発明の実施の形態に係る端末装置と周辺機器との通信動作の手順を定めたシーケンス図である。
【発明を実施するための形態】
【００１１】
最初に、本発明の実施形態の端末装置及び通信プログラムを列記して説明する。
【００１２】
（１）端末装置は、取り外し可能な周辺機器との通信を行う端末装置であって、前記周辺機器が取り付けられると起動し、前記周辺機器との間で信号を送受信するインタフェース回路と、前記インタフェース回路が起動すると前記周辺機器を認識し、認識した前記周辺機器と自己の前記端末装置との通信の制御を行う通信制御部とを備え、前記通信制御部は、前記周辺機器との通信の可否を検知し、通信が可能ではないことを検知した場合、前記インタフェース回路を停止させた後、前記インタフェース回路を再起動させる。
【００１３】
このように、端末装置側で通信エラーを検知し、インタフェース回路を再起動させる構成により、周辺機器を取り外さなくても、当該周辺機器を取り外して再び取り付けた場合と同様に、当該周辺機器の再認識が行われる。これにより、特別な部品を周辺機器に設けることなく、当該周辺機器との通信エラーが生じた場合にユーザの手を煩わすことなく通信を再開することができる。
【００１４】
（２）また、前記通信制御部は、前記周辺機器との通信が可能ではない場合、前記インタフェース回路の停止要求を出力する管理部と、前記管理部から前記停止要求を受けて、前記インタフェース回路を停止させる制御および再起動させる制御を行う回路制御部とを含む。
【００１５】
このような構成により、通信制御部において適切な役割分担を行い、通信制御部における各ユニットの処理を簡易化することができる。
【００１６】
（３）また、前記通信制御部は、ＯＳ（Operating System）によって実現され、前記管理部は、前記ＯＳにおけるカーネルであり、前記回路制御部は、前記ＯＳにおけるデーモンである。
【００１７】
このように、通信制御部がソフトウェアによって実現されることにより、本発明における端末装置の管理部および回路制御部による機能を、既存の端末装置に対して容易に適用させることができる。また、インタフェース回路を停止および再起動させるための制御をデーモンが担うことにより、デーモンの処理をカーネルに対するバックグラウンド処理として扱うことも可能となる、すなわち、カーネルにかかる負荷を軽減させることができる。
【００１８】
（４）通信プログラムは、取り外し可能な周辺機器との通信を行う端末装置において用いられる通信プラグラムであって、前記端末装置は、前記周辺機器との間で信号を送受信するインタフェース回路を備え、前記通信プログラムは、コンピュータに、前記周辺機器が取り付けられると前記インタフェース回路を起動させるステップと、前記インタフェース回路が起動すると前記周辺機器を認識するステップと、前記周辺機器との通信の可否を検知し、通信が可能ではないことを検知した場合、前記インタフェース回路を停止させるステップと、前記インタフェース回路を再起動させるステップとを実行させるためのプログラムである。
【００１９】
このように、端末装置側で通信エラーを検知し、インタフェース回路を再起動させる構成により、周辺機器を取り外さなくても、当該周辺機器を取り外して再び取り付けた場合と同様に、当該周辺機器の再認識が行われる。これにより、特別な部品を周辺機器に設けることなく、当該周辺機器との通信エラーが生じた場合にユーザの手を煩わすことなく通信を再開することができる。
【００２０】
以下、本発明の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
【００２１】
［構成および基本動作］
図１は、本発明の実施の形態に係る端末装置のソフトウェア構成およびインタフェース構成を示す図である。
【００２２】
図１を参照して、本発明の実施の形態に係る端末装置１０１は、たとえば、宅内に設けられる１または複数の電気機器と接続され、各電気機器における消費電力の管理を行うためのホームゲートウェイ等の情報処理装置である。
【００２３】
端末装置１０１は、インタフェース部１１を備え、インタフェース部１１は、ソケット２１と、インタフェース回路２２とを含む。また、端末装置１０１のソフトウェアは、ＯＳ（Operating System）（通信制御部）１２と、アプリケーション１３と、ドライバ１４とを備える。ＯＳ１２は、たとえばＬｉｎｕｘ（登録商標）であり、カーネル（管理部）２４と、デーモン（回路制御部）２５とを含む。
【００２４】
インタフェース部１１において、ソケット２１には、ＵＳＢ（Universal Serial Bus）メモリなど、ＵＳＢ通信規格に対応した取り外し可能な周辺機器１０２が取り付けられる。インタフェース回路２２は、ソケット２１に周辺機器１０２が取り付けられると起動する。
【００２５】
ここで、ソケット２１に周辺機器１０２が取り付けられることにより、インタフェース回路２２と周辺機器１０２とは、ＵＳＢ通信規格に準拠した接続ケーブルを介して接続される。そして、インタフェース回路２２と周辺機器１０２とは、この接続ケーブルにおける「Ｄ＋ライン」および「Ｄ−ライン」の２本の信号ラインを用いて信号の送受信を行う。
【００２６】
これら「Ｄ＋ライン」および「Ｄ−ライン」は、インタフェース回路２２側においてグランド（ＧＮＤ）に接続されているため、ソケット２１に周辺機器１０２が取り付けられていない場合には、「Ｄ＋ライン」および「Ｄ−ライン」がローレベルの状態となる。一方、ソケット２１に周辺機器１０２が取り付けられると、「Ｄ＋ライン」または「Ｄ−ライン」がハイレベルの状態となる。
【００２７】
このため、インタフェース回路２２は、「Ｄ＋ライン」または「Ｄ−ライン」がハイレベルの状態であることを検出することにより、ソケット２１に周辺機器１０２が取り付けられたことを検出して起動する。そして、周辺機器１０２は、インタフェース回路２２が起動すると、ソケット２１を介してインタフェース回路２２側から電源供給を受ける。
【００２８】
アプリケーション１３は、たとえば、電気機器において使用されている使用電力量を示す情報を取得し、取得した情報に基づいて統計情報を作成する電力監視バンドル、または、電気機器と接続してホームセキュリティ機能をユーザに提供するホームセキュリティバンドルなどである。
【００２９】
ドライバ１４は、インタフェース回路２２が起動したことを検出すると、ソケット２１に取り付けられている周辺機器１０２を認識し、認識した周辺機器１０２に対する各種設定を行う。
【００３０】
具体的には、ドライバ１４は、ソケット２１およびインタフェース回路２２を介して、設定要求を周辺機器１０２へ送信する。そして、ドライバ１４は、周辺機器１０２から設定要求に対する応答信号を受信すると、たとえば端末装置１０１の保有する複数のアドレスのうち使用されていないアドレスを特定し、特定したアドレスを用いて信号の送受信を行うことを指示するセットアップ要求を、周辺機器１０２へ送信する。
【００３１】
そして、ドライバ１４と周辺機器１０２とは、ドライバ１４により特定されたアドレスを用いて、たとえば端末装置１０１側のリソースに関する情報など各種情報の送受信を行い、ドライバ１４と周辺機器１０２との各種設定が完了する。
【００３２】
また、ドライバ１４は、各種設定が行われた後の周辺機器１０２との通信の可否を検知する。すなわち、ドライバ１４との間で各種設定が行われた周辺機器１０２であっても、静電気の発生等の影響で、端末装置１０１と周辺機器１０２との通信エラーが生じることがある。このため、ドライバ１４は、端末装置１０１と周辺機器１０２との通信の可否を、たとえば定期的に検知する。
【００３３】
具体的には、ドライバ１４は、ソケット２１およびインタフェース回路２２を介して、周辺機器１０２へ通信エラーの検知のための信号を送信し、送信してから所定時間内にこの信号に対する応答信号を受信するか否かを検知する。そして、ドライバ１４は、上記所定時間内に応答信号を受信しない場合、周辺機器１０２との通信が可能ではないこと、すなわち通信エラーが生じていることを示す検知結果をカーネル２４へ出力する。
【００３４】
一方、ドライバ１４は、上記所定時間内に応答信号を受信した場合、周辺機器１０２との通信が可能であること、すなわち通信エラーが生じていないことを示す検知結果をカーネル２４へ出力する。
【００３５】
ＯＳ１２において、カーネル２４は、たとえばＬｉｎｕｘ（登録商標）カーネルであり、デーモン２５など、ＯＳ１２に設けられた１または複数のソフトウェアモジュールの管理を行う。たとえば、カーネル２４は、通信エラーが生じていることを示す検知結果をドライバ１４から受けると、インタフェース回路２２の停止要求をデーモン２５へ出力する。
【００３６】
デーモン２５は、たとえばＬｉｎｕｘ（登録商標）カーネル用のデバイス管理ツールであるｕｄｅｖである。デーモン２５は、カーネル２４からインタフェース回路２２の停止要求を受けた場合、インタフェース回路２２を停止させるための制御信号（以下、「停止制御信号」とも称する）をドライバ１４へ出力する。そして、ドライバ１４は、デーモン２５から停止制御信号を受けると、インタフェース回路２２を停止させる。
【００３７】
また、デーモン２５は、停止制御信号を出力してから例えば所定時間経過後、インタフェース回路２２を再起動させるための制御信号（以下、「再起動制御信号」とも称する）をドライバ１４へ出力する。そして、ドライバ１４は、デーモン２５から再起動制御信号を受けると、インタフェース回路２２を再起動させる。そして、ドライバ１４は、インタフェース回路２２が再起動すると、ソケット２１に新たに周辺機器１０２が取り付けられた場合と同様に、周辺機器１０２の認識および各種設定を再び行う。
【００３８】
なお、本発明の実施の形態による端末装置１０１では、ドライバ１４が端末装置１０１と周辺機器１０２との通信の可否を検知する構成であるが、このような通信の可否の検知は、たとえばカーネル２４により行われても良い。
【００３９】
［動作］
次に、本発明の実施の形態に係る端末装置１０１と周辺機器１０２との通信動作について説明する。
【００４０】
端末装置１０１および周辺機器１０２の各々は、以下に示すシーケンスの各ステップを含むプログラムを図示しないメモリから読み出して実行する。これらのプログラムは、外部からインストールすることができる。このインストールされるプログラムは、たとえば記録媒体に格納された状態で流通する。
【００４１】
図２は、本発明の第１の実施の形態に係る端末装置と周辺機器との通信動作の手順を定めたシーケンス図である。
【００４２】
図２を参照して、まず、端末装置１０１のソケット２１に周辺機器１０２が取り付けられると、「Ｄ＋ライン」または「Ｄ−ライン」がハイレベルの状態となり（ステップＳ１１）、インタフェース回路２２は、この状態を検出すると起動する（ステップＳ１２）。
【００４３】
次に、ドライバ１４は、インタフェース回路２２が起動したことを検出すると、周辺機器１０２を認識し、認識した周辺機器１０２に対する各種設定を行う（ステップＳ１３）。そして、ドライバ１４は、周辺機器１０２との通信の可否を検知して（ステップＳ１４）、検知結果をカーネル２４へ出力する（ステップＳ１５）。
【００４４】
次に、カーネル２４は、通信エラーが生じていないことを示す検知結果を受けた場合（ステップＳ１６において「Ｎｏ」）、「ａｄｄ通知」をデーモン２５へ出力する（ステップＳ１７）。そして、端末装置１０１と周辺機器１０２とは通信を継続し、ドライバ１４による通信の可否の検知（ステップＳ１３）およびステップＳ１４からステップＳ１７までの動作が繰り返し行われる。
【００４５】
一方、カーネル２４は、通信エラーが生じていることを示す検知結果を受けた場合（ステップＳ１６において「Ｙｅｓ」）、インタフェース回路２２の停止要求である「ｒｅｍｏｖｅ通知」をデーモン２５へ出力する（ステップＳ１８）。
【００４６】
そして、デーモン２５は、カーネル２４から「ｒｅｍｏｖｅ通知」を受けると、停止制御信号をドライバ１４へ出力する（ステップＳ１９）。次に、ドライバ１４は、デーモン２５から受けた停止制御信号に従い、インタフェース回路２２を停止させる（ステップＳ２０およびステップＳ２１）。
【００４７】
次に、デーモン２５は、たとえば停止制御信号を出力してから所定時間経過後、再起動制御信号をドライバ１４へ出力する（ステップＳ２２）。そして、ドライバ１４は、デーモン２５から受けた再起動制御信号に従い、インタフェース回路２２を再起動させる（ステップＳ２３およびステップＳ２４）。
【００４８】
そして、ドライバ１４は、インタフェース回路２２が再起動すると、周辺機器１０２の認識を再び行い（ステップＳ２５）、上述したステップＳ１４以降の動作と同様の動作が繰り返し行われる。
【００４９】
なお、ドライバ１４による周辺機器１０２の認識および各種設定（ステップＳ１３）が行われた後に、たとえばユーザにより周辺機器１０２がソケット２１から取り外されることがある。このような場合、ドライバ１４は、通信の可否の検知、すなわち通信エラーが生じているか否かの検知（ステップＳ１４）において、通信エラーの検知のために周辺機器１０２へ送信する信号、に対する応答信号を周辺機器１０２から受信することができないため、通信エラーが生じていることを示す検知結果をカーネル２４へ出力する（ステップＳ１５）。
【００５０】
そして、カーネル２４から「ｒｅｍｏｖｅ通知」が出力され、インタフェース回路２２の停止および再起動が行われて、ドライバ１４は、周辺機器１０２の認識および各種設定を再び行う（ステップＳ１６、および、ステップＳ１８からステップＳ２５）。
【００５１】
しかしながら、ソケット２１には周辺機器１０２が取り付けられていないため、ドライバ１４は、周辺機器１０２に対する各種設定において設定要求に対する応答信号を周辺機器１０２から受信することができない。このため、このような場合、ドライバ１４は、たとえばソケット２１に周辺機器１０２が取り付けられていないことを示すエラー通知をカーネル２４へ出力する。そして、カーネル２４は、エラー通知を受けると、端末装置１０１と周辺機器１０２との通信動作を終了させる。
【００５２】
ところで、特許文献１に記載の技術では、周辺機器であるＵＳＢ通信デバイスに電子スイッチなどの部品を別途設ける必要があり、このような電子スイッチ等が設けられていない既存の周辺機器に対して特許文献１に記載の技術を適用させることは困難である。
【００５３】
これに対して、本発明の実施の形態に係る端末装置１０１では、インタフェース回路２２は、周辺機器１０２が取り付けられると起動し、周辺機器１０２との間で信号を送受信する。また、通信制御部１２は、インタフェース回路２２が起動すると周辺機器１０２を認識し、認識した周辺機器１０２と自己の端末装置１０１との通信の制御を行う。また、通信制御部１２は、周辺機器１０２との通信の可否を検知し、通信が可能ではないことを検知した場合、インタフェース回路２２を停止させた後、インタフェース回路２２を再起動させる。
【００５４】
このように、端末装置１０１側で通信エラーを検知し、インタフェース回路２２を再起動させる構成により、周辺機器１０２を取り外さなくても、周辺機器１０２を取り外して再び取り付けた場合と同様に、当該周辺機器１０２の再認識が行われる。これにより、特別な部品を周辺機器１０２に設けることなく、当該周辺機器１０２との通信エラーが生じた場合にユーザの手を煩わすことなく通信を再開することができる。
【００５５】
また、本発明の実施の形態に係る端末装置１０１では、通信制御部１２は、周辺機器１０２との通信が可能ではない場合、インタフェース回路２２の停止要求である「ｒｅｍｏｖｅ通知」を出力する管理部２４と、管理部２４から「ｒｅｍｏｖｅ通知」を受けて、インタフェース回路２２を停止させる制御および再起動させる制御を行う回路制御部２５とを含む。
【００５６】
このような構成により、通信制御部１２において適切な役割分担を行い、通信制御部１２における各ユニットの処理を簡易化することができる。
【００５７】
また、本発明の実施の形態に係る端末装置１０１では、通信制御部１２は、ＯＳによって実現され、管理部２４は、ＯＳ１２におけるカーネルであり、回路制御部２５は、ＯＳ１２におけるデーモン２５である。
【００５８】
このように、通信制御部１２がソフトウェアによって実現されることにより、本発明における端末装置１０１の管理部２４および回路制御部２５による機能を、既存の端末装置に対して容易に適用させることができる。また、インタフェース回路２２を停止および再起動させるための制御をデーモン２５が担うことにより、デーモン２５の処理をカーネル２４に対するバックグラウンド処理として扱うことも可能となる、すなわち、カーネル２４にかかる負荷を軽減させることができる。
【００５９】
上記実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記説明ではなく特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００６０】
１１  インタフェース部
１２  ＯＳ（通信制御部）
１３  アプリケーション
１４  ドライバ
２１  ソケット
２２  インタフェース回路
２４  カーネル（管理部）
２５  デーモン（回路制御部）
１０１  端末装置
１０２  周辺機器
【図１】
2014209282.tif 000003
【図２】
2014209282.tif 000004