以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
<第1の実施の形態>
<ネットワークシステムの全体構成>
まず、図1を参照して、本実施の形態にかかるネットワークシステム1の全体構成について説明する。なお、図1は、本実施の形態にかかるネットワークシステム1の全体構成と動作概要とを示すイメージ図である。
図1を参照して、ネットワークシステム1の全体構成について簡単に説明する。本実施の形態にかかるネットワークシステム1は、主に、冷蔵庫200A、エアコン200B、洗濯機200Cなどの機器と、機器の音声出力を制御するための音声サーバ100と、通信端末としてのアダプタ300A,300B,300Cとを含む。さらに、ネットワークシステム1は、アダプタ300A,300B,300Cをインターネットに接続するためのルータ400と、家族同士の間あるいは家族と機器との間のメッセージのやり取りなどを処理するための制御サーバ500と、スマートフォン600A,600B,600C、ノートパソコン600Dなどの端末とを含んでもよい。
ネットワークシステム1は、さらにデータベース101,501を含んでもよい。ただし、後述するように、音声サーバ100または制御サーバ500が、データベース101,501の少なくともいずれかを記憶してもよい。
音声サーバ100は、インターネットやルータ400を介してアダプタ300A,300B,300Cおよび制御サーバ500に接続される。たとえば、音声サーバ100は、管理者から発話命令を受け付けたり、制御サーバ500を介してスマートフォン600A,600B,600Cからの発話命令を受け付けたりする。音声サーバ100は、発話命令に基づいて、アダプタ300A,300B,300Cを介して、冷蔵庫200A、エアコン200B,洗濯機200Cに音声を出力させる。
冷蔵庫200A,エアコン200B,洗濯機200Cなどの機器は、リモコンから受け付けた制御命令やセンサで測定したデータなどをアダプタ300A,300B,300C、ルータ400およびインターネットなどを介して音声サーバ100および制御サーバ500に送信する。冷蔵庫200A,エアコン200B,洗濯機200Cなどの機器は、音声サーバ100および制御サーバ500からの音声データ取得指示、音声データ、発話指示および制御命令に基づいて各種の動作を実行する。
なお、機器は、冷蔵庫200A,エアコン200B,洗濯機200Cに限らず、空気清浄器、加湿器、除湿器、自走式掃除機、照明などの家電、テレビ、ハードディスクレコーダ、音楽プレーヤーなどのAV(オーディオ・ビジュアル)機器、太陽光発電機、インターホン、給湯器などの住宅設備、などであってもよい。なお、以下では、これらの装置を総称して、機器200ともいう。
本実施の形態にかかる機器200の各々は、UART(Universal Asynchronous Receiver Transmitter)などの通信インターフェイスを介して、通信用のアダプタ300A,300B,300Cとデータの送受信を行う。
通信用のアダプタ300A,300B,300Cは、UARTなどの通信インターフェイスを介して、機器200と通信を行う。通信用のアダプタ300A,300B,300Cは、WiFi(登録商標)などの無線LAN用の通信インターフェイスを介してルータ400と通信を行う。通信用のアダプタ300A、300B,300Cは、機器200からのデータを、ルータ400やインターネットを介して音声サーバ100または制御サーバ500に送信する。逆に、通信用のアダプタ300A、300B,300Cは、音声サーバ100または制御サーバ500からのデータを機器200に送信する。なお、以下では、通信用のアダプタ300A,300B,300Cを総称して、アダプタ300ともいう。
ルータ400は、アダプタ300とインターネットとを中継する。
制御サーバ500は、インターネットやルータ400を介してアダプタ300、音声サーバ100、スマートフォン600A,600B,600Cなどに接続される。たとえば、制御サーバ500は、家電制御アプリケーションをインストールしたスマートフォン600A,600B,600Cから、家電に対する制御命令や発話命令を受け付ける。制御サーバ500は、制御命令に基づいてアダプタ300を介して機器200に操作命令を送信したり、発話命令を音声サーバ100に送信したりする。
スマートフォン600A,600B,600Cとノートパソコン600Dのそれぞれは、ユーザに保持される。ユーザは、家電制御アプリケーションをインストールしたスマートフォン600A,600B,600Cまたはノートパソコン600Dを介して、機器200を制御したり、機器200の情報を取得したり、機器200に音声を出力させたり、他のユーザの端末とメッセージを交換したりする。ユーザは、スマートフォン600A,600B,600Cとノートパソコン600Dに限らず、タブレット、パーソナルコンピュータ、ゲーム機、電子書籍端末など、音声サーバ100および制御サーバ500と通信可能な他の種類の端末を利用してもよい。なお、以下では、これらの装置を総称して、端末600ともいう。
音声データベース101は、機器200にて出力される音声に関するデータを格納する。グループデータベース501は、ユーザと、家族、部屋、現在位置、住所、ユーザ属性などに関するグループと、の関係を示すデータを格納する。音声データベース101およびグループデータベース501は、音声サーバ100や制御サーバ500から参照可能である。
<ネットワークシステムの動作概要>
次に、図1を参照して、本実施の形態にかかるネットワークシステム1の動作概要について説明する。
まず、音声サーバ100は、第1のタイミングにおいて、音声データの取得指示をアダプタ300に送信する(1)。取得指示は、音声を出力すべき日時や条件などを含む。ここで、第1のタイミングは、たとえば、季節の変わり目であってもよいし、毎月のうちの所定の日付の所定の時刻であってもよいし、毎週のうちの所定の曜日の所定の時刻であってもよいし、毎日のうちの所定の時刻であってもよいし、管理者によって指定された日時でもよいし、端末600を介してユーザから指定された日時であってもよい。この第1のタイミングは、サービス側で設定・変更することができる。
アダプタ300は、音声サーバ100あるいは他のサーバから指定された音声データをダウンロードする。アダプタ300は、指定された音声データのダウンロードが完了すると、音声データの取得が完了した旨を音声サーバ100に通知する(2)。
次に、音声サーバ100は、第2のタイミングにおいて、音声データの発話指示をアダプタ300に送信する(3)。発話指示は、出力すべき音声データの指定を含む。あるいは、発話指示は、出力すべき音声データの指定の組み合わせや順番を含む。あるいは、発話指示は、音声を出力すべき日時や条件などを含む。ここで、第2のタイミングは、たとえば、季節の変わり目であってもよいし、毎月のうちの所定の日付の所定の時刻であってもよいし、毎週のうちの所定の曜日の所定の時刻であってもよいし、毎日のうちの所定の時刻であってもよいし、管理者によって指定された日時でもよいし、端末600を介してユーザから指定された日時であってもよい。
アダプタ300は、発話指示に基づいて、機器200に音声を出力させる。アダプタ300は、指定された音声データの発話処理が完了すると、発話が完了した旨の通知を音声サーバ100に通知する(4)。
音声サーバ100は、アダプタ300から発話が完了した旨の通知を受信すると、あるいは第3のタイミングにおいて、当該アダプタ300に対する次の発話指示を当該アダプタ300に送信する(5)。ここで、第3のタイミングも、第2のタイミングと同様に、たとえば、季節の変わり目であってもよいし、毎月のうちの所定の日付の所定の時刻であってもよいし、毎週のうちの所定の曜日の所定の時刻であってもよいし、毎日のうちの所定の時刻であってもよいし、管理者によって指定された日時でもよいし、端末600を介してユーザから指定された日時であってもよい。
アダプタ300は、次の発話指示に基づいて、機器200に音声を出力させる。アダプタ300は、指定された音声データの発話処理が完了すると、発話が完了した旨の通知を音声サーバ100に通知する(6)。
このように、本実施の形態にかかるネットワークシステム1では、音声サーバ100は、アダプタ300に音声データを取得させるための指示と、機器200に音声を発話させるための指示と別々のタイミングで送信する。そのため、毎回音声データを送信することなく、機器200にて出力される音声に関して発話指示による自由な組み合わせが可能になる。すなわち、従来よりも柔軟にサーバ100が機器200の音声出力を制御することができる。
また、データ送受信のトラフィック量が比較的少ないときに音声データをダウンロードさせることもできるため、ネットワークのトラフィック量の最大値の増大を抑制することができる。
また、発話指示は、音声データを含まないので、データ量が小さく、WebSocketなどを利用した常時接続によって送信しても、他のデータ送信の妨げになりにくい。つまり、サービスの管理者またはユーザが望むタイミングで、即座に発話指示をアダプタ300に受信させることができる。その結果、サービスの管理者またはユーザが望むタイミングで、即座に機器200に音声を出力させることができる。
なお、本実施の形態にかかるネットワークシステム1では、アダプタ300または機器200が機器200のエラーを検知した場合には、その旨の通知を一旦音声サーバ100および制御サーバ500に送信してもよい。そして、音声サーバ100は、受信した通知に基づいてアダプタ300に発話指示を送信すべきか否かを判断する。エラー音声を出力すべきときは、音声サーバ100は、エラー音声の発話指示をアダプタ300に送信する。発話指示のデータ量は小さいので、アダプタ300は、機器200にエラーが生じたことを示す音声をすぐに出力させることができる。
このとき、制御サーバ500は、エラーを示す情報またはエラー音声自体を端末600に送信してもよい。たとえば、制御サーバ500は、エラーを示す情報を端末600が属するグループのSNS(social networking service)のページに投稿してもよい。これによって、端末600は、図26に示すようにエラーを示す情報を表示したり、エラー示す音声を出力したりする。
ただし、アダプタ300がエラーを検知した場合に関して、音声サーバ100からの発話指示がなくても、アダプタ300は予め記憶しているエラー音声を機器200に出力させてもよい。このとき、アダプタ300は、エラーを示す情報またはエラー音声自体を、制御サーバ500を介して端末600に送信する。これによって、端末600は、エラーを示す情報を表示したり、エラーを示す音声を出力したりする。
以下では、このような機能を実現するためのネットワークシステム1について詳細に説明する。
<音声サーバ100のハードウェア構成>
まず、ネットワークシステム1を構成する音声サーバ100のハードウェア構成の一態様について説明する。なお、図2は、本実施の形態にかかるサーバ100のハードウェア構成を表わすブロック図である。
図2を参照して、音声サーバ100は、主たる構成要素として、プロセッサ110と、メモリ120と、各種ライト130と、各種スイッチ140と、通信インターフェイス160とを含む。
プロセッサ110は、メモリ120あるいは外部の記憶媒体に記憶されているプログラムを実行することによって、サーバ100の各部を制御する。すなわち、プロセッサ110は、メモリ120に格納されているプログラムを実行することによって、後述する各種の処理を実行する。
メモリ120は、各種のRAM(Random Access Memory)、各種のROM(Read-Only Memory)、フラッシュメモリーなどによって実現される。なお、メモリ120は、インターフェイスを介して利用される、USB(Universal Serial Bus)(登録商標)メモリ、CD(Compact Disc)、DVD(Digital Versatile Disk)、メモリカード、ハードディスク、IC(Integrated Circuit)カード、光カード、マスクROM、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electronically Erasable Programmable Read-Only Memory)などの記憶媒体などによっても実現される。
メモリ120は、プロセッサ110によって実行されるプログラムや、プロセッサ110によるプログラムの実行により生成されたデータ、スイッチ140から入力されたデータ、機器200、アダプタ300、制御サーバ500、端末600から受信したデータを記憶する。なお、メモリ120は、図1に示すデータベース101を記憶してもよい。あるいは、データベース101は、制御サーバ500に格納されるものであってもよい。あるいは、音声サーバ100および制御サーバ500から参照可能に、その他の装置に格納されるものであってもよい。
本実施の形態においては、データベース101は、音声データ取得指示を順次格納するための音声データ取得指示データベース121と、発話指示を順次格納するための発話指示データベース122とを含む。
ここで、図3は、本実施の形態にかかる音声データ取得指示データベース121のデータ構造を示すイメージ図である。図3を参照して、音声データ取得指示データベース121は、音声データ取得指示毎に、音声データ取得指示IDとアダプタIDと音声IDと音声データ格納アドレスと開始日と終了日と開始時刻と終了時刻と送信フラグと完了フラグとの対応関係を格納する。ただし、アダプタIDの代わりに、アダプタ300に対応する機器200の機器IDを利用してもよい。また、音声データ取得指示データベース121は、音声データ取得指示毎に、発話条件や優先度も上記の対応関係の一部として格納してもよい。
プロセッサ110は、通信インターフェイス160を介して、音声データ取得指示として、音声データ取得指示IDとアダプタIDと音声IDと音声データ格納アドレスと開始日と終了日と開始時刻と終了時刻とを含むデータをアダプタ300に送信する。なお、プロセッサ110は、音声データ取得指示として、発話条件や優先度もアダプタ300に送信してもよい。
より詳細には、音声データ取得指示に含まれる情報またはダウンロードされる音声データ自体に含まれる情報と、発話指示に含まれる情報とが重複する場合がある。そのような場合には、発話指示に含まれる情報が優先されることが好ましい。換言すれば、アダプタ300のプロセッサ310や機器200のプロセッサ210は、発話指示に含まれる開始日と終了日と開始時刻と終了時刻と発話条件と優先度とに従う。そして、発話指示に開始日と終了日と開始時刻と終了時刻と発話条件と優先度とが含まれていない場合に、アダプタ300のプロセッサ310や機器200のプロセッサ210は、音声データ取得指示または音声データ自体に含まれる開始日と終了日と開始時刻と終了時刻と発話条件と優先度とに従う。
ここで、音声データ取得指示IDは、音声データの取得をアダプタ300に指示するための命令を特定するためのデータである。アダプタIDは、音声データの取得を指示する先となるアダプタ300を特定するためのデータである。音声IDは、機器200が取得すべき音声データを特定するためのデータである。音声データ格納アドレスは、音声データの格納先を特定するためのデータである。送信フラグは、プロセッサ110が、対応する音声データ取得指示をアダプタ300に送った際に、「ON」に切り替える。すなわち、対応する音声データ取得指示が未だアダプタに送られていない場合は、送信フラグが「OFF」となる。完了フラグは、プロセッサ110が、アダプタ300から音声データのダウンロードが完了した旨の通知を受けた際に、「ON」に切り替える。すなわち、アダプタ300が未だ音声データをダウンロードしていない場合は、完了フラグが「OFF」となる。
ここで、図4は、本実施の形態にかかる発話指示データベース122のデータ構造を示すイメージ図である。図4を参照して、発話指示データベース122は、発話指示毎に、発話指示IDとアダプタIDと音声IDと発話条件と発話優先度と開始日と終了日と開始時刻と終了時刻と送信フラグと完了フラグとの対応関係を格納する。プロセッサ110は、通信インターフェイス160を介して、発話指示として、発話指示IDとアダプタIDと音声IDと発話条件と発話優先度と開始日と終了日と開始時刻と終了時刻とを含むデータをアダプタ300に送信する。
ここで、発話指示IDは、アダプタ300に発話を指示するための命令を特定するためのデータである。アダプタIDは、発話を指示する先であるアダプタ300を特定するためのデータである。音声IDは、機器200に取得するように指示する音声データを特定するためのデータである。発話条件は、機器200のセンサによって取得されるデータなどに関する、音声を出力するための条件である。優先度は、他の音声データとの関係で、この発話指示の音声を先に出力すべきか否かを示すデータである。開始日は、音声データを発話する期間を開始する日付である。終了日は、音声データを発話する期間を終了する日付である。開始時刻は、音声データを発話する時間帯のスタート時刻である。終了日は、音声データを発話する時間帯を終了する時刻である。送信フラグは、プロセッサ110が、対応する発話指示をアダプタ300に送った際に、「ON」に切り替える。すなわち、対応する発話指示が未だアダプタ300に送られていない場合は、送信フラグが「OFF」となる。完了フラグは、プロセッサ110が、機器200から発話が完了した旨の通知を受けた際に、「ON」に切り替える。すなわち、機器200が未だ発話を完了していない場合は、完了フラグが「OFF」となる。
なお、より詳細には、サーバ100がアダプタ300に送信する発話指示に、開始日と終了日と開始時刻と終了時刻とが含まれない形態であってもよい。すなわち、サーバ100のプロセッサ110が、発話指示を送信する日時に基づいて、日付が開始日以降で、日付が終了日以前で、時刻が開始時刻以降で、時刻が終了時刻以前であるか否かを判断し、これらの条件を満たす発話指示、すなわち、発話指示IDとアダプタIDと音声IDとをアダプタ300に送信するものであってもよい。より詳細には、サーバ100は、期間が終了したときに、発話指示をキャンセルするための通知を送信し、期間が開始したときに、発話指示を送信すればよい。
本実施の形態においては、発話条件および優先度が発話指示に含まれているが、発話条件および優先度の少なくともいずれかが音声データ取得指示に含まれるものであってもよい。
ただし、音声データ取得指示データベース121と発話指示データベース122とは、アダプタIDの代わりに機器IDを記憶してもよい。この場合は、音声サーバ100は、機器IDと、機器IDに対応する機器200にデータを送信するためのアダプタ300の識別情報またはアドレスと、の対応関係を記憶しておく必要がある。
図2に戻って、ライト130は、プロセッサ110からの信号によって点灯・点滅・消灯することによって、サーバ100の各種の状態を外部に伝える。
スイッチ140は、管理者からの命令を受け付けて、当該命令をプロセッサ110に入力する。
通信インターフェイス160は、プロセッサ110からのデータを、インターネット、キャリア網、ルータなどを介してアダプタ300、制御サーバ500、端末600に送信する。通信インターフェイス160は、インターネット、キャリア網、ルータなどを介してアダプタ300、制御サーバ500、端末600からのデータを受信して、プロセッサ110に受け渡す。
<機器200のハードウェア構成>
次に、機器200のハードウェア構成の一態様について説明する。図5は、本実施の形態にかかる機器200のハードウェア構成を表わすブロック図である。
図5を参照して、機器200は、主たる構成要素として、プロセッサ210と、メモリ220と、各種ライト230と、各種スイッチ240と、通信インターフェイス260と、スピーカ280と、機器駆動部290とを含む。
プロセッサ210は、メモリ220あるいは外部の記憶媒体に記憶されているプログラムを実行することによって、機器200の各部を制御する。すなわち、プロセッサ210は、メモリ220に格納されているプログラムを実行することによって、後述する各種の処理を実行する。
メモリ220は、各種のRAM、各種のROM、フラッシュメモリーなどによって実現される。メモリ220は、プロセッサ210によって実行されるプログラムや、プロセッサ210によるプログラムの実行により生成されたデータ、入力されたデータ、サーバ100から受信したデータなどを記憶する。
ライト230は、プロセッサ210からの信号によって点灯・点滅・消灯することによって、機器200の各種の状態を外部に伝える。
スイッチ240は、ユーザからの命令を受け付けて、当該命令をプロセッサ210に入力する。
通信インターフェイス260は、プロセッサ210からのデータ、たとえば、機器が検知した各種の状態および機器がユーザからリモコンを介して受け付けた命令など、をアダプタ300に送信する。換言すれば、通信インターフェイス160は、上記データをアダプタ300、ルータ400、インターネットなどを介して音声サーバ100および制御サーバ500に送信する。通信インターフェイス260は、インターネット、ルータ400、アダプタ300などを介して音声サーバ100からのデータ、制御サーバ500からのデータ、端末600からの制御命令、音声データ、発話命令および閲覧命令を受信してプロセッサ210に受け渡す。
スピーカ280は、プロセッサ210からの音声信号に基づいて音声、音楽などの様々な音声を出力する。
機器駆動部290は、プロセッサ210からの制御命令に基づいて、モータ、アクチュエータ、センサなどを制御することによって、機器200の主要な役割を果たす。
<アダプタ300のハードウェア構成>
次に、アダプタ300のハードウェア構成の一態様について説明する。図6は、本実施の形態にかかるアダプタ300のハードウェア構成を表わすブロック図である。
図6を参照して、アダプタ300は、主たる構成要素として、プロセッサ310と、メモリ320と、各種ライト330と、各種スイッチ340と、第1の通信インターフェイス361と、第2の通信インターフェイス362とを含む。
プロセッサ310は、メモリ320あるいは外部の記憶媒体に記憶されているプログラムを実行することによって、アダプタ300の各部を制御する。すなわち、プロセッサ310は、メモリ320に格納されているプログラムを実行することによって、後述する各種の処理を実行する。
メモリ320は、各種のRAM、各種のROM、フラッシュメモリーなどによって実現される。メモリ320は、プロセッサ310によって実行されるプログラムや、プロセッサ310によるプログラムの実行により生成されたデータ、入力されたデータ、音声サーバ100および制御サーバ500から受信したデータなどを記憶する。なお、メモリ320は、音声データベース321と、発話指示データ322とを記憶する。
ここで、図7は、本実施の形態にかかる音声データベース321のデータ構造を示すイメージ図である。図7を参照して、音声データベース321は、音声データ毎に、音声IDと音声データとの対応関係を格納する。ただし、音声データベース321は、音声データそのものの代わりに、音声データの格納先を示す音声データのアドレスを格納してもよい。
なお、音声データベース321と、音声データそのものとは、機器200に格納されてもよい。さらに、発話指示データ322も機器200に格納されてもよい。この場合は、機器200のプロセッサ210が、アダプタ300を介して、音声サーバ100からの指示に基づいて、それらのデータを上書きしたり、削除したりしてもよい。
本実施の形態においては、音声IDを音声データに付与する際のルールとして、たとえば、音声IDの前の3ケタが対象となる機器の種類を特定し、音声IDの次の3ケタが機器の設置場所や地域を特定し、音声IDの後ろからの2ケタ目が音声データの種類を特定する。たとえば、下2ケタ目が「5」は天気に関するメッセージである。下2ケタ目が「7」の場合は、食べ物に関するメッセージである。下2ケタ目が「9」の場合はエラーを示すメッセージである。
ここで、図8は、本実施の形態にかかる発話指示データ322のデータ構造を示すイメージ図である。図8を参照して、発話指示データ322は、音声サーバ100から受信した発話指示データの一部である。すなわち、発話指示データ322は、発話指示IDと音声IDと発話条件と優先度と開始日と終了日と開始時刻と終了時刻とを含む。
図6に戻って、ライト330は、プロセッサ310からの信号によって点灯・点滅・消灯することによって、アダプタ300の各種の状態を外部に伝える。
スイッチ340は、ユーザからの命令を受け付けて、当該命令をプロセッサ310に入力する。
第1の通信インターフェイス361は、UARTなどによって実現されて、プロセッサ310からのデータを機器200に送信したり、機器200からのデータをプロセッサ310に受け渡したりする。たとえば、プロセッサ310は、発話指示に基づいて、第1の通信インターフェイス361を介して、音声データを機器200に送信することによって、機器200に音声を出力させる。
ただし、プロセッサ310は発話指示を機器200に送信するだけであってもよい。この場合は、機器200のプロセッサ210が、発話指示に基づいて、メモリ220に格納されている音声データをスピーカ280に出力する。
第2の通信インターフェイス362は、WiFi(登録商標)アンテナなどによって実現されて、プロセッサ310からのデータをルータ400およびインターネットを介して音声サーバ100または制御サーバ500に送信したり、音声サーバ100または制御サーバ500からのデータのプロセッサ110に受け渡したりする。たとえば、プロセッサ310は、第2の通信インターフェイス362を介して、音声サーバ100から音声データ取得指示や発話指示や音声データ自体を受信する。プロセッサ310は、第2の通信インターフェイス362を介して、音声サーバ100に音声データの取得が完了した旨の通知や発話が完了した旨の通知を送信する。
<制御サーバ500のハードウェア構成>
次に、ネットワークシステム1を構成する制御サーバ500のハードウェア構成の一態様について説明する。なお、図9は、本実施の形態にかかる制御サーバ500のハードウェア構成を表わすブロック図である。
図9を参照して、制御サーバ500は、主たる構成要素として、プロセッサ510と、メモリ520と、各種ライト530と、各種スイッチ540と、通信インターフェイス560とを含む。
プロセッサ510は、メモリ520あるいは外部の記憶媒体に記憶されているプログラムを実行することによって、制御サーバ500の各部を制御する。すなわち、プロセッサ510は、メモリ520に格納されているプログラムを実行することによって、後述する各種の処理を実行する。
メモリ520の具体例は、音声サーバ100と同様であるため、ここでは説明を繰り返さない。メモリ520は、プロセッサ510によって実行されるプログラムや、プロセッサ510によるプログラムの実行により生成されたデータ、入力されたデータ、機器200、アダプタ300、音声サーバ100、端末600から受信したデータを記憶する。なお、メモリ520は、図1に示すデータベース501を記憶してもよい。本実施の形態においては、データベース501は、機器がどのグループ、たとえば、家族、部屋、現在位置、住所、あるいはユーザの属性、に属するかを示すグループデータベース521を含む。
ここで、図10は、本実施の形態にかかるグループデータベース521のデータ構造を示すイメージ図である。図10を参照して、本実施の形態にかかるグループデータベース521は、アダプタIDと、グループIDとしての家族ID、およびグループIDとしての部屋IDと、の対応関係を格納する。なお、ここではアダプタIDは、アダプタ300を特定するためのIDも端末600と特定するためのIDも含まれる。
プロセッサ510は、通信インターフェイス560を介して、音声サーバ100からの機器IDを含む指示に基づいて、機器IDの機器200が属するグループのIDや当該グループに属する他の機器のIDなどを返答する。さらに、プロセッサ510は、通信インターフェイス560を介して、機器200の状態を示す情報を受信したり、当該情報を端末600に送信したりする。逆に、プロセッサ510は、通信インターフェイス560を介して、端末600から機器200に対する制御命令を受信したり、当該制御命令を機器200に送信したりする。
図9に戻って、ライト530は、プロセッサ510からの信号によって点灯・点滅・消灯することによって、制御サーバ500の各種の状態を外部に伝える。
スイッチ540は、管理者からの命令を受け付けて、当該命令をプロセッサ510に入力する。
通信インターフェイス560は、プロセッサ510からのデータを、インターネット、キャリア網、ルータ400などを介してアダプタ300、音声サーバ100、端末600に送信する。通信インターフェイス560は、インターネット、キャリア網、ルータ400などを介してアダプタ300、音声サーバ100、端末600からのデータを受信して、プロセッサ510に受け渡す。
<端末600のハードウェア構成>
次に、端末600のハードウェア構成の一態様について説明する。なお、図11は、本実施の形態にかかる端末600のハードウェア構成を表わすブロック図である。
図11を参照して、端末600は、主たる構成要素として、プロセッサ610と、メモリ620と、タッチパネル650(ディスプレイ630とポインティングデバイス640)と、通信インターフェイス660と、スピーカ680とを含む。
プロセッサ610は、メモリ620あるいは外部の記憶媒体に記憶されているプログラムを実行することによって、端末600の各部を制御する。すなわち、プロセッサ610は、メモリ620に格納されているプログラムを実行することによって、後述する各種の処理を実行する。
メモリ620は、各種のRAM、各種のROM、フラッシュメモリーなどによって実現される。なお、メモリ620は、様々なインターフェイスを介して利用される、SDカードやマイクロSDカードのようなメモリカード、USB(登録商標)メモリ、CD、DVD、ハードディスク、ICカード、光カード、マスクROM、EPROM、EEPROMなどの記憶媒体などによっても実現される。
メモリ620は、プロセッサ610によって実行されるプログラムや、プロセッサ610によるプログラムの実行により生成されたデータ、ポインティングデバイス640を介して入力されたデータ、音声サーバ100および制御サーバ500から受信したデータなどを記憶する。特に、本実施の形態においては、メモリ620は、機器制御アプリケーションを記憶している。プロセッサ610は、メモリ620の機器制御アプリケーションに従って、機器200の制御命令を制御サーバ500に送信したり、機器200に音声を出力させるための発話命令を音声サーバ100に送信したり、機器200からの情報を受信したりする。
ディスプレイ630は、プロセッサ610からの信号に基づいて、文字や画像を出力する。ポインティングデバイス640は、ユーザからの命令を受け付けて、当該命令をプロセッサ610に入力する。なお、本実施の形態においては、端末600は、ディスプレイ630とポインティングデバイス640とが組み合わされたタッチパネル650を有する。プロセッサ610は、ディスプレイ630に、機器200を制御するための画面やSNSの家族のページなどを表示させる。
通信インターフェイス660は、アンテナやコネクタによって実現される。通信インターフェイス660は、有線通信あるいは無線通信によって他の装置との間でデータをやり取りする。プロセッサ610は、通信インターフェイス660を介して、テキストデータ、画像データなどを、音声サーバ100および制御サーバ500などの他の装置に送信する。たとえば、プロセッサ610は、機器200に対する制御命令を音声サーバ100および制御サーバ500に送信する。また、プロセッサ610は、通信インターフェイス660を介して、プログラム、制御命令、画像データ、テキストデータなどを、音声サーバ100および制御サーバ500などの他の装置から受信する。
スピーカ680は、プロセッサ610からの音声信号に基づいて通話音声、音楽、動画などの様々な音声を出力する。
<ネットワークシステム1における情報処理>
次に、図12を参照しながら、本実施の形態にかかるネットワークシステム1の情報処理について説明する。なお、図12は、本実施の形態にかかるネットワークシステム1の情報処理を示すシーケンス図である。
まず、はじめに、音声サーバ100のプロセッサ110が、冷蔵庫200Aやエアコン200Bで出力するための音声データを受け付ける(ステップS102)。プロセッサ110は、受け付けた音声データに基づいて、音声データ取得指示データベース121に、音声データ取得指示を追加する。
音声サーバ100のプロセッサ110は、音声データ取得指示データベース121を参照して、通信インターフェイス160を介して、冷蔵庫200Aのアダプタ300Aに音声データ取得指示を送信する(ステップS112)。このとき、プロセッサ110は、音声データ取得指示データベース121の、当該音声データ取得指示に対応する送信フラグをONにする。
アダプタ300Aのプロセッサ310は、第2の通信インターフェイス362を介して、音声データ取得指示に基づいて音声データの格納先に音声データを要求する(ステップS114)。アダプタ300Aのプロセッサ310は、第2の通信インターフェイス362を介して、音声データを音声サーバ100からダウンロードする(ステップS116)。ただし、音声データの格納場所は、音声サーバ100以外の通信装置のメモリであってもよい。アダプタ300Aのプロセッサ310は、第2の通信インターフェイス362を介して、音声サーバ100に音声データのダウンロードが完了した旨を通知する(ステップS118)。
音声サーバ100のプロセッサ110は、当該通知に応じて、音声データ取得指示データベース121の、音声データ取得指示に対応する完了フラグをONにする。
同様に、音声データ取得指示データベース121を参照して、音声サーバ100のプロセッサ110は、通信インターフェイス160を介して、エアコン200Bのアダプタ300Bに音声データ取得指示を送信する(ステップS122)。このとき、プロセッサ110は、音声データ取得指示データベース121の、当該音声データ取得指示に対応する送信フラグをONにする。
アダプタ300Bのプロセッサ310は、第2の通信インターフェイス362を介して、音声データ取得指示に基づいて音声データの格納先に音声データを要求する(ステップS124)。アダプタ300Bのプロセッサ310は、第2の通信インターフェイス362を介して、音声データをダウンロードする(ステップS126)。アダプタ300Bのプロセッサ310は、第2の通信インターフェイス362を介して、音声サーバ100に音声データのダウンロードが完了した旨を通知する(ステップS128)。
音声サーバ100のプロセッサ110は、当該通知に応じて、音声データ取得指示データベース121の、音声データ取得指示に対応する完了フラグをONにする。
次に、音声サーバ100のプロセッサ110が、冷蔵庫200Aに音声を出力させるための発話命令を受け付ける(ステップS130)。プロセッサ110は、受け付けた発話命令に基づいて、発話指示データベース122の最後に、発話指示のレコードを追加する。
発話指示データベース122を参照して、音声サーバ100のプロセッサ110は、通信インターフェイス160を介して、冷蔵庫200Aのアダプタ300Aに発話指示を送信する(ステップS132)。このとき、プロセッサ110は、発話指示データベース122の、当該発話指示に対応する送信フラグをONにする。
アダプタ300Aのプロセッサ310は、第2の通信インターフェイス362を介して、発話指示を受信する。プロセッサ310は、現在時刻や気温やユーザ操作が発話指示の条件を満たすか否かを判断する。プロセッサ310は、条件が満たされている場合に、第1の通信インターフェイス361を介して、音声データを冷蔵庫200Aに送信することによって、冷蔵庫200Aに音声を出力させる(ステップS134)。
このとき並行して、たとえば、音声サーバ100のプロセッサ110は、冷蔵庫200Aに音声を出力させるための新たな発話命令を受け付けることができる(ステップS140)。プロセッサ110は、受け付けた発話命令に基づいて、発話指示データベース122に、新たな発話指示のレコードを追加する。
プロセッサ310は、第2の通信インターフェイス362を介して、音声サーバ100に発話完了通知を送信する(ステップS136)。
音声サーバ100のプロセッサ110は、発話完了通知を受け取ると、発話指示データベース122の、当該発話指示に対応する完了フラグをONにする。プロセッサ110は、発話指示データベース122を参照して、冷蔵庫200Aに対応する次の発話指示を読み出す。
音声サーバ100のプロセッサ110は、通信インターフェイス160を介して、冷蔵庫200Aのアダプタ300Aに次の発話指示を送信する(ステップS142)。このとき、プロセッサ110は、発話指示データベース122の、当該発話指示に対応する送信フラグをONにする。
このとき並行して、たとえば、音声サーバ100のプロセッサ110が、冷蔵庫200Aに音声を出力させるための新たな発話命令を受け付ける(ステップS150)。すなわち、プロセッサ110は、受け付けた発話命令に基づいて、発話指示データベース122に、新たな発話指示のレコードを追加する。
アダプタ300Aのプロセッサ310は、第2の通信インターフェイス362を介して、発話指示を受信する。本実施の形態においては、アダプタ300が音声サーバ100から発話指示を受け付けると、先の発話指示が上書きされる、すなわち先の発話指示が削除される。プロセッサ310は、現在時刻や気温やユーザ操作が発話指示の条件を満たすか否かを判断する。プロセッサ310は、条件が満たされないまま、発話指示の有効期限が切れた場合(ステップS144)、第2の通信インターフェイス362を介して、音声サーバ100に有効期限が切れた旨の通知を送信する(ステップS146)。
音声サーバ100のプロセッサ110は、有効期限切れの通知を受け取ると、通信インターフェイス160を介して、冷蔵庫200Aに送信済みの発話指示をキャンセルするための通知を送信する(ステップS148)。そして、音声サーバ100のプロセッサ110は、発話完了通知を受け取ると、発話指示データベース122の、当該発話指示に対応する完了フラグをONにする。プロセッサ110は、発話指示データベース122を参照して、冷蔵庫200Aに対応する次の発話指示を読み出す。音声サーバ100のプロセッサ110は、通信インターフェイス160を介して、冷蔵庫200Aのアダプタ300Aに次の発話指示を送信する(ステップS152)。このとき、プロセッサ110は、発話指示データベース122の、当該発話指示に対応する送信フラグをONにする。
アダプタ300Aのプロセッサ310は、第2の通信インターフェイス362を介して、発話指示を受信する。プロセッサ310は、現在時刻や気温やユーザ操作が発話指示の条件を満たすか否かを判断する。プロセッサ310は、条件が満たされている場合に、第1の通信インターフェイス361を介して、音声データを冷蔵庫200Aに送信することによって、冷蔵庫200Aに音声を出力させる(ステップS154)。プロセッサ310は、第2の通信インターフェイス362を介して、音声サーバ100に発話完了通知を送信する(ステップS156)。
音声サーバ100のプロセッサ110は、発話完了通知を受け取ると、発話指示データベース122の、当該発話指示に対応する完了フラグをONにする。プロセッサ110は、発話指示データベース122を参照して、冷蔵庫200Aに対応する次の発話指示を読み出す。
同様に、エアコン200Bに関しても、音声サーバ100のプロセッサ110が、エアコン200Bに音声を出力させるための発話命令を受け付ける(ステップS160)。すなわち、プロセッサ110は、受け付けた発話命令に基づいて、発話指示データベース122に、発話指示を追加する。
さらに、音声サーバ100のプロセッサ110が、エアコン200Bに音声を出力させるための次の発話命令も受け付ける(ステップS170)。すなわち、プロセッサ110は、受け付けた発話命令に基づいて、発話指示データベース122に、次の発話指示も追加する。
発話指示データベース122を参照して、音声サーバ100のプロセッサ110は、通信インターフェイス160を介して、エアコン200Bのアダプタ300Bに発話指示を送信する(ステップS162)。このとき、プロセッサ110は、発話指示データベース122の、当該発話指示に対応する送信フラグをONにする。
アダプタ300Bのプロセッサ310は、第2の通信インターフェイス362を介して、発話指示を受信する。プロセッサ310は、現在時刻や気温やユーザ操作が発話指示の条件を満たすか否かを判断する。プロセッサ310は、条件が満たされている場合に、第1の通信インターフェイス361を介して、音声データをエアコン200Bに送信することによって、エアコン200Bに音声を出力させる(ステップS164)。プロセッサ310は、第2の通信インターフェイス362を介して、音声サーバ100に発話完了通知を送信する(ステップS166)。
音声サーバ100のプロセッサ110は、発話完了通知を受け取ると、発話指示データベース122の、当該発話指示に対応する完了フラグをONにする。プロセッサ110は、発話指示データベース122を参照して、エアコン200Bに対応する次の発話指示を読み出す。
音声サーバ100のプロセッサ110は、通信インターフェイス160を介して、エアコン200Bのアダプタ300Bに次の発話指示を送信する(ステップS172)。このとき、プロセッサ110は、発話指示データベース122の、当該発話指示に対応する送信フラグをONにする。
アダプタ300Bのプロセッサ310は、第2の通信インターフェイス362を介して、発話指示を受信する。プロセッサ310は、現在時刻や気温やユーザ操作が発話指示の条件を満たすか否かを判断する。プロセッサ310は、条件が満たされないまま、発話指示の有効期限が切れた場合(ステップS174)、第2の通信インターフェイス362を介して、音声サーバ100に有効期限が切れた旨の通知を送信する(ステップS176)。
音声サーバ100のプロセッサ110は、有効期限切れの通知を受け取ると、通信インターフェイス160を介して、エアコン200Bに送信済みの発話指示をキャンセルするための通知を送信する(ステップS178)。そして、音声サーバ100のプロセッサ110は、発話指示データベース122の、当該発話指示に対応する完了フラグをONにする。プロセッサ110は、発話指示データベース122を参照して、エアコン200Bに対応する次の発話指示を読み出す。以下、上記と同様の処理が繰り返される。
なお、音声サーバ100のプロセッサ110は、機器200に出力させる音声データを、制御サーバ500を介して、端末600にも送信しても良い。たとえば、制御サーバ500は、音声のテキストデータまたは音声データを端末600に送信する。これによって、端末600は、メッセージを表示したり、音声を出力したりする。制御サーバ500は、メッセージを端末600が属するグループのSNSのページに投稿しても良い。
ただし、音声サーバ100のプロセッサ110は、機器200のエラーに関する情報のみ、機器200と端末600とに出力させるものであっても良い。
<サーバ100における情報処理>
次に、本実施の形態にかかるサーバ100における情報処理について、フローチャートを参照しながら説明する。
まず、図13を参照しながら、音声サーバ100のプロセッサ110が、新たな音声データをアダプタ300または機器200にダウンロードさせるための命令を受け付けた場合について、以下に説明する。なお、図13は、本実施の形態にかかる新たな音声データをアダプタにダウンロードさせるためのサーバ100の処理を示すフローチャートである。
プロセッサ110は、音声データ取得指示データベース121に今回新たに受け付けた音声データ取得指示を登録する(ステップS1102)。プロセッサ110は、音声データ取得指示データベース121の音声データ取得指示の中から、今回新たに受け付けた音声データ取得指示のアダプタIDを含む音声データ取得指示を全て抽出する(ステップS1104)。
プロセッサ110は、抽出した音声データ取得指示の中に、完了フラグが「ON」になっていない指示があるか否かを判断する(ステップS1106)。抽出した音声データ取得指示の中に、完了フラグが「ON」になっていない指示がある場合(ステップS1106にてYESである場合)、プロセッサ110は本処理を終了する。
抽出した音声データ取得指示の中に、完了フラグが「ON」になっていない指示がない場合(ステップS1106にてNOである場合)、プロセッサ110は、通信インターフェイス160を介して、今回新たに受け付けた音声データ取得指示をアダプタ300に送信する(ステップS1108)。このとき、プロセッサ110は、音声データ取得指示データベース121の、今回送信した音声データ取得指示の送信フラグを「ON」にする。プロセッサ110は本処理を終了する。
次に、図14を参照しながら、音声サーバ100のプロセッサ110が、いずれかのアダプタ300から音声データ取得処理が完了した旨の通知を受け付けた場合について、以下に説明する。なお、図14は、本実施の形態にかかる音声データのダウンロードが完了した旨の通知を受けたときのサーバ100の処理を示すフローチャートである。
プロセッサ110は、音声データ取得指示データベース121の、今回受信した通知に対応する音声データ取得指示の完了フラグをONにする(ステップS1202)。プロセッサ110は、音声データ取得指示データベース121の音声データ取得指示の中から、今回受信した通知に対応する音声データ取得指示の機器IDを含む音声データ取得指示を抽出する(ステップS1204)。
プロセッサ110は、抽出した音声データ取得指示の中に、送信フラグが「ON」になっていない音声データ取得指示があるか否かを判断する(ステップS1206)。抽出した音声データ取得指示の中に、送信フラグが「ON」になっていない音声データ取得指示がある場合(ステップS1106にてYESである場合)、通信インターフェイス160を介して当該音声データ取得指示を当該アダプタ300に送信する(ステップS1208)。このとき、プロセッサ110は、音声データ取得指示データベース121の、今回送信した音声データ取得指示の送信フラグを「ON」にする。プロセッサ110は本処理を終了する。
抽出した音声データ取得指示の中に、送信フラグが「ON」になっていない指示がない場合(ステップS1206にてNOである場合)、プロセッサ110は本処理を終了する。
次に、図15を参照しながら、音声サーバ100のプロセッサ110が、新たな発話指示をアダプタ300または機器200に送信させるための情報を受け付けた場合について、以下に説明する。なお、図15は、本実施の形態にかかる新たな発話命令を受け付けたときのサーバ100の処理を示すフローチャートである。
プロセッサ110は、発話指示データベース122に今回新たに受け付けた発話指示を登録する(ステップS1302)。プロセッサ110は、発話指示データベース122の発話指示の中から、今回新たに受け付けた発話指示の機器IDを含む発話指示を抽出する(ステップS1304)。
プロセッサ110は、抽出した発話指示の中に、送信フラグが「ON」になっており、かつ、完了フラグが「ON」になっていない指示があるか否かを判断する(ステップS1306)。抽出した発話指示の中に、完了フラグが「ON」になっていない指示がある場合(ステップS1306にてYESである場合)、プロセッサ110は本処理を終了する。
抽出した発話指示の中に、送信フラグが「ON」になっており、かつ、完了フラグが「ON」になっていない指示がない場合(ステップS1306にてNOである場合)、プロセッサ110は、通信インターフェイス160を介して、今回新たに受け付けた発話指示をアダプタ300に送信する(ステップS1308)。このとき、プロセッサ110は、発話指示データベース122の、今回送信した発話指示の送信フラグを「ON」にする。プロセッサ110は本処理を終了する。
次に、図16を参照しながら、音声サーバ100のプロセッサ110が、いずれかのアダプタ300から発話処理が完了した旨の通知あるいは有効期間内に指定された条件が満たされなかった旨の通知を受け付けた場合について、以下に説明する。
プロセッサ110は、発話指示データベース122の、今回受信した通知に対応する発話指示の完了フラグを「ON」にする(ステップS1402)。プロセッサ110は、発話指示データベース122の発話指示の中から、今回受信した通知に対応する発話指示の機器IDを含む発話指示を抽出する(ステップS1404)。
プロセッサ110は、抽出した発話指示の中に、送信フラグが「ON」になっていない発話指示があるか否かを判断する(ステップS1406)。抽出した発話指示の中に、送信フラグが「ON」になっていない発話指示がある場合(ステップS1406にてYESである場合)、通信インターフェイス160を介して当該発話指示を当該アダプタ300に送信する(ステップS1408)。このとき、プロセッサ110は、発話指示データベース122の、今回送信した発話指示の送信フラグを「ON」にする。プロセッサ110は本処理を終了する。
抽出した発話指示の中に、送信フラグが「ON」になっていない指示がない場合(ステップS1406にてNOである場合)、プロセッサ110は本処理を終了する。
<第2の実施の形態>
第1の実施の形態においては、音声サーバ100が、アダプタ300毎に別々に発話指示を送信するものであった。本実施の形態においては、音声サーバ100は、同じグループに属する複数のアダプタ300に同じ発話指示を送信しながら、当該複数の機器200の発話に関する調停を行うものである。
なお、以下では、本実施の形態にかかる発話指示データベースと、ネットワークシステム1の情報処理と、サーバ100における情報処理と、について説明するものとし、ネットワークシステム1の全体構成および各装置のハードウェア構成などについては、第1の実施の形態にかかるそれらと同様であるため説明を繰り返さない。
図17は、本実施の形態にかかる発話指示データベース123のデータ構造を示すイメージ図である。図17を参照して、発話指示データベース123は、発話指示毎に、発話指示IDとグループIDと音声IDと発話条件と優先度と開始日と終了日と開始時刻と終了時刻と送信フラグと完了フラグとの対応関係を格納する。すなわち、本実施の形態にかかる発話指示データベース122は、対応関係の中にグループIDを含む点において、第1の実施の形態と異なる。なお、それぞれのデータの定義は、第1の実施の形態のそれらと同様であるため、個々では説明を繰り返さない。
<ネットワークシステム1における情報処理>
次に、図18を参照しながら、本実施の形態にかかるネットワークシステム1の情報処理について説明する。なお、図18は、本実施の形態にかかるネットワークシステム1の情報処理を示すシーケンス図である。また、ステップS212〜ステップS228の処理は、第1の実施の形態の図12におけるステップS112〜ステップS128の処理と同様であるため、ここでは説明を繰り返さない。
まず、音声サーバ100のプロセッサ110が、グループに属するアダプタ300、たとえば冷蔵庫200Aのアダプタ300Aとエアコン200Bのアダプタ300B、に音声を出力させるための発話命令を受け付ける(ステップS230)。本実施の形態においては、プロセッサ110は、複数種類の発話命令を受け付けた場合について説明する。プロセッサ110は、受け付けた発話命令に基づいて、発話指示データベース123に、複数の発話指示を追加する(ステップS231)。
発話指示データベース123を参照して、音声サーバ100のプロセッサ110は、通信インターフェイス160を介して、冷蔵庫200Aのアダプタ300Aに発話指示を送信する(ステップS232)。同様に、発話指示データベース123を参照して、音声サーバ100のプロセッサ110は、通信インターフェイス160を介して、エアコン200Bのアダプタ300Bに発話指示を送信する(ステップS233)。このとき、プロセッサ110は、発話指示データベース123の、当該発話指示に対応する送信フラグをONにする。
アダプタ300Aのプロセッサ310は、第2の通信インターフェイス362を介して、発話指示を受信する。プロセッサ310は、現在時刻や気温やユーザ操作が発話指示の条件を満たすか否かを判断する。同様に、アダプタ300Bのプロセッサ310も、第2の通信インターフェイス362を介して、発話指示を受信する。プロセッサ310は、現在時刻や気温やユーザ操作が発話指示の条件を満たすか否かを判断する。
アダプタ300Aのプロセッサ310は、条件が満たされている場合に、第1の通信インターフェイス361を介して、音声データを冷蔵庫200Aに送信することによって、冷蔵庫200Aに音声を出力させる(ステップS234)。プロセッサ310は、第2の通信インターフェイス362を介して、音声サーバ100に発話完了通知を送信する(ステップS236)。
音声サーバ100のプロセッサ110は、発話完了通知を受け取ると、発話指示データベース123の、当該発話指示に対応する完了フラグをONにする。プロセッサ110は、発話指示データベース123を参照して、当該グループに対応する次の発話指示を読み出す。
音声サーバ100のプロセッサ110は、通信インターフェイス160を介して、冷蔵庫200Aのアダプタ300Aに次の発話指示を送信する(ステップS242)。同様に、音声サーバ100のプロセッサ110は、通信インターフェイス160を介して、エアコン200Bのアダプタ300Bに次の発話指示を送信する(ステップS243)。このとき、プロセッサ110は、発話指示データベース123の、当該発話指示に対応する送信フラグをONにする。
アダプタ300Aのプロセッサ310は、第2の通信インターフェイス362を介して、発話指示を受信する。本実施の形態においても、アダプタ300が音声サーバ100から発話指示を受け付けると、先の発話指示が上書きされる、すなわち先の発話指示が削除される。プロセッサ310は、現在時刻や気温やユーザ操作が発話指示の条件を満たすか否かを判断する。同様に、アダプタ300Bのプロセッサ310は、第2の通信インターフェイス362を介して、発話指示を受信する。プロセッサ310は、現在時刻や気温やユーザ操作が発話指示の条件を満たすか否かを判断する。
アダプタ300Bのプロセッサ310は、条件が満たされている場合に、第1の通信インターフェイス361を介して、音声データをエアコン200Bに送信することによって、エアコン200Bに音声を出力させる(ステップS244)。プロセッサ310は、第2の通信インターフェイス362を介して、音声サーバ100に発話完了通知を送信する(ステップS246)。
音声サーバ100のプロセッサ110は、発話完了通知を受け取ると、発話指示データベース123の、当該発話指示に対応する完了フラグをONにする。プロセッサ110は、発話指示データベース123を参照して、当該グループに対応する次の発話指示を読み出す。
音声サーバ100のプロセッサ110は、通信インターフェイス160を介して、冷蔵庫200Aのアダプタ300Aに次の発話指示を送信する(ステップS252)。同様に、音声サーバ100のプロセッサ110は、通信インターフェイス160を介して、エアコン200Bのアダプタ300Bに次の発話指示を送信する(ステップS253)。このとき、プロセッサ110は、発話指示データベース123の、当該発話指示に対応する送信フラグをONにする。
アダプタ300Aのプロセッサ310は、第2の通信インターフェイス362を介して、発話指示を受信する。プロセッサ310は、現在時刻や気温やユーザ操作が発話指示の条件を満たすか否かを判断する。同様に、アダプタ300Bのプロセッサ310は、第2の通信インターフェイス362を介して、発話指示を受信する。プロセッサ310は、現在時刻や気温やユーザ操作が発話指示の条件を満たすか否かを判断する。
アダプタ300Aのプロセッサ310は、条件が満たされないまま、発話指示の有効期限が切れた場合(ステップS254)、第2の通信インターフェイス362を介して、音声サーバ100に有効期限が切れた旨の通知を送信する(ステップS256)。同様に、アダプタ300Bのプロセッサ310は、条件が満たされないまま、発話指示の有効期限が切れた場合(ステップS255)、第2の通信インターフェイス362を介して、音声サーバ100に有効期限が切れた旨の通知を送信する(ステップS257)。
音声サーバ100のプロセッサ110は、グループに属する全てのアダプタ300から有効期限切れの通知を受け取ると、通信インターフェイス160を介して、グループに属する全てのアダプタ300に送信済みの発話指示をキャンセルするための通知を送信する(ステップS258,ステップS259)。そして、音声サーバ100のプロセッサ110は、発話指示データベース123の、当該発話指示に対応する完了フラグをONにする。
音声サーバ100のプロセッサ110は、発話指示データベース123を参照して、当該グループに対応する次の発話指示を読み出す。そしてまた、音声サーバ100のプロセッサ110は、通信インターフェイス160を介して、冷蔵庫200Aのアダプタ300Aに次の発話指示を送信する(ステップS262)。同様に、音声サーバ100のプロセッサ110は、通信インターフェイス160を介して、エアコン200Bのアダプタ300Bに次の発話指示を送信する(ステップS263)。このとき、プロセッサ110は、発話指示データベース123の、当該発話指示に対応する送信フラグをONにする。以下、上記と同様の処理が繰り返される。
なお、音声サーバ100のプロセッサ110は、機器200に出力させる音声データを、制御サーバ500を介して、端末600にも送信しても良い。たとえば、制御サーバ500は、音声のテキストデータまたは音声データを端末600に送信する。これによって、端末600は、メッセージを表示したり、音声を出力したりする。制御サーバ500は、メッセージを端末600が属するグループのSNSのページに投稿しても良い。
ただし、音声サーバ100のプロセッサ110は、機器200のエラーに関する情報のみ、機器200と端末600とに出力させるものであっても良い。
<サーバ100における情報処理>
次に、本実施の形態にかかるサーバ100における情報処理について、フローチャートを参照しながら説明する。ただし、音声サーバ100が新たな音声データをアダプタ300にダウンロードさせるための命令を受け付けた場合の処理と、音声サーバ100がいずれかのアダプタ300から音声データ取得処理が完了した旨の通知を受け付けた場合についての処理とは、第1の実施の形態のそれらと同様であるため、ここでは説明を繰り返さない。
以下では、図19を参照しながら、音声サーバ100のプロセッサ110が、新たな発話指示をアダプタ300または機器200に送信させるための情報を受け付けた場合について説明する。なお、図19は、本実施の形態にかかる新たな発話命令を受け付けたときのサーバ100の処理を示すフローチャートである。
プロセッサ110は、発話指示データベース122に今回新たに受け付けた発話指示を登録する(ステップS2302)。プロセッサ110は、発話指示データベース122の発話指示の中から、今回新たに受け付けた発話指示のグループIDを含む発話指示を抽出する(ステップS2304)。
プロセッサ110は、抽出した発話指示の中に、送信フラグが「ON」になっており、かつ、完了フラグが「ON」になっていない指示があるか否かを判断する(ステップS2306)。抽出した発話指示の中に、完了フラグが「ON」になっていない指示がある場合(ステップS2306にてYESである場合)、プロセッサ110は本処理を終了する。
抽出した発話指示の中に、送信フラグが「ON」になっており、かつ、完了フラグが「ON」になっていない指示がない場合(ステップS2306にてNOである場合)、プロセッサ110は、通信インターフェイス160を介して、今回新たに受け付けた発話指示をグループに属する全てのアダプタ300に送信する(ステップS2308)。このとき、プロセッサ110は、発話指示データベース122の、今回送信した発話指示の送信フラグを「ON」にする。プロセッサ110は本処理を終了する。
次に、図20を参照しながら、音声サーバ100のプロセッサ110が、いずれかのアダプタ300から発話処理が完了した旨の通知あるいは有効期間内に指定された条件が満たされなかった旨の通知を受け付けた場合について、以下に説明する。なお、図20は、本実施の形態にかかる発話が完了した旨の通知を受けたときのサーバ100の処理を示すフローチャートである。
プロセッサ110は、発話指示データベース123の、今回受信した通知に対応する発話指示の完了フラグを「ON」にする(ステップS2402)。プロセッサ110は、発話指示データベース123の発話指示の中から、今回受信した通知に対応する発話指示のグループIDを含む発話指示を抽出する(ステップS2404)。
プロセッサ110は、抽出した発話指示の中に、送信フラグが「ON」になっていない発話指示があるか否かを判断する(ステップS2406)。抽出した発話指示の中に、送信フラグが「ON」になっていない発話指示がある場合(ステップS2406にてYESである場合)、通信インターフェイス160を介して当該発話指示を当該グループに属する全てのアダプタ300に送信する(ステップS2408)。このとき、プロセッサ110は、発話指示データベース123の、今回送信した発話指示の送信フラグを「ON」にする。プロセッサ110は本処理を終了する。
抽出した発話指示の中に、送信フラグが「ON」になっていない指示がない場合(ステップS2406にてNOである場合)、プロセッサ110は、通信インターフェイス160を介して、当該発話指示を削除するためのキャンセル通知を当該グループに属する全てのアダプタ300に送信する。プロセッサ110は本処理を終了する。
このように、本実施の形態においては、第1の実施の形態のネットワークシステム1の効果を奏するだけでなく、同じグループに属する機器200に同じ音声を出力させることを防止することができる。たとえば、家族毎または住所毎に、グループIDが設定される場合には、1つの家にある複数の家電が同じ音声を発することを防止することができる。また、部屋毎に、グループIDが設定される場合には、1つの部屋にある複数の家電が同じ音声を発することを防止することができる。
<第3の実施の形態>
第2の実施の形態においては、音声サーバ100は、同じグループに属する複数のアダプタ300に同じ発話指示を送信しながら、当該複数の機器200の発話に関する調停を行うものであった。本実施の形態においては、音声サーバ100は、同じグループに属する複数のアダプタ300に異なる発話指示を送信することによって、当該複数の機器200の発話に関する調停を行うものである。
なお、以下では、本実施の形態にかかる発話指示データベースと、ネットワークシステム1の情報処理と、サーバ100における情報処理と、について説明するものとし、ネットワークシステム1の全体構成および各装置のハードウェア構成などについては、第1の実施の形態にかかるそれらと同様であるため説明を繰り返さない。
図21を参照しながら、本実施の形態にかかる発話指示データベース124について説明する。なお、図21は、本実施の形態にかかる発話指示データベース124のデータ構造を示すイメージ図である。発話指示データベース124は、発話指示毎に、発話指示IDとグループIDと音声IDと開始日と終了日と開始時刻と終了時刻と送信フラグと完了フラグとの対応関係を格納する。すなわち、本実施の形態にかかる発話指示データベース122は、対応関係の中にグループIDを含む点において、第1の実施の形態と異なる。なお、それぞれのデータの定義は、第1の実施の形態のそれらと同様であるため、個々では説明を繰り返さない。
<ネットワークシステム1における情報処理>
次に、図22を参照しながら、本実施の形態にかかるネットワークシステム1の情報処理について説明する。なお、図22は、本実施の形態にかかるネットワークシステム1の情報処理を示すシーケンス図である。また、ステップS312〜ステップS328の処理は、第1の実施の形態の図12におけるステップS212〜ステップS228の処理と同様であるため、ここでは説明を繰り返さない。
まず、音声サーバ100のプロセッサ110が、グループに属するアダプタ300、たとえば冷蔵庫200Aのアダプタ300Aとエアコン200Bのアダプタ300B、に音声を出力させるための発話命令を受け付ける(ステップS330)。本実施の形態においては、プロセッサ110は、複数種類の発話命令を受け付けた場合について説明する。プロセッサ110は、受け付けた発話命令に基づいて、発話指示データベース123に、複数の発話指示を追加する(ステップS331)。
発話指示データベース123を参照して、音声サーバ100のプロセッサ110は、通信インターフェイス160を介して、冷蔵庫200Aのアダプタ300Aに、当該グループに対応する第1の発話指示を送信する(ステップS332)。このとき、プロセッサ110は、発話指示データベース123の、第1の発話指示に対応する送信フラグをONにする。
同様に、発話指示データベース123を参照して、音声サーバ100のプロセッサ110は、通信インターフェイス160を介して、エアコン200Bのアダプタ300Bに、当該グループに対応する第1の発話指示とは異なる第2の発話指示を送信する(ステップS333)。このとき、プロセッサ110は、発話指示データベース123の、第2の発話指示に対応する送信フラグをONにする。
アダプタ300Aのプロセッサ310は、第2の通信インターフェイス362を介して、音声サーバ100から第1の発話指示を受信する。プロセッサ310は、現在時刻や気温やユーザ操作が発話指示の条件を満たすか否かを判断する。同様に、アダプタ300Bのプロセッサ310も、第2の通信インターフェイス362を介して、音声サーバ100から第2の発話指示を受信する。プロセッサ310は、現在時刻や気温やユーザ操作が第2の発話指示の条件を満たすか否かを判断する。
アダプタ300Aのプロセッサ310は、条件が満たされている場合に、第1の通信インターフェイス361を介して、音声データを冷蔵庫200Aに送信することによって、冷蔵庫200Aに音声を出力させる(ステップS334)。プロセッサ310は、第2の通信インターフェイス362を介して、音声サーバ100に発話完了通知を送信する(ステップS336)。
音声サーバ100のプロセッサ110は、発話完了通知を受け取ると、発話指示データベース123の、当該第1の発話指示に対応する完了フラグをONにする。プロセッサ110は、発話指示データベース123を参照して、当該グループに対応する次の発話指示、すなわち第3の発話指示を読み出す。
音声サーバ100のプロセッサ110は、通信インターフェイス160を介して、冷蔵庫200Aのアダプタ300Aに第3の発話指示を送信する(ステップS342)。このとき、プロセッサ110は、発話指示データベース123の、当該第3の発話指示に対応する送信フラグをONにする。
アダプタ300Aのプロセッサ310は、第2の通信インターフェイス362を介して、第3の発話指示を受信する。本実施の形態においても、アダプタ300が音声サーバ100から発話指示を受け付けると、先の第1の発話指示が上書きされる、すなわち先の第1の発話指示が削除される。プロセッサ310は、現在時刻や気温やユーザ操作が第3の発話指示の条件を満たすか否かを判断する。
アダプタ300Bのプロセッサ310は、条件が満たされている場合に、第1の通信インターフェイス361を介して、音声データをエアコン200Bに送信することによって、エアコン200Bに音声を出力させる(ステップS344)。プロセッサ310は、第2の通信インターフェイス362を介して、音声サーバ100に発話完了通知を送信する(ステップS346)。
音声サーバ100のプロセッサ110は、発話完了通知を受け取ると、発話指示データベース123の、当該第2の発話指示に対応する完了フラグをONにする。プロセッサ110は、発話指示データベース123を参照して、当該グループに対応する次の発話指示、すなわち第4の発話指示を読み出す。
音声サーバ100のプロセッサ110は、通信インターフェイス160を介して、エアコン200Bのアダプタ300Bに第4の発話指示を送信する(ステップS353)。このとき、プロセッサ110は、発話指示データベース123の、当該発話指示に対応する送信フラグをONにする。
そして、図示しないが、アダプタ300Aのプロセッサ310は、条件が満たされないまま、第3の発話指示の有効期限が切れた場合、第2の通信インターフェイス362を介して、音声サーバ100に有効期限が切れた旨の通知を送信する。
音声サーバ100のプロセッサ110は、アダプタ300Aから有効期限切れの通知を受け取ると、通信インターフェイス160を介して、発話指示データベース123を参照して、当該グループに対応する次の発話指示、すなわち第5の発話指示を読み出す。そしてまた、音声サーバ100のプロセッサ110は、通信インターフェイス160を介して、冷蔵庫200Aのアダプタ300Aに第5の発話指示を送信する。以下、上記と同様の処理が繰り返される。
なお、音声サーバ100のプロセッサ110は、機器200に出力させる音声データを、制御サーバ500を介して、端末600にも送信しても良い。たとえば、制御サーバ500は、音声のテキストデータまたは音声データを端末600に送信する。これによって、端末600は、メッセージを表示したり、音声を出力したりする。制御サーバ500は、メッセージを端末600が属するグループのSNSのページに投稿しても良い。
ただし、音声サーバ100のプロセッサ110は、機器200のエラーに関する情報のみ、機器200と端末600とに出力させるものであっても良い。
<サーバ100における情報処理>
次に、本実施の形態にかかるサーバ100における情報処理について、フローチャートを参照しながら説明する。ただし、音声サーバ100が新たな音声データをアダプタ300にダウンロードさせるための命令を受け付けた場合の処理と、音声サーバ100がいずれかのアダプタ300から音声データ取得処理が完了した旨の通知を受け付けた場合についての処理とは、第1の実施の形態のそれらと同様であるため、ここでは説明を繰り返さない。
以下では、図23を参照しながら、音声サーバ100のプロセッサ110が、新たな発話指示をアダプタ300または機器200に送信させるための情報を受け付けた場合について説明する。なお、図23は、本実施の形態にかかる新たな発話命令を受け付けたときのサーバ100の処理を示すフローチャートである。
プロセッサ110は、発話指示データベース122に今回新たに受け付けた発話指示を登録する(ステップS3302)。プロセッサ110は、発話指示データベース122の発話指示の中から、今回新たに受け付けた発話指示のグループIDを含む発話指示を抽出する(ステップS3304)。
プロセッサ110は、グループIDに対応する機器IDの中に、送信フラグが「ON」で完了フラグが「OFF」の発話指示に対応付けられていない機器IDがあるか否かを判断する(ステップS3306)。送信フラグが「ON」で完了フラグが「OFF」の発話指示に対応付けられていない機器IDがない場合(ステップS3306にてNOである場合)、プロセッサ110は本処理を終了する。
送信フラグが「ON」で完了フラグが「OFF」の発話指示に対応付けられていない機器IDがある場合(ステップS3306にてNOである場合)、プロセッサ110は、通信インターフェイス160を介して、今回新たに受け付けた発話指示を当該機器IDに対するアダプタ300に送信する(ステップS3308)。このとき、プロセッサ110は、発話指示データベース122の、今回送信した発話指示の送信フラグを「ON」にする。プロセッサ110は本処理を終了する。
次に、図24を参照しながら、音声サーバ100のプロセッサ110が、いずれかのアダプタ300から発話処理が完了した旨の通知あるいは有効期間内に指定された条件が満たされなかった旨の通知を受け付けた場合について、以下に説明する。なお、図24は、本実施の形態にかかる発話が完了した旨の通知を受けたときのサーバ100の処理を示すフローチャートである。
プロセッサ110は、発話指示データベース123の、今回受信した通知に対応する発話指示の完了フラグを「ON」にする(ステップS3402)。プロセッサ110は、発話指示データベース123の発話指示の中から、今回受信した通知に対応する発話指示のグループIDを含む発話指示を抽出する(ステップS3404)。
プロセッサ110は、抽出した発話指示の中に、送信フラグが「ON」になっていない発話指示があるか否かを判断する(ステップS3406)。抽出した発話指示の中に、送信フラグが「ON」になっていない発話指示がある場合(ステップS3406にてYESである場合)、通信インターフェイス160を介して当該発話指示を今回受信した通知の送信元のアダプタ300に送信する(ステップS3408)。このとき、プロセッサ110は、発話指示データベース123の、今回送信した発話指示の送信フラグを「ON」にする。プロセッサ110は本処理を終了する。
抽出した発話指示の中に、送信フラグが「ON」になっていない指示がない場合(ステップS3406にてNOである場合)、プロセッサ110は本処理を終了する。
このように、本実施の形態においては、第1の実施の形態のネットワークシステム1の効果を奏するだけでなく、同じグループに属する機器200に同じ音声を出力させることを防止することができる。たとえば、家族毎または住所毎に、グループIDが設定される場合には、1つの家にある複数の家電が同じ音声を発することを防止することができる。また、部屋毎に、グループIDが設定される場合には、1つの部屋にある複数の家電が同じ音声を発することを防止することができる。
<第4の実施の形態>
第1〜第3の実施の形態にかかるネットワークシステム1は、機器200がアダプタ300を介して音声サーバ100とデータの送受信を行うものであった。しかしながら、本実施の形態にかかるネットワークシステム1は、機器200がアダプタ300を介さずに音声サーバ100とデータの送受信を行うものである。機器200がアダプタ300を介さずに音声サーバ100とデータの送受信を行う構成は、他のいずれの実施の形態のネットワークシステム1にも適用できるものである。
なお、以下では、ネットワークシステム1の全体構成と動作概要について説明するものとし、ネットワークシステム1の各装置のハードウェア構成や処理などについては、第1の実施の形態にかかるそれらと同様であるため説明を繰り返さない。具体的には、本実施の形態にかかるネットワークシステムは、アダプタ300の役割を機器200が有している点において、第1〜第3の実施の形態にかかるネットワークシステム1と異なる。
<ネットワークシステムの全体構成>
まず、図25を参照して、本実施の形態にかかるネットワークシステム1の全体構成について説明する。なお、図25は、本実施の形態にかかるネットワークシステム1の全体構成と動作概要とを示すイメージ図である。
図25を参照して、ネットワークシステム1の全体構成について簡単に説明する。本実施の形態にかかるネットワークシステム1は、主に、冷蔵庫200A、エアコン200B、洗濯機200Cなどの機器と、機器の音声出力を制御するための音声サーバ100とを含む。本実施の形態にかかるネットワークシステムは、アダプタ300A,300B,300Cを含まない点において、第1の実施の形態のネットワークシステム1と異なる。なお、ネットワークシステム1は、冷蔵庫200A、エアコン200B、洗濯機200Cなどの機器をインターネットに接続するためのルータ400と、家族と機器との間のメッセージのやり取りなどを処理するための制御サーバ500と、スマートフォン600A,600B,600C、ノートパソコン600Dなどの端末、データベース101,501を含んでもよい。ただし、音声サーバ100または制御サーバ500が、データベース101,501の少なくともいずれかを記憶してもよい。
<ネットワークシステムの動作概要>
次に、図25を参照して、本実施の形態にかかるネットワークシステム1の動作概要について説明する。
まず、音声サーバ100は、第1のタイミングにおいて、音声データの取得指示を機器200に送信する(1)。ここで、第1のタイミングは、第1〜第3のそれと同様であるため、ここでは説明を繰り返さない。
機器200のプロセッサ210は、指定された音声データをダウンロードする。機器200のプロセッサ210は、指定された音声データのダウンロードが完了すると、音声データの取得が完了した旨を音声サーバ100に通知する(2)。
次に、音声サーバ100は、第2のタイミングにおいて、音声データの発話指示を機器200に送信する(3)。ここで、第2のタイミングは、第1〜第3のそれと同様であるため、ここでは説明を繰り返さない。
機器200のプロセッサ210は、発話指示に基づいて、スピーカ280に音声を出力させる。プロセッサ210は、指定された音声データの発話処理が完了すると、発話が完了した旨の通知を音声サーバ100に通知する(4)。
音声サーバ100は、機器200から発話が完了した旨の通知を受信すると、あるいは第3のタイミングにおいて、当該機器200に対する次の発話指示を当該機器200に送信する(5)。ここで、第3のタイミングも、第1〜第3のそれと同様であるため、ここでは説明を繰り返さない。
機器200のプロセッサ210は、次の発話指示に基づいて、スピーカ280に音声を出力させる。プロセッサ210は、指定された音声データの発話処理が完了すると、通信インターフェイス260を介して、発話が完了した旨の通知を音声サーバ100に通知する(6)。
このように、本実施の形態にかかるネットワークシステム1においても、第1〜第3の実施の形態と同様の効果を奏する。
なお、本実施の形態にかかるネットワークシステム1でも、機器200が機器200のエラーを検知した場合には、その旨の通知を音声サーバ100および制御サーバ500に送信してもよい。すると、音声サーバ100は、エラー音声の発話指示を機器200に送信する。機器200は、エラーが生じたことを示す音声を発する。同様に、制御サーバ500は、エラーを示す情報またはエラー音声自体を端末600に送信する。これによって、端末600は、エラーを示す情報を表示したり、エラー示す音声を出力したりする。制御サーバ500は、エラーを示す情報を端末600が属するグループのSNSのページに投稿しても良い。
ただし、機器200のプロセッサ210がエラーを検知した場合には、音声サーバ100からの発話指示がなくても、プロセッサ210は予め取得しているエラー音声をスピーカ280に出力させてもよい。このとき、機器200は、エラーを示す情報またはエラー音声自体を、制御サーバ500を介して端末600に送信する。これによって、端末600は、エラーを示す情報を表示したり、エラーを示す音声を出力したりする。
<第5の実施の形態>
第1〜第3の実施の形態にかかるネットワークシステム1は、機器200がアダプタ300を介して音声サーバ100とデータの送受信を行うものであった。そして、第4の実施の形態にかかるネットワークシステム1は、機器200がアダプタ300を介さずに音声サーバ100とデータの送受信を行うものであった。しかしながら、それらの中間の構成を採用することもできる。
つまり、本実施の形態においては、冷蔵庫200A、エアコン200B、洗濯機200Cなどの機器と、ルータ400の間に、アダプタ300A,300B,300Cが配置される。しかしながら、本実施の形態においては、第1〜第3の実施の形態と比較して、アダプタ300の役割が減らされて、その分だけ機器200の役割が増したものである。換言すれば、第1〜第3の実施の形態にかかるアダプタ300の役割の一部を、機器200が担うものである。
たとえば、アダプタ300は、単に、機器200からのデータをUARTなどを利用することによって受信し、WiFi(登録商標)などを利用することによって当該データをルータ400に転送する。逆に、アダプタ300は、単に、ルータ400からのデータをWiFi(登録商標)などを利用することによって受信し、UARTなどを利用することによって当該データを機器200に送信する。
その他の第1〜第3の実施の形態におけるアダプタ300の役割、たとえば、音声データの取得や、音声データベース321の記憶およびそれらの利用や、発話指示データ322の記憶およびそれらの利用などは機器200が行う。
<第6の実施の形態>
第1の実施の形態にかかるネットワークシステム1は、機器200やアダプタ300が発話をキャンセルするための元になるデータを発信するものであった。しかしながら、音声サーバ100が、未だ完了していない発話指示をキャンセルするための命令を発信できるものであってもよい。
なお、以下では、図27を参照しながら、本実施の形態にかかるネットワークシステム1の情報処理について、第1の実施の形態と異なる部分について説明する。その他の構成については、第1の実施の形態のそれらと同様であるため、ここでは説明を繰り返さない。図27は、本実施の形態にかかるネットワークシステム1の情報処理を示すシーケンス図である。
本実施の形態においては、発話指示データベース122を参照して、音声サーバ100のプロセッサ110は、通信インターフェイス160を介して、冷蔵庫200Aのアダプタ300Aに発話指示を送信する(ステップS132)。このとき、プロセッサ110は、発話指示データベース122の、当該発話指示に対応する送信フラグをONにする。
アダプタ300Aのプロセッサ310は、第2の通信インターフェイス362を介して、発話指示を受信する。プロセッサ310は、現在時刻や気温やユーザ操作が発話指示の条件を満たすか否かを判断する。プロセッサ310は、LEDライト230を点滅させるための条件、すなわち発話するための条件が満たされている場合に、第1の通信インターフェイス361を介して、音声指示があることを示すLED状態(点滅)の設定命令を機器200に送信する。機器200のプロセッサ210は、LEDライト230を点滅させる(ステップS133)。
LEDライト230が点滅している状態においてスイッチ(ボタン)240が押下されると(ステップS134)、アダプタ300のプロセッサ310は、発話条件が満たされている場合に、通信インターフェイス360を介して、音声データを冷蔵庫200Aに送信することによって、冷蔵庫200Aに音声を出力させる(ステップS135)。
本実施の形態においては、音声データの有効期限が切れた場合(ステップS144、ステップS174)、機器200のプロセッサ210は対象となる発話命令をキャンセルし、LEDライト230を消灯する(ステップS145、ステップS175)。音声サーバ100のプロセッサ110は、有効期限切れの通知を受け取っても(ステップS146、ステップS176)、キャンセルするための通知を送信する必要はない。
なお、本実施の形態においても、音声サーバ100のプロセッサ110は、発話指示データベース122の、当該発話指示に対応する完了フラグをONにする。プロセッサ110は、発話指示データベース122を参照して、エアコン200Bに対応する次の発話指示を読み出す。プロセッサ110は、通信インターフェイス160を介して、次の発話指示をアダプタ300に送信する(ステップS152)。
そして特に、本実施の形態においては、プロセッサ110は、管理者からの命令や他のコンピュータからの要求に応じて、当該発話指示をキャンセルするための命令を通信インターフェイス160を介してアダプタ300に送信する(ステップS182)。機器200やアダプタ300のプロセッサは、当該発話指示をキャンセルするための命令を受信すると、対象となる発話命令をキャンセルする。そして、LEDライト230を消灯する(ステップS155)。これによって、当該発話指示を実行するための条件が満たされていない場合や、当該発話指示のためのLEDライト230が点滅しているのにスイッチ240が未だ押下されていない場合に、機器200からの音声出力を中止することができる。
本実施の形態の構成は、第3から第5の実施の形態のネットワークシステム1にも適用できる。
<第7の実施の形態>
第2の実施の形態にかかるネットワークシステム1も、機器200やアダプタ300が発話をキャンセルするための指示を発信するものであった。しかしながら、音声サーバ100が、機器200に対して、他の機器にて既に完了した発話指示をキャンセルできるものであってもよい。
なお、以下では、図28を参照しながら、本実施の形態にかかるネットワークシステム1の情報処理について、第1の実施の形態と異なる部分について説明する。その他の構成については、第1の実施の形態のそれらと同様であるため、ここでは説明を繰り返さない。図28は、本実施の形態にかかるネットワークシステム1の情報処理を示すシーケンス図である。
本実施の形態においては、発話指示データベース123を参照して、音声サーバ100のプロセッサ110は、通信インターフェイス160を介して、冷蔵庫200Aのアダプタ300Aに発話指示を送信する(ステップS232)。同様に、発話指示データベース123を参照して、音声サーバ100のプロセッサ110は、通信インターフェイス160を介して、エアコン200Bのアダプタ300Bに発話指示を送信する(ステップS233)。このとき、プロセッサ110は、発話指示データベース123の、当該発話指示に対応する送信フラグをONにする。
アダプタ300Aのプロセッサ310は、第2の通信インターフェイス362を介して、発話指示を受信する。プロセッサ310は、現在時刻や気温やユーザ操作が発話指示の条件を満たすか否かを判断する。同様に、アダプタ300Bのプロセッサ310も、第2の通信インターフェイス362を介して、発話指示を受信する。プロセッサ310は、現在時刻や気温やユーザ操作が発話指示の条件を満たすか否かを判断する。
アダプタ300Aのプロセッサ310は、LEDライト230を点滅させるための条件、すなわち発話するための条件が満たされている場合に、第1の通信インターフェイス361を介して、音声指示があることを示すLED状態(点滅)の設定命令を機器200に送信する。機器200のプロセッサ210は、LEDライト230を点滅させる(ステップS2321)。
LEDライト230が点滅している状態においてスイッチ240が押下されると(ステップS2322)、アダプタ300のプロセッサ310は、発話条件が満たされている場合に、通信インターフェイス360を介して、音声データを冷蔵庫200Aに送信することによって、冷蔵庫200Aに音声を出力させる(ステップS234)。プロセッサ310は、第2の通信インターフェイス362を介して、音声サーバ100に発話完了通知を送信する(ステップS236)。
一方、アダプタ300Bのプロセッサ310は、LEDライト230を点滅させるための条件、すなわち発話するための条件が満たされている場合に、第1の通信インターフェイス361を介して、音声指示があることを示すLED状態(点滅)の設定命令を機器200に送信する。機器200のプロセッサ210は、LEDライト230を点滅させる(ステップS2331)。
音声サーバ100のプロセッサ110は、アダプタ300Aから発話完了通知を受け取ると、発話指示データベース123の、当該発話指示に対応する完了フラグをONにする。そして、プロセッサ110は、当該発話指示をキャンセルする指示を通信インターフェイス160を介してアダプタ300Bに送信する(ステップS2332)。機器200やアダプタ300のプロセッサは、当該発話指示をキャンセルするための命令を受信すると、対象となる発話命令をキャンセルする。そして、LEDライト230を消灯する(ステップS2333)。音声サーバ100のプロセッサ110は、発話指示データベース122を参照して、当該グループに対応する次の発話指示を読み出す。
本実施の形態においては、音声データの有効期限が切れた場合(ステップS254、ステップS255)、機器200のプロセッサ210は対象となる発話命令をキャンセルし、LEDライト230を消灯する(ステップS2523、ステップS2533)。音声サーバ100のプロセッサ110は、有効期限切れの通知を受け取っても(ステップS256、ステップS257)、キャンセルするための通知を送信する必要はない。
なお、本実施の形態においては、図20を参照して、抽出した発話指示の中に、送信フラグが「ON」になっていない指示がない場合(ステップS2406にてNOである場合)、キャンセル通知をアダプタ300に送信する必要はない。
本実施の形態の構成は、第3から第5の実施の形態のネットワークシステム1にも適用できる。
<その他の応用例>
本発明は、システム或いは装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。そして、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体(あるいはメモリ)を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の効果を享受することが可能となる。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わる他の記憶媒体に書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。