(57)【特許請求の範囲】
【請求項１】
第１のユーザ操作として電源ＯＮ命令を受け付けると、識別情報を利用してネットワークに接続する第１の機器と、
第２のユーザ操作に基づく、前記第１の機器に係る認証要求を発する第２の機器と、
前記第２の機器から前記認証要求を受けた場合に、前記第１の機器に対する電源ＯＮ命令に基づき前記識別情報に対応付けて記憶したネットワーク接続時刻から所定の時間以内に前記認証要求を受け付けた場合に当該認証を成功と判断するサーバとを備えるネットワークシステム。
【請求項２】
前記サーバは、Ｗｅｂ  ＡＰＩ（Application Programming Interface）サービスを提供し、
前記サーバは、前記Ｗｅｂ  ＡＰＩサービスの対象となる前記第１の機器から前記第１のユーザ操作を受け付け、前記Ｗｅｂ  ＡＰＩサービスを利用するための前記第２の機器から前記第２のユーザ操作に基づく前記認証要求を受け付ける、請求項１に記載のネットワークシステム。
【請求項３】
第１の機器から第１のユーザ操作としての電源ＯＮ命令に基づく識別情報を受信し、
第２の機器から第２のユーザ操作に基づく、前記第１の機器に係る認証要求を受信する通信インターフェイスと、
前記第１の機器に対する電源ＯＮ命令に基づき前記識別情報に対応付けて記憶した前記ネットワーク接続時刻から所定の時間以内に前記第２の機器から第２のユーザ操作に基づく前記認証要求を受けた場合に当該認証を成功と判断するためのプロセッサとを備えるサーバ。
【請求項４】
第１の機器が第１のユーザ操作として電源ＯＮ命令を受け付けると、識別情報を利用してネットワークに接続するステップと、
第２の機器が第２のユーザ操作に基づく、前記第１の機器に係る認証要求を発するステップと、
サーバが、前記第２の機器から前記認証要求を受けた場合に、前記第１の機器に対する電源ＯＮ命令に基づき前記識別情報に対応付けて記憶したネットワーク接続時刻から所定の時間以内に前記認証要求を受け付けた場合に当該認証を成功と判断するステップと、を備える情報処理方法。
【請求項５】
通信インターフェイスが、第１の機器から第１のユーザ操作としての電源ＯＮ命令に基づく識別情報を受信するステップと、
前記通信インターフェイスが、第２の機器から第２のユーザ操作に基づく、前記第１の機器に係る認証要求を受信するステップと、
プロセッサが、前記第１の機器に対する電源ＯＮ命令に基づき前記識別情報に対応付けて記憶した前記ネットワーク時刻から所定の時間以内に前記第２の機器から第２のユーザ操作に基づく前記認証要求を受けた場合に当該認証を成功と判断するステップと、を備えるサーバにおける情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介した認証の技術に関する。
【背景技術】
【０００２】
従来から、端末から機器を制御したり機器の情報を取得したりするためのネットワークシステムが知られている。たとえば、特開２０１３−２５０６８４号公報（特許文献１）には、自走式電子機器および自走式電子機器の制御システムが開示されている。特開２０１３−２５０６８４号公報（特許文献１）によると、局所通信ネットワークにて接続された他の装置との無線通信を行う通信部を備えた自走式掃除機であって、登録された通信端末装置である第１の端末〜第５の端末の上記局所通信ネットワークへの接続が開始されると、接続された端末に対応付けられている動作を実施するべく自装置を制御する。
【０００３】
また、特開２０１４−２１８５１号公報（特許文献２）には、モニタ装置、情報管理装置、監視システム、モニタ装置を制御するための方法、情報管理方法、およびプログラムが開示されている。特開２０１４−２１８５１号公報（特許文献２）によると、テレビのプロセッサが実行する処理は、テレビの電源がオンになったことを検知するステップと、住人が外出を表わす設定（おでかけ設定）の入力を受け付けるステップと、おでかけ設定が行なわれたことを示す信号（不在信号）をテレビに接続されるサーバに送信するステップと、テレビの電源がオフになったことを検知するステップと、その後に電源がオンになって電源オフから電源オンまでの時間が予め定められた時間よりも長い場合に、在宅していることを表わす在宅信号を送信するステップとを含む。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−２５０６８４号公報
【特許文献２】特開２０１４−２１８５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら現在においても、誤って他人の機器を操作できてしまう可能性をより低減するための技術が求められている。すなわち、従来よりも安全に、第１の機器が第２の機器から制御されたり、第２の機器が第１の機器の情報を取得したりできるネットワークシステムおよびサーバが求められている。
【０００６】
本発明の目的は、かかる問題を解決するためになされたものであり、その目的は、従来よりも安全に、第１の機器が第２の機器から制御されたり、第２の機器が第１の機器の情報を取得したりできるネットワークシステムおよびサーバを提供することにある。
【課題を解決するための手段】
【０００７】
この発明のある態様に従うと、ユーザ操作を受け付ける第１の機器と、認証要求を発する第２の機器と、前記第２の機器から前記認証要求を受けた場合に、前記第１の機器に対するユーザ操作に関する所定のルールが満たされているときに当該認証を成功と判断するサーバとを備えるネットワークシステムが提供される。
【０００８】
好ましくは、前記サーバは、前記ユーザ操作から所定の期間内に前記認証要求を受けた場合に、前記所定のルールが満たされていると判断する。
【０００９】
好ましくは、前記ユーザ操作は、電源をＯＮすることである。
【００１０】
好ましくは、前記ユーザ操作は、所定のボタンを押すことである。
【００１１】
好ましくは、前記第１の機器はマイクを含む。前記ユーザ操作は、ユーザが前記マイクに音声を入力することである。
【００１２】
好ましくは、前記第１の機器はディスプレイを含む。前記ユーザ操作は、所定の画面を前記ディスプレイに表示させることである。
【００１３】
この発明の別の態様に従うと、第１の機器と第２の機器と通信するための通信インターフェイスと、前記第１の機器に対するユーザ操作から所定の期間内に前記第２の機器から認証要求を受けた場合に当該認証を成功と判断するためのプロセッサとを備えるサーバが提供される。
【発明の効果】
【００１４】
以上のように、この発明によれば、従来よりも安全に、第１の機器が第２の機器から制御されたり、第２の機器が第１の機器の情報を取得したりできるネットワークシステムおよびサーバが提供される。
【図面の簡単な説明】
【００１５】
【図１】第１の実施の形態にかかるネットワークシステム１の全体構成と動作概要とを示すイメージ図である。
【図２】第１の実施の形態にかかるサーバ１００のハードウェア構成を表わすブロック図である。
【図３】第１の実施の形態にかかる第１の機器のハードウェア構成を表わすブロック図である。
【図４】第１の実施の形態にかかる第２の機器のハードウェア構成を表わすブロック図である。
【図５】第１の実施の形態にかかるネットワークシステム１の機能構成を示すブロック図である。
【図６】第１の実施の形態にかかるネットワークシステム１の情報処理を示すシーケンス図である。
【図７】第３の実施の形態にかかるネットワークシステム１の情報処理を示すシーケンス図である。
【図８】第４の実施の形態にかかるネットワークシステム１の情報処理を示すシーケンス図である。
【図９】第５の実施の形態にかかるネットワークシステム１Ｅの全体構成と動作概要とを示すイメージ図である。
【図１０】第５の実施の形態にかかるビーコン４００のハードウェア構成を表わすブロック図である。
【図１１】第５の実施の形態にかかるネットワークシステム１Ｅの情報処理を示すシーケンス図である。
【図１２】第６の実施の形態にかかるネットワークシステム１の機能構成を示す第１のブロック図である。
【図１３】第６の実施の形態にかかるネットワークシステム１の機能構成を示す第２のブロック図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
＜第１の実施の形態＞
＜ネットワークシステムの全体構成と動作概要＞
【００１７】
まず、本実施の形態にかかるネットワークシステム１の全体構成と動作概要について説明する。図１は、本実施の形態にかかるネットワークシステム１の全体構成と動作概要とを示すイメージ図である。
【００１８】
図１を参照して、本実施の形態にかかるネットワークシステム１は、主に、住居またはオフィスなどに配置される第１の機器としての自走式掃除機２００と、ネットワークを介して自走式掃除機２００と接続されるサーバ１００と、サーバ１００と通信可能な第２の機器としてのスマートフォン３００とを含む。
【００１９】
本実施の形態においては、サーバ１００は、ユーザや機器を認証したり、機器制御用のＷｅｂ  ＡＰＩ（Application Programming Interface）のサービスを提供したりする。さらに、本実施の形態にかかるネットワークシステムは、その他に、スマートフォン３００のユーザが新たなアプリケーションを開発するための他のＷｅｂ  ＡＰＩを提供するサーバ１００Ｂを有していてもよい。
【００２０】
ここで、本実施の形態においては、第１の機器として自走式掃除機２００に関して説明するが、たとえば、エアコン、冷蔵庫、洗濯機などの他の家電、テレビ、ハードディスクレコーダ、音楽プレーヤーなどのＡＶ（オーディオ・ビジュアル）機器、太陽光発電機、インターホン、給湯器、警備システムなどの住宅設備、カーナビゲーションなどであってもよい。
【００２１】
また、本実施の形態においては、第２の機器としてスマートフォン３００に関して説明するが、タブレット、パーソナルコンピュータ、ノートパソコン、ゲーム機、電子書籍端末、時計、メガネ、カーナビゲーションなど、サーバ１００と通信可能な他の種類の端末を利用してもよい。
【００２２】
スマートフォン３００はインターネットなどを介してサーバ１００にアクセス可能であり、ユーザはスマートフォン３００を利用してサーバ１００を介して自走式掃除機２００を制御することが可能である。ただし、本実施の形態においては、自走式掃除機２００を制御するためには、スマートフォン３００を介して、サーバ１００でのＷｅｂ  ＡＰＩの認証に成功する必要がある。
【００２３】
より詳細には、本実施の形態においては、自走式掃除機２００の制御のためのアプリケーションを開発する場合、図１の（ａ）のように、ユーザは、スマートフォン３００を介して、ＡＰＩキーを入力してＷｅｂ  ＡＰＩサービスにログインするだけでは、自走式掃除機２００を制御することができない。
【００２４】
図１（ｂ）に示すように、本実施の形態においては、ユーザは、自走式掃除機２００の電源を入れてから所定の時間内、たとえば５分以内に、スマートフォン３００を介して、Ｗｅｂ  ＡＰＩサービスに認証要求を行う必要がある。より詳細には、サーバ１００は、スマートフォン３００からの認証要求を受け付けた際に、対象となる自走式掃除機２００の電源がその前の所定時間内にＯＮされたことを確認できた場合に、認証が成功したものと判断する。認証に成功すると、その後、スマートフォン３００は、自走式掃除機２００の制御に関するＷｅｂ  ＡＰＩサービスを利用することが可能になる。
【００２５】
このように、本実施の形態にかかるネットワークシステム１に関しては、従来のような単にスマートフォン３００にＷｅｂ  ＡＰＩ利用のためのＡＰＩキーと自走式掃除機２００のＭＡＣアドレスとを入力することによって認証ができるのではなく、自走式掃除機２００の電源を入れてから所定時間以内にスマートフォン３００からＡＰＩキーによる認証操作を行った場合に認証成功とする。つまり、直前に自走式掃除機２００のユーザ操作を行っていなければ認証できないため、他のユーザが誤って認証に成功してしまう可能性を低減することができる。
【００２６】
なお、本実施の形態においては、スマートフォン３００の開発用アプリケーションは、別にダウンロードした自走式掃除機２００を直接的に制御するためのローカルＡＰＩを利用する際にも、ネットワークを介してサーバ１００における認証に既に成功しているか否かの確認を行う。
【００２７】
以下、このような機能を実現するためのネットワークシステム１の具体的な構成について詳述する。
＜サーバ１００のハードウェア構成＞
【００２８】
まず、ネットワークシステム１を構成するサーバ１００のハードウェア構成の一態様について説明する。なお、図２は、本実施の形態にかかるサーバ１００のハードウェア構成を表わすブロック図である。
【００２９】
図２を参照して、サーバ１００は、主たる構成要素として、ＣＰＵ１１０と、メモリ１２０と、ライト１３０と、ボタン１４０と、通信インターフェイス１６０とを含む。
【００３０】
ＣＰＵ１１０は、メモリ１２０あるいは外部の記憶媒体に記憶されているプログラムを実行することによって、サーバ１００の各部を制御する。すなわち、ＣＰＵ１１０は、メモリ１２０に格納されているプログラムを実行することによって、後述する機能ブロックや、後述する各種の処理を実行する。
【００３１】
メモリ１２０は、各種のＲＡＭ（Random  Access  Memory）、各種のＲＯＭ（Read-Only  Memory）、フラッシュメモリーなどによって実現される。なお、メモリ１２０は、インターフェイスを介して利用される、ＵＳＢ（Universal  Serial  Bus）（登録商標）メモリ、ＣＤ（Compact  Disc）、ＤＶＤ（Digital  Versatile  Disk）、メモリカード、ハードディスク、ＩＣ（Integrated  Circuit）カード、光カード、マスクＲＯＭ、ＥＰＲＯＭ（Erasable Programmable Read Only Memory）、ＥＥＰＲＯＭ（Electronically  Erasable  Programmable  Read-Only  Memory）などの記憶媒体などによっても実現される。
【００３２】
メモリ１２０は、ＣＰＵ１１０によって実行されるプログラムや、ＣＰＵ１１０によるプログラムの実行により生成されたデータ、入力されたデータ、第１の機器および第２の機器から受信したデータ、開発者が利用するためのＷｅｂ  ＡＰＩのデータ、ユーザＩＤとＡＰＩキーとパスワードと第１の機器の識別情報と第２の機器の識別情報などの対応関係、第１の機器に対する操作が行われた時刻などを記憶する。
【００３３】
通信インターフェイス１６０は、ＣＰＵ１１０からのデータを、インターネット、キャリア網、無線付きアダプタ、ルータなどを介して第１の機器および第２の機器に送信する。通信インターフェイス１６０は、インターネット、キャリア網、無線付きアダプタ、ルータなどを介して第１の機器および第２の機器からのデータを受信して、ＣＰＵ１１０に受け渡す。
【００３４】
ライト１３０は、ＣＰＵ１１０からの信号に応じて発光する。ボタン１４０は、ユーザからの命令をＣＰＵ１１０に入力する。
【００３５】
なお、他のＷｅｂ  ＡＰＩサービスを提供するサーバ１００Ｂのハードウェア構成や、第１の機器が最初に接続するサーバのハードウェア構成も、サーバ１００と同じであるため、ここでは説明を繰り返さない。
＜第１の機器のハードウェア構成＞
【００３６】
次に、第１の機器のハードウェア構成の一態様について説明する。図３は、本実施の形態にかかる第１の機器のハードウェア構成を表わすブロック図である。
【００３７】
図３を参照して、第１の機器は、主たる構成要素として、ＣＰＵ２１０と、メモリ２２０と、ディスプレイ２３０と、各種スイッチ２４０と、機器駆動部２５０と、通信インターフェイス２６０と、マイク２７０と、スピーカ２８０と、カメラ２９０とを含む。
【００３８】
ＣＰＵ２１０は、メモリ２２０あるいは外部の記憶媒体に記憶されているプログラムを実行することによって、第１の機器２００の各部を制御する。すなわち、ＣＰＵ２１０は、メモリ２２０に格納されているプログラムを実行することによって、後述する機能ブロックや、後述する各種の処理を実行する。たとえば、ＣＰＵ２１０は、認証に成功したスマートフォン３００からの音声出力命令を受けてスピーカ２８０に音声を出力させたり、認証に成功したスマートフォン３００からの制御命令を受けてモータを駆動して移動したり、カメラ２９０で写真を撮影したりする。
【００３９】
メモリ２２０は、各種のＲＡＭ、各種のＲＯＭ、フラッシュメモリーなどによって実現される。メモリ２２０は、ＣＰＵ２１０によって実行されるプログラムや、ＣＰＵ２１０によるプログラムの実行により生成されたデータ、入力されたデータ、サーバ１００から受信したデータなどを記憶する。
【００４０】
ディスプレイ２３０は、ＣＰＵ２１０からの信号に基づいて、文字や画像などを出力する。
【００４１】
スイッチ２４０は、ユーザからの命令を受け付けて、当該命令をＣＰＵ２１０に入力する。
【００４２】
機器駆動部２５０は、ＣＰＵ２１０からの制御命令に基づいて、各種駆動回路を介して、モータ、アクチュエータ、センサ、スピーカなどを制御することによって、第１の機器２００の主要な役割を果たす。
【００４３】
通信インターフェイス２６０は、ＣＰＵ２１０からのデータ、たとえば、機器の状態および機器がユーザからリモコンを介して受け付けた命令など、をインターネット、無線付きアダプタ、ルータなどを介してサーバ１００に送信する。通信インターフェイス２６０は、インターネット、無線付きアダプタ、ルータなどを介してサーバ１００からのデータ、たとえばスマートフォン３００からの音声出力命令やその他の制御命令を受信してＣＰＵ２１０に受け渡す。
【００４４】
マイク２７０は、入力されたユーザからの音声などを電気信号に変換して、ＣＰＵ２１０に入力する。
【００４５】
スピーカ２８０は、ＣＰＵ２１０からの電気信号に応じて、第２の機器から指示された音声を出力する。
【００４６】
カメラ２９０は、ＣＰＵ２１０からの電気信号に応じて、静止画像や動画像を撮影する。
＜第２の機器のハードウェア構成＞
【００４７】
次に、第２の機器のハードウェア構成の一態様について説明する。なお、図４は、本実施の形態にかかる第２の機器のハードウェア構成を表わすブロック図である。
【００４８】
図４を参照して、第２の機器は、主たる構成要素として、ＣＰＵ３１０と、メモリ３２０と、タッチパネル３５０（ディスプレイ３３０とポインティングデバイス３４０）と、通信インターフェイス３６０と、マイク３７０と、スピーカ３８０とを含む。
【００４９】
ＣＰＵ３１０は、メモリ３２０あるいは外部の記憶媒体に記憶されているプログラムを実行することによって、第２の機器３００の各部を制御する。すなわち、ＣＰＵ３１０は、メモリ３２０に格納されているプログラムを実行することによって、後述する機能ブロックや、後述する各種の処理を実行する。
【００５０】
メモリ３２０は、各種のＲＡＭ、各種のＲＯＭ、フラッシュメモリーなどによって実現される。なお、メモリ３２０は、様々なインターフェイスを介して利用される、ＳＤカードやマイクロＳＤカードのようなメモリカード、ＵＳＢ（登録商標）メモリ、ＣＤ、ＤＶＤ、ハードディスク、ＩＣカード、光カード、マスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭなどの記憶媒体などによっても実現される。
【００５１】
メモリ３２０は、ＣＰＵ３１０によって実行されるプログラムや、ＣＰＵ３１０によるプログラムの実行により生成されたデータ、ポインティングデバイス３４０を介して入力されたデータ、サーバ１００やサーバ１００Ｂから受信したデータなどを記憶する。特に、本実施の形態においては、メモリ３２０は、サーバ１００やサーバ１００Ｂからダウンロードした開発用のアプリケーションや開発物としてのアプリケーションなどを記憶している。ＣＰＵ３１０は、上記のアプリケーションに従って、後述する各種の処理を実行する。
【００５２】
ディスプレイ３３０は、ＣＰＵ３１０からの信号に基づいて、文字や画像を出力する。ポインティングデバイス３４０は、ユーザからの命令を受け付けて、当該命令をＣＰＵ３１０に入力する。なお、本実施の形態においては、第２の機器３００は、ディスプレイ３３０とポインティングデバイス３４０とが組み合わされたタッチパネル３５０を有する。
【００５３】
通信インターフェイス３６０は、アンテナやコネクタによって実現される。通信インターフェイス３６０は、有線通信あるいは無線通信によって他の装置との間でデータをやり取りする。ＣＰＵ３１０は、通信インターフェイス３６０を介して、テキストデータ、画像データなどを、サーバ１００などの他の装置に送信する。たとえば、ＣＰＵ３１０は、第１の機器２００に対する様々な要求をサーバ１００に送信する。また、ＣＰＵ３１０は、通信インターフェイス３６０を介して、プログラム、制御命令、画像データ、テキストデータなどを、サーバ１００などの他の装置から受信する。
【００５４】
マイク３７０は、入力されたユーザからの音声などを電気信号に変換して、ＣＰＵ３１０に入力する。
【００５５】
スピーカ３８０は、ＣＰＵ３１０からの音声信号に基づいて通話音声、音楽、動画などの様々な音声を出力する。
＜ネットワークシステム１の機能構成＞
【００５６】
次に、図５を参照しながら、開発者がスマートフォン３００を使って自走式掃除機２００の制御に関するアプリケーションを開発する場合のネットワークシステム１の機能構成について説明する。なお、図５は、本実施の形態にかかるネットワークシステム１の機能構成を示すブロック図である。
【００５７】
上述したように、本実施の形態にかかるネットワークシステム１は、主に、サーバ１００・１００Ｂと、自走式掃除機２００と、スマートフォン３００とを含む。なおここでは、サーバ１００は、機器制御のためのＷｅｂ  ＡＰＩサービスを提供するＡＰＩサーバ１００ともいう。また、サーバ１００Ｂは、スマートフォン３００用の汎用的なＷｅｂ  ＡＰＩサービスを提供する開発者サーバ１００Ｂともいう。
【００５８】
上述したように、開発者サーバ１００Ｂは、スマートフォン３００からの要求に応じて、スマートフォン３００に汎用的なＷｅｂ  ＡＰＩサービスを提供する。
【００５９】
そして、ＡＰＩサーバ１００は、スマートフォン３００からの要求に応じて、自走式掃除機２００に関するアプリケーションを開発するためのＷｅｂ  ＡＰＩサービスを提供する。ＡＰＩサーバ１００は、認証受付部１１１と、認証判断部１１２と、音声発話部１１３と、音声合成部１１４と、発話指示部１１６と、認証確認部１１７とを備える。これらの機能ブロックは、ＣＰＵ１１０が、通信インターフェイス１６０を利用しながら、メモリ１２０のプログラムを実行することによって、実現されるものである。
【００６０】
まず、認証受付部１１１は、開発物であるスマートフォン３００のアプリケーション３１１からの認証要求を受け付ける。本実施の形態においては、認証受付部１１１は、予め発行されているＡＰＩキーやユーザＩＤやパスワードをスマートフォン３００から受け付ける。そして、予め登録されているＡＰＩキーに対応する自走式掃除機２００の識別情報、たとえばＭＡＣアドレスなどを認証判断部１１２に受け渡す。
【００６１】
認証判断部１１２は、ＭＡＣアドレスに対応する自走式掃除機２００が、所定時間以内にネットワークに接続されたか否かを判断する。本実施の形態においては、認証判断部１１２は、自走式掃除機２００がネットワークに接続するために最初に接続するサーバに対して、自走式掃除機２００のネットワークへの接続開始時刻を要求し、現在時刻からの所定時間以内であるか否かを判断する。そして、自走式掃除機２００のネットワークへの接続開始時刻から所定時間以内に、スマートフォン３００からの認証要求があったと判断できると、認証が成功したものと判断する。
【００６２】
音声発話部１１３は、認証成功後、スマートフォン３００の開発物であるアプリケーション３１１からの音声出力命令を受け付ける。
【００６３】
音声合成部１１４は、音声出力命令に基づいて、たとえばテキストデータから音声ファイル１１５を作成する。
【００６４】
発話指示部１１６は、音声ファイル１１５を自走式掃除機２００に送信する。これによって、自走式掃除機２００は音声を出力する。
【００６５】
本実施の形態においては、スマートフォン３００は、ＡＰＩサーバ１００から機器開発用アプリケーション３１２をダウンロードすることもできる。スマートフォン３００Ａの機器開発用アプリケーション３１２は、ユーザからの命令を受け付けて、自走式掃除機２００を制御する。
【００６６】
より詳細には、本実施の形態にかかるネットワークシステム１では、スマートフォン３００が、サーバ１００を介さずに、無線ルータやＢｌｕｅｔｏｏｔｈ（登録商標）や赤外線通信などによって自走式掃除機２００を制御する場合であっても、機器開発用アプリケーション３１２または開発物であるアプリケーション３１１が、サーバ１００に認証を要求する構成になっている。
【００６７】
すなわち、認証確認部１１７が、スマートフォン３００からのアプリケーション３１１，３１２からの認証要求を受け付けて、認証判断部１１２に認証処理を行わせる。認証判断部１１２が認証に成功すると、認証確認部１１７がその旨をスマートフォン３００の機器開発用アプリケーション３１２に返答する。これによって、スマートフォン３００の機器開発用アプリケーション３１２は、無線ルータやＢｌｕｅｔｏｏｔｈ（登録商標）や赤外線通信などによって自走式掃除機２００を制御する。
【００６８】
つまり、本実施の形態においては、スマートフォン３００の機器開発用アプリケーション３１２は、ユーザからの自走式掃除機２００に対する直接的な制御命令を受け付けた場合であっても、ＡＰＩサーバ１００での認証に成功すると自走式掃除機２００を制御し、ＡＰＩサーバ１００での認証に失敗すると自走式掃除機２００の制御を中止する。
＜ネットワークシステム１における情報処理＞
【００６９】
次に、図６を参照しながら、本実施の形態にかかるネットワークシステム１の情報処理について説明する。なお、図６は、本実施の形態にかかるネットワークシステム１の情報処理を示すシーケンス図である。
【００７０】
まず、はじめに、ユーザとしての自走式掃除機２００のアプリケーションの開発者が、スマートフォン３００を使って、ユーザ登録を行う（ステップＳ１０２）。このとき、ユーザは、スマートフォン３００から自分の自走式掃除機２００のＭＡＣアドレスをサーバ１００に送信する。当該ユーザ登録は、サーバ１００に対して行うものであってもよいし、他のサーバに対して行うものであってもよい。
【００７１】
ユーザが、自走式掃除機２００のアプリケーションの開発用のＷｅｂ  ＡＰＩを利用するための利用規約に同意すると（ステップＳ１０４）、サーバ１００は、ユーザＩＤや自走式掃除機２００のＭＡＣアドレスに対応付けられたＡＰＩキーを発行する（ステップＳ１０６）。
【００７２】
次に、ユーザが、制御対象の自走式掃除機２００の電源をＯＮする（ステップＳ１０８）。自走式掃除機２００のＣＰＵ２１０は、電源がＯＮされると、通信インターフェイス２６０を介して、ＭＡＣアドレスを利用してネットワークに接続する（ステップＳ１１０）。本実施の形態においては、ネットワークに接続されると、自走式掃除機２００は最初にサーバ１００Ｃに接続する。サーバ１００Ｃは、自走式掃除機２００のＭＡＣアドレスに対応付けて、自走式掃除機２００がネットワークに接続された時刻を記憶する。
【００７３】
ユーザは、サーバ１００の認証用ＡＰＩを利用して、スマートフォン３００を介してサーバ１００に認証を要求する（ステップＳ１１２）。より詳細には、ユーザからの命令に応じて、スマートフォン３００のＣＰＵ３１０は、通信インターフェイス３６０を介して、認証を要求するためのデータをサーバ１００に送信する。当該データには、ステップＳ１０６で発行されたＡＰＩキーが含まれている。
【００７４】
サーバ１００のＣＰＵ１１０は、スマートフォン３００からの要求に応じて、通信インターフェイス１６０を介して、サーバ１００ＢにＡＰＩキーに対応するＭＡＣアドレスに対応する自走式掃除機２００のネットワークへの接続時刻を問い合わせる（ステップＳ１１４）。そして、ＣＰＵ１１０は、スマートフォン３００からの認証要求の時刻が、自走式掃除機２００のネットワークへの接続時刻から所定時間以内である場合に認証が成功したと判断する（ステップＳ１１４）。
【００７５】
認証に成功すると、ＣＰＵ１１０は、通信インターフェイス１６０を介して、認証の成功を示すためのデータをスマートフォン３００に送信する（ステップＳ１１６）。
【００７６】
なお、認証に失敗する理由としては、ＡＰＩキーが間違っている場合と、自走式掃除機２００の電源のＯＮが所定時間以内に行われていない場合などが考えられる。認証に失敗すると、ＣＰＵ１１０は、通信インターフェイス１６０を介して、認証の失敗を示すためのデータをスマートフォン３００に送信する。
【００７７】
認証成功後、ユーザは、サーバ１００の音声出力用ＡＰＩを利用して、音声の出力命令をサーバ１００に送信する（ステップＳ１２２）。より詳細には、ユーザからの命令に応じて、スマートフォン３００のＣＰＵ３１０は、通信インターフェイス３６０を介して、テキストデータや音声指定データや音声データそのものをＡＰＩキーに紐づけてサーバ１００に送信する。
【００７８】
サーバ１００のＣＰＵ１１０は、スマートフォン３００からの要求に応じて、ＡＰＩキーに基づいて認証する。認証に成功すると、ＣＰＵ１１０は、通信インターフェイス１６０を介して、音声出力命令を正常に受け付けた旨をスマートフォン３００に送信する（ステップＳ１２４）。ＣＰＵ１１０は、音声データを作成し、通信インターフェイス１６０を介して、ＡＰＩキーに対応するＭＡＣアドレスを有する自走式掃除機２００に音声データを送信する（ステップＳ１２６）。
【００７９】
自走式掃除機２００のＣＰＵ２１０は、通信インターフェイス２６０を介して、サーバ１００からの音声出力命令を受けて、ユーザに指定された音声をスピーカ２８０に出力させる（ステップＳ１２８）。
【００８０】
あるいは、スマートフォン３００のＣＰＵ３１０は、ユーザ命令に応じて、制御用ＡＰＩを利用して、無線ＬＡＮまたはＢｌｕｅｔｏｏｔｈ（登録商標）または赤外線通信などを介して、自走式掃除機２００を直接的に制御しようとする（ステップＳ１３２）。このとき、スマートフォン３００のＣＰＵ３１０は、制御命令を自走式掃除機２００に送信する前に、通信インターフェイス３６０を介して、認証要求をサーバ１００に送信する（ステップＳ１３４）。
【００８１】
サーバ１００のＣＰＵ１１０は、スマートフォン３００からの要求に応じて、認証する（ステップＳ１３４）。認証に成功すると、ＣＰＵ１１０は、通信インターフェイス１６０を介して、制御命令を正常に受け付けた旨をスマートフォン３００に送信する（ステップＳ１３６）。
【００８２】
ＣＰＵ１１０は、通信インターフェイス１６０を介して、無線ＬＡＮまたはＢｌｕｅｔｏｏｔｈ（登録商標）または赤外線通信などを介して、自走式掃除機２００に制御命令を送信する（ステップＳ１３８）。自走式掃除機２００のＣＰＵ２１０は、通信インターフェイス２６０を介して、スマートフォン３００からの直接的な制御命令を受けて、移動したり、掃除をしたりする（ステップＳ１４０）。
【００８３】
当然に、認証に失敗した場合は、サーバ１００のＣＰＵ１１０は、通信インターフェイス１６０を介して、認証に失敗した旨をスマートフォン３００に送信する。スマートフォン３００のＣＰＵ３１０は、ディスプレイ３３０に認証に失敗した旨を表示する。
【００８４】
このように、本実施の形態においては、第２の機器に対するユーザ操作から所定の期間内に、第１の機器にて認証のための操作を行う必要があるため、誤って他人の機器を操作してしまったり、他人が自分の機器を操作したりする可能性を従来よりも低減することができる。
【００８５】
なお、本実施の形態においては、電源をＯＮする時刻に基づいて、認証の成否を判断しているが、電源スイッチに限らず、第２の機器に配置される他のボタンを操作する時刻に基づいて、認証の成否を判断してもよい。たとえば、ユーザは、第２の機器の「認証ボタン」を押してから、所定時間内に第１の機器からサーバ１００に認証要求を行う構成にしてもよい。
＜第２の実施の形態＞
【００８６】
第１の実施の形態においては、スマートフォン３００からの制御命令が無線ＬＡＮまたはＢｌｕｅｔｏｏｔｈ（登録商標）または赤外線通信などを介して直接的に自走式掃除機２００に送られているが、スマートフォン３００からの制御命令がサーバ１００を介して自走式掃除機２００に送られてもよい。
【００８７】
すなわち、図６のステップＳ１３２において、ユーザは、制御用ＡＰＩを利用して、自走式掃除機２００を制御しようとする。すなわち、本実施の形態においては、スマートフォン３００のＣＰＵ３１０は、ユーザからの制御命令に応じて、通信インターフェイス３６０を介して、制御命令をサーバ１００に送信する（ステップＳ１３２）。サーバ１００のＣＰＵ１１０は、スマートフォン３００からの要求に応じて、認証する（ステップＳ１３４）。
【００８８】
認証に成功すると、ＣＰＵ１１０は、通信インターフェイス１６０を介して、制御命令を正常に受け付けた旨をスマートフォン３００に送信する（ステップＳ１３６）。ＣＰＵ１１０は、通信インターフェイス１６０を介して、自走式掃除機２００に制御命令を送信する（ステップＳ１３８）。自走式掃除機２００のＣＰＵ２１０は、通信インターフェイス２６０を介して、サーバ１００からの制御命令を受けて、移動したり、掃除をしたりする（ステップＳ１４０）。
＜第３の実施の形態＞
【００８９】
第１および第２の実施の形態においては、自走式掃除機２００の電源がＯＮされた時刻から所定の時間内に、当該自走式掃除機２００の識別情報に対応するＡＰＩキーを有するスマートフォン３００から認証要求があった場合に、認証に成功したと判断するものであった。
【００９０】
しかしながら、本実施の形態においては、第１の機器において所定の画面が表示された時刻から所定の時間内に、当該第１の機器の識別情報に対応する識別情報を有する第２の機器から認証要求があった場合に、認証に成功したと判断するものである。
【００９１】
なお、以下では、本実施の形態にかかるネットワークシステム１の情報処理について説明するものとし、ネットワークシステム１の全体構成および各装置のハードウェア構成については、第１の実施の形態にかかるそれらと同様であるため説明を繰り返さない。
【００９２】
図７は、本実施の形態にかかるネットワークシステム１の情報処理を示すシーケンス図である。
【００９３】
まず、はじめに、ユーザとしての第１の機器２００Ｃの開発者が、スマートフォン３００を使って、ユーザ登録を行う（ステップＳ１０２）。当該ユーザ登録は、サーバ１００に対して行うものであってもよいし、他のサーバに対して行うものであってもよい。
【００９４】
ユーザが、第１の機器２００Ｃの開発用のＷｅｂ  ＡＰＩを利用するための利用規約に同意すると（ステップＳ１０４）、サーバ１００は、ユーザＩＤや第１の機器２００ＣのＭＡＣアドレスに対応付けられたＡＰＩキーを発行する（ステップＳ１０６）。
【００９５】
次に、ユーザが、第１の機器２００Ｃを操作して、第１の機器２００Ｃのディスプレイ２３０に所定の画面を表示させる（ステップＳ３０８）。当該画面は、たとえば、Ｗｅｂ  ＡＰＩサービスの第２の機器用の利用規約であってもよいし、「５分以内に端末からＡＰＩ認証を行ってください」というメッセージを含むものであってもよい。
【００９６】
第１の機器２００ＣのＣＰＵ２１０は、ディスプレイ２３０に所定の画面を表示させると、通信インターフェイス２６０を介して、ＭＡＣアドレスを利用してサーバ１００にその旨を通知する（ステップＳ３１０）。サーバ１００は、第１の機器２００ＣのＭＡＣアドレスに対応付けて、所定の画面が表示された時刻を記憶する。
【００９７】
ユーザは、サーバ１００の認証用ＡＰＩを利用して、スマートフォン３００を介してサーバ１００に認証を要求する（ステップＳ１１２）。より詳細には、ユーザからの命令に応じて、スマートフォン３００のＣＰＵ３１０は、通信インターフェイス３６０を介して、認証を要求するためのデータをサーバ１００に送信する。当該データには、ステップＳ１０６で発行されたＡＰＩキーが含まれている。
【００９８】
サーバ１００のＣＰＵ１１０は、スマートフォン３００からの要求に応じて、ＡＰＩキーに対応するＭＡＣアドレスに対応する第１の機器２００Ｃにて所定の画面が表示された時刻を取得する（ステップＳ３１４）。そして、ＣＰＵ１１０は、スマートフォン３００からの認証要求の時刻が、第１の機器２００Ｃにおける所定画面の表示された時刻から所定時間以内である場合に認証が成功したと判断する（ステップＳ３１４）。
【００９９】
認証に成功した後の処理は、第１および第２の実施の形態のそれと同様であるため、ここでは説明を繰り返さない。
＜第４の実施の形態＞
【０１００】
第４の実施の形態においては、第１の機器に所定の音声が入力された時刻から所定の時間内に、当該第１の機器の識別情報に対応する識別情報を有する第２の機器から認証要求があった場合に、認証に成功したと判断するものである。
【０１０１】
なお、以下では、本実施の形態にかかるネットワークシステム１の情報処理について説明するものとし、ネットワークシステム１の全体構成および各装置のハードウェア構成については、第１の実施の形態にかかるそれらと同様であるため説明を繰り返さない。
【０１０２】
図８は、本実施の形態にかかるネットワークシステム１の情報処理を示すシーケンス図である。
【０１０３】
まず、はじめに、ユーザとしての第１の機器２００Ｄの開発者が、スマートフォン３００を使って、ユーザ登録を行う（ステップＳ１０２）。当該ユーザ登録は、サーバ１００に対して行うものであってもよいし、他のサーバに対して行うものであってもよい。
【０１０４】
ユーザが、第１の機器２００Ｄの開発用のＷｅｂ  ＡＰＩを利用するための利用規約に同意すると（ステップＳ１０４）、サーバ１００は、ユーザＩＤや第１の機器２００ＤのＭＡＣアドレスに対応付けられたＡＰＩキーを発行する（ステップＳ１０６）。
【０１０５】
次に、ユーザが、第１の機器２００Ｄのマイク２７０に所定の音声を入力する（ステップＳ４０８）。当該音声は、たとえば、「ＡＰＩ認証開始」というメッセージを含むものであってもよいし、ＡＰＩキー自体を含むものであってもよい。第１の機器２００ＤのＣＰＵ２１０は、マイク２７０を介して、所定の音声が入力されると、通信インターフェイス２６０を介して、ＭＡＣアドレスを利用してサーバ１００にその旨を通知する（ステップＳ４１０）。サーバ１００は、第１の機器２００ＤのＭＡＣアドレスに対応付けて、所定の音声が入力された時刻を記憶する。
【０１０６】
ユーザは、サーバ１００の認証用ＡＰＩを利用して、スマートフォン３００を介してサーバ１００に認証を要求する（ステップＳ１１２）。より詳細には、ユーザからの命令に応じて、スマートフォン３００のＣＰＵ３１０は、通信インターフェイス３６０を介して、認証を要求するためのデータをサーバ１００に送信する。当該データには、ステップＳ１０６で発行されたＡＰＩキーが含まれている。
【０１０７】
サーバ１００のＣＰＵ１１０は、スマートフォン３００からの要求に応じて、ＡＰＩキーに対応するＭＡＣアドレスに対応する第１の機器２００Ｄにて所定の音声が入力された時刻を取得する（ステップＳ４１４）。そして、ＣＰＵ１１０は、スマートフォン３００からの認証要求の時刻が、第１の機器２００Ｄにおける所定画面の表示された時刻から所定時間以内である場合に認証が成功したと判断する（ステップＳ４１４）。
【０１０８】
認証に成功した後の処理は、第１および第２の実施の形態のそれと同様であるため、ここでは説明を繰り返さない。
＜第５の実施の形態＞
【０１０９】
本実施の形態においては、第１の機器において現在位置情報のサービスへのアップロードのための操作が行われた時刻から所定の時間内に、当該第１の機器の識別情報に対応する識別情報を有する第２の機器から認証要求があった場合に、認証に成功したと判断するものである。
＜ネットワークシステムの全体構成と動作概要＞
【０１１０】
まず、本実施の形態にかかるネットワークシステム１Ｅの全体構成と動作概要について説明する。図９は、本実施の形態にかかるネットワークシステム１Ｅの全体構成と動作概要とを示すイメージ図である。
【０１１１】
図９を参照して、本実施の形態にかかるネットワークシステム１Ｅは、主に、ビーコン４００と、第１の機器としてのスマートフォン２００Ｅと、ネットワークを介してスマートフォン２００Ｅと接続されるサーバ１００と、サーバ１００と通信可能な第２の機器としてのスマートフォン３００とを含む。
【０１１２】
なお、認証処理のトリガーとなるスマートフォン２００Ｅに対するユーザ操作は、位置情報サービスを利用して取得したビーコン４００の現在位置情報を、自転車レース用の位置共有サービスやＷｅｂ  ＡＰＩサービスなどの他のサービスのサーバ１００にアップロードし始めるための操作である。
【０１１３】
本実施の形態においては、サーバ１００は、ユーザや機器を認証したり、自転車レース用の位置共有サービスを提供したりする。
【０１１４】
そして、本実施の形態においては、第１の機器としてのスマートフォン２００Ｅがビーコン４００の位置情報を取得して、ビーコン４００の位置情報のサーバ１００へのアップロードを開始してから所定の時間内、たとえば５分以内に、第２の機器としてのスマートフォン３００を介して、自転車レース用の位置共有サービスに認証要求を行う必要がある。
【０１１５】
より詳細には、サーバ１００は、ユーザのスマートフォン３００からの認証要求を受け付けた際に、たとえばユーザの友達のスマートフォン２００Ｅからのビーコン４００の位置情報のアップロードが所定時間内に開始されたことを確認できた場合に、認証が成功したものと判断する。認証に成功すると、その後、スマートフォン３００は、ビーコン４００の位置情報を利用することが可能になる。
【０１１６】
なお、本実施の形態においては、スマートフォン３００のアプリケーションは、ダウンロードしたスマートフォン２００Ｅやビーコン４００の制御用のＡＰＩを利用する際にも、ネットワークを介してサーバ１００での認証に成功しているかの確認を行う。
【０１１７】
以下、このような機能を実現するためのネットワークシステム１Ｅの具体的な構成について詳述する。なお、サーバ１００，１００Ｂと、スマートフォン３００のハードウェア構成は、第１の実施の形態のそれらと同様であるため、ここでは説明を繰り返さない。そして、第１の機器としてのスマートフォン２００Ｅのハードウェア構成は、第１の実施の形態のスマートフォン３００のハードウェア構成と同様であるため、ここでは説明を繰り返さない。
＜ビーコン４００のハードウェア構成＞
【０１１８】
次に、ビーコン４００のハードウェア構成の一態様について説明する。図１０は、本実施の形態にかかるビーコン４００のハードウェア構成を表わすブロック図である。
【０１１９】
図１０を参照して、本実施の形態にかかるビーコン４００は、主たる構成要素として、ＣＰＵ４１０と、メモリ４２０と、ボタン４４０と、通信インターフェイス４６０と、信号発信部４９０とを含む。
【０１２０】
ＣＰＵ４１０は、メモリ４２０あるいは外部の記憶媒体に記憶されているプログラムを実行することによって、ビーコン４００の各部を制御する。すなわち、ＣＰＵ４１０は、メモリ４２０に格納されているプログラムを実行することによって、後述する各種の処理を実行する。
【０１２１】
メモリ４２０は、各種のＲＡＭ、各種のＲＯＭ、フラッシュメモリーなどによって実現される。メモリ４２０は、ＣＰＵ４１０によって実行されるプログラムや、ＣＰＵ４１０によるプログラムの実行により生成されたデータ、過去の位置情報、サーバ１００から受信したデータなどを記憶する。
【０１２２】
ボタン４４０は、ユーザからの命令を受け付けて、当該命令をＣＰＵ４１０に入力する。
【０１２３】
通信インターフェイス４６０は、ＣＰＵ４１０からのデータをインターネット、無線付きアダプタ、ルータなどを介してサーバ１００に送信する。通信インターフェイス２６０は、インターネット、無線付きアダプタ、ルータなどを介してサーバ１００からのデータやその他の制御命令を受信してＣＰＵ４１０に受け渡す。
【０１２４】
信号発信部４９０は、定期的に信号を外部に発する。
＜ネットワークシステム１Ｅにおける情報処理＞
【０１２５】
次に、図１１を参照しながら、本実施の形態にかかるネットワークシステム１Ｅの情報処理について説明する。なお、図１１は、本実施の形態にかかるネットワークシステム１Ｅの情報処理を示すシーケンス図である。
【０１２６】
まず、はじめに、ユーザとしてのスマートフォン２００Ｅおよびビーコン４００のユーザが、自転車レースなどの位置共有サービスを利用するための利用規約に同意すると（ステップＳ５０４）、サーバ１００は、ユーザＩＤを発行する（ステップＳ５０６）。
【０１２７】
なお、本実施の形態においては、スマートフォン２００ＥのユーザＩＤとスマートフォン３００のユーザＩＤとは別々のものに設定される。サーバ１００のメモリ１２０は、チームまたは家族などのグループと、それらに属するユーザとの対応関係に関する情報を格納する。
【０１２８】
ここで、ビーコン４００は、定期的に信号を発している。ビーコン４００からの信号は、複数の人工衛星などによって受信され、ビーコン４００の位置が計算される。ビーコン４００の位置は、インターネットなどを介して位置情報サービスのサーバからスマートフォン２００Ｅと送信される。
【０１２９】
そして、スマートフォン２００Ｅのユーザが、取得したビーコン４００の現在位置をサーバ１００にアップロードするための命令をスマートフォン２００Ｅに入力すると（ステップＳ５０８）。ビーコン４００の現在位置情報が、サーバ１００Ｃにアップロードされはじめる（ステップＳ５１０）。
【０１３０】
サーバ１００Ｃは、ユーザＩＤに対応付けて、スマートフォン２００Ｅがビーコン４００の位置情報をネットワークにアップロードし始めた時刻を記憶する。
【０１３１】
ユーザは、ユーザＩＤを利用して、スマートフォン３００を介してサーバ１００に認証を要求する（ステップＳ５１２）。
【０１３２】
サーバ１００のＣＰＵ１１０は、スマートフォン３００からの要求に応じて、通信インターフェイス１６０を介して、サーバ１００ＣにユーザＩＤに対応するグループに属するユーザのスマートフォン２００Ｅからのビーコン４００の位置情報のアップロードの開始時刻を問い合わせる（ステップＳ５１４）。そして、ＣＰＵ１１０は、スマートフォン３００からの認証要求の時刻が、スマートフォン２００Ｅからのビーコン４００の位置情報のアップロードの開始時刻から所定時間以内である場合に認証が成功したと判断する（ステップＳ５１４）。
【０１３３】
当然に、ＣＰＵ１１０は、スマートフォン３００からの認証要求の時刻が、スマートフォン２００Ｅからのビーコン４００の位置情報のアップロードの開始時刻から所定時間経過している場合には認証が失敗したと判断する。
【０１３４】
認証に成功すると、サーバ１００のＣＰＵ１１０は、通信インターフェイス１６０を介して、ビーコン４００の位置情報をスマートフォン３００に送信する（ステップＳ５１６）。スマートフォン３００のＣＰＵ３１０は、通信インターフェイス３６０を介して受信した位置情報に基づいて、ディスプレイ３３０に、ビーコン４００の位置情報を地図上に表示させる（ステップＳ５１８）。
＜第６の実施の形態＞
【０１３５】
第１〜第５の実施の形態では、サーバ１００が認証処理や音声出力処理や位置情報送信処理を行い、サーバ１００Ｂが他のＷｅｂ  ＡＰＩサービスを提供し、サーバ１００Ｃが第１の機器のネットワークへの接続の役割を担っていたが、各サーバ１００，１００Ｂ，１００Ｃの役割分担は、上記のような構成に限るものではない。
【０１３６】
たとえば、第１〜第５の実施の形態でサーバ１００が実行していた役割の全部または一部を、他のサーバ１００Ｂ，１００Ｃまたは更に他のサーバに担わせてもよい。同様に、第１〜第５の実施の形態でサーバ１００Ｂが実行していた役割の全部または一部を、他のサーバ１００Ｃ，１００または更に他のサーバに担わせてもよい。第１〜第５の実施の形態でサーバ１００Ｃが実行していた役割の全部または一部を、他のサーバ１００，１００Ｂまたは更に他のサーバに担わせてもよい。
【０１３７】
また、更に別の音声制御用サーバが、第１の機器のネットワークシステムへの接続処理や常時接続処理や音声合成処理や音声出力処理や負荷分散処理の全部または一部を担ったりしてもよい。
【０１３８】
具体的な一例としては、図１２に示すように、アプリケーションの開発者が自走式掃除機２００の電源をＯＮした際に、自走式掃除機２００がＡＰＩサーバ１００のネットワーク接続開始用のプログラム１１８にアクセスしてもよい。これによって、自走式掃除機２００は、常時接続サーバや他のアプリケーションサーバとデータをやり取りできるようになる。この場合は、ネットワーク接続開始用のプログラム１１８は、自走式掃除機２００などの第１の機器のネットワークへの接続状況を格納するための管理データベース１１９に、今回の接続状況、たとえば自走式掃除機２００のＭＡＣアドレスと接続日時とを蓄積する。そして、第２の機器からの要求に応じて、認証判断部１１２が、当該管理データベース１１９にアクセスし、自走式掃除機２００などの第１の機器のネットワークへの接続状況を参照する。
【０１３９】
あるいは別の具体的な一例としては、図１３に示すように、アプリケーションの開発者が自走式掃除機２００の電源をＯＮした際に、自走式掃除機２００がＡＰＩサーバ１００とは別の接続管理サーバ１００Ｘのネットワーク接続開始用のプログラム１１８にアクセスしてもよい。これによって、自走式掃除機２００は、常時接続サーバや他のアプリケーションサーバとデータをやり取りできるようになる。この場合は、ネットワーク接続開始用のプログラム１１８は、自走式掃除機２００などの第１の機器のネットワークへの接続状況を格納するための管理データベース１１９に、今回の接続状況、たとえば自走式掃除機２００のＭＡＣアドレスと接続日時とを蓄積する。そして、第２の機器からの要求に応じて、ＡＰＩサーバ１００の認証判断部１１２が、接続管理サーバ１００Ｘの管理データベース１１９にアクセスし、自走式掃除機２００などの第１の機器のネットワークへの接続状況を参照する。
＜第７の実施の形態＞
【０１４０】
第１〜第６の実施の形態では、第１の機器がネットワークへの接続を行った日時や第１の機器が位置情報をサーバにアップロードした日時から所定の時間内に第２の機器が認証要求をしたか否かに基づいて認証の成否を判断するものであった。しかしながら、このような構成に限るものではない。
【０１４１】
たとえば、第１の機器に対するユーザ操作の種類や履歴などに応じて、第２の機器が認証要求をした場合に、認証の成否を判断するものであってもよい。具体的には、第１の機器としての自走式掃除機２００が掃除を行った場合に、第２の機器が認証要求をした場合に認証を成功したものとサーバ１００が判断してもよい。この場合は、自走式掃除機２００が掃除を行っていない場合に、第２の機器が認証要求をした場合は、サーバ１００は認証失敗と判断する。
【０１４２】
あるいは、第１の機器としての自走式掃除機２００が認証モードに設定された場合に、第２の機器が認証要求をした場合に認証を成功したものとサーバ１００が判断してもよい。この場合は、自走式掃除機２００が認証モードに設定されていない場合に、第２の機器が認証要求をした場合は、サーバ１００は認証失敗と判断する。
【０１４３】
あるいは、第１の機器に対するユーザ操作の種類と、第１の機器がネットワークへの接続を行った日時や第１の機器が位置情報をサーバにアップロードした日時から所定の時間内であるか否かと、に関して、いずれかが満たされた場合に、認証を成功したものとサーバ１００が判断してもよい。この場合は、両方が満たされなかった場合に、サーバ１００は認証失敗と判断する。
【０１４４】
あるいは、第１の機器に対するユーザ操作の種類と、第１の機器がネットワークへの接続を行った日時や第１の機器が位置情報をサーバにアップロードした日時から所定の時間内であるか否かと、に関して、共に満たされた場合に、認証を成功したものとサーバ１００が判断してもよい。この場合は、いずれかが満たされなかった場合に、サーバ１００は認証失敗と判断する。
＜その他の応用例＞
【０１４５】
本発明は、システム或いは装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。そして、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体（あるいはメモリ）を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の効果を享受することが可能となる。
【０１４６】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１４７】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【０１４８】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わる他の記憶媒体に書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
＜まとめ＞
【０１４９】
上記の第１〜６の実施の形態においては、ユーザ操作を受け付ける第１の機器２００と、認証要求を発する第２の機器３００と、第２の機器３００から認証要求を受けた場合に、第１の機器２００に対するユーザ操作に関する所定のルールが満たされているときに当該認証を成功と判断するサーバ１００とを備えるネットワークシステム１が提供される。
【０１５０】
好ましくは、前記サーバ１００は、前記ユーザ操作から所定の期間内に前記認証要求を受けた場合に、前記所定のルールが満たされていると判断する。
【０１５１】
好ましくは、ユーザ操作は、電源をＯＮすることである。
【０１５２】
好ましくは、ユーザ操作は、所定のボタンを押すことである。
【０１５３】
好ましくは、第１の機器２００はマイク２７０を含む。ユーザ操作は、ユーザがマイク２７０に音声を入力することである。
【０１５４】
好ましくは、第１の機器２００はディスプレイ２３０を含む。ユーザ操作は、所定の画面をディスプレイ２３０に表示させることである。
【０１５５】
この発明の別の態様に従うと、第１の機器２００と第２の機器３００と通信するための通信インターフェイス１６０と、第１の機器２００に対するユーザ操作から所定の期間内に第２の機器３００から認証要求を受けた場合に当該認証を成功と判断するためのプロセッサ１１０とを備えるサーバ１００が提供される。
【０１５６】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１５７】
１，１Ｅ  ：ネットワークシステム
１００    ：ＡＰＩサーバ
１００Ｂ  ：開発者サーバ
１１０    ：ＣＰＵ
１１１    ：認証受付部
１１２    ：認証判断部
１１３    ：音声発話部
１１４    ：音声合成部
１１５    ：音声ファイル
１１６    ：発話指示部
１１７    ：認証確認部
１２０    ：メモリ
１３０    ：ライト
１４０    ：ボタン
１６０    ：通信インターフェイス
２００    ：第１の機器
２００Ｃ  ：第１の機器
２００Ｄ  ：第１の機器
２００Ｅ  ：第１の機器
２１０    ：ＣＰＵ
２２０    ：メモリ
２３０    ：ディスプレイ
２４０    ：スイッチ
２５０    ：機器駆動部
２６０    ：通信インターフェイス
２７０    ：マイク
２８０    ：スピーカ
３００    ：第２の機器
３００Ａ  ：スマートフォン
３１０    ：ＣＰＵ
３１１    ：アプリケーション
３１２    ：機器開発用アプリケーション
３２０    ：メモリ
３３０    ：ディスプレイ
３４０    ：ポインティングデバイス
３５０    ：タッチパネル
３６０    ：通信インターフェイス
３７０    ：マイク
３８０    ：スピーカ
４００    ：ビーコン
４１０    ：ＣＰＵ
４２０    ：メモリ
４４０    ：ボタン
４６０    ：通信インターフェイス
４９０    ：信号発信部
【図１】
0006407116.tif 000002
【図２】
0006407116.tif 000003
【図３】
0006407116.tif 000004
【図４】
0006407116.tif 000005
【図５】
0006407116.tif 000006
【図６】
0006407116.tif 000007
【図７】
0006407116.tif 000008
【図８】
0006407116.tif 000009
【図９】
0006407116.tif 000010
【図１０】
0006407116.tif 000011
【図１１】
0006407116.tif 000012
【図１２】
0006407116.tif 000013
【図１３】
0006407116.tif 000014