(57)【要約】【課題】効率的に電子機器同士が接続中であることを確認するための技術を提供する。【解決手段】他の装置と通信するための通信インターフェイスと、接続中であることを確認するための処理の結果の履歴に基づいて、電気機器通信インターフェイスを介して、接続中であることを確認するための処理を繰り返す間隔を決定するためのプロセッサとを備える、電気機器が提供される。【選択図】図１
2020067683.tif 000002
【特許請求の範囲】
【請求項１】
他の装置と通信するための通信インターフェイスと、
接続中であることを確認するための処理の結果の履歴に基づいて、前記通信インターフェイスを介して、接続中であることを確認するための処理を繰り返す間隔を決定するためのプロセッサとを備える、電気機器。
【請求項２】
前記プロセッサは、接続中であることを確認するための処理の時間帯毎の履歴に基づいて、接続中であることを確認するための処理を繰り返す間隔を時間帯毎に決定する、請求項１に記載の電気機器。
【請求項３】
前記プロセッサは、接続中であることを確認するための処理の通信相手先毎の履歴に基づいて、接続中であることを確認するための処理を繰り返す間隔を通信相手先毎に決定する、請求項２に記載の電気機器。
【請求項４】
前記プロセッサは、接続中であることを確認するための処理に成功した場合、前記間隔を長く設定し直す、請求項１から３のいずれか１項に記載の電気機器。
【請求項５】
前記プロセッサは、接続中であることを確認するための処理の結果の履歴に基づいて、前記間隔の上限値を決定する、請求項４に記載の電気機器。
【請求項６】
前記プロセッサは、接続中であることを確認するための処理に失敗した場合、前記間隔を短く設定し直す、請求項１から５のいずれか１項に記載の電気機器。
【請求項７】
人感センサをさらに備え、
前記プロセッサは、人を検知した場合に、前記間隔を短い時間に設定し直す、請求項１から５に記載の電気機器。
【請求項８】
電気機器と、
サーバとを備えるネットワークシステムであって、
前記電気機器側から前記サーバと接続中であることを確認するための処理を実行し、前記電気機器は、前記サーバと接続中であることを確認するための処理の結果の履歴に基づいて、前記サーバと接続中であることを確認するための処理を繰り返す間隔を決定する、ネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器同士の接続状態を確認するための技術に関する。
【背景技術】
【０００２】
従来から、電子機器同士の接続状態を確認するための技術が知られている。たとえば、特開２０１２−１８５７１４号公報（特許文献１）には、電子看板システム及び電子看板システムのコンテンツ配信方法が開示されている。特許文献１によると、表示内容であるコンテンツを表示する表示端末と、コンテンツを配信する操作端末と、操作端末から配信されたコンテンツを格納し、表示端末との通信の死活管理の時間間隔を、閾値を超えないように順次長くして死活管理を行い、表示端末に対してコンテンツを送信する、アプリケーションサーバと、を備える。
【０００３】
また、特開２０１２−１８６６９９号公報（特許文献２）には、通信システム及び通信端末死活確認方法が開示されている。特許文献２によると、通信回線に接続し、データを受信する通信端末と、このデータを格納し、通信端末との通信の死活管理の時間間隔を、閾値を超えないように順次長くして死活管理を行い、通信端末に対してこのデータを送信する、ホストコンピュータと、を備える。データはホストコンピュータに対して操作端末から配信されてもよい。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１８５７１４号公報
【特許文献２】特開２０１２−１８６６９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、効率的に電子機器同士が接続中であることを確認するための技術を提供することにある。
【課題を解決するための手段】
【０００６】
この発明のある態様に従うと、他の装置と通信するための通信インターフェイスと、接続中であることを確認するための処理の結果の履歴に基づいて、通信インターフェイスを介して、接続中であることを確認するための処理を繰り返す間隔を決定するためのプロセッサとを備える、電気機器が提供される。
【発明の効果】
【０００７】
以上のように、この発明によれば、効率的に電子機器同士が接続中であることを確認するための技術が提供される。
【図面の簡単な説明】
【０００８】
【図１】第１の実施の形態にかかるネットワークシステム１の全体構成を示すイメージ図である。
【図２】第１の実施の形態にかかるネットワークシステム１の全体構成の具体的な一例を示すイメージ図である。
【図３】第１の実施の形態にかかるネットワークシステム１の通信経路を示すイメージ図である。
【図４】第１の実施の形態にかかる接続確認処理を示すシーケンス図である。
【図５】第１の実施の形態にかかる再接続処理を示すシーケンス図である。
【図６】第１の実施の形態にかかる電気機器１００の構成を示すブロック図である。
【図７】第１の実施の形態にかかるサーバ３００の構成を示すブロック図である。
【図８】第１の実施の形態にかかる電気機器１００の処理を示すフローチャートである。
【図９】第１の実施の形態にかかるｋｅｅｐ  ａｌｉｖｅ間隔の変化を示すイメージ図である。
【図１０】第２の実施の形態にかかる電気機器１００の処理を示すフローチャートである。
【図１１】第３の実施の形態にかかるｋｅｅｐ  ａｌｉｖｅ間隔の変化を示すイメージ図である。
【図１２】第４の実施の形態にかかる接続確認処理の成否に関する履歴データを示すイメージ図である。
【図１３】第４の実施の形態にかかる電気機器１００の処理を示すフローチャートである。
【図１４】第５の実施の形態にかかる接続確認処理の成功率と延伸する確率との関係を示すイメージ図である。
【図１５】第６の実施の形態にかかる環境毎の接続確認処理の成功率を示すイメージ図である。
【図１６】第６の実施の形態にかかる第１のｋｅｅｐ  ａｌｉｖｅ間隔の変化を示すイメージ図である。
【図１７】第６の実施の形態にかかる第２のｋｅｅｐ  ａｌｉｖｅ間隔の変化を示すイメージ図である。
【図１８】第６の実施の形態にかかる第３のｋｅｅｐ  ａｌｉｖｅ間隔の変化を示すイメージ図である。
【図１９】第６の実施の形態にかかる第４のｋｅｅｐ  ａｌｉｖｅ間隔の変化を示すイメージ図である。
【図２０】第７の実施の形態にかかるｋｅｅｐ  ａｌｉｖｅ間隔の上限値を示すイメージ図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
＜第１の実施の形態＞
＜ネットワークシステムの全体構成と動作概要＞
【００１０】
まず、本実施の形態にかかるネットワークシステム１の全体構成について説明する。図１を参照して、ネットワークシステム１は、主に、各家庭に配置される各種の電気機器１００と、各種のアプリケーションサーバ３００Ａや常時接続サーバ３００Ｂと、通信端末２００などを含む。
【００１１】
具体例として、図２を参照して、家屋内に配置されるロボット１００Ａや、掃除機１００Ｂや、電子レンジ１００Ｃや、エアコン１００Ｄなどが、ルータ４００やインターネットを介して、常時接続サーバ３００Ｂに接続可能に構成される。常時接続サーバ３００Ｂには、ロボット１００Ａなどに各種のサービスを提供するためのアプリケーションサーバ３００Ａが接続可能に構成される。そして、ロボット１００Ａなどのユーザやその家族は、スマートフォン２００Ａなどを介してアプリケーションサーバ３００Ａのサービスを利用する。
【００１２】
たとえば、スマートフォン２００Ａは、エアコン制御用のアプリケーションプログラムに従って、エアコン１００Ｄの操作命令などをアプリケーションサーバ３００Ａに送信する。アプリケーションサーバ３００Ａは、常時接続サーバ３００Ｂを介して、エアコン１００Ｄに操作命令を伝える。これによって、エアコン１００Ｄが、ユーザの操作命令に基づいて動作する。
【００１３】
なおここで、電気機器１００は、ロボット１００Ａや、掃除機１００Ｂや、電子レンジ１００Ｃや、エアコン１００Ｄなどに限らず、冷蔵庫、洗濯機、掃除機、空気清浄器、加湿器、除湿器、自動調理鍋、炊飯器、照明などの家電、パーソナルコンピュータ、ハードディスクレコーダ、プロジェクタ、音楽プレーヤー、ゲーム機、スピーカなどのＡＶ（オーディオ・ビジュアル）機器、組み込み照明、太陽光発電機、インターホン、給湯器、温水洗浄便座コントローラなどの住宅設備、などであってもよい。
【００１４】
また、通信端末２００も、スマートフォン２００Ａに限らず、パーソナルコンピュータやタブレットやゲーム機やスピーカやロボットなどであってもよい。
【００１５】
そして、本実施の形態においては、ＨＴＭＬのＷｅｂ  Ｓｏｃｋｅｔに対応した常時接続サーバ３００Ｂを利用するネットワークシステム１について説明するが、別の形式の常時接続サーバを利用してもよいし、本実施の形態の技術は、常時接続サーバを利用しない通常のネットワークシステムに適用することも可能である。
＜接続確認＞
【００１６】
本実施の形態においては、電気機器１００は、定期的に、アプリケーションサーバ３００Ａや常時接続サーバ３００Ｂと接続中であることを確認するための処理を実行する。これによって、通信端末２００のユーザは、アプリケーションサーバ３００Ａや常時接続サーバ３００Ｂを介して電気機器１００に各種の操作指示などをスムーズに伝達することができる。
【００１７】
より詳細には、図１から図３に示すように、本実施の形態にかかるネットワークシステム１においては、電気機器１００とサーバ３００Ａ，３００Ｂとの間には、ルータ４００やスイッチやアンテナなどの各種の装置や回線が存在する。そのため、電気機器１００は、定期的に、サーバ３００Ａ，３００Ｂとの通信が正常に接続されているかを確認している。接続が確認できない場合は、電気機器１００は、たとえば、通信を切断してから再接続を行ったり、切断された旨のエラー通知を出力したりする。
【００１８】
具体例として、図４に示すように、電気機器１００は、サーバ３００Ａ，３００Ｂとの接続中は、無通信が始まると（データのやり取りが途絶えると）、第１の所定時間（ｋｅｅｐ  ａｌｉｖｅ間隔）毎に、接続中であるかを確認するためのデータ（ｋｅｅｐ  ａｌｉｖｅデータ）をサーバ３００Ａ，３００Ｂに送信する。ｋｅｅｐ  ａｌｉｖｅデータの応答がサーバ３００Ａ，３００Ｂから返ってくると、電気機器１００は、再度、第１の所定時間待機してから、ｋｅｅｐ  ａｌｉｖｅデータをサーバ３００Ａ，３００Ｂに送信する。
【００１９】
そして、図５に示すように、電気機器１００がｋｅｅｐ  ａｌｉｖｅデータを送信してから第２の所定時間経過してもサーバ３００Ａ，３００Ｂからの応答がない場合、すなわちサーバ３００Ａ，３００Ｂと接続中であることの確認に失敗すると、電気機器１００は、再度、ｋｅｅｐ  ａｌｉｖｅデータをサーバ３００Ａ，３００Ｂに送信する。サーバ３００Ａ，３００Ｂと接続中であることの確認に所定回数失敗すると、電気機器１００は、再接続待ち時間待機してから、サーバ３００Ａ，３００Ｂとの再接続処理を開始する。たとえば、電気機器１００は、サーバ３００Ａ，３００Ｂとの通信の切断処理を実行してから、サーバ３００Ａ，３００Ｂとの接続の開始処理を実行する。
【００２０】
ここで、電気機器１００が、ｋｅｅｐ  ａｌｉｖｅデータを頻繁にサーバ３００Ａ，３００Ｂに送信すると、回線の混雑の程度が大きくなってしまったり、サーバ３００Ａ，３００Ｂの負荷が大きくなってしまったりする。逆に、ｋｅｅｐ  ａｌｉｖｅデータを減らし過ぎると、サーバ３００Ａ，３００Ｂや通信経路上の機器や回線によって通信が切断される可能性が高くなってしまう。それに加えて切断状態の検知が遅れるため再接続処理が即時になされず、非接続の状態が長く続くことでユーザの利便性が損なわれる。
【００２１】
そこで、本実施の形態においては、サーバ３００Ａ，３００Ｂの負荷を低減しつつ、通信が切断される可能性を低減するために、電気機器１００がｋｅｅｐ  ａｌｉｖｅデータの送信間隔、すなわち第１の所定時間を自動的に調整するように構成されている。以下、このような機能を実現するための具体的な構成について詳述する。
＜電気機器１００の構成＞
【００２２】
まず、電気機器１００の構成の一態様について説明する。図６を参照して、本実施の形態にかかる電気機器１００は、主たる構成要素として、ＣＰＵ１１０と、メモリ１２０と、ディスプレイ１３０、操作部１４０と、通信インターフェイス１６０と、スピーカ１７０と、マイク１８０と、機器駆動部１９０とを含む。
【００２３】
ＣＰＵ１１０は、メモリ１２０あるいは外部の記憶媒体に記憶されているプログラムを実行することによって、電気機器１００の各部を制御する。
【００２４】
メモリ１２０は、各種のＲＡＭ（Random Access Memory）、各種のＲＯＭ（Read‐Only Memory）などによって実現され、電気機器１００に内包されているものであってもよいし、電気機器１００の各種インターフェイスに着脱可能なものであってもよいし、電気機器１００からアクセス可能な他の装置の記録媒体であってもよい。メモリ１２０は、ＣＰＵ１１０によって実行されるプログラムや、ＣＰＵ１１０によるプログラムの実行により生成されたデータ、操作部１４０を介して入力されたデータ、リモコンから受信したデータ、ルータ４００やインターネットを介してサーバ３００Ａ，３００Ｂから受信したデータなどを記憶する。
【００２５】
ディスプレイ１３０は、ＣＰＵ２１０からの信号に基づいて、文字や画像などを出力する。なお、ディスプレイ１３０は、単にＬＥＤライトなどであってもよい。
【００２６】
操作部１４０は、ボタン、タッチパネルなどによって実現され、ユーザからの命令を受け付けて、当該命令をＣＰＵ１１０に入力する。なお、ディスプレイ１３０と操作部１４０とは、タッチパネルを構成してもよい。
【００２７】
通信インターフェイス１６０は、無線ＬＡＮまたは有線ＬＡＮなどの通信モジュールによって実現される。通信インターフェイス１６０は、有線通信あるいは無線通信によってサーバ３００Ａ，３００Ｂなどの他の装置との間でデータをやり取りする。すなわち、ＣＰＵ１１０は、通信インターフェイス１６０を介して、受け付けた操作命令や現在の動作状態や各種センサで測定した測定結果をサーバ３００Ａ，３００Ｂなどの他の装置に送信したり、逆に他の装置から各種の情報を受信したりする。
【００２８】
スピーカ１７０は、ＣＰＵ１１０からの音声データに基づいて音声メッセージなどを出力する。マイク１８０は、ユーザの声などを取得して音声データをＣＰＵ１１０に入力する。
【００２９】
機器駆動部１９０は、ＣＰＵ１１０からの信号に基づいて、電気機器１００の各部（モータやヒータやアンテナなど）を制御する。たとえば、電子レンジ１００Ｃに関しては、機器駆動部１９０は、加熱調理のためのアンテナや回転テーブルであったりする。
【００３０】
人感センサ１９９は、電気機器１００の周囲にいる人を検知して、検知結果をＣＰＵ１１０に入力する。
＜サーバ３００Ａ，３００Ｂのハードウェア構成＞
【００３１】
次に、本実施の形態にかかるネットワークシステム１を構成するサーバ３００Ａ，３００Ｂの構成の一態様について説明する。図７を参照して、サーバ３００Ａ，３００Ｂは、主たる構成要素として、ＣＰＵ（Central Processing Unit）３１０と、メモリ３２０と、操作部３４０と、通信インターフェイス３６０とを含む。
【００３２】
ＣＰＵ３１０は、メモリ３２０に記憶されているプログラムを実行することによって、サーバ３００Ａ，３００Ｂの各部を制御する。たとえば、ＣＰＵ３１０は、メモリ３２０に格納されているプログラムを実行し、各種のデータを参照することによって、後述する各種の処理を実行する。
【００３３】
メモリ３２０は、各種のＲＡＭ、各種のＲＯＭなどによって実現され、サーバ３００Ａ，３００Ｂに内包されているものであってもよいし、サーバ３００Ａ，３００Ｂの各種インターフェイスに着脱可能なものであってもよいし、サーバ３００Ａ，３００Ｂからアクセス可能な他の装置の記録媒体であってもよい。メモリ３２０は、ＣＰＵ３１０によって実行されるプログラムや、ＣＰＵ３１０によるプログラムの実行により生成されたデータ、入力されたデータ、その他の本実施の形態にかかる処理やサービスに利用されるデータベースなどを記憶する。
【００３４】
操作部３４０は、サービスの管理者などの命令を受け付けて、当該命令をＣＰＵ３１０に入力する。
【００３５】
通信インターフェイス３６０は、ＣＰＵ３１０からのデータを、インターネット、キャリア網、ルータなどを介して、電気機器１００や通信端末２００などの他の装置に送信する。逆に、通信インターフェイス１６０は、インターネット、キャリア網、ルータなどを介して電気機器１００や通信端末２００などの他の装置からのデータを受信して、ＣＰＵ３１０に受け渡す。
＜電気機器１００によるｋｅｅｐ  ａｌｉｖｅデータ送信処理＞
【００３６】
次に、本実施の形態にかかる電気機器１００におけるアプリケーションサーバ３００Ａに対するｋｅｅｐ  ａｌｉｖｅデータの送信処理について説明する。なお、アプリケーションプログラムやＯＳの通信プログラムによっては、以下の処理を常時接続サーバ３００Ｂに対するｋｅｅｐ  ａｌｉｖｅデータの送信に関して行ってもよい。
【００３７】
上述した通り、本実施の形態においては、図８に示すように、電気機器１００のＣＰＵ１１０は、通信インターフェイス１６０を介してサーバ３００Ａとの接続を開始する（ステップＳ１０２）。ＣＰＵ１１０は、第１の所定期間を初期値、たとえば３０秒など、に設定する（ステップＳ１０４）。
【００３８】
ＣＰＵ１１０は、サーバ３００Ａとの無通信状態が始まると（ステップＳ１０６）、第１の所定時間待機後に（ステップＳ１０８）、通信インターフェイス１６０を介してサーバ３００Ａにｋｅｅｐ  ａｌｉｖｅデータを送信する（ステップＳ１１０）。そして、ＣＰＵ１１０は、ｋｅｅｐ  ａｌｉｖｅデータに対する応答がサーバ３００Ａ，３００Ｂから返ってくると、すなわち、接続中であることが確認できると（ステップＳ１１２にてＹＥＳである場合）、図９に示すように、前回の第１の所定時間よりも長い第１の所定時間、たとえば６０秒など、に設定しなおす（ステップＳ１３８）。
【００３９】
ＣＰＵ１１０は、新たな第１の所定時間だけ待機してから（ステップＳ１０８）、通信インターフェイス１６０を介して、再度サーバ３００Ａにｋｅｅｐ  ａｌｉｖｅデータを送信する（ステップＳ１１０）。ｋｅｅｐ  ａｌｉｖｅデータに対する応答がサーバ３００Ａ，３００Ｂから返ってくると（ステップＳ１１２にてＹＥＳである場合）、図９に示すように、ＣＰＵ１１０は、前回の第１の所定時間よりも長い第１の所定時間、たとえば９０秒など、に設定し直す（ステップＳ１３８）。ＣＰＵ１１０は、新たな第１の所定時間だけ待機してから（ステップＳ１０８）、通信インターフェイス１６０を介してサーバ３００Ａにｋｅｅｐ  ａｌｉｖｅデータを送信する。
【００４０】
一方、ｋｅｅｐ  ａｌｉｖｅデータに対する応答がサーバ３００Ａ，３００Ｂから返って来なかった場合、すなわち、接続中であることが確認できなかった場合（ステップＳ１１２にてＮＯである場合）、所定回数に達するまで（ステップＳ１２２）、通信インターフェイス１６０を介してサーバ３００Ａにｋｅｅｐ  ａｌｉｖｅデータを送信することを繰り返す（ステップＳ１１０）。接続中の確認の失敗が所定回数続くと（ステップＳ１２２にてＹＥＳである場合）、ＣＰＵ１１０は、再接続処理を実行する（ステップＳ１０２）。
【００４１】
このとき、図９に示すように、ＣＰＵ１１０は、第１の所定時間をリセットする（ステップＳ１０４）。その後、ＣＰＵ１１０は、無通信状態が始まると（ステップＳ１０６）、最初の第１の所定時間、たとえば３０秒など、待機してから（ステップＳ１０８）、通信インターフェイス１６０を介してサーバ３００Ａにｋｅｅｐ  ａｌｉｖｅデータを送信する（ステップＳ１１０）。以下、このような処理を繰り返す。
＜第２の実施の形態＞
【００４２】
上記の実施の形態においては、ｋｅｅｐ  ａｌｉｖｅデータに対する応答がサーバ３００Ａ，３００Ｂから返って来なかった場合、すなわち、接続中であることが確認できなかった場合、所定回数に達するまで、待機時間なしに、通信インターフェイス１６０を介してサーバ３００Ａにｋｅｅｐ  ａｌｉｖｅデータを送信することを繰り返すものであった。しかしながら、図１０に示すように、ｋｅｅｐ  ａｌｉｖｅデータに対する応答がサーバ３００Ａ，３００Ｂから返って来なかった場合、すなわち、接続中であることが１度でも確認できなかった場合に（ステップＳ１１２にてＮＯである場合）、ＣＰＵ１１０は、第１の所定時間をリセットして（ステップＳ１０４）、最初の第１の所定時間、たとえば３０秒など、待機してから（ステップＳ１０８）、通信インターフェイス１６０を介してサーバ３００Ａにｋｅｅｐ  ａｌｉｖｅデータを送信してもよい。
＜第３の実施の形態＞
【００４３】
あるいは、図１１に示すように、再接続処理後に無通信状態が始まると、ＣＰＵ１１０は、初期値として、第１の所定時間を１段階だけ短いものに設定し直してもよい。たとえば前回の最後に、第１の所定時間を１２０秒で接続確認に失敗した場合は、第１の所定時間を９０秒に設定し直して、第１の所定時間待機してから、通信インターフェイス１６０を介してサーバ３００Ａにｋｅｅｐ  ａｌｉｖｅデータを送信してもよい。この場合も、接続中であることが１度でも確認できなかった場合に、ＣＰＵ１１０は、第１の所定時間を１段階だけ短いものに設定し直してもよい。
＜第４の実施の形態＞
【００４４】
より好ましくは、接続中であるかを確認できたか否かの結果に関する、第１の所定時間毎の履歴に基づいて、第１の所定時間を設定してもよい。たとえば、電気機器１００が、図１２に示すような、第１の所定時間毎の確認の成否に関する履歴データを記憶したり、利用可能であったりしてもよい。
【００４５】
そしてたとえば、図１３に示すように、ＣＰＵ１１０は、ｋｅｅｐ  ａｌｉｖｅデータに対する応答がサーバ３００Ａ，３００Ｂから返ってくると（ステップＳ１１２にてＹＥＳである場合）、すなわち、接続中であることが確認できると（ステップＳ１１２にてＹＥＳである場合）、前回の第１の所定時間よりも長くした場合の第１の所定時間に関する成功確率に基づいて乱数を発生させる（ステップＳ１３２）。そして、ＣＰＵ１１０は、乱数による判断の結果（ステップＳ１３４）、成功する確率が所定値以上である場合は（ステップＳ１３６にてＹＥＳである場合）、前回の第１の所定時間よりも長い第１の所定時間、たとえば６０秒など、に設定しなおす（ステップＳ１３８）。
【００４６】
そして、ＣＰＵ１１０は、新たな第１の所定時間だけ待機してから（ステップＳ１０８）、通信インターフェイス１６０を介して、再度サーバ３００Ａにｋｅｅｐ  ａｌｉｖｅデータを送信する（ステップＳ１１０）。ｋｅｅｐ  ａｌｉｖｅデータに対する応答がサーバ３００Ａ，３００Ｂから返ってくると（ステップＳ１１２にてＹＥＳである場合）、ＣＰＵ１１０は、前回の第１の所定時間よりも長くした第１の所定時間に関する成功確率に基づいて乱数を発生させる（ステップＳ１３２）。ＣＰＵ１１０は、乱数による判断の結果（ステップＳ１３４）、成功確率を満たすものである場合は（ステップＳ１３６にてＹＥＳである場合）、ＣＰＵ１１０は、前回の第１の所定時間よりもさらに長い第１の所定時間、たとえば９０秒など、に設定し直す（ステップＳ１３８）。ＣＰＵ１１０は、新たな第１の所定時間だけ待機してから（ステップＳ１０８）、通信インターフェイス１６０を介してサーバ３００Ａにｋｅｅｐ  ａｌｉｖｅデータを送信する（ステップＳ１１０）。
【００４７】
なお、ＣＰＵ１１０は、乱数による判断の結果（ステップＳ１３４）、成功確率を満たさない場合は（ステップＳ１３６にてＮＯである場合）、再度、前回の第１の所定時間待機してから（ステップＳ１０８）、通信インターフェイス１６０を介してサーバ３００Ａにｋｅｅｐ  ａｌｉｖｅデータを送信する（ステップＳ１１０）。
【００４８】
なお、接続中であることが確認できなかった場合（ステップＳ１１２にてＮＯである場合）の処理は、上記の実施の形態と同様である。
＜第５の実施の形態＞
【００４９】
さらには、図１４に示すように、長くした場合の第１の所定時間に関する接続中であることの確認処理の成功確率に基づいて、第１の所定時間を長くすべき確率を設定してもよい。たとえば、長くした第１の所定時間に関する接続中であることの確認の成功確率がＰである場合に、ＣＰＵ１１０は、ステップＳ１３４において、確率Ｐ＋εに対する乱数による判断を行ってもよい。
＜第６の実施の形態＞
【００５０】
さらには、接続中であることの確認処理の成否結果に関する、通信環境毎の、第１の所定時間毎の履歴に基づいて、第１の所定時間が設定されてもよい。たとえば、図１５に示すように、第１の環境における、第１の所定時間に関する接続中であることの確認の成功確率と、第２の環境における、第１の所定時間に関する接続中であることの確認の成功確率と、は異なる場合がある。
【００５１】
ここで、環境とは、通信する時間帯や、通信相手のアドレスや、通信相手の個数や、通信データ量や、電気機器１００の周囲の状況などをいう。たとえば、時間帯によって、通信が切断される可能性が変化するからである。また、通信相手などによっても、通信経路上の装置や回線が異なるからである。
【００５２】
この場合は、たとえば、第１の所定時間が１２０秒の場合にエラーが多発する環境では、図１６に示すように、電気機器１００のＣＰＵ１１０は、乱数による判断によって、第１の所定時間を９０秒に設定することが多くなり、サーバ３００Ａ，３００Ｂの負荷を低減しつつ、通信が切断される可能性を低減することが可能になる。
【００５３】
その後、同じ環境においても、１２０秒で確認に成功することが増えてくると、図１７に示すように、電気機器１００のＣＰＵ１１０は、乱数による判断によって、第１の所定時間を１２０秒以上に設定することも多くなり、さらにサーバ３００Ａ，３００Ｂの負荷を低減することが可能になる。このように乱数による確率的動作を導入する事により、環境の変動に対して柔軟に適応できるようになる。
【００５４】
なお、図１８に示すように、再接続処理後に無通信状態が始まったときに、ＣＰＵ１１０は、第１の所定時間を１段階だけ短いものに設定し直す処理と組み合わせてもよい。
【００５５】
あるいは、第１の所定時間の初期値を３０秒ではなく、環境に応じて、成功確率が９０％以上のうちの一番長い時間に設定してもよい。そして、図１９に示すように、再接続処理後に無通信状態が始まると、ＣＰＵ１１０は、第１の所定時間を環境に応じた初期値に設定して、最初の第１の所定時間待機してから、通信インターフェイス１６０を介してサーバ３００Ａにｋｅｅｐ  ａｌｉｖｅデータを送信してもよい。
【００５６】
あるいは、電気機器１００のＣＰＵ１１０は、人感センサ１９９の検知結果に基づいて、近くに人がいるときは、第１の所定時間を短めに設定してもよい。たとえば、ＣＰＵ１１０は、乱数による判断基準の成功確率を人がいない場合よりも高めに設定したり、第１の所定時間を人がいない場合よりも１段階短い時間に設定したりしてもよい。
＜第７の実施の形態＞
【００５７】
上記の実施の形態に加えて、接続中であるかを確認できたか否かの結果に関する、通信環境毎の、第１の所定時間毎の履歴に基づいて、第１の所定時間の上限値が設定されてもよい。たとえば、電気機器１００のＣＰＵ１１０が、時間帯毎の、第１の所定時間毎の、接続確認の失敗確率を計算してもよい。そして、図２０に示すような、電気機器１００のＣＰＵ１１０が、時間帯毎の、所定の失敗確率を超えてしまう時間を、第１の所定時間の上限値として設定してもよい。
＜第８の実施の形態＞
【００５８】
上記の実施の形態のネットワークシステム１の各装置の役割の一部または全部を他の装置が実行してもよい。たとえば、電気機器１００やサーバ３００Ａ，３００Ｂや通信端末２００の各々の役割の一部または全部を、別の装置が担ったり、複数の装置で担ったりしてもよい。たとえば、電気機器１００の代わりに、サーバ３００Ａ，３００Ｂが、ｋｅｅｐ  ａｌｉｖｅデータを電気機器１００に送信したり、第１の所定時間を決定したりしてもよい。
＜まとめ＞
【００５９】
上記の実施の形態によると、他の装置と通信するための通信インターフェイスと、接続中であることを確認するための処理の結果の履歴に基づいて、通信インターフェイスを介して、接続中であることを確認するための処理を繰り返す間隔を決定するためのプロセッサとを備える、電気機器が提供される。
【００６０】
好ましくは、プロセッサは、接続中であることを確認するための処理の時間帯毎の履歴に基づいて、接続中であることを確認するための処理を繰り返す間隔を時間帯毎に決定する。
【００６１】
好ましくは、プロセッサは、接続中であることを確認するための処理の通信相手先毎の履歴に基づいて、接続中であることを確認するための処理を繰り返す間隔を通信相手先毎に決定する。
【００６２】
好ましくは、プロセッサは、接続中であることを確認するための処理に成功した場合、接続中であることを確認するための処理を繰り返す間隔を長く設定し直す。
【００６３】
好ましくは、プロセッサは、接続中であることを確認するための処理の結果の履歴に基づいて、接続中であることを確認するための処理を繰り返す間隔の上限値を決定する。
【００６４】
好ましくは、プロセッサは、接続中であることを確認するための処理に失敗した場合、接続中であることを確認するための処理を繰り返す間隔を短く設定し直す。
【００６５】
好ましくは、電気機器は、人感センサをさらに備える。プロセッサは、人を検知した場合に、接続中であることを確認するための処理を繰り返す間隔を短い時間に設定し直す。
【００６６】
上記の実施の形態においては、電気機器と、サーバとを備えるネットワークシステムが提供される。電気機器側からサーバと接続中であることを確認するための処理を実行し、電気機器は、サーバと接続中であることを確認するための処理の結果の履歴に基づいて、サーバと接続中であることを確認するための処理を繰り返す間隔を決定する。
【００６７】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００６８】
１        ：ネットワークシステム
１００    ：電気機器
１００Ａ  ：ロボット
１００Ｂ  ：掃除機
１００Ｃ  ：電子レンジ
１００Ｄ  ：エアコン
１１０    ：ＣＰＵ
１２０    ：メモリ
１３０    ：ディスプレイ
１４０    ：操作部
１６０    ：通信インターフェイス
１７０    ：スピーカ
１８０    ：マイク
１９０    ：機器駆動部
１９９    ：人感センサ
２００    ：通信端末
２００Ａ  ：スマートフォン
２１０    ：ＣＰＵ
３００Ａ  ：アプリケーションサーバ
３００Ｂ  ：常時接続サーバ
３１０    ：ＣＰＵ
３２０    ：メモリ
３４０    ：操作部
３６０    ：通信インターフェイス
４００    ：ルータ
【図１】
2020067683.tif 000003
【図２】
2020067683.tif 000004
【図３】
2020067683.tif 000005
【図４】
2020067683.tif 000006
【図５】
2020067683.tif 000007
【図６】
2020067683.tif 000008
【図７】
2020067683.tif 000009
【図８】
2020067683.tif 000010
【図９】
2020067683.tif 000011
【図１０】
2020067683.tif 000012
【図１１】
2020067683.tif 000013
【図１２】
2020067683.tif 000014
【図１３】
2020067683.tif 000015
【図１４】
2020067683.tif 000016
【図１５】
2020067683.tif 000017
【図１６】
2020067683.tif 000018
【図１７】
2020067683.tif 000019
【図１８】
2020067683.tif 000020
【図１９】
2020067683.tif 000021
【図２０】
2020067683.tif 000022