JP2014164522A - メッセージ通知装置、制御方法、および制御プログラム - Google Patents

メッセージ通知装置、制御方法、および制御プログラム Download PDF

Info

Publication number
JP2014164522A
JP2014164522A JP2013034996A JP2013034996A JP2014164522A JP 2014164522 A JP2014164522 A JP 2014164522A JP 2013034996 A JP2013034996 A JP 2013034996A JP 2013034996 A JP2013034996 A JP 2013034996A JP 2014164522 A JP2014164522 A JP 2014164522A
Authority
JP
Japan
Prior art keywords
message
operation instruction
external device
report message
instructor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013034996A
Other languages
English (en)
Other versions
JP5666637B2 (ja
Inventor
Tama Sakuta
瑞 作田
Takayuki Nagamatsu
孝之 永松
Chie Hideishi
千絵 秀石
Yoshihisa Waki
善久 脇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2013034996A priority Critical patent/JP5666637B2/ja
Priority to CN201410060012.3A priority patent/CN104009908B/zh
Priority to US14/187,706 priority patent/US9325651B2/en
Publication of JP2014164522A publication Critical patent/JP2014164522A/ja
Application granted granted Critical
Publication of JP5666637B2 publication Critical patent/JP5666637B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/18Commands or executable codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/224Monitoring or handling of messages providing notification on incoming messages, e.g. pushed notifications of received messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages

Abstract

【課題】ユーザからの動作指示の結果を報告するメッセージを、そのメッセージの宛て先を明示して、通知する。
【解決手段】動作指示検出部(21)は、メッセージから動作指示を検出するとともに、該メッセージを書き込んだメンバを指示者として特定し、報告メッセージ表示部(26)は、該動作指示に従って動作した結果についてのメッセージを、該指示者を宛て先として明記した状態で、家族伝言板に表視させる。
【選択図】図1

Description

本発明は、ユーザにメッセージを通知するメッセージ通知装置などに関する。
従来、通信技術の発達と、通信サービスの多様化とに伴って、様々な種類の電子会話ツールが広く用いられてきた。電子会話ツールとは、例えば、電子掲示板、チャット、ブログ、短文投稿サイト(TWITTER(登録商標)など)、SNS(Social Networking Service)などである。ユーザは、通信機器を用いて、これらの会話ツールを活用し、他のユーザと対話したり、コミュニティを形成したり、情報を発信したりして、他のユーザとのコミュニケーションを実現する。
また、近年、人工知能技術も発達してきており、コンピュータ(擬人化されたエージェント)に人間の相手をさせてコミュニケーションを図る技術も存在する。
例えば、下掲の特許文献1には、電子的な仮想ペットおよび擬人化エージェントなどのエージェントを用いてユーザとの間でコミュニケーションを行う電子メール、電子掲示板などの電子コミュニケーション装置が開示されている。
また、特許文献2には、ユーザから入力された会話文に応じて、個性ベクトルと同数の数値からなる文特徴ベクトル(文特徴データ)が個性ベクトルに近い文を文データから抽出し、抽出した文から、会話文に対する応答文を生成する技術が開示されている。
さらに、家電機器を自然言語によって操作し、操作の結果を自然言語でユーザに通知する試みも行われている。
例えば、下掲の特許文献3には、利用者からの自然言語による行為指示に対し、その行為指示に対応するサービスを提供するサービス提供エージェントにサービスを実行させ、実行内容を利用者に出力する自然言語対話システムが開示されている。
特開2005−92540号公報(2005年4月7日公開) 特開2012−141713号公報(2012年7月26日公開) 特開2001−337827号公報(2001年12月7日公開)
しかしながら、上述のような従来技術は、特定のユーザからの行為指示の結果を、多人数参加型の掲示板のように複数のユーザが参加するコミュニケーションの場において通知する場合、その通知が誰宛ての通知であるのか、ユーザが一目で確認することが困難であるという問題がある。
すなわち、上記特許文献1の発明において、1匹の電子的な仮想なペットまたは1人の擬人化エージェントの対象ユーザはエージェント作成者のみであり、多人数参加型掲示板のように、1人のエージェントの対象ユーザが複数となり得る場合は想定されていない。
同様に、上記特許文献3の発明は、複数のエージェントが協調して1人のユーザとコミュニケーションを行うものであり、エージェントの対象ユーザが複数となり得る場合を想定していない。つまり、上記特許文献3の発明において、エージェントが同時に複数のユーザとコミュニケーションをし得る状況下において、エージェントのメッセージがどのユーザに宛てたものであるのか認識することが困難になるという事態は想定されていない。
また、上記特許文献2の発明は、ユーザから入力された会話文の特徴ベクトルから応答文を生成するものであり、つまり、コンピュータが生成する応答文の前提として、この応答文の前にユーザからの会話文が存在する。従って、ユーザからのコンピュータに対する行為指示から、コンピュータがその行為指示の結果をユーザに通知するまでに、他のユーザが会話文を入力するような事態を、上記特許文献2の発明は想定していない。
本発明は、上記問題点に鑑みてなされたものであり、その主たる目的は、1人以上のユーザが参加するコミュニケーションの場において、ユーザからの動作指示の結果を報告するメッセージを、当該ユーザを宛て先に明示して通知する、メッセージ通知装置を提供することにある。
上記の課題を解決するために、本発明の一態様に係るメッセージ通知装置は、メンバが書き込んだメッセージを時系列に沿って表示するコミュニケーションサービスにおけるメッセージから、外部機器を操作するための動作指示を検出するとともに、該メッセージを書き込んだメンバを該動作指示の指示者として特定する動作指示検出手段と、上記動作指示検出手段が検出した上記動作指示に従って上記外部機器を制御する外部機器制御手段と、上記外部機器制御手段の制御によって上記外部機器が動作した結果を取得する動作結果取得手段と、上記動作結果取得手段が取得した動作の結果を報告する報告メッセージを生成する報告メッセージ生成手段と、上記報告メッセージ生成手段が生成した報告メッセージを、上記コミュニケーションサービスを提供するサーバに出力して、上記動作指示検出手段が特定した指示者を宛て先として明記した状態で、該メッセージを上記コミュニケーションサービスに表示させる報告メッセージ表示手段とを備えていることを特徴としている。
本発明の一態様によれば、1人以上のユーザが参加するコミュニケーションの場において、ユーザからの動作指示の結果を報告するメッセージを、当該ユーザを宛て先に明示して通知することができるという効果を奏する。
本発明の一実施形態に係るエージェントサーバの要部構成の一例を示すブロック図である。 図1のエージェントサーバを含む家族伝言板システムの概要を示す図である。 図1のエージェントサーバの処理の流れを示すフローチャートである。 家族伝言板における、図1のエージェントサーバと家族のメンバ1人とのメッセージのやり取りを時系列で示す図である。 動作指示と該動作指示の指示者との組合せを格納している実行状態管理テーブルのデータ構造および具体例を示す図である。 動作指示識別子と動作指示の名称との組合せを格納しているコマンド名称テーブルのデータ構造および具体例を示す図である。 動作指示識別子と機器制御コードとの組合せを格納している機器制御テーブルのデータ構造および具体例を示す図である。 画像IDと動作指示識別子との組合せを格納しているコマンド画像テーブルのデータ構造および具体例を示す図である。 動作指示識別子とメッセージ種別と文言との組合せを格納している文言テンプレートテーブルのデータ構造および具体例を示す図である。 ユーザ識別子とユーザの名前との組合せを格納しているユーザ名称テーブルのデータ構造および具体例を示す図である。 家族伝言板における、本発明の他の実施形態に係るエージェントサーバと家族の複数のメンバとのメッセージのやり取りを時系列で示す図である。 図11に示されているエージェントサーバが、図11に示すメッセージのやり取りをどのように実行しているかを時系列で示す図である。 家族伝言板にメンバが書き込んだメッセージに画像が含まれる場合の、エージェントサーバ1とメンバとのメッセージのやり取りを時系列で示す図である。 エージェントサーバが、外部機器によって制御される被制御機器の動作結果を、家族伝言板に書き込む場合の、エージェントサーバとメンバとのメッセージのやり取りを時系列で示す図である。
〔実施形態1〕
本発明の一実施形態について、図1〜図14に基づいて説明すると以下の通りである。
以下で説明する実施形態では、一例として、本発明のメッセージ通知装置を、家族伝言板システムに適用した例について説明する。家族伝言板システムとは、家族伝言板サーバ(会話仲介サーバ)が提供する家族伝言板(電子会話ツール)を介して、1世帯の家族が1つのコミュニティを形成し、家族の各メンバ(例えば、お父さん、お母さん、子供)が、それぞれの携帯端末を用いて、会話を行うためのコミュニケーションシステムである。各メンバは、それぞれの携帯端末以外にも、家庭にあるネットワーク対応テレビやタブレット等の共有端末を用いて会話を行うこともできる。本発明のメッセージ通知装置は、家族伝言板システムにおいて、エージェントサーバとして実現される。エージェントサーバは、上記家族の家宅内で稼働する家庭内機器に対して、家族の一員としての疑似人格を付与し、その擬人化された家庭内機器(以下、擬人化機器)の代理で、当該家族の上記家族伝言板に発言する権限を有する装置である。家族伝言板システムの詳細は後述する。
なお、以下の図面において同一または相当する部分には、同一の参照符号を付すものとし、それらの説明は重複して行なわない。また、図面における長さ、大きさおよび幅などの寸法関係ならびに形状は、図面の明瞭化と簡略化のために適宜に変更されており、実際の寸法および形状を表してはいない。
〔家族伝言板システムの概要〕
本発明の一実施形態にかかる家族伝言板システムの概要を図2に基づいて説明する。図2は、家族伝言板システム100の概要を示す図である。
家族伝言板システム100は、登録されたコミュニティのメンバ間におけるコミュニケーションのための電子伝言板を提供するシステムである。また、家族伝言板システム100では、家庭(コミュニティ)内に配置された機器(以下、家庭内機器と呼ぶ)の状態、およびメンバの書き込み内容等の少なくとも一方に応じて、家族伝言板に、擬人化機器からの書き込みが行われるようになっている。さらに、家族伝言板システム100では、メンバからの指示に従って、擬人化機器を含む各家庭内機器の動作制御を行うこともできるようになっている。
図示のように、家族伝言板システム100は、エージェントサーバ1、家族伝言板サーバ2、およびホームサーバ3を含む。また、家族伝言板には、家族のメンバ(図示の例ではお父さん、お母さん、子供)が所持する携帯端末4a、4b、および4cがアクセスし、各メンバは自身の携帯端末を用いて、家族伝言板を介して、書き込み、閲覧、および家庭内機器の動作指示を行うことができるようになっている。また、ホームサーバ3には、掃除ロボット5が無線通信接続されていると共に、その他の家庭内機器が有線または無線にて通信接続されている。なお、同図では、掃除ロボット5が擬人化機器であり、その他の家庭内機器が、空調装置6、照明装置7、冷蔵庫8、および、PC(Personal Computer)9である例を示しているが、家庭内機器の種類および数は特に限定されない。家庭内機器としては、この他にも、テレビ、録画装置、スピーカなどのAV機器が含まれていてもよい。
エージェントサーバ1は、家庭内機器の状態、家庭内機器が取得した情報、およびメンバの書き込み内容等に応じて、家族伝言板に書き込みを行う。より具体的には、エージェントサーバ1は、掃除ロボット5を擬人化したキャラクタとして書き込みを行う。これにより、家族のメンバは、家族伝言板において、掃除ロボット5とのコミュニケーションを疑似体験することができる。
また、エージェントサーバ1は、携帯端末4a、4b、および4cからの動作指示を受け付け、これに応じた動作指示をホームサーバ3に送信することによって、掃除ロボット5または他の家庭内機器の動作を制御する。
なお、ここでは、エージェントサーバ1が、家族伝言板への書き込みを行う機能と、掃除ロボット5および家庭内機器の動作を制御する機能とを備えている例を説明するが、これらの機能は個別のサーバに搭載してもよい。
家族伝言板サーバ2は、携帯端末4a、4b、および4cに対する家族伝言板の表示画面の提示、および書き込みの管理等の、家族伝言板に関する処理全般を行う。
ホームサーバ3は、掃除ロボット5または家庭内機器と、エージェントサーバ1との間の情報の送受信を統括して制御する。具体的には、ホームサーバ3は、エージェントサーバ1から受信した動作指示に従って、掃除ロボット5または家庭内機器の動作制御を行う。また、ホームサーバ3は、掃除ロボット5から取得した情報、および家庭内機器から取得した情報をエージェントサーバ1に送信する。
なお、図示の例では、掃除ロボット5または家庭内機器に搭載されたセンサによって取得されたセンシングデータ、家庭内機器の動作ログ、および家庭内機器が撮影した写真を送信しているが、送信する情報はこれらの例に限られない。このようにして家庭内で集められた情報は、コミュニティ内の事象を示す状況情報として、ホームサーバ3からエージェントサーバ1へと提供される。エージェントサーバ1は、上記状況情報を利用することにより、コミュニティ内(ここでは、図2に示す家庭、家族)の状況を把握することができる。
また、例えば家族伝言板に関与する家庭内機器が存在しない場合のように、統括的な制御の必要がない場合には、ホームサーバ3を設けずに、掃除ロボット5がエージェントサーバ1と情報を送受信する構成としてもよい。
携帯端末4a、4b、および4cは、家族伝言板の閲覧、書き込み、ならびに、掃除ロボット5および他の家庭内機器の動作指示を行うための装置である。同図では、携帯端末4a、4b、および4cがスマートフォンである例を示しているが、家族伝言板の閲覧、書き込み、および動作指示を行うことができるものであればこれに限られない。以降、携帯端末4a、4b、および4cを特に区別する必要がない場合には、これらの総称として携帯端末4を用いる。またこれ以後、携帯端末4の画面に表示される家族伝言板には、発言者を示す情報として、図2に示すお父さんは「父」、お母さんは「母」、子供は「太郎」、掃除ロボット5は「ロボ」と表記されるものとする。
掃除ロボット5は、自動で床の掃除を行う自走式の掃除機である。また、掃除ロボット5は、掃除のための機能の他にも、動作ログの記憶機能、充電残量の検出および出力機能、画像撮影機能、音声認識機能、音声出力機能等を備えている。さらに、掃除ロボット5は、家庭内機器に制御信号を送信してこれを操作する機能も有している。
空調装置6は、冷暖房等の空調を行う装置であり、いわゆるエアコンである。また、空調装置6は、温度センサを備えており、これによって検出した室温をホームサーバ3に送信する。
照明装置7は、LED等の光源を備えた照明装置であり、ホームサーバ3の制御によって点灯および消灯することができる。
冷蔵庫8は、食品等を最適な温度で保存する保存庫である。本実施形態における冷蔵庫8は、例えば、カメラ、重量センサ、ICタグリーダなどのセンシング機器を備えており、庫内の在庫の状況を状況情報として取得する機能と、その状況情報をホームサーバ3にアップロードする通信機能とを備えている。
PC9は、いわゆるパソコンである。PC9は、家族の各メンバが共用するために1台設けられていてもよいし、各メンバがそれぞれ所有するために複数台設けられていてもよい。PC9は、デスクトップパソコン、ノートパソコン、タブレットPCなどで実現される。本実施形態では、PC9には、スケジュール管理アプリケーションが搭載されており、PC9を用いて、各メンバの予定を登録したり、読み出したりすることができる。PC9を介して入力された各メンバの予定の情報(カレンダー情報)は、状況情報としてホームサーバ3にアップロードされ、各PC9、携帯端末4a、4b、および4c、ならびに、エージェントサーバ1にて共有される。
さらに、エージェントサーバ1は、インターネットを介して必要な情報を収集する情報検索機能を有している。エージェントサーバ1は、図示のとおり、インターネットに接続されているあらゆる情報提供サーバ3a(図示しないが、情報提供サーバ3b、3c、・・・と多数存在しているケースが想定されている)にアクセスすることができる。本実施形態では、エージェントサーバ1は、要求した状況情報を情報提供サーバ3aから取得して、図示するコミュニティを取り巻く外部環境の状況(家族に影響を与え得る外部環境での発生事象)を把握することができる。情報提供サーバ3aから取得される状況情報は、これには限定されないが、例えば、この家族の家宅近隣の小売店または施設の情報、家族が関心を持っている地域の天気予報情報などが想定される。
こうして、家族伝言板システム100において、エージェントサーバ1は、メンバが家族伝言板に書き込んだメッセージから、外部機器を操作するための動作指示を検出すると、該動作指示に従って外部機器を制御し、該外部機器が動作した結果について報告する1つの報告メッセージを、上記メンバを宛て先として明記して、書き込む。また、エージェントサーバ1は、コミュニティ(家族)の一員である擬人化された掃除ロボット5の代理として、家族伝言板に対してメッセージを書き込む。
以下では、メンバからの動作指示の結果を報告するメッセージを、該ユーザを宛て先に明示して、メンバに通知するためのエージェントサーバ1の構成について、より詳細に説明する。
〔エージェントサーバの構成〕
図1は、エージェントサーバ1の要部構成の一例を示すブロック図である。
本実施形態に係るエージェントサーバ1は、家族伝言板におけるメッセージから、掃除ロボット5(外部機器)を操作するための動作指示を検出するとともに、該メッセージを書き込んだメンバを該動作指示の指示者として特定する動作指示検出部21(動作指示検出手段)と、動作指示検出部21が検出した上記動作指示に従って上記外部機器を制御する外部機器制御部23(外部機器制御手段)と、外部機器制御部23の制御によって上記外部機器が動作した結果を取得する動作結果取得部24(動作結果取得手段)と、動作結果取得部24が取得した動作の結果を報告する報告メッセージを生成する報告メッセージ生成部25(報告メッセージ生成手段)と、報告メッセージ生成部25が生成した報告メッセージを、家族伝言板サーバ2に出力して、動作指示検出部21が特定した指示者を宛て先として明記した状態で、該メッセージを家族伝言板に表示させる報告メッセージ表示部26(報告メッセージ表示手段)とを備える。
上記の構成によれば、エージェントサーバ1は、1人以上のユーザが参加するコミュニケーションの場(例えば家族伝言板)において、ユーザからの動作指示の結果を報告するメッセージを、当該ユーザを宛て先に明示して通知することができる。
エージェントサーバ1はさらに、記憶部12と、メッセージ取得部20と、指示者登録部22と、を備える。ただし、詳細は後述するが、以下に詳細を説明する本実施形態においては、記憶部12と指示者登録部22とは必須ではない。
図1に示すとおり、エージェントサーバ1は、制御部10、通信部11、および、記憶部12を備えている。
通信部11は、エージェントサーバ1が外部の機器と通信するためのものである。具体的には、エージェントサーバ1は、通信部11を介して家族伝言板サーバ2、ホームサーバ3、および、各種情報提供サーバ3aと通信を行う。
記憶部12は、エージェントサーバ1が使用する各種データを格納する記憶装置である。
記憶部12は、エージェントサーバ1の制御部10が実行する(1)制御プログラム、(2)OSプログラム、(3)制御部10が、エージェントサーバ1が有する各種機能を実行するためのアプリケーションプログラム、および、(4)該アプリケーションプログラムを実行するときに読み出す各種データを非一時的に記憶するものである。
例えば、上記の(1)〜(4)のデータは、ROM(read only memory)、フラッシュメモリ、EPROM(Erasable Programmable ROM)、EEPROM(登録商標)(Electrically EPROM)、HDD(Hard Disc Drive)等の不揮発性記憶装置に記憶される。
エージェントサーバ1は、図示しない一時記憶部を備えていてもよい。一時記憶部は、エージェントサーバ1が実行する各種処理の過程で、演算に使用するデータおよび演算結果等を一時的に記憶するいわゆるワーキングメモリであり、RAM(Random Access Memory)などの揮発性記憶装置で構成される。
どのデータをどの記憶装置に記憶するのかについては、エージェントサーバ1の使用目的、利便性、コスト、または、物理的な制約などから適宜決定される。
記憶部12は、実行状態管理テーブル30、コマンド名称テーブル31、機器制御テーブル32、コマンド画像テーブル33、文言テンプレートテーブル34、ユーザ名称テーブル35を格納している。記憶部12が格納している実行状態管理テーブル30等について、詳細は後述する。
制御部10は、エージェントサーバ1の機能を統括して制御するものである。図示の制御部10には、機能ブロックとして、メッセージ取得部20、動作指示検出部21、指示者登録部22、外部機器制御部23、動作結果取得部24、報告メッセージ生成部25、報告メッセージ表示部26が含まれている。
上述した制御部10の各機能ブロックは、例えば、CPU(central processing unit)などが、ROM(read only memory)、NVRAM(non-Volatile random access memory)等で実現された記憶装置(記憶部12)に記憶されているプログラムを不図示のRAM(random access memory)等に読み出して実行することで実現できる。
メッセージ取得部20は、家族伝言板サーバ2から、家族の各メンバが家族伝言板へ書き込んだメッセージを取得する。メッセージ取得部20が取得するメッセージは、テキストのみであってもよいし、画像IDを含んでもよい。
以下では、メッセージ取得部20は、メンバが家族伝言板に書き込んだメッセージを、下記のようなJSON形式で取得するものとする。すなわち、例えば{“poster”:“U001”, “text”:“写真撮ってね”, “image_ID”:“SEAL_101”}といった形式で、メッセージを取得する。ただし、本発明の一態様に係るメッセージ通知装置において、メッセージ取得部20がJSON形式のメッセージを取得することは必須ではない。上記のJSON形式のメッセージにおいて、“poster”はメッセージを投稿したメンバのユーザ識別子、“text”はメッセージのテキスト部分、“image_ID”はメッセージに添付された画像IDを表す。
画像IDとは、携帯端末4のアプリケーションに組み込まれた画像を一意に特定するためのIDであって、家族伝言板サーバ2に出力するメッセージに付加することによって、画像つきのメッセージを家族伝言板サーバ2に出力することができる。
ただし、画像IDを含むメッセージについて、本実施形態では説明を行わず、詳細は後述する。
動作指示検出部21は、メンバが家族伝言板に書き込んだメッセージから、外部機器を操作するための動作指示を検出するとともに、該メッセージを書き込んだメンバを該動作指示の指示者として特定する。そして、動作指示検出部21は、検出した動作指示と特定した指示者とを、指示者登録部22に送信する。
指示者登録部22の機能について、概要を説明すれば、以下の通りである。すなわち、指示者登録部22は、第1に、動作指示検出部21が検出した上記動作指示によって指示された動作の実行状態の判定を行う。詳細は後述するが、動作指示検出部21が検出した動作指示と、実行状態管理テーブル30に格納されている動作指示とが同じであるか否かを判定することによって、実行状態の判定を行う。第2に、実行状態の判定結果に応じて実行状態管理テーブル30のデータを更新し、第3に、実行状態の判定結果に応じて動作指示の外部機器制御部23への送信を行う。指示者登録部22は、第4に、実行状態の判定結果に応じた内容のメッセージを、報告メッセージ生成部25に生成させる。なお、報告メッセージ生成部25は、メッセージを生成するに際し、動作指示検出部21によって更新された後の実行状態管理テーブル30のデータを参照する。従って、実行状態の判定結果に応じた実行状態管理テーブル30のデータ更新は、報告メッセージ生成部25がメッセージを生成する前に終了していなくてはならない。これに対し、動作指示の外部機器制御部23への送信は、実行状態の判定後であれば、報告メッセージ生成部25にメッセージを生成させるのと同じタイミングで実行してもよい。
以下に、指示者登録部22の機能について、詳細を説明する。
第1に、指示者登録部22は、実行状態の判定を行う。詳細は後述するが、実行状態管理テーブル30には、上記動作指示によって指示された動作が実行中である場合はデータが格納されており、実行中の動作が無い場合には、格納されているデータが無い。指示者登録部22は、まず、実行状態管理テーブル30に既に格納されているデータがあるかを確認し、次に、動作指示検出部21が検出した動作指示と、実行状態管理テーブル30に格納されている動作指示とが同じであるか否かを判定する。
第2に、指示者登録部22は、上記判定の結果に応じて、実行状態管理テーブル30のデータを更新する。
すなわち、指示者登録部22は、実行状態管理テーブル30にデータが格納されていないのを確認すると、動作指示検出部21が検出した動作指示と、該動作指示の指示者、動作指示検出部21が特定した指示者とを、実行状態管理テーブル30に格納する。
実行状態管理テーブル30に既にデータが格納されているのを確認すると、指示者登録部22は、動作指示検出部21が検出した動作指示が、実行状態管理テーブル30に既に格納されている動作指示と同じであるか否かを確認する。
動作指示検出部21が検出した動作指示が、実行状態管理テーブル30に既に格納されている動作指示と同じである場合、指示者登録部22は、実行状態管理テーブル30に既に格納されている動作指示に組み合わされる指示者に、動作指示検出部21が特定した指示者を追加する。
詳細は後述するが、実行状態管理テーブル30には、動作指示と、該動作指示を含むメッセージを家族伝言板に書き込んだメンバとが組み合されて格納される。つまり図5に示すように、実行状態管理テーブル30において、動作指示(より詳細に言うと各動作指示を識別するための動作指示識別子)が「動作指示識別子フィールド」に、該動作指示の指示者(より詳細に言うと各メンバを識別するためのユーザ識別子)が「ユーザリストフィールド」に格納される。なお、以下の説明において、表現の冗長性を防ぐため、「ユーザリストフィールド」は単に「ユーザリスト」と表記することにする。
動作指示検出部21が検出した動作指示が、実行状態管理テーブル30に既に格納されている動作指示と同じである場合、指示者登録部22は、「ユーザリスト」の最後に、動作指示検出部21によって特定された指示者を追加する。つまり、「ユーザリスト」には、「動作指示識別子フィールド」に格納されている動作指示識別子に対応する動作指示を含むメッセージを家族伝言板に書き込んだメンバのユーザ識別子が、書き込んだ順に格納される。
動作指示検出部21が検出した動作指示が、実行状態管理テーブル30に既に格納されている動作指示と異なる場合、指示者登録部22は、実行状態管理テーブル30に格納されているデータを更新しない。
第3に、指示者登録部22は、上記実行状態の判定結果に応じて、動作指示の外部機器制御部23への送信を行う。すなわち、指示者登録部22は、実行状態管理テーブル30にデータが格納されていないのを確認すると、動作指示検出部21から受信した動作指示を外部機器制御部23に送信する。実行状態管理テーブル30に既にデータが格納されているのを確認すると、指示者登録部22は、外部機器制御部23への送信を行わない。
第4に、指示者登録部22は、実行状態の判定結果に応じた内容のメッセージを、報告メッセージ生成部25に生成させる。
すなわち、指示者登録部22は、実行状態管理テーブル30にデータが格納されていないのを確認すると、報告メッセージ生成部25に、以下のメッセージを生成させる。すなわち、動作指示検出部21によって特定された指示者が宛て先として明示され、「動作指示を受け付けました。動作指示によって指示された動作を実行させます」という旨のメッセージを生成させる。
実行状態管理テーブル30にデータが格納されているのを確認すると、指示者登録部22は次に、動作指示検出部21によって検出された動作指示と、実行状態管理テーブル30に格納されている動作指示とが同じであるか否かを判定する。
動作指示検出部21が検出した動作指示と、実行状態管理テーブル30に格納されている動作指示とが異なる場合、指示者登録部22は、報告メッセージ生成部25に、以下のメッセージを生成させる。すなわち、動作指示検出部21によって特定された指示者が宛て先として明示され、「動作指示によって指示された動作は、現在他の動作を実行中なので、実行できない」という旨のメッセージを生成させる。
動作指示検出部21が検出した動作指示と、実行状態管理テーブル30に格納されている動作指示とが同じ場合、指示者登録部22は、報告メッセージ生成部25に、以下のメッセージを生成させる。すなわち、動作指示検出部21によって特定された指示者が宛て先として明示され、「今回指示された動作は、他のメンバから既に指示されて実行中なので、待ってほしい」という旨のメッセージを生成させる。
なお、指示者登録部22は、報告メッセージ生成部25に以下の情報を送信することによって、報告メッセージ生成部25に、上記の各メッセージを生成させる。すなわち、動作指示検出部21が検出した動作指示の動作指示識別子と、動作指示検出部21が特定したメンバのユーザ識別子と、報告メッセージ生成部25が生成すべきメッセージを報告メッセージ生成部25が識別するためのメッセージ種別とを、送信する。
詳細は後述するが、メッセージ種別は、動作指示毎に、報告メッセージ生成部25が生成するメッセージを識別するための識別子である。図9に例示する文言テンプレートテーブル34は、動作指示識別子とメッセージ種別との組合せに応じて、文言を規定している。
例えば図9において、動作指示識別子が同じ場合、動作指示検出部21によって特定された指示者が宛て先として明示され、「動作指示を受け付けました。動作指示によって指示された動作を実行させます」という旨のメッセージのメッセージ種別は、RP_STARTである。また、動作指示検出部21によって特定された指示者が宛て先として明示され、「今回指示された動作は、他のメンバから既に指示されて実行中なので、待ってほしい」という旨のメッセージのメッセージ種別は、RP_BUSY_1である。さらに、動作指示検出部21によって特定された指示者が宛て先として明示され、「動作指示によって指示された動作は、現在他の動作を実行中なので、実行できない」という旨のメッセージのメッセージ種別は、RP_BUSY_2である。
ただし、「今回指示された動作は、他のメンバから既に指示されて実行中なので、待ってほしい」という旨のメッセージと、「動作指示によって指示された動作は、現在他の動作を実行中なので、実行できない」という旨のメッセージとは、「動作実行中なので指示を受け付けることはできない」という旨の共通のメッセージに置き換えてもよい。
すなわち、「動作実行中なので指示を受け付けることはできない」という旨の共通のメッセージのメッセージ種別としてRP_BUSYを定義し、RP_BUSY_1とRP_BUSY_2とを区別して送信する代わりに、RP_BUSYを送信してもよい。具体的には、実行状態管理テーブル30にデータが格納されているのを確認すると、指示者登録部22は、動作指示検出部21によって検出された動作指示に該当する動作指示識別子と、RP_BUSYというメッセージ種別とを、報告メッセージ生成部25に送信してもよい。この場合、報告メッセージ生成部25は、実行状態管理テーブル30にデータが格納されている時には、動作指示検出部21が検出した動作指示と、実行状態管理テーブル30に格納されている動作指示とが同じであるか否かに関わらず、以下のメッセージを生成する。すなわち、動作指示検出部21によって特定された指示者が宛て先として明示され、「動作実行中なので指示を受け付けることはできない」という旨のメッセージを生成する。
外部機器制御部23は、指示者登録部22から動作指示(より正確には動作指示識別子)を受信すると、該動作指示に従って、外部機器を制御する。具体的には、外部機器制御部23は、動作指示検出部21から動作指示識別子を取得すると、機器制御テーブル32を参照して、該動作指示識別子に対応する機器制御コードを選択し、該機器制御コードを対応する外部機器へと送信する。
動作結果取得部24は、外部機器から、動作指示によって指示された動作の結果と、つまりエラーコードを含む戻り値と、該動作指示の動作指示識別子とを、外部機器から取得する。
戻り値とは、外部機器の動作結果であり、外部機器が動作の結果取得したデータを含むものであって、例えば以下のようなものを挙げることができる。すなわち、動作指示識別子が「CM001」、つまり指示動作が指示している動作が「写真撮影」である場合、戻り値の例としては、撮影した写真画像データを挙げることができる。また、動作指示識別子が「CM003」、つまり指示されている動作が「温度取得」である場合の戻り値の例としては、室内の温度データを挙げることができる。
エラーコードとは、外部機器が、動作のエラーの内容毎に、エージェントサーバ1に通知するものである。例えば、掃除ロボット5が「写真撮影」しようとして「撮影失敗」した場合、掃除ロボット5は、「1」というエラーコードを、「写真撮影」という動作指示の動作指示識別子(CM001)と共に、エージェントサーバ1に送信する。また、掃除ロボット5が「掃除」しようとして「ダストカップ満杯のため掃除できなかった」場合、掃除ロボット5は、「1」というエラーコードを、「掃除」という動作指示の動作指示識別子(CM002)と共に、エージェントサーバ1に送信する。さらに、掃除ロボット5が「掃除」しようとして「移動不能のため掃除できなかった」場合、掃除ロボット5は、「2」というエラーコードを、動作指示識別子「CM002」と共に、エージェントサーバ1に送信する。
つまり、例えば同じ「掃除不能」というエラー結果であっても、エラーの発生した理由によって、エラーコードが異なる。また、エラーコードが同じ「1」であっても、エラーコードと一緒に送信される動作指示識別子が異なることによって、例えば「写真撮影」がエラーに終わったのか、「掃除」がエラーに終わったのかを、動作結果取得部24は区別することができる。エラーコードと動作指示識別子とを外部機器から受信することによって、動作結果取得部24は、動作指示識別子に対応する動作指示が、どのような内容のエラーに終わったのかを知ることができる。
動作結果取得部24は、外部機器から、動作指示によって指示された動作の結果(つまり、エラーコードを含む戻り値)と、該動作指示に対応する動作指示識別子とを取得し、該動作の結果についての報告メッセージを、報告メッセージ生成部25に生成させる。具体的には、動作結果取得部24は、以下の情報を報告メッセージ生成部25に送信することによって、動作の結果についての報告メッセージを、報告メッセージ生成部25に生成させる。すなわち、動作の結果が成功であれば、「RP_SUCCEEDED」というメッセージ種別と戻り値とを、動作の結果が失敗であれば、「RP_FAILED_エラーコード」というメッセージ種別を、該動作を指示した動作指示の動作指示識別子と一緒に送信する。
従って、例えば、「CM001」という動作指示識別子と、「RP_FAILED_1」というメッセージ種別とを、動作結果取得部24が、報告メッセージ生成部25に送信すると、報告メッセージ生成部25は以下のメッセージを生成する。すなわち、「写真撮影」という動作指示によって指示された動作の結果が「撮影失敗」である旨のメッセージを生成する。また、例えば、「CM002」という動作指示識別子と「RP_FAILED_2」というメッセージ種別とを受信すると、「掃除」という動作指示によって指示された動作の結果が「移動不能のため掃除できなかった」である旨のメッセージを生成する。さらに、「CM001」という動作指示識別子と、「SUCCEEDED」というメッセージ種別と、写真画像データとを受信すると、該写真画像データを埋め込んだ、「写真撮影できた」という旨のメッセージを生成する。
なお、動作の結果を報告する報告メッセージの中に明示される、メッセージの宛て先を報告メッセージ生成部25がどのようにして取得するかについては、後述する。
動作結果取得部24は、外部機器から、動作指示によって指示された動作の結果(エラーコードを含む戻り値)を受けとると、実行状態管理テーブル30のデータを削除する。つまり、動作指示検出部21が検出した動作指示と該動作指示の指示者との組合せが実行状態管理テーブル30に格納されている期間は、動作指示検出部21が動作指示を検出してから、該動作指示によって指示された動作の結果を動作結果取得部24が取得するまでの間である。従って、動作指示によって指示されて外部機器が実行中である動作が無い場合、つまりエージェントサーバ1が外部機器に実行させている動作がないとき、実行状態管理テーブル30にはデータが格納されていない。
報告メッセージ生成部25の機能について、概要を説明すれば、以下の通りである。すなわち、第1に、報告メッセージ生成部25は、指示者登録部22から受信する、動作指示識別子と、ユーザ識別子と、メッセージ種別とに従って、メッセージを生成する。第2に、報告メッセージ生成部25は、動作結果取得部24から受信する、メッセージ種別と、戻り値と、動作指示識別子とに従って、メッセージを生成する。
以下に、報告メッセージ生成部25の機能について、詳細を説明する。
第1に、報告メッセージ生成部25は、上記のように、指示者登録部22から受信する情報に応じて、動作指示検出部21によって特定された指示者が宛て先として明示されたメッセージであって、下記のような内容のメッセージを生成する。すなわち、「動作指示を受け付けました。動作指示によって指示された動作を実行させます」という旨のメッセージ、または「動作実行中なので指示を受け付けることはできない」という旨のメッセージを生成する。
具体的には、指示者登録部22は、実行状態管理テーブル30にデータが格納されていないのを確認すると、指示者登録部22は、以下の情報を報告メッセージ生成部25に送信する。すなわち、動作指示検出部21が検出した動作指示の動作指示識別子と、動作指示検出部21が特定したメンバのユーザ識別子と、「RP_START」というメッセージ種別とを報告メッセージ生成部25に送信する。上記情報を受信すると、報告メッセージ生成部25は、図9に例示する文言テンプレートテーブル34を参照して、上記ユーザ識別子に対応するユーザを宛て先として明記して、上記動作指示識別子に対応する動作指示を受け付けた旨のメッセージを生成する。
また、指示者登録部22は、実行状態管理テーブル30にデータが格納されており、動作指示検出部21によって検出された動作指示と、実行状態管理テーブル30に格納されている動作指示とが同じであるのを確認すると、以下の情報を送信する。すなわち、動作指示検出部21が検出した動作指示の動作指示識別子と、動作指示検出部21が特定したメンバのユーザ識別子と、「RP_BUSY_1」というメッセージ種別とを報告メッセージ生成部25に送信する。上記情報を受信すると、報告メッセージ生成部25は、図9に例示する文言テンプレートテーブル34を参照して、上記ユーザ識別子に対応するユーザを宛て先として明記して、以下の内容のメッセージを生成する。すなわち、「実行状態管理テーブル30において上記動作指示識別子と組み合わせて格納されているメンバのうち、最後に格納されたメンバ以外のメンバから指示され、上記動作指示識別子に対応する動作指示によって指示された動作を実行中である」旨のメッセージを生成する。
なお、前述のように、指示者登録部22は、動作指示検出部21によって検出された動作指示と、実行状態管理テーブル30に既に格納されている動作指示とが同じ場合、ユーザリストの最後に、動作指示検出部21によって特定されたメンバを格納する。従って、報告メッセージ生成部25が上記メッセージを生成するために、実行状態管理テーブル30を参照する際、動作指示検出部21が検出した動作指示と、実行状態管理テーブル30に格納されている動作指示とが同じ場合、以下の事実が成立している。すなわち、「実行状態管理テーブル30に動作指示識別子と組み合わせて格納されているメンバのうち、最後に格納されたメンバ」(つまり、ユーザリストの最後のメンバ)は、動作指示検出部21が(今回)特定したメンバである。
さらに、指示者登録部22は、実行状態管理テーブル30にデータが格納されており、動作指示検出部21によって検出された動作指示と、実行状態管理テーブル30に格納されている動作指示とが異なるのを確認すると、以下の情報を送信する。すなわち、動作指示検出部21が検出した動作指示の動作指示識別子と、動作指示検出部21が特定したメンバのユーザ識別子と、「RP_BUSY_2」というメッセージ種別とを報告メッセージ生成部25に送信する。上記情報を受信すると、報告メッセージ生成部25は、図9に例示する文言テンプレートテーブル34を参照して、上記ユーザ識別子に対応するユーザを宛て先として明記して、以下の内容のメッセージを生成する。すなわち、「実行状態管理テーブル30のメンバリストに格納されているメンバ全員から指示され、実行状態管理テーブル30の動作指示識別子に対応する動作指示によって指示されている動作を実行中である」旨のメッセージを生成する。
なお、前述のように、指示者登録部22は、動作指示検出部21によって検出された動作指示と、実行状態管理テーブル30に既に格納されている動作指示とが異なる場合、動作指示検出部21によって特定されたメンバを、ユーザリストに格納しない。
第2に、報告メッセージ生成部25は、動作結果取得部24が外部機器の動作した結果を取得したとき、該結果についての1つの報告メッセージを作成するとともに、該報告メッセージの宛て先を以下のように決定する。すなわち、上記報告メッセージで結果を報告する動作を指示した動作指示と組み合わされて実行状態管理テーブル30に格納されている指示者のすべてを、上記報告メッセージの宛て先に設定する。
上記のように、動作指示によって指示された動作が終了すると、つまり、動作結果取得部24が動作結果を取得すると、動作結果取得部24は、動作の結果が成功であれば、「RP_SUCCEEDED」というメッセージ種別と戻り値とを、該動作を指示した動作指示の動作指示識別子と一緒に、報告メッセージ生成部25に送信する。また、動作の結果が失敗であれば、「RP_FAILED_エラーコード」というメッセージ種別を、該動作を指示した動作指示の動作指示識別子と一緒に、報告メッセージ生成部25に送信する。
報告メッセージ生成部25は、動作結果取得部24から受信したメッセージ種別と動作指示識別子とに応じて、文言テンプレートテーブル34を参照して、生成すべき報告メッセージの文言を選択する。また、報告メッセージ生成部25は、実行状態管理テーブル30のユーザリストを参照することによって、上記報告メッセージにおいて宛て先として明示するメンバを取得する。つまり、報告メッセージ生成部25は、ユーザリストに格納されている全てのメンバが宛て先として明示された1つのメッセージであって、動作結果取得部24が取得した上記動作結果についての報告メッセージを生成する。
なお、報告メッセージ生成部25は、指示者登録部22および動作結果取得部24から取得する動作指示識別子およびメッセージ種別に一致する文言が文言テンプレートテーブル34に無い場合、メッセージを生成しない。
例えば、「CM003」という動作指示識別子に対応する動作指示は「温度を教えてほしい」、つまり「温度取得」という動作指示である。この「温度取得」という動作指示によって指示された動作の結果は、外部機器から即座に取得できるので、「RP_START」というメッセージ種別に対応する文言は定義されていない。従って、指示者登録部22から、動作指示識別子「CM003」およびメッセージ種別「RP_START」を取得した場合、該動作指示識別子および該メッセージ種別の組合せに一致する文言が文言テンプレートテーブル34に無いので、報告メッセージ生成部25はメッセージを生成しない。
報告メッセージ表示部26は、報告メッセージ生成部25が生成した報告メッセージを、家族伝言板サーバ2に出力して、動作指示検出部21が特定した指示者を宛て先として明記した状態で、該メッセージを家族伝言板に表示させる。
〔各テーブルの内容〕
図1に示す記憶部12には、実行状態管理テーブル30、コマンド名称テーブル31、機器制御テーブル32、コマンド画像テーブル33、文言テンプレートテーブル34、ユーザ名称テーブル35が格納されている。
図5は、動作指示と該動作指示の指示者との組合せを格納している実行状態管理テーブル30のデータ構造および具体例を示す図である。
図6は、動作指示識別子と動作指示の名称との組合せを格納しているコマンド名称テーブル31のデータ構造および具体例を示す図である。
図7は、動作指示識別子と機器制御コードとの組合せを格納している機器制御テーブル32のデータ構造および具体例を示す図である。
図8は、画像IDと動作指示識別子との組合せを格納しているコマンド画像テーブル33のデータ構造および具体例を示す図である。
図9は、動作指示識別子とメッセージ種別と文言との組合せを格納している文言テンプレートテーブル34のデータ構造および具体例を示す図である。
図10は、ユーザ識別子とユーザの名前との組合せを格納しているユーザ名称テーブル35のデータ構造および具体例を示す図である。
実行状態管理テーブル30は、動作指示単位で、該動作指示に対応するメッセージを書き込んだメンバを、指示者として格納しており、つまり、動作指示と、該動作指示を含むメッセージを家族伝言板に書き込んだメンバとを組み合して格納している。より詳細に説明すると、以下の通りである。すなわち、実行状態管理テーブル30は、動作指示検出部21によって動作指示が検出されてから、該動作指示によって指示された動作を外部機器が終了するまでの間、つまり、動作結果取得部24が該動作指示によって指示された動作の結果を取得するまでの間、動作指示検出部21が検出した動作指示と該動作指示の指示者との組合せを格納している。
実行状態管理テーブル30は、図5に示すように、「動作指示識別子フィールド」と、「ユーザリストフィールド」という2つのフィールドを含む。「動作指示識別子フィールド」には、動作指示検出部21が検出した動作指示(より詳細に言うと各動作指示を識別するための動作指示識別子)が格納される。また、「ユーザリストフィールド」には、上記動作指示の指示者、つまり動作指示検出部21が特定した指示者(より詳細に言うと各指示者を識別するためのユーザ識別子)が格納される。
上記のように、実行中の動作がない場合、実行状態管理テーブル30にはデータが格納されていない。実行中の動作がある場合、つまり、実行状態管理テーブル30の「動作指示識別子フィールド」には、現在実行中の動作を指示した動作指示識別子が格納されている。「動作指示識別子フィールド」に格納されている動作指示識別子に対応する動作指示の指示者が、ユーザリストに格納されている。
図5に例示する実行状態管理テーブル30において、動作指示識別子フィールドに「CM001」が、ユーザリストに「U002、U003」が格納されている。「CM001」の動作指示識別子に対応する動作指示が「写真撮影」であり、「U002、U003」のユーザ識別子に対応するメンバが「お母さん、太郎」である時、図5の実行状態管理テーブル30は以下の情報を示している。すなわち、「お母さん」と「太郎」とから、「写真撮影」の実行を指示するメッセージが家族伝言板に書き込まれたこと、「写真撮影」を実行中であること、という2点を示している。
なお、前述のように、指示者登録部22は、動作指示検出部21によって検出された動作指示と、実行状態管理テーブル30に既に格納されている動作指示とが同じ場合、ユーザリストの最後に、動作指示検出部21によって特定されたメンバを格納する。つまり、実行状態管理テーブル30のユーザリストには、上記動作指示を含むメッセージを家族伝言板に書き込んだ順に、該メッセージを書き込んだメンバ(のユーザ識別子)が格納される。従って、実行状態管理テーブル30には、エージェントサーバ1が外部機器に実行させている動作の有無と、実行させている動作がある場合に、該動作を指示する動作指示を含むメッセージを、どのメンバが、どの順で、家族伝言板に書き込んだかという情報とが格納されている。報告メッセージ生成部25は、実行状態管理テーブル30のユーザリストに格納されているメンバが宛て先として明示されたメッセージを生成する。
コマンド名称テーブル31は、動作指示識別子を自然言語に変換するためのテーブルである。
機器制御テーブル32は、各動作指示識別子に対応した機器制御コードを記憶している。外部機器制御部23は、機器制御コードを外部機器に送信することによって、機器制御コードに対応する動作を外部機器に実行させる。
コマンド画像テーブル33は、画像IDと動作指示識別子との対応関係を規定しているが、詳細は後述する。
文言テンプレートテーブル34は、報告メッセージ生成部25が生成するメッセージのテンプレートを格納している。つまり、図9に例示する文言テンプレートテーブル34において各行は、エージェントサーバ1が家族伝言板サーバ2に出力するメッセージ1つ1つを定義している。
文言テンプレートテーブル34の各行において、動作指示識別子フィールドは各メッセージがどの動作指示に関するメッセージであるのかを示しており、メッセージ種別フィールドはメッセージの内容を表す識別子を示している。また、文言フィールドはメッセージの内容を示している。
文言フィールの各行において、大かっこで囲まれたキーワード(例えば、3行目の文言中に示されている“ALL_POSTER”)は、所定の情報に動的に置換される部分を表している。置換のルールは以下の通りである。すなわち、“LAST_POSTER”とは、実行状態管理テーブル30のユーザリストに最後に格納されたユーザ識別子に対応するメンバを示している。また、“FIRST_POSTER”は、ユーザリストに最初に格納されたメンバを示しており、“ALL_POSTERS”は、ユーザリストに格納されている全てのメンバを示している。さらに、“ALL_POSTERS−LAST_POSTER”は、ユーザリストに格納されているメンバのうち、最後に格納されたメンバを除く全員を示している。また、“Now_POSTER”は、ユーザリストに格納されていなく、かつ、動作指示検出部21が今回の動作指示の指示者として特定したメンバである。
なお、“CMD_NAME”とは、実行状態管理テーブル30に格納されている動作指示識別子に対応した動作指示の名称であり、コマンド名称テーブル31が、動作指示識別子と動作指示の名称との組合せを格納している。また、“RETURN_VAL”は戻り値を指している。
なお、図9に例示する文言テンプレートテーブル34において、「CMXXX」および「CMYYY」という2つの動作指示識別子に対応する行が格納されている。この「CMXXX」および「CMYYY」は、任意の動作指示識別子を意味している。すなわち、報告メッセージ生成部25は、「RP_BUSY_1」または「RP_BUSY_1」というレポート種別と組み合わせて、任意の動作指示識別子を受信すると、「RP_BUSY_1」または「RP_BUSY_1」に対応する文言を、選択する。
また、上記のように、「RP_BUSY_1」および「RP_BUSY_1」という2つのレポート種別は、「“ALL_POSTER”に頼まれて今“CMD_NAME”中だよ!もうちょっと待ってね」という文言が対応付けられた「RP_BUSY」という1つのメッセージ種別に統一されてもよい。すなわち、指示者登録部22は、実行状態管理テーブル30にデータが格納されている場合には、動作指示検出部21によって検出された動作指示と、実行状態管理テーブル30に格納されている動作指示とが同じであるか否かに関わらず、該動作指示の動作指示識別子と、メッセージ種別「RP_BUSY」とを、報告メッセージ生成部25に送信するとしてもよい。
ユーザ名称テーブル35は、実行状態管理テーブル30等のユーザリストにおけるユーザ識別子を、実際のメンバ名に変換するためのテーブルである。
なお、上記に説明した記憶部12に格納されている各テーブルのデータは、ユーザが変更することができる。
例えば、文言テンプレートテーブル34における各行の文言中の“ALL_POSTER”、“LAST_POSTER”、“Now_POSTER”などを適宜変更することによって、メッセージ中に宛て先として明示されるメンバを変更することができる。
具体的には、図9の文言テンプレートテーブル34では、動作の実行が失敗した場合(つまり、メッセージ種別が「PR_FAILED_」で始まる種別である場合)、“ALL_POSTER”をメッセージの宛て先としている。しかし、この“ALL_POSTER”を、“FIRST_POSTER”(つまり、ユーザリストの最初に格納されているメンバ)に変更することで、動作の実行が失敗した場合のメッセージに宛て先として明示されるメンバを以下のように変更することができる。すなわち、動作の実行が失敗した場合のメッセージについて、明示される宛て先を、「該動作を指示する動作指示を含むメッセージを最初に家族伝言板に書き込んだメンバ」のみにすることができる。
同様に、図9の文言テンプレートテーブル34の「CMXXX」という動作指示識別子に対応する文言における、“ALL_POSTER−LAST_POSTER”を、“FIRST_POSTER”に変更することで、「実行中の動作を指示した動作指示を含むメッセージを最初に家族伝言板に書き込んだメンバ」から指示されて動作を実行中であることを伝えることができるようになる。
〔エージェントサーバ1の処理の概要〕
次に、エージェントサーバ1の処理の概要について説明する。
図3は、エージェントサーバ1の処理の流れを示すフローチャートである。
まず、動作指示検出部21は、メッセージ取得部20が家族伝言板サーバ2から取得したメッセージから、動作指示を検出し、指示者を特定する(S001)。
次に、指示者登録部22は、実行状態管理テーブル30にデータが格納されていない否かを判定する。(S002)。
実行状態管理テーブル30にデータが格納されていない場合(S002でYes)、指示者登録部22は、実行状態管理テーブル30に、動作指示検出部21が検出した動作指示と、特定した指示者とを格納する(S003)。実行状態管理テーブル30にデータが格納されていない場合、指示者登録部22はさらに、動作指示検出部21が検出した動作指示を外部機器制御部23に送信するとともに、該動作指示と該動作指示の指示者とメッセージ種別「RP_START」とを報告メッセージ生成部25に送信する。
外部機器制御部23は、指示者登録部22から動作指示を受信すると、該動作指示と、機器制御テーブル32とから、対応する外部機器に、機器制御コードを送信する(S004)。
報告メッセージ生成部25は、指示者登録部22から、動作指示と該動作指示の指示者とメッセージ種別「RP_START」とを受信すると、文言テンプレートテーブル34を参照して、動作指示を受け付けた旨のメッセージを生成する。なお、報告メッセージ生成部25は、指示者登録部22から受信した指示者を、つまり動作指示検出部21が特定した指示者を、宛て先として明記して、動作指示を受け付けた旨の上記メッセージを生成する。そして、報告メッセージ生成部25は、生成した報告メッセージを報告メッセージ表示部26に送信する。報告メッセージ表示部26は、報告メッセージ生成部25が作成したメッセージを、家族伝言板サーバ2に送信する(S005)。
その後、動作結果取得部24は、外部機器から、上記動作指示によって指示された動作の結果を取得すると(S006でYes)、該動作結果を報告メッセージ生成部25に送信する。
報告メッセージ生成部25は、動作結果取得部24から外部機器の動作結果を取得すると、1つの報告メッセージを作成するとともに、該報告メッセージで結果を報告する動作を指示した動作指示と組み合わされて上記記憶部に格納されている指示者のすべてを、該報告メッセージの宛て先に設定する。具体的には、実行状態管理テーブル30のユーザリストに格納されている全てのメンバを宛て先として明示して、動作結果取得部24から取得した動作結果についての1つの報告メッセージを生成する。報告メッセージ表示部26は、報告メッセージ生成部25が作成した上記報告メッセージを、家族伝言板サーバ2に送信する(S007)。
動作結果取得部24は、外部機器から動作の結果を取得するとさらに、該動作を指示した動作指示を格納している実行状態管理テーブル30のデータを削除する(S008)。なお、前述のように、報告メッセージ生成部25は、実行状態管理テーブル30を参照して報告メッセージ中に宛て先として明示するメンバを取得する。従って、動作結果取得部24による実行状態管理テーブル30のデータ削除は、報告メッセージ生成部25による上記報告メッセージの生成後に実行される。
動作結果取得部24が外部機器から動作結果を取得しない間(S006でNo)、動作結果取得部24は、外部機器からの動作結果の送信を待っている。
実行状態管理テーブル30に既にデータが格納されている場合(S002でNo)、指示者登録部22は、実行状態管理テーブル30に格納されている動作指示と、動作指示検出部21が検出した動作指示とが同じであるかを判定する(S009)。
実行状態管理テーブル30に格納されている動作指示と、動作指示検出部21が検出した動作指示とが同じである場合(S009でYes)、指示者登録部22は、実行状態管理テーブル30に既に格納されている動作指示に組み合わされる指示者に、動作指示検出部21が特定した指示者を追加する。つまり、実行状態管理テーブル30のユーザリストに、動作指示検出部21が特定した指示者を追加する(S010)。従って、実行状態管理テーブル30において、動作指示検出部21が今回特定した指示者はユーザリストの最後に格納される。また、指示者登録部22は、報告メッセージ生成部25に、動作指示検出部21が検出した動作指示と該動作指示の指示者とメッセージ種別「RP_BUSY_1」とを送信する。
報告メッセージ生成部25は、指示者登録部22から動作指示と該動作指示の指示者とメッセージ種別「RP_BUSY_1」とを受信し、実行状態管理テーブル30と文言テンプレートテーブル34とを参照して、以下のメッセージを生成する。すなわち、動作指示検出部21が特定した指示者を宛て先として明記して、「実行状態管理テーブル30に格納されている動作指示を、該動作指示に組み合わされて格納されている指示者のうち、最後に格納された指示者(つまり動作指示検出部21が今回特定した指示者)を除く全員から指示されて、実行中である」旨のメッセージを生成する。そして、報告メッセージ生成部25は、生成した上記メッセージを報告メッセージ表示部26に送信する。報告メッセージ表示部26は、報告メッセージ生成部25が作成したメッセージを、家族伝言板サーバ2に送信する(S011)。
実行状態管理テーブル30に格納されている動作指示と、動作指示検出部21が検出した動作指示とが異なる場合(S009でNo)、指示者登録部22は、報告メッセージ生成部25に、動作指示検出部21が検出した動作指示と該動作指示の指示者とメッセージ種別「RP_BUSY_2」とを送信する。報告メッセージ生成部25は、指示者登録部22から上記動作指示と上記指示者とメッセージ種別「RP_BUSY_2」とを受信し、文言テンプレートテーブル34を参照して、以下のメッセージを生成する。すなわち、「実行状態管理テーブル30に格納されている動作指示を、該動作指示に組み合わされて格納されている指示者から指示され、実行中である」旨のメッセージを、動作指示検出部21が特定した指示者を宛て先として明記して、生成する。報告メッセージ表示部26は、報告メッセージ生成部25が作成したメッセージを、家族伝言板サーバ2に送信する(S012)。
〔発言フローについて〕
次に、家族伝言板における、図4に示すエージェントサーバ1とお母さん(家族のメンバ)1人とのメッセージのやり取りを用いて、エージェントサーバ1の処理の流れについて、具体的に説明する。
図4は、家族伝言板における、エージェントサーバ1とお母さん(家族のメンバ)1人とのメッセージのやり取りを時系列で示す図である。なお、図4に示すメッセージのやり取りにおいて、お母さんが、携帯端末4を用いて、家族伝言板に「写真撮ってね」というメッセージを書き込む前に、エージェントサーバ1が外部機器に実行させている動作はないものとする。つまり、お母さんが上記メッセージを書き込んだ時点で、実行状態管理テーブル30にはデータが格納されていないものとする。
図4に示すように、14時05分にお母さんが「写真撮ってね」というメッセージを家族伝言板に書き込むと、メッセージ取得部20は、家族伝言板サーバ2から、お母さんの該メッセージを取得する。具体的には、例えば{“poster”:”U002”,”text”:”写真撮ってね”,”image_ID”:””}といったJSON形式で、メッセージ取得部20は、家族伝言板サーバ2からメッセージを取得する。なお、「U002」は、図10のユーザ名称テーブル35に示すように、「お母さん」を表すユーザ識別子である。そして、メッセージ取得部20は、上記メッセージを動作指示検出部21に送信する。
動作指示検出部21は、メッセージ取得部20から上記メッセージを受信すると、上記メッセージから動作指示を検出するとともに、該動作指示の指示者を特定する。すなわち、上記メッセージから、掃除ロボット5に「写真撮影」を実行させるという動作指示を検出し、「お母さん」(ユーザ識別子「U002」)という指示者を特定する。そして、動作指示検出部21は、検出した動作指示の動作指示識別子と、特定した指示者のユーザ識別子とを、指示者登録部22に送信する。図6に例示するコマンド名称テーブル31に示すように、「写真撮影」という動作指示に対応する動作指示識別子は「CM001」である。また、「お母さん」のユーザ識別子は「U002」である。従って、動作指示検出部21は、「CM001」という動作指示識別子と、「U002」というユーザ識別子とを、指示者登録部22に送信する。
指示者登録部22は、先ず、実行状態管理テーブル30に既に格納されているデータがあるか否かを確認する。なお、上記のように、お母さんが上記メッセージを書き込んだ時点で、エージェントサーバ1が外部機器に実行させている動作はなく、つまり、実行状態管理テーブル30に格納されているデータはない。
データが格納されていないのを確認すると、指示者登録部22は、実行状態管理テーブル30に、動作指示検出部21から受信した動作指示と指示者とを格納する。具体的には、実行状態管理テーブル30の動作指示識別子フィールドに「CM001」を、ユーザリストに「U002」を格納する。
指示者登録部22は、実行状態管理テーブル30にデータが格納されていないのを確認するとさらに、動作指示検出部21が検出した動作指示を外部機器制御部23に送信するとともに、該動作指示と該動作指示の指示者とを報告メッセージ生成部25に送信する。具体的には、指示者登録部22は、報告メッセージ生成部25に、以下の情報を送信する。すなわち、動作指示検出部21が検出した動作指示の動作指示識別子である「CM001」と、動作指示検出部21が特定したメンバのユーザ識別子とである「U002」と、「RP_START」というメッセージ種別とを送信する。
報告メッセージ生成部25は、指示者登録部22から取得した動作指示識別子「CM001」とメッセージ種別「RP_START」との組合せに対応付けられている文言を、図9の文言テンプレートテーブル34から読み出す。その結果、報告メッセージ生成部25は、生成するメッセージの文言として、「“FIRST_POSTER”、わかった!」を選択する。
報告メッセージ生成部25は、“FIRST_POSTER”に該当するユーザ識別子を、実行状態管理テーブル30を参照して取得する。すなわち、実行状態管理テーブル30のユーザリストに最初に格納されているユーザ識別子「U002」を、“FIRST_POSTER”として取得する。そして、図10のユーザ名称テーブル35を参照して、ユーザ識別子「U002」に対応するユーザの名前として「お母さん」を取得し、「お母さん、わかった!」というメッセージを生成する。
報告メッセージ表示部26は、報告メッセージ生成部25が生成した上記メッセージを家族伝言板サーバ2に送信し、家族伝言板には、14時05分にロボ(掃除ロボット5)が書き込んだメッセージとして、「お母さん、わかった!」が表示される。
指示者登録部22が、動作指示検出部21が検出した動作指示を、つまり、「CM001」という動作指示識別子を、外部機器制御部23に送信すると、外部機器制御部23は以下の処理を行う。すなわち、外部機器制御部23は、図7に例示する機器制御テーブル32を参照して、「CM001」という動作指示識別子に対応する機器制御コード「GET_PICTURE」を読み出す。また、外部機器制御部23は、機器制御コード「GET_PICTURE」に対応する外部機器として、掃除ロボット5を選択する。そして、外部機器制御部23は、機器制御コード「GET_PICTURE」を、掃除ロボット5(実際にはホームサーバ3)に送信する。
掃除ロボット5は、機器制御コード「GET_PICTURE」を受信すると、「写真撮影」を実行し、「写真撮影」という動作の結果を、ホームサーバ3を介して、エージェントサーバ1に送信する。
動作結果取得部24は、掃除ロボット5からの「写真撮影」が成功したという動作の結果を受信する。その際、掃除ロボット5が「写真撮影」した写真画像データを送信した場合には、これも受信する。
そして、動作結果取得部24は、「RP_SUCCEEDED」というメッセージ種別と、戻り値として上記写真画像データと、「写真撮影」という動作指示の動作指示識別子報告である「CM001」とを、報告メッセージ生成部25に送信する。
報告メッセージ生成部25は、「CM001」という動作指示識別子と、「RP_SUCCEEDED」というメッセージ種別を基に、図9に例示する文言テンプレートテーブル34を参照して、作成すべき文言を選択する。具体的には、「“ALL_POSTER”、写真撮ったよ!」という文言を選択する。また、“ALL_POSTER”を実際のメンバ名に置換するため、まずは、実行状態管理テーブル30のユーザリストに格納されている全てのメンバのユーザ識別子を取得する。実行状態管理テーブル30のユーザリストには「U002」というユーザ識別子が格納されているので、報告メッセージ生成部25はこれを取得し、図10に例示するユーザ名称テーブル35を参照して、下記のメッセージを生成する。すなわち、「お母さん、写真撮ったよ!」というメッセージを生成する。
また、動作結果取得部24から掃除ロボット5の「写真撮影」した写真画像データを受信していた場合、報告メッセージ生成部25は、上記「お母さん、写真撮ったよ!」という報告メッセージに、該写真画像データを添付してもよい。
報告メッセージ表示部26は、報告メッセージ生成部25が生成した「お母さん、写真撮ったよ!」という上記報告メッセージを、家族伝言板サーバ2に出力して、該メッセージを家族伝言板に表示させる。
その結果、家族伝言板には、図4に示すように、14時09分にロボ(掃除ロボット5)が書き込んだメッセージとして、「お母さん、写真撮ったよ!」という報告メッセージが表示される。すなわち、「写真撮影」という動作指示を含むメッセージ(「写真撮ってね」)を書き込んだメンバ(お母さん)が宛て先に明示された状態で、該動作の結果を報告する報告メッセージが、家族伝言板に書き込まれる。なお、図面を簡略化するため、掃除ロボット5の「写真撮影」した写真画像データについては、図4には示していない。
その後、動作結果取得部24は、実行状態管理テーブル30に格納されている、「写真撮影」という動作指示の動作指示識別子「CM001」と、該動作指示と組み合わされて格納されている指示者のユーザ識別子「U002」とを、削除する。
以上のようにして、掃除ロボット5の代理としてエージェントサーバ1が家族伝言板に書き込むメッセージは、メッセージの宛て先がメッセージ中に明示されている。そのため、家族の各メンバは、ロボ(掃除ロボット5)が書き込んだメッセージが、どのメンバに宛てたメッセージであるのかを、容易に確認することができる。
なお、エージェントサーバ1が家族伝言板に書き込むメッセージ中に明記されるメッセージの宛て先は、図4に示すように、メッセージの文頭に置かれることが望ましい。つまり、エージェントサーバ1は、「写真撮ったよ、お母さん!」ではなく、「お母さん、写真撮ったよ!」と、家族伝言板に書き込む方が望ましい。メッセージの宛て先を、メッセージの文頭に明示することにより、メンバは、該メッセージの内容を読むことなく、誰宛てのメッセージであるのかを容易に知ることができる。
なお、上記までの説明では、エージェントサーバ1は、記憶部12と、指示者登録部22と、を備えるものとした。しかし、1人の指示者を宛て先として明示して、該指示者が指示した外部機器の動作の結果を報告する1つの報告メッセージを、家族伝言板に表示させるのであれば、記憶部12と、指示者登録部22とは必須ではない。すなわち、動作指示検出部21は、外部機器を操作するための動作指示を検出するとともに、該メッセージを書き込んだメンバを該動作指示の指示者として特定し、該指示者を報告メッセージ生成部25に通知する。報告メッセージ生成部25は、動作指示検出部21が特定した指示者を宛て先として明示して、動作結果取得部24が取得する動作結果を報告する報告メッセージを生成すればよい。こうすることで、エージェントサーバ1は、動作指示検出部21が特定した指示者を宛て先として明示して、動作指示検出部21が検出した動作指示の結果を報告する報告メッセージを、家族伝言板に表示することができる。
以上に説明したように、エージェントサーバ1は、動作指示の動作結果を伝えるべきメンバを、動的に変更することができる。すなわち、複数のメンバが参加可能な掲示板へ書き込む報告メッセージの宛て先を、状況に応じて決定することができる。より具体的には、外部機器の動作の結果を報告する報告メッセージを、該動作を指示する動作指示を含むメッセージを家族書き込んだメンバを宛て先として明示して、家族伝言板に表示させることができる。外部機器の動作の結果を報告する報告メッセージの宛て先を、固定的にではなく、状況に応じて決定することができ、特に、該動作を指示する動作指示を含むメッセージを家族書き込んだメンバを宛て先として明示することができる。従って、メンバが書き込んだメッセージを時系列に沿って表示し、複数のメンバが該メッセージを閲覧するコミュニケーションサービスにおいて、各メンバは、メッセージの宛て先を容易に確認することができる。
〔実施形態2〕
上記までに、家族伝言板において、お母さんとエージェントサーバ1との間で、動作指示を含むメッセージと、該動作指示によって指示された動作の結果についてのメッセージとがやり取りされる例を説明した。
以下では、複数のメンバから、動作指示を含むメッセージが家族伝言板に書き込まれる場合の、エージェントサーバ1の処理について説明する。
前述の通り、エージェントサーバ1は、動作指示検出部21によって上記動作指示が検出されてから、該動作指示によって指示された動作を掃除ロボット5(外部機器)が終了するまでの間、動作指示検出部21(動作指示検出手段)が検出した上記動作指示と該動作指示の指示者との組合せを格納している実行状態管理テーブル30を格納している記憶部12と、動作指示検出部21が動作指示を検出したとき、該動作指示が実行状態管理テーブル30に既に格納されている動作指示と同じであるか否かを判定し、同じである場合には、実行状態管理テーブル30に既に格納されている動作指示に組み合わされる指示者に、動作指示検出部21が特定した指示者を追加する指示者登録部22(指示者登録手段)と、を備え、報告メッセージ生成部25は、動作結果取得部24が上記外部機器の動作した結果を取得したとき、1つの報告メッセージを作成するとともに、該報告メッセージで結果を報告する動作を指示した動作指示と組み合わされて実行状態管理テーブル30に格納されている指示者のすべてを、該報告メッセージの宛て先に設定する。
エージェントサーバ1は、実行状態管理テーブル30と、指示者登録部22とを備えることによって、同じ動作指示を含む異なるメッセージを複数のメンバが家族伝言板に書き込んだ場合に、該複数のメンバを宛て先に明示して、該動作指示の結果を報告する1つの報告メッセージを家族伝言板に表示させることができる。より正確には、或るメンバが家族伝言板に書き込んだメッセージから動作指示検出部21が最初に動作指示を検出してから、動作結果取得部24が該動作指示によって指示された動作の結果を取得するまでの間、該動作指示と同じ動作指示を含むメッセージを、他のメンバが家族伝言板に書き込むと、エージェントサーバ1は、該或るメンバと、該他のメンバとを宛て先に明示して、該動作指示の結果を報告する報告メッセージを家族伝言板に表示させることができる。
以下に、複数のメンバから、同一の動作指示を含むメッセージが、該動作指示の動作結果取得前に、家族伝言板に書き込まれた場合、該動作指示の結果についてのメッセージを、該複数のメンバを宛て先として明示した1つのメッセージを、家族伝言板に書き込むエージェントサーバ1の処理の内容について説明する。
図11は、家族伝言板における、エージェントサーバ1と家族の複数のメンバとのメッセージのやり取りを時系列で示す図である。
図12は、エージェントサーバ1が、図11に示すメッセージのやり取りをどのように実行しているかを時系列で示す図である。
なお、図11、12に示すメッセージのやり取りにおいて、お母さんが、携帯端末4を用いて、家族伝言板に「写真撮ってね」というメッセージを書き込む前に、エージェントサーバ1が外部機器に実行させている動作はないものとする。つまり、お母さんが上記メッセージを書き込んだ時点で、実行状態管理テーブル30にはデータが格納されていないものとする。
図11において、14時05分にお母さんが「写真撮ってね」というメッセージを書き込んでから、14時05分に「お母さん、わかった!」というロボからのメッセージが家族伝言板に表示されるまでの処理は、実施形態1と同じなので省略する。
太郎が「写真撮ってね」というメッセージを14時06分に書き込む時点で、エージェントサーバ1がお母さんからの上記メッセージを処理することによって、実施形態1において説明したように、実行状態管理テーブル30には下記の情報が格納されている。すなわち、実行状態管理テーブル30には、「写真撮影」という動作指示と、該動作指示と組み合わされる指示者として「お母さん」とが格納されている。具体的には、実行状態管理テーブル30の動作指示識別子フィールドには「CM001」が、ユーザリストには「U002」が格納されている。
また、太郎による上記書込みの時点で、外部機器制御部23は掃除ロボット5(実際にはホームサーバ3)への機器制御コード「GET_PICTURE」の送信を終えているが、動作結果取得部24は、「写真撮影」という動作指示によって指示された動作の結果を掃除ロボット5から未だ受信していないものとする。
動作結果取得部24が「写真撮影」という動作指示によって指示された動作の結果を取得していない時点で、太郎が「写真撮ってね」というメッセージを14時06分に家族伝言板に書き込むと、エージェントサーバ1は下記の処理を実行する。
すなわち、先ずメッセージ取得部20が、家族伝言板サーバ2から、例えば{“poster”:”U003”,”text”:”写真撮ってね”,”image_ID”:””}といったJSON形式で、太郎の上記メッセージを取得する。なお、「U003」は「太郎」を表すユーザ識別子である。そして、メッセージ取得部20は、上記メッセージを動作指示検出部21に送信する。
動作指示検出部21は、メッセージ取得部20から上記メッセージを受信すると、「写真撮影」という動作指示(動作指示識別子「CM001」)を検出し、また、該動作指示の指示者として「太郎」(ユーザ識別子「U003」)を特定する。そして、動作指示検出部21は、「CM001」という動作指示識別子と、「U003」というユーザ識別子とを、指示者登録部22に送信する。
指示者登録部22は、先ず、実行状態管理テーブル30に既に格納されているデータがあるか否かを確認する。上記のように、太郎が上記メッセージを書き込んだ時点で、実行状態管理テーブル30には、「写真撮影」という動作指示(動作指示識別子「CM001」)と、該動作指示に組み合わされる指示者として「お母さん」(ユーザ識別子「U002」)と、が格納されている。より具体的には、実行状態管理テーブル30の動作指示識別子フィールドには「CM001」が、ユーザリストには「U002」が格納されている。
実行状態管理テーブル30に既にデータが格納されているのを確認すると、指示者登録部22は、動作指示検出部21が今回検出した動作指示と、実行状態管理テーブル30に既に格納されている動作指示とが同じであるか否かを判定する。
動作指示検出部21が今回検出した動作指示の動作指示識別子は「CM001」であり、実行状態管理テーブル30の動作指示識別子フィールドに格納されている動作指示識別子「CM001」である。従って、指示者登録部22は、動作指示検出部21が今回検出した動作指示と、実行状態管理テーブル30に既に格納されている動作指示とが同じであると判定する。
指示者登録部22は、同じであると判定すると、動作指示検出部21が今回特定した指示者を、実行状態管理テーブル30に既に格納されている動作指示に組み合わされる指示者に追加する。具体的には、実行状態管理テーブル30のユーザリストの最後に「U003」を追加する。従って、実行状態管理テーブル30のユーザリストには、図5に例示するように、「U002」の次に、「U003」が格納される。つまり、実行状態管理テーブル30のユーザリストに格納されているユーザ識別子の順序は、動作指示識別子フィールドに格納されている動作指示識別子に該当する動作指示を含むメッセージを、家族伝言板に書き込んだメンバの順序である。
指示者登録部22はさらに、動作指示検出部21が今回検出した動作指示および今回特定した指示者と、「RP_BUSY_1」というメッセージ種別とを報告メッセージ生成部25に送信する。具体的には、指示者登録部22は、動作指示識別子「CM001」と、ユーザ識別子「U003」と、メッセージ種別「RP_BUSY_1」とを報告メッセージ生成部25に送信する。
報告メッセージ生成部25は、指示者登録部22から取得した動作指示識別子「CM001」とメッセージ種別「RP_BUSY_1」との組合せに対応付けられている文言を、図9の文言テンプレートテーブル34から読み出す。その結果、報告メッセージ生成部25は、生成するメッセージの文言として、「“LAST_POSTER”、“ALL_POSTER−LAST_POSTER”に頼まれて今“CMD_NAME”中だよ!もうちょっと待ってね。」を選択する。
報告メッセージ生成部25は、“LAST_POSTER”および“ALL_POSTER−LAST_POSTER”に該当するユーザ識別子を、実行状態管理テーブル30を参照して取得する。すなわち、実行状態管理テーブル30のユーザリストに最後に格納されているユーザ識別子「U003」を、“LAST_POSTER”のユーザ識別子として取得する。また、実行状態管理テーブル30のユーザリストに格納されている全てのユーザ識別子「U002」および「U003」を“ALL_POSTER”のユーザ識別子として取得する。従って、“ALL_POSTER−LAST_POSTER”に該当するユーザ識別子として、「U002」を取得する。
また報告メッセージ生成部25は、“CMD_NAME”に該当する動作指示識別子を、実行状態管理テーブル30を参照して取得する。すなわち、実行状態管理テーブル30の動作指示識別子フィールドに格納されている動作指示識別子「CM001」を、“CMD_NAME”の動作指示識別子として取得する。そして、図6に例示するコマンド名称テーブル31を参照して、動作指示識別子「CM001」に該当する動作の名前として「写真撮影」を取得する。
さらに、報告メッセージ生成部25は、図10のユーザ名称テーブル35を参照して、ユーザ識別子「U002」、「U003」に対応するユーザの名前として「お母さん」、「太郎」を取得する。また、“CMD_NAME”として「写真撮影」を取得する。
従って、報告メッセージ生成部25は、「太郎、お母さんに頼まれて今写真撮影中だよ!もうちょっと待ってね。」というメッセージを生成する。
報告メッセージ表示部26は、報告メッセージ生成部25が生成した上記メッセージを家族伝言板サーバ2に送信する。その結果、家族伝言板には、14時08分にロボ(掃除ロボット5)が書き込んだメッセージとして、「太郎、お母さんに頼まれて今写真撮影中だよ!もうちょっと待ってね。」が表示される。
実施形態1で説明したように、掃除ロボット5は、外部機器制御部23から機器制御コード「GET_PICTURE」を受信すると、「写真撮影」を実行し、「写真撮影」という動作の結果を、ホームサーバ3を介して、エージェントサーバ1に送信する。
掃除ロボット5は、「写真撮影」しようとして「撮影失敗」した場合、掃除ロボット5は、「1」というエラーコードを、「写真撮影」という動作指示の動作指示識別子(CM001)と共に、エージェントサーバ1に送信する。
掃除ロボット5から上記の情報を受信すると、動作結果取得部24は、「RP_FAILED_エラーコード」というメッセージ種別と、つまり「RP_FAILED_1」というメッセージ種別と、動作指示識別子「CM001」とを、報告メッセージ生成部25に送信する。
報告メッセージ生成部25は、「CM001」という動作指示識別子と、「RP_FAILED_1」というメッセージ種別を基に、図9に例示する文言テンプレートテーブル34を参照して、作成すべき文言を選択する。具体的には、「“ALL_POSTER”、写真撮れなかったよ!」という文言を選択する。また、“ALL_POSTER”を実際のメンバ名に置換するため、実行状態管理テーブル30のユーザリストに格納されている全てのメンバのユーザ識別子を取得する。実行状態管理テーブル30のユーザリストには「U002」および「U003」というユーザ識別子が格納されているので、報告メッセージ生成部25はこれを取得し、図10に例示するユーザ名称テーブル35を参照して、下記のメッセージを生成する。すなわち、「お母さん、太郎、写真撮れなかったよ!」というメッセージを生成する。
報告メッセージ表示部26は、報告メッセージ生成部25が生成した上記報告メッセージを、家族伝言板サーバ2に出力する。その結果、図11に示すように、家族伝言板には、14時16分にロボ(掃除ロボット5)が書き込んだメッセージとして、「お母さん、太郎、写真撮れなかったよ!」が家族伝言板に表示される。すなわち、「写真撮影」という動作指示を含むメッセージ(「写真撮ってね」)を書き込んだメンバ(お母さん、太郎)が宛て先に明示された状態で、該動作の結果を報告する報告メッセージが、家族伝言板に書き込まれる。
その後、動作結果取得部24は、実行状態管理テーブル30に格納されている、「写真撮影」という動作指示の動作指示識別子「CM001」と、該動作指示と組み合わされて格納されている指示者のユーザ識別子「U002」および「U003」とを、削除する。
なお、上記の例では、お母さんと太郎とは共に「写真撮ってね」というメッセージを家族伝言板に書き込む例を説明した。しかし、同じ「写真撮影」という動作指示を含むメッセージであれば、お母さんと太郎とが家族伝言板に書き込むメッセージは表現が異なっていても、エージェントサーバ1は上記に説明した動作を実行することができる。すなわち、お母さんは「写真撮ってね」というメッセージを、太郎は「部屋の中をカメラで写しておいて」というメッセージを、書き込んだ場合であってもよい。動作指示検出部21がこれら2つのメッセージから、「写真撮影」という同じ動作指示を検出した場合には、エージェントサーバ1は、「写真撮影」という動作指示の結果を報告する1つの報告メッセージであって、お母さんと太郎とが宛て先として明示されたメッセージを、家族伝言板に表示させることができる。
以上のようにして、掃除ロボット5の代理としてエージェントサーバ1が家族伝言板に書き込むメッセージは、メッセージの宛て先がメッセージ中に明示されている。エージェントサーバ1は、同じ動作指示を含む異なるメッセージを複数のメンバが家族伝言板に書き込んだ場合に、該複数のメンバを宛て先に明示して、該動作指示の結果を報告する1つの報告メッセージを家族伝言板に表示させることができる。従って、エージェントサーバ1は、宛て先を明示した効率的な報告メッセージを生成することができる。
〔実施形態3〕
エージェントサーバ1は、動作指示検出部21(動作指示検出手段)が、家族伝言板(コミュニケーションサービス)に上記メンバが書き込んだメッセージに含まれる画像から、上記動作指示を検出するとともに、該メッセージを書き込んだメンバを該動作指示の指示者として特定してもよい。
図13は、家族伝言板に、メンバが書き込んだメッセージに画像が含まれる場合の、エージェントサーバ1とメンバとのメッセージのやり取りを時系列で示す図である。
図13に示すように、お母さんが「写真撮ってね」というメッセージとともに、「写真撮影」という動作指示を含意する画像を家族伝言板に書き込むと、メッセージ取得部20は、家族伝言板サーバ2から、お母さんの該メッセージを取得する。具体的には、例えば{“poster”:“U001”, “text”:“写真撮ってね”, “image_ID”:“SEAL_101”}といったJSON形式で、メッセージ取得部20は、家族伝言板サーバ2からメッセージを取得する。
ここで、“image_ID”はメッセージに添付された画像IDを表す。画像IDとは、携帯端末4のアプリケーションに組み込まれた画像を一意に特定するためのIDであって、家族伝言板サーバ2に出力するメッセージに付加することによって、画像つきのメッセージを家族伝言板サーバ2に出力することができるものである。
動作指示検出部21は、メンバからのメッセージが、図8に例示するコマンド画像テーブル33に格納されている画像IDを含んでいないかを確認する。メッセージにコマンド画像テーブル33に格納されている画像IDが含まれている場合、動作指示検出部21は、指示者登録部22に、該メッセージを書き込んだメンバのユーザ識別子と、該画像IDに該当する動作指示識別子とを送信する。具体的には、図8のコマンド画像テーブル33には、「SEAL_101」には「CM001」という動作指示識別子が対応付けられている。従って、動作指示検出部21は、ユーザ識別子「U002」と、動作指示識別子「CM001」とを、指示者登録部22に送信する。
また、メンバからのメッセージにコマンド画像テーブル33に格納されている画像IDが含まれている場合、動作指示検出部21は、該画像IDに該当する動作指示識別子を、つまり動作指示識別子「CM001」を、外部機器制御部23に送信する。
動作指示検出部21(動作指示検出手段)は、家族伝言板にメンバが書き込んだメッセージに含まれる画像から、動作指示を検出することができるため、メンバは家族伝言板に「動作指示」を含むメッセージをテキスト形式で書き込む必要がない。すなわち、メンバは、テキスト形式で「動作指示」を含むメッセージを書き込む必要がない。或る動作指示を含意することが予めエージェントサーバ1との間で決められている画像を家族伝言板に書き込むことで、メンバは、エージェントサーバ1に該動作指示を実行させ、該動作指示の結果についての報告メッセージを、家族伝言板に表示させることができる。
また、エージェントサーバ1は、図13に示すように、報告メッセージの宛て先を、メンバを識別可能な画像によって表示してもよい。すなわち、報告メッセージ表示部26が、上記メッセージの上記宛て先を、上記メンバを識別可能な画像によって、家族伝言板(コミュニケーションサービス)に表示させてもよい。エージェントサーバ1は、文字よりもより容易に各メンバに各メンバを直感的に識別させることのできる画像を、報告メッセージの宛て先として明示することができる。メンバは、メッセージに表示されている画像を見ることによって、文字で書かれたメッセージを読むよりもより容易に、誰宛てのメッセージであるのかを認識することができる。
さらに、エージェントサーバ1は、図13に示すように、報告メッセージにおいて示そうとする、指示動作によって指示された動作の結果を、該動作の結果を示す画像によって表示してもよい。すなわち、報告メッセージ表示部26が、上記動作の結果を、上記動作の結果を示す画像によって、家族伝言板(コミュニケーションサービス)に表示させてもよい。エージェントサーバ1は、文字よりもより容易に各メンバに動作の結果を直感的に知らせることのできる画像を用いて、指示された動作の結果を報告することができる。メンバは、メッセージに表示されている画像を見ることによって、文字で書かれたメッセージを読むよりもより容易に、指示した動作の結果を認識することができる。
〔実施形態4〕
エージェントサーバ1において、掃除ロボット5(外部機器)は、さらに別の装置、例えば空調装置6の動作を制御し、動作指示検出部21は、掃除ロボット5を操作して、掃除ロボット5に、上記別の装置の動作を制御させるための動作指示を検出する。
図14は、エージェントサーバ1が、外部機器によって制御される被制御機器の動作結果を、家族伝言板に書き込む場合の、エージェントサーバとメンバとのメッセージのやり取りを時系列で示す図である。
動作指示検出部21は、お母さんが家族伝言板に書き込んだメッセージである「いま、何度かしら?」から、「空調装置6に、室内の温度を検知させる」という掃除ロボット5への動作指示を検出する。具体的には、「温度取得」(動作指示識別子「CM003」)という動作指示を検出し、該動作指示(動作指示識別子「CM003」)を外部機器制御部23へ送信する。動作指示検出部21は、また、指示者のユーザ識別子「U002」を特定する。
外部機器制御部23は、図6に例示する機器制御テーブル32を参照して、動作指示識別子「CM003」に該当する動作指示として、つまり、掃除ロボット5に対する「空調装置6に、室内の温度を検知させる」という動作指示として、機器制御コード「GET_TEMPERATURE」を、掃除ロボット5に送信する。
機器制御コード「GET_TEMPERATURE」を受信した掃除ロボット5は、空調装置6が室内の温度を検知するよう、空調装置6を制御する。空調装置6は、温度センサを備えており、掃除ロボット5から上記制御に基づいて、温度センサによって検出した室温を、ホームサーバ3を介して、エージェントサーバ1に送信する。
動作結果取得部24は、「温度取得」が成功したという動作の結果と、「温度取得」の結果得た「24℃」という室内温度とを受信する。
そして、動作結果取得部24は、「RP_SUCCEEDED」というメッセージ種別と、戻り値として「24℃」という室内温度と、「温度取得」という動作指示の動作指示識別子報告である「CM003」とを、報告メッセージ生成部25に送信する。
報告メッセージ生成部25は、「CM003」という動作指示識別子と、「RP_SUCCEEDED」というメッセージ種別を基に、図9に例示する文言テンプレートテーブル34を参照して、作成すべき文言を選択する。具体的には、「今、“RETURN_VAL”℃だよ。」という文言を選択する。
報告メッセージ生成部25は、動作結果取得部24から取得した、戻り値としての「24℃」という室内温度を、上記文言に適用し、「今、24℃だよ。」という報告メッセージを生成する。
なお、この「今、“RETURN_VAL”℃だよ。」という報告メッセージには宛て先が明示されていない。しかし、文言テンプレートテーブル34に格納されている文言の内容を変更することによって、「今、“RETURN_VAL”℃だよ。」という報告メッセージに、メッセージの宛て先を明示させることもできる。
報告メッセージ表示部26は、報告メッセージ生成部25が生成した「今、24℃だよ。」という上記報告メッセージを、家族伝言板サーバ2に出力して、該メッセージを家族伝言板に表示させる。
その結果、家族伝言板には、図14に示すように、14時09分にロボ(掃除ロボット5)が書き込んだメッセージとして、「今、24℃だよ。」という報告メッセージが表示される。
その後、動作結果取得部24は、実行状態管理テーブル30に格納されている、「温度取得」という動作指示の動作指示識別子「CM003」と、該動作指示と組み合わされて格納されている指示者のユーザ識別子「U002」とを、削除する。
以上に説明したように、エージェントサーバ1は、外部機器が動作することによって直接得られる動作指示の結果だけでなく、外部機器に、さらに別の装置の動作を制御させて取得する、動作指示の結果についても、報告メッセージを表示させることができる。
〔変形例〕
上述の例では、エージェントサーバ1は、掃除ロボット5の発言の代行を行う構成であったが、家宅に設置されているその他の家庭内機器のそれぞれを擬人化機器として扱って、それぞれの機器の代理で発言することも可能である。例えば、エージェントサーバ1は、冷蔵庫在庫情報を情報源として冷蔵庫8の事象に係る発言を行う場合には、冷蔵庫8のキャラクタで発言メッセージを出力するといったことが可能である。
また、エージェントサーバ1がメッセージを処理するための各機能ブロックは、擬人化機器(例えば、掃除ロボット5)のそれぞれに設けられていてもよい。この場合、家族伝言板サーバ2が、それぞれの擬人化機器からメッセージを受け付けて、それぞれの擬人化機器のキャラクタによって書き込まれたものとして家族伝言板に投稿すればよい。
上述の例では、メンバが書き込んだメッセージを時系列に沿って表示するコミュニケーションサービスとして家族伝言板を用いて説明してきたが、時系列で各メンバが書き込んだメッセージが表示されるものであればよく、時系列でチャットまたはメールをスレッド表示したものであってもよい。
以上、ここに記載した、エージェントサーバ1は、特定の機能を実現する機能モジュール、または、複数の装置が論理的に集合した物のことを言い、各機能モジュールまたは各装置が単一の筐体内にあるか否かは特に問わない。
エージェントサーバ1として機能するための各機能モジュール(機能ブロック)、および、実行状態管理テーブル30、コマンド名称テーブル31、機器制御テーブル32、コマンド画像テーブル33、文言テンプレートテーブル34、ユーザ名称テーブル35などの各種記憶部は、クラウドコンピューティングによって実現されてもよい。
〔実施形態5〕
エージェントサーバ1の制御ブロック(特に動作指示検出部21、指示者登録部22、外部機器制御部23、動作結果取得部24、報告メッセージ生成部25、報告メッセージ表示部26)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
後者の場合、エージェントサーバ1は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
〔まとめ〕
本発明の態様1に係るメッセージ通知装置(エージェントサーバ1)は、メンバが書き込んだメッセージを時系列に沿って表示するコミュニケーションサービス(家族伝言板)におけるメッセージから、外部機器を操作するための動作指示を検出するとともに、該メッセージを書き込んだメンバを該動作指示の指示者として特定する動作指示検出手段(動作指示検出部21)と、上記動作指示検出手段が検出した上記動作指示に従って上記外部機器を制御する外部機器制御手段(指示者登録部22)と、上記外部機器制御手段の制御によって上記外部機器が動作した結果を取得する動作結果取得手段(外部機器制御部23)と、上記動作結果取得手段が取得した動作の結果を報告する報告メッセージを生成する報告メッセージ生成手段(報告メッセージ生成部25)と、上記報告メッセージ生成手段が生成した報告メッセージを、上記コミュニケーションサービスを提供するサーバに出力して、上記動作指示検出手段が特定した指示者を宛て先として明記した状態で、該メッセージを上記コミュニケーションサービスに表示させる報告メッセージ表示手段(報告メッセージ表示部26)と、を備えていることを特徴としている。
本発明の態様7に係るメッセージ通知装置の制御方法は、メンバが書き込んだメッセージを時系列に沿って表示するコミュニケーションサービスにおけるメッセージから、外部機器を操作するための動作指示を検出するとともに、該メッセージを書き込んだメンバを上記動作指示の指示者として特定する動作指示検出ステップ(S001)と、上記動作指示検出ステップによって検出された上記動作指示に従って上記外部機器を制御する外部機器制御ステップ(S004)と、上記外部機器制御ステップの制御によって上記外部機器が動作した結果を取得する動作結果取得ステップ(S006)と、上記動作結果取得ステップによって取得された動作の結果を報告する報告メッセージを生成する報告メッセージ生成ステップ(S007)と、上記報告メッセージ生成ステップによって生成された報告メッセージを、上記コミュニケーションサービスを提供するサーバに出力して、上記動作指示検出ステップによって特定された指示者を宛て先として明記した状態で、該メッセージを上記コミュニケーションサービスに表示させる報告メッセージ表示ステップ(S007)と、を含むことを特徴としている。
本発明の一態様に係るメッセージ通知装置の上記の構成および方法によれば、1人以上のユーザが参加するコミュニケーションの場(例えば家族伝言板)において、ユーザからの動作指示の結果を報告するメッセージを、当該ユーザを宛て先に明示して通知することができるという効果を奏する。
本発明の態様2に係るメッセージ通知装置は、上記態様1において、上記動作指示が検出されてから、該動作指示によって指示された動作を上記外部機器が終了するまでの間、上記動作指示検出手段が検出した上記動作指示と該動作指示の指示者との組合せを格納している記憶部(記憶部12、特に実行状態管理テーブル30)と、上記動作指示検出手段が動作指示を検出したとき、該動作指示が上記記憶部に既に格納されている動作指示と同じであるか否かを判定し、同じである場合には、上記記憶部に既に格納されている動作指示に組み合わされる指示者に、上記動作指示検出手段が特定した指示者を追加する指示者登録手段(指示者登録部22)と、をさらに備え、上記報告メッセージ生成手段は、上記動作結果取得手段が上記外部機器の動作した結果を取得したとき、1つの報告メッセージを作成するとともに、該報告メッセージで結果を報告する動作を指示した動作指示と組み合わされて上記記憶部に格納されている指示者のすべてを、該報告メッセージの宛て先に設定してもよい。
上記構成によれば、同じ動作指示を含む異なるメッセージを、該動作指示によって指示された動作を外部機器が終了するまでの間に、複数のメンバが家族伝言板に書き込んだ場合、該複数のメンバを宛て先に明示して、該動作指示の結果を報告する1つの報告メッセージを家族伝言板に表示させることができる。従って、エージェントサーバ1は、宛て先を明示した効率的な報告メッセージを生成することができる。
本発明の態様3に係るメッセージ通知装置では、上記態様1または2において、上記動作指示検出手段は、上記コミュニケーションサービスに上記メンバが書き込んだメッセージに含まれる画像から、上記動作指示を検出するとともに、該メッセージを書き込んだメンバを該動作指示の指示者として特定することが好ましい。
上記構成によれば、上記動作指示検出手段は、家族伝言板にメンバが書き込んだメッセージに含まれる画像から、動作指示を検出することができるため、メンバは家族伝言板に「動作指示」を含むメッセージをテキスト形式で書き込む必要がない。すなわち、メンバは、テキスト形式で「動作指示」を含むメッセージを書き込む必要がない。
従って、或る動作指示を含意することが予めエージェントサーバ1との間で決められている画像を家族伝言板に書き込むことで、メンバは、エージェントサーバ1に該動作指示を実行させ、該動作指示の結果についての報告メッセージを、家族伝言板に表示させることができる。
本発明の態様4に係るメッセージ通知装置では、上記態様1から3のいずれかにおいて、上記報告メッセージ表示手段は、上記メッセージの上記宛て先を、上記メンバを識別可能な画像によって、上記コミュニケーションサービスに表示させることが好ましい。
上記構成によれば、エージェントサーバ1は、文字よりもより容易に各メンバに各メンバを直感的に識別させることのできる画像を、報告メッセージの宛て先として明示することができる。メンバは、メッセージに表示されている画像を見ることによって、文字で書かれたメッセージを読むよりもより容易に、誰宛てのメッセージであるのかを認識することが可能となる。
本発明の態様5に係るメッセージ通知装置では、上記態様1から4のいずれかにおいて、上記報告メッセージ表示手段は、上記動作の結果を、上記動作の結果を示す画像によって、上記コミュニケーションサービスに表示させることが好ましい。
上記構成によれば、エージェントサーバ1は、文字よりもより容易に各メンバに動作の結果を直感的に知らせることのできる画像を用いて、指示された動作の結果を報告することができる。メンバは、メッセージに表示されている画像を見ることによって、文字で書かれたメッセージを読むよりもより容易に、指示した動作の結果を認識することが可能となる。
本発明の態様6に係るメッセージ通知装置では、上記態様1から5のいずれかにおいて、上記外部機器は、さらに別の装置の動作を制御し、上記動作指示検出手段は、上記外部機器を操作して、上記外部機器に、上記別の装置の動作を制御させるための動作指示を検出することが好ましい。
上記構成によれば、外部機器が動作することによって直接得られる動作指示の結果だけでなく、外部機器に、さらに別の装置の動作を制御させて取得する、動作指示の結果についても、報告メッセージを表示させることができる。
なお、上記メッセージ通知装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記各手段として動作させることにより上記メッセージ通知装置をコンピュータにて実現させるメッセージ通知装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。
本発明のメッセージ通知装置は、電子会話ツールを活用して、外部機器の動作結果についてのメッセージを各メンバに通知することが可能なあらゆるコミュニケーションシステムに、広く適用することができる。
1 エージェントサーバ(メッセージ通知装置)
2 家族伝言板サーバ(コミュニケーションサービス提供サーバ/外部機器)
3 ホームサーバ(外部機器)
3a 情報提供サーバ(外部機器)
4a〜c 携帯端末(通信端末装置)
5 掃除ロボット(擬人化機器/外部機器)
6 空調装置(外部機器)
7 照明装置(外部機器)
8 冷蔵庫(外部機器)
9 PC(外部機器)
10 制御部
11 通信部
12 記憶部
21 動作指示検出部(動作指示検出手段)
22 指示者登録部(指示者登録手段)
23 外部機器制御部(外部機器制御手段)
24 動作結果取得部(動作結果取得手段)
25 報告メッセージ生成部(報告メッセージ生成手段)
26 報告メッセージ表示部(報告メッセージ表示手段)
30 実行状態管理テーブル
100 家族伝言板システム(コミュニケーションシステム)

Claims (8)

  1. メンバが書き込んだメッセージを時系列に沿って表示するコミュニケーションサービスにおけるメッセージから、外部機器を操作するための動作指示を検出するとともに、該メッセージを書き込んだメンバを該動作指示の指示者として特定する動作指示検出手段と、
    上記動作指示検出手段が検出した上記動作指示に従って上記外部機器を制御する外部機器制御手段と、
    上記外部機器制御手段の制御によって上記外部機器が動作した結果を取得する動作結果取得手段と、
    上記動作結果取得手段が取得した動作の結果を報告する報告メッセージを生成する報告メッセージ生成手段と、
    上記報告メッセージ生成手段が生成した報告メッセージを、上記コミュニケーションサービスを提供するサーバに出力して、上記動作指示検出手段が特定した指示者を宛て先として明記した状態で、該メッセージを上記コミュニケーションサービスに表示させる報告メッセージ表示手段と、を備えることを特徴とするメッセージ通知装置。
  2. 上記動作指示が検出されてから、該動作指示によって指示された動作を上記外部機器が終了するまでの間、上記動作指示検出手段が検出した上記動作指示と該動作指示の指示者との組合せを格納している記憶部と、
    上記動作指示検出手段が動作指示を検出したとき、該動作指示が上記記憶部に既に格納されている動作指示と同じであるか否かを判定し、同じである場合には、上記記憶部に既に格納されている動作指示に組み合わされる指示者に、上記動作指示検出手段が特定した指示者を追加する指示者登録手段と
    をさらに備え、
    上記報告メッセージ生成手段は、上記動作結果取得手段が上記外部機器の動作した結果を取得したとき、1つの報告メッセージを作成するとともに、該報告メッセージで結果を報告する動作を指示した動作指示と組み合わされて上記記憶部に格納されている指示者のすべてを、該報告メッセージの宛て先に設定することを特徴とする請求項1に記載のメッセージ通知装置。
  3. 上記動作指示検出手段は、上記コミュニケーションサービスに上記メンバが書き込んだメッセージに含まれる画像から、上記動作指示を検出するとともに、該メッセージを書き込んだメンバを該動作指示の指示者として特定することを特徴とする請求項1または2に記載のメッセージ通知装置。
  4. 上記報告メッセージ表示手段は、上記メッセージの上記宛て先を、上記メンバを識別可能な画像によって、上記コミュニケーションサービスに表示させることを特徴とする請求項1から3のいずれか1項に記載のメッセージ通知装置。
  5. 上記報告メッセージ表示手段は、上記動作の結果を、上記動作の結果を示す画像によって、上記コミュニケーションサービスに表示させることを特徴とする請求項1から4のいずれか1項に記載のメッセージ通知装置。
  6. 上記外部機器は、さらに別の装置の動作を制御し、
    上記動作指示検出手段は、上記外部機器を操作して、上記外部機器に、上記別の装置の動作を制御させるための動作指示を検出することを特徴とする請求項1から5のいずれか1項に記載のメッセージ通知装置。
  7. メンバが書き込んだメッセージを時系列に沿って表示するコミュニケーションサービスにおけるメッセージから、外部機器を操作するための動作指示を検出するとともに、該メッセージを書き込んだメンバを上記動作指示の指示者として特定する動作指示検出ステップと、
    上記動作指示検出ステップによって検出された上記動作指示に従って上記外部機器を制御する外部機器制御ステップと、
    上記外部機器制御ステップの制御によって上記外部機器が動作した結果を取得する動作結果取得ステップと、
    上記動作結果取得ステップによって取得された動作の結果を報告する報告メッセージを生成する報告メッセージ生成ステップと、
    上記報告メッセージ生成ステップによって生成された報告メッセージを、上記コミュニケーションサービスを提供するサーバに出力して、上記動作指示検出ステップによって特定された指示者を宛て先として明記した状態で、該メッセージを上記コミュニケーションサービスに表示させる報告メッセージ表示ステップと、を含むことを特徴とするメッセージ通知装置の制御方法。
  8. 請求項1から6のいずれか1項に記載のメッセージ通知装置としてコンピュータを機能させるための制御プログラムであって、コンピュータを上記各手段として機能させるための制御プログラム。
JP2013034996A 2013-02-25 2013-02-25 メッセージ通知装置、制御方法、および制御プログラム Expired - Fee Related JP5666637B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013034996A JP5666637B2 (ja) 2013-02-25 2013-02-25 メッセージ通知装置、制御方法、および制御プログラム
CN201410060012.3A CN104009908B (zh) 2013-02-25 2014-02-21 消息通知装置、以及控制方法
US14/187,706 US9325651B2 (en) 2013-02-25 2014-02-24 Message notifying device, control method, and storage medium storing control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013034996A JP5666637B2 (ja) 2013-02-25 2013-02-25 メッセージ通知装置、制御方法、および制御プログラム

Publications (2)

Publication Number Publication Date
JP2014164522A true JP2014164522A (ja) 2014-09-08
JP5666637B2 JP5666637B2 (ja) 2015-02-12

Family

ID=51370403

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013034996A Expired - Fee Related JP5666637B2 (ja) 2013-02-25 2013-02-25 メッセージ通知装置、制御方法、および制御プログラム

Country Status (3)

Country Link
US (1) US9325651B2 (ja)
JP (1) JP5666637B2 (ja)
CN (1) CN104009908B (ja)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5872723B1 (ja) * 2015-04-30 2016-03-01 株式会社famitalk グループ構成員がそれぞれ情報端末を用いて精神的交流をするためのクラウドサービスにおける愛玩アバターの登場
WO2019008891A1 (ja) * 2017-07-07 2019-01-10 ソニーモバイルコミュニケーションズ株式会社 情報処理装置、情報処理方法及びコンピュータプログラム
JP2020060809A (ja) * 2018-10-04 2020-04-16 トヨタ自動車株式会社 エージェント装置
WO2020105680A1 (ja) * 2018-11-22 2020-05-28 ダイキン工業株式会社 空気調和システム
JP2021047013A (ja) * 2018-11-22 2021-03-25 ダイキン工業株式会社 空気調和システム
US11012380B2 (en) 2019-03-22 2021-05-18 Fuji Xerox Co., Ltd. Message communication apparatus, non- transitory computer readable medium, and display control method
US11240180B2 (en) 2018-03-20 2022-02-01 Fujifilm Business Innovation Corp. Message providing device and non-transitory computer readable medium
US11237779B2 (en) 2018-03-20 2022-02-01 Fujifilm Business Innovation Corp. Message providing apparatus and non-transitory computer readable medium
US11252112B2 (en) 2018-03-16 2022-02-15 Fujifilm Business Innovation Corp. Message providing device, non-transitory computer readable medium storing program, and display control method
US11297015B2 (en) 2018-03-16 2022-04-05 Fujifilm Business Innovation Corp. Message providing device for registering setting information of chatbot for each user and non-transitory computer readable medium storing program
US11327696B2 (en) 2018-04-13 2022-05-10 Fujifilm Business Innovation Corp. Message providing device, message providing method, and non-transitory computer readable medium
US11349784B2 (en) 2018-09-25 2022-05-31 Fujifilm Business Innovation Corp. Control apparatus and non-transitory computer readable medium
US11374891B2 (en) 2018-09-25 2022-06-28 Fujifilm Business Innovation Corp. Control apparatus, control system, and non-transitory computer readable medium
US11451677B2 (en) 2018-09-25 2022-09-20 Fujifilm Business Innovation Corp. Control device and non-transitory computer readable medium storing control program
US11537331B2 (en) 2018-10-30 2022-12-27 Fujifilm Business Innovation Corp. Information processing apparatus, method therewith and non-transitory computer readable medium storing program
US11671391B2 (en) 2018-09-25 2023-06-06 Fujifilm Business Innovation Corp. Control device and non-transitory computer readable medium storing control program
US11838456B2 (en) 2019-11-08 2023-12-05 Fujifilm Business Innovation Corp. Information processing apparatus for causing an image forming apparatus to print in accordance with a post written in a chat

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102395529B1 (ko) * 2015-10-22 2022-06-02 삼성전자주식회사 통신 장치, 및 디스플레이 장치 및 그 제어방법
TWI579758B (zh) * 2016-01-29 2017-04-21 物聯智慧科技(深圳)有限公司 使用者電子裝置、使用者介面及電腦程式產品
US9940390B1 (en) * 2016-09-27 2018-04-10 Microsoft Technology Licensing, Llc Control system using scoped search and conversational interface
TWI662504B (zh) * 2017-06-30 2019-06-11 正文科技股份有限公司 萬物協作社交方法
CN107943771B (zh) * 2017-11-15 2021-05-07 百度在线网络技术(北京)有限公司 响应文本的生成方法、装置、服务器、及计算机可读介质
CN108534307B (zh) * 2018-03-08 2020-11-06 广东美的制冷设备有限公司 设备及其留言处理方法和计算机可读存储介质
US11223560B2 (en) * 2019-08-21 2022-01-11 Verzon Patent and Licensing Inc. System and methods for unified collection of network information

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001337827A (ja) * 2000-05-24 2001-12-07 Atr Media Integration & Communications Res Lab 自然言語対話システム、自然言語対話システムにおけるヘルパーエージェントおよび仲介プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2002152858A (ja) * 2000-11-10 2002-05-24 Kunitomo Kobayashi ホームオートメーションシステム
JP2003316669A (ja) * 2002-04-25 2003-11-07 Toshiba Corp 監視制御方法および監視制御システム
JP2005092540A (ja) * 2003-09-17 2005-04-07 Ricoh Co Ltd 電子コミュニケーション装置、電子コミュニケーションシステム、電子コミュニケーション方法、その方法をコンピュータに実行させるプログラム、およびそのプログラムを格納した記憶媒体
JP2006222713A (ja) * 2005-02-10 2006-08-24 Hitachi Ltd ホームサーバおよび携帯端末
JP2009505284A (ja) * 2005-08-18 2009-02-05 マイクロソフト コーポレーション エンドポイントによってカスタマイズされる仮想ロボット通信フォーマット
JP2012141713A (ja) * 2010-12-28 2012-07-26 Osaka Prefecture Univ 擬似会話装置及びコンピュータプログラム

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6493703B1 (en) * 1999-05-11 2002-12-10 Prophet Financial Systems System and method for implementing intelligent online community message board
US7162471B1 (en) * 1999-05-11 2007-01-09 Maquis Techtrix Llc Content query system and method
US6571234B1 (en) * 1999-05-11 2003-05-27 Prophet Financial Systems, Inc. System and method for managing online message board
KR100440583B1 (ko) * 2002-05-16 2004-07-19 한국전자통신연구원 외부 인터넷에 의한 댁내망의 UPnP장치 관리제어 장치및 방법
US20080177994A1 (en) * 2003-01-12 2008-07-24 Yaron Mayer System and method for improving the efficiency, comfort, and/or reliability in Operating Systems, such as for example Windows
US7613893B2 (en) * 2004-06-22 2009-11-03 Intel Corporation Remote audio
WO2006093652A2 (en) * 2005-02-25 2006-09-08 Abb Research Ltd. Method of and apparatus for automated path learning
US20070100981A1 (en) * 2005-04-08 2007-05-03 Maria Adamczyk Application services infrastructure for next generation networks including one or more IP multimedia subsystem elements and methods of providing the same
CA2657565C (en) * 2006-07-12 2020-08-25 Imprenditore Pty Limited Monitoring apparatus and system
US20080077650A1 (en) * 2006-08-29 2008-03-27 Jared Matthew A Method and apparatus for transferring data between a home networked device and a storage system
US9288276B2 (en) * 2006-11-03 2016-03-15 At&T Intellectual Property I, L.P. Application services infrastructure for next generation networks including a notification capability and related methods and computer program products
KR20070090858A (ko) * 2007-03-15 2007-09-06 세창인스트루먼트(주) 접근 웹사이트에 연동된 인터넷 서비스 시스템 및 그 방법
CN105592142A (zh) * 2007-05-04 2016-05-18 伊姆普然迪塔有限公司 监测装置与系统
CN100488149C (zh) * 2007-11-23 2009-05-13 北京工业大学 智能家居保姆系统和多网络单点接入集成方法
US8255090B2 (en) * 2008-02-01 2012-08-28 Energyhub System and method for home energy monitor and control
CN101571715A (zh) * 2008-04-30 2009-11-04 悠进机器人股份公司 机器人远程控制系统
US8170532B2 (en) * 2008-11-21 2012-05-01 Hong Kong Rfid Ltd. Method and system for identification using a portable wireless communication device of a person
US20120066088A1 (en) * 2009-03-23 2012-03-15 Greggory Murset Interactive job chart
GB2474545B (en) * 2009-09-24 2015-06-24 Fisher Rosemount Systems Inc Integrated unified threat management for a process control system
US8478812B2 (en) * 2009-09-29 2013-07-02 Core Wireless S.A.R.L. Method and apparatus for providing device compatibility information
US8484380B2 (en) * 2010-09-22 2013-07-09 Abdullah Abdulrhman M. ALZAMIL Text-based system for exchanging commands between devices, services and applications
KR101842460B1 (ko) * 2011-04-12 2018-03-27 엘지전자 주식회사 로봇 청소기, 이의 원격 감시 시스템 및 방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001337827A (ja) * 2000-05-24 2001-12-07 Atr Media Integration & Communications Res Lab 自然言語対話システム、自然言語対話システムにおけるヘルパーエージェントおよび仲介プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2002152858A (ja) * 2000-11-10 2002-05-24 Kunitomo Kobayashi ホームオートメーションシステム
JP2003316669A (ja) * 2002-04-25 2003-11-07 Toshiba Corp 監視制御方法および監視制御システム
JP2005092540A (ja) * 2003-09-17 2005-04-07 Ricoh Co Ltd 電子コミュニケーション装置、電子コミュニケーションシステム、電子コミュニケーション方法、その方法をコンピュータに実行させるプログラム、およびそのプログラムを格納した記憶媒体
JP2006222713A (ja) * 2005-02-10 2006-08-24 Hitachi Ltd ホームサーバおよび携帯端末
JP2009505284A (ja) * 2005-08-18 2009-02-05 マイクロソフト コーポレーション エンドポイントによってカスタマイズされる仮想ロボット通信フォーマット
JP2012141713A (ja) * 2010-12-28 2012-07-26 Osaka Prefecture Univ 擬似会話装置及びコンピュータプログラム

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016174967A1 (ja) * 2015-04-30 2016-11-03 株式会社famitalk グループ構成員がそれぞれ情報端末を用いて精神的交流をするためのクラウドサービスにおける愛玩アバターの登場
JP5872723B1 (ja) * 2015-04-30 2016-03-01 株式会社famitalk グループ構成員がそれぞれ情報端末を用いて精神的交流をするためのクラウドサービスにおける愛玩アバターの登場
WO2019008891A1 (ja) * 2017-07-07 2019-01-10 ソニーモバイルコミュニケーションズ株式会社 情報処理装置、情報処理方法及びコンピュータプログラム
JPWO2019008891A1 (ja) * 2017-07-07 2020-05-21 ソニー株式会社 情報処理装置、情報処理方法及びコンピュータプログラム
JP7006691B2 (ja) 2017-07-07 2022-01-24 ソニーグループ株式会社 情報処理装置、情報処理方法及びコンピュータプログラム
US11252112B2 (en) 2018-03-16 2022-02-15 Fujifilm Business Innovation Corp. Message providing device, non-transitory computer readable medium storing program, and display control method
US11297015B2 (en) 2018-03-16 2022-04-05 Fujifilm Business Innovation Corp. Message providing device for registering setting information of chatbot for each user and non-transitory computer readable medium storing program
US11805082B2 (en) 2018-03-20 2023-10-31 Fujifilm Business Innovation Corp. Message providing device and non-transitory computer readable medium
US11240180B2 (en) 2018-03-20 2022-02-01 Fujifilm Business Innovation Corp. Message providing device and non-transitory computer readable medium
US11237779B2 (en) 2018-03-20 2022-02-01 Fujifilm Business Innovation Corp. Message providing apparatus and non-transitory computer readable medium
US11797245B2 (en) 2018-04-13 2023-10-24 Fujifilm Business Innovation Corp. Message providing device, message providing method, and non-transitory computer readable medium
US11327696B2 (en) 2018-04-13 2022-05-10 Fujifilm Business Innovation Corp. Message providing device, message providing method, and non-transitory computer readable medium
US11374891B2 (en) 2018-09-25 2022-06-28 Fujifilm Business Innovation Corp. Control apparatus, control system, and non-transitory computer readable medium
US11777876B2 (en) 2018-09-25 2023-10-03 Fujifilm Business Innovation Corp. Control apparatus and non-transitory computer readable medium
US11671391B2 (en) 2018-09-25 2023-06-06 Fujifilm Business Innovation Corp. Control device and non-transitory computer readable medium storing control program
US11451677B2 (en) 2018-09-25 2022-09-20 Fujifilm Business Innovation Corp. Control device and non-transitory computer readable medium storing control program
US11349784B2 (en) 2018-09-25 2022-05-31 Fujifilm Business Innovation Corp. Control apparatus and non-transitory computer readable medium
JP7028130B2 (ja) 2018-10-04 2022-03-02 トヨタ自動車株式会社 エージェント装置
JP2020060809A (ja) * 2018-10-04 2020-04-16 トヨタ自動車株式会社 エージェント装置
US11537331B2 (en) 2018-10-30 2022-12-27 Fujifilm Business Innovation Corp. Information processing apparatus, method therewith and non-transitory computer readable medium storing program
JP2021047013A (ja) * 2018-11-22 2021-03-25 ダイキン工業株式会社 空気調和システム
JP2020085313A (ja) * 2018-11-22 2020-06-04 ダイキン工業株式会社 空気調和システム
JP7034892B2 (ja) 2018-11-22 2022-03-14 ダイキン工業株式会社 空気調和システム
WO2020105680A1 (ja) * 2018-11-22 2020-05-28 ダイキン工業株式会社 空気調和システム
JP7397341B2 (ja) 2018-11-22 2023-12-13 ダイキン工業株式会社 空気調和システム
US11012380B2 (en) 2019-03-22 2021-05-18 Fuji Xerox Co., Ltd. Message communication apparatus, non- transitory computer readable medium, and display control method
US11838456B2 (en) 2019-11-08 2023-12-05 Fujifilm Business Innovation Corp. Information processing apparatus for causing an image forming apparatus to print in accordance with a post written in a chat

Also Published As

Publication number Publication date
JP5666637B2 (ja) 2015-02-12
US20140244769A1 (en) 2014-08-28
CN104009908B (zh) 2017-03-01
US9325651B2 (en) 2016-04-26
CN104009908A (zh) 2014-08-27

Similar Documents

Publication Publication Date Title
JP5666637B2 (ja) メッセージ通知装置、制御方法、および制御プログラム
JP6568904B2 (ja) メッセージ・アクティビティおよび通知値に基づく視覚通知パラメータの調整
JP5788371B2 (ja) 発言処理装置、発言処理方法、制御プログラムおよび記録媒体
CN105320404B (zh) 用于执行功能的设备和方法
US11374895B2 (en) Updating and transmitting action-related data based on user-contributed content to social networking service
JP2014071844A (ja) 操作支援装置、操作支援方法、制御プログラム、および記録媒体
CN102739764A (zh) 共享通道
CN102681870B (zh) 在登录时自动执行动作
CN102368749B (zh) 即时通信联系人列表中呈现个性图样的方法及系统
JP5925734B2 (ja) 情報通知装置、情報通知装置の制御方法、および携帯端末
CN104009895A (zh) 消息通知装置以及控制方法
JP2015065590A (ja) 機器操作管理装置、遠隔操作システム、機器操作管理装置の制御方法、制御プログラム
GB2507041A (en) Property management system
KR101567555B1 (ko) 이미지가 이용되는 소셜 네트워크 서비스 시스템 및 방법
TW201317933A (zh) 活動出席通知系統及方法
KR101647247B1 (ko) 메시지 표시방법, 장치, 프로그램 및 기록매체
JP6017253B2 (ja) 制御装置、制御装置の制御方法、被制御装置、サーバ、制御プログラム、および記録媒体
CN114663057A (zh) 工作流管理系统、方法,以及,电子设备
JP5363498B2 (ja) ユーザの状態を通知する装置及び方法
US9646208B2 (en) Method for computerized grouping contact list, electronic device using the same and computer program product
JP2017152032A (ja) 情報処理装置の制御方法、情報処理装置および制御プログラム並びに端末の制御方法および端末制御プログラム
KR101755343B1 (ko) 할일 관리 방법, 이를 수행하는 메시지 서버 및 이를 저장하는 기록매체
JP2020181622A5 (ja)
JP6589846B2 (ja) 電子メール管理装置及び電子メール管理プログラム
JP2017107255A (ja) 情報処理装置の制御方法、情報処理装置および制御プログラム並びに端末の制御方法および端末制御プログラム

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141111

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141210

R150 Certificate of patent or registration of utility model

Ref document number: 5666637

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees