(58)【調査した分野】(Int.Cl.,DB名)
外部デバイスから出力される動作結果を受信すると共に、外部デバイスを動作させるための制御信号を外部デバイスに出力し、デバイス連携ルールに基づいてデバイス連携制御を行うユーザ装置と、
前記ユーザ装置と外部デバイスとの間のデバイス連携を支援するデバイス連携支援装置と、を有し、
前記デバイス連携支援装置は、
外部デバイスの動作として、前記ユーザ装置に対して外部デバイスから与えられる動作結果情報を規定するデバイス入力動作定義又は/及び前記ユーザ装置から外部デバイスに対して与えられる外部デバイスの動作を規定するデバイス出力動作定義を含むデバイス動作定義情報を、デバイス登録者から受け付けて外部デバイス毎に登録するデバイス登録部と、
前記デバイス動作定義情報を選択可能に制御し、連携ルール作成者によって選択された少なくとも1つの前記デバイス入力動作定義を含む条件節情報と、少なくとも1つの前記デバイス出力動作定義を含む実行節情報とを組み合わせた前記デバイス連携ルールを生成するルール設定部と、
前記デバイス連携ルールの配信先である前記ユーザ装置を選択可能に制御し、選択された前記ユーザ装置と前記デバイス連携ルールとの関連付けに基づいて、前記デバイス連携ルールを前記ユーザ装置に配信するルール配信部と、を有し、
前記デバイス連携ルールは、前記ユーザ装置に内蔵されるGPS装置で取得された位置情報を前記デバイス連携支援装置に送信する前記実行節情報が含まれており、
前記デバイス連携支援装置は、前記デバイス連携ルールに基づくデバイス連携制御に伴って前記ユーザ装置から送信される前記位置情報を受信する監視部をさらに備えることを特徴とするデバイス連携支援システム。
前記ルール設定部は、登録された複数の外部デバイスの中から前記条件節情報に対応する第1外部デバイス及び前記第1外部デバイスの前記デバイス入力動作定義を選択可能に制御するとともに、登録された複数の外部デバイスの中から前記実行節情報に対応する第2外部デバイス及び前記第2外部デバイスの前記デバイス出力動作定義を選択可能に制御し、
前記ルール設定部は、前記第1外部デバイス及び前記第2外部デバイスとして、同一の外部デバイス又は互いに異なる外部デバイスを選択可能に制御することを特徴とする請求項1に記載のデバイス連携支援システム。
前記外部デバイスは、センサ機器、照明機器、入力機器、又は前記ユーザ装置からのリクエストに基づいて所定の処理を行い、処理結果を前記ユーザ装置に提供する外部サービスシステムを含むことを特徴とする請求項1から3のいずれか1つに記載のデバイス連携支援システム。
前記外部デバイスは、前記ユーザ装置に対して無線接続又は有線接続で通信可能なデバイスと、前記ユーザ装置に予め内蔵されているデバイスと、を含むことを特徴とする請求項1から4のいずれか1つに記載のデバイス連携支援システム。
外部デバイスから出力される動作結果を受信すると共に、外部デバイスを動作させるための制御信号を外部デバイスに出力し、デバイス連携ルールに基づいてデバイス連携制御を行うユーザ装置と接続される、デバイス連携支援装置で実行されるプログラムであって、
外部デバイスの動作として、前記ユーザ装置に対して外部デバイスから与えられる動作結果情報を規定するデバイス入力動作定義又は/及び前記ユーザ装置から外部デバイスに対して与えられる外部デバイスの動作を規定するデバイス出力動作定義を含むデバイス動作定義情報を、デバイス登録者から受け付けて外部デバイス毎に登録する機能と、
前記デバイス動作定義情報を選択可能に制御し、連携ルール作成者によって選択された少なくとも1つの前記デバイス入力動作定義と含む条件節情報と、少なくとも1つの前記デバイス出力動作定義を含む実行節情報とを組み合わせた前記デバイス連携ルールを生成する機能と、
前記デバイス連携ルールの配信先である前記ユーザ装置を選択可能に制御し、選択された前記ユーザ装置と前記デバイス連携ルールとの関連付けに基づいて、前記デバイス連携ルールを前記ユーザ装置に配信する機能と、を含み、
前記デバイス連携ルールは、前記ユーザ装置に内蔵されるGPS装置で取得された位置情報を前記デバイス連携支援装置に送信する前記実行節情報が含まれており、
前記デバイス連携ルールに基づくデバイス連携制御に伴って前記ユーザ装置から送信される前記位置情報を受信する機能をさらに含むことを特徴とするプログラム。
【発明を実施するための最良の形態】
【0008】
以下、実施形態につき、図面を参照して説明する。
【0009】
(第1実施形態)
図1は、第1実施形態のデバイス連携支援システムのネットワーク構成及びデバイス連携支援システムを構成する各装置の機能ブロックを示す図である。
【0010】
本実施形態のデバイス連携支援システムは、ユーザが所有するユーザ装置100と外部デバイス500との間のデバイス動作連携を支援する。例えば、ユーザ装置100と連携する外部デバイス500の登録、外部デバイス500を用いたデバイス連携ルール設定、及び当該デバイス連携ルールの配信などを管理する。ここで、デバイス連携ルールとは、例えば、IF−THENのような条件節、実行節から成る連携ルールであり、以下、連携ルールと称して説明する。IF−THEN以外の例としては、例えば、CASE型やDICISION_TABLE型などがあるが、これらに限らず、条件節と実行節とで構成されるルールであればよい。
【0011】
ユーザ装置100は、例えば、多機能携帯電話機やPDA(Personal Digital Assistant)等のデータ通信機能及び演算機能(CPU等)を備えた携帯(モバイル)情報端末、ノートパソコンやタブレット型コンピュータ等が含まれる。
【0012】
外部デバイス500は、温度センサ、湿度センサや加速度センサなどのセンサ機器、LEDランプなどの発光素子を備える照明機器、操作ボタンなどの入力部を備える入力機器などである。また、外部デバイス500には、センサ機器とLEDランプを組み合わせた1つの機器や、入力機器とLEDランプを組み合わせた1つの機器なども含まれる。
【0013】
このような外部デバイス500は、ユーザ装置100と物理的に分離された機器であり、かつBluetooth(登録商標)などの近距離無線通信やWi-Fiなどの無線通信でユーザ装置100と通信(接続)することができる。また、外部デバイス500に設けられたUSBコネクタで直接ユーザ装置100と接続したり、USBケーブルを用いて有線でユーザ装置100と接続したりすることができる。
【0014】
また、外部デバイス500が、センサ機器である場合、センサ検出情報をユーザ装置100に出力する。また、入力機器である場合、入力部に対する操作情報(例えば、操作ボタンが押されたことを示す信号など)をユーザ装置100に出力する。また、外部デバイス500が照明機器である場合、ユーザ装置100から制御信号が入力され、制御信号に基づいて所定の色光で点灯したり、点滅したりすることができる。
【0015】
一方、外部デバイス500が、センサ機器とLEDランプを組み合わせた1つの機器である場合、センサ検出情報に基づいて、外部デバイス500自体がLEDランプを点灯させるなどの動作を行うこともできる。同様に、入力機器とLEDランプを組み合わせた1つの機器の場合、入力部に対する操作結果に基づいて、外部デバイス500自体がLEDランプを点灯させるなどの動作を行うこともできる。
【0016】
さらに外部デバイス500は、ロボットやラジコンカーなどの駆動機器を含むことができる。ロボットなどの駆動機器は、ユーザ装置100から出力される制御信号を受信して、腕を振ったり、歩いたり、走ったりすることができる。ロボットなどの駆動機器が、上述したセンサ機器、照明機器や入力機器などを備えてもよい。
【0017】
ユーザ装置100は、通信部110、制御部120、連携接続管理部130、記憶部140及び入力/出力部150を含んで構成されている。
【0018】
連携接続管理部130は、各外部デバイス500とユーザ装置100との間の接続を管理する。連結接続管理部130は、複数の外部デバイス500それぞれに対するアダプタ(Ad)を備え、外部デバイス500と制御部120とをつないでデータや制御信号などの受け渡し、相互変換を行う中継機能を有する。外部デバイス500とアダプタとは、一対一の関係を有し、予めユーザ装置100にインストールされていたり、必要に応じてデバイス連携支援装置300や所定のサーバからダウンロードしてインストールしたりすることができる。
【0019】
また、連携接続管理部130は、外部サービスシステム400に接続するためのアダプタ(Ad1)を備えている。外部サービスシステム400は、例えば、音声認識や音声合成を行うクラウドサービスシステムである。なお、連携接続管理部130は、接続I/Fと接続されている。接続I/Fは、例えば、USBなどの有線の接続ポートである。
【0020】
通信部110は、インターネット等のIP網を介したデバイス連携支援装置300との間の無線/有線通信制御を行う。また、通信部110は、外部デバイス500との間の通信インターフェースとしても機能する。すなわち、通信部110は、近距離無線通信や無線通信の通信デバイスを含んで構成され、デバイス連携支援装置300、外部サービスシステム400及び外部デバイス500などの外部との通信制御を行う。
【0021】
入力/出力部150は、ディスプレイ装置などの表示部、入力操作ボタンやタッチパネル、マイクなどの入力部、及びスピーカーなどの出力部を含む。
【0022】
制御部120は、連携管理部121、連携ルール制御部122、及びアプリケーション制御部123を含んで構成されている。なお、制御部120(CPU)は、ユーザ装置100全体の制御を司る。
【0023】
本実施形態のデバイス連携支援システムは、デバイス連携支援装置300においてユーザ装置100と連携するデバイスが管理され、デバイス連携支援装置300側で外部デバイス500の連携ルールが設定(作成)され、1つ又は複数のユーザ装置100に配信される。
【0024】
連携管理部121は、ユーザ装置100のデバイスセットアップ情報をデバイス連携支援装置300にアップロードしたり、デバイス連携支援装置300から連携ルールを受信したり(又はダウンロードしたり)する。連携ルール制御部122は、記憶部140に記憶された連携ルールに従い、外部デバイス500の制御、アプリケーション制御部123を介したアプリケーションの制御、及び入力/出力部150の制御を行う。アプリケーション制御部123は、予めユーザ装置100にインストールされた各種のソフトウェア(例えば、メール機能)や、外部サービスシステム400と接続することで提供される機能を制御する。
【0025】
次に、デバイス連携支援装置300について説明する。
図1に示すように、デバイス連携支援装置300は、通信装置310、制御装置320及び記憶装置330を含んで構成される。
【0026】
デバイス登録部321は、外部デバイス500の登録処理を行う。外部デバイス500の登録は、例えば、外部デバイス500を提供する事業者(デバイス登録者)などが、コンピュータ装置でインターネット等を介してデバイス連携支援装置300に接続して行うことができる。
【0027】
図2は、外部デバイス500のデバイス動作定義情報の一例を示す図である。デバイス動作定義情報は、登録される外部デバイス500毎に設定される定義ファイルである。
【0028】
図2の例において、外部デバイス500Aは、入力(押下)ボタンと、ランプとが設けられたデバイスである。外部デバイス500Aは、入力ボタンに対する操作入力として、「シングルクリック」、「ダブルクリック」、「ロングクリック(長押し)」を検出し、検出された各操作入力に対して制御値を出力する。また、ランプは、予め設定された複数の色の中から所定の色で発光することができ、かつ複数種類用意された発光パターン(「常時点灯」、「100ms毎に点滅」など)で発光する。
【0029】
デバイス登録者は、登録する外部デバイス500がどのように動作するのかを、ユーザ装置100に対してデバイスから動作結果情報を与えるデバイス入力動作定義と、ユーザ装置100からデバイスを動作させる信号を与えるデバイス出力動作定義と、に分けて登録する。
【0030】
デバイス入力動作定義は、例えば、外部デバイス500に対する操作入力の種類及び各操作入力を識別するための制御値を含む情報である。また、外部デバイス500がセンサ機器である場合、
図2に示すように、デバイス入力動作定義として「センサ検出情報」が含まれる。なお、センサ機器のデバイス入力動作定義としては、例えば、センサ検出情報以外にも、付属情報(例えば、アラート)を含めることができる。この場合、センサ検出値が所定の閾値を超えている場合にセンサ機器側でアラートを出力する回路構成となっている場合に、センサ検出情報又は/及びアラート情報をデバイス入力動作定義として設定することができる。
図2の例において、デバイス入力動作定義は、条件節<IF>として規定される。
【0031】
一方、デバイス出力動作定義とは、ユーザ装置100から外部デバイス500に所定の動作を行わせるための制御情報である。つまり、外部デバイス500が行うことができる動作と、その動作を行わせるための制御情報とが実行節<THEN>で規定される。
【0032】
図2の例において、外部デバイス500Aは、デバイス入力動作定義とデバイス出力動作定義とがセットで規定されているが、センサ機器である外部デバイス500Bは、デバイス入力動作定義だけが規定されている。つまり、外部デバイス500Bは、センサ検出情報等をユーザ装置100に与えるだけであり、ユーザ装置100側から所定の動作を行わせるための情報が入力されないので、<IF>のみが規定され、<THEN>が規定されていない。
【0033】
また、外部デバイス500Cは、腕を振ることができるロボットであり、スピーカーを備えている。このとき、外部デバイス500Cは、デバイス出力動作定義だけが規定され、デバイス入力動作定義に相当する<IF>が規定されていない。すなわち、外部デバイス500Cは、ユーザ装置100から当該外部デバイス500Cを動作させる信号が与えられるのみであり、ユーザ装置100からの制御によって動作するだけである。外部デバイス500Cは、ユーザ装置100に対して動作結果情報を与えるデバイスではないことになる。
【0034】
このように本実施形態では、物理的なデバイスとユーザ装置100との連携を支援するが、例えば、外部サービスシステム400も、外部デバイス500として位置付けることができる。すなわち、外部サービスシステム400は、ユーザ装置100から当該外部サービスシステム400が提供するサービス機能を動作させる信号が与えられ、ユーザ装置100からの制御(リクエスト)によって動作する。このため。例えば、外部デバイス500Aが、ユーザ装置100から出力される「点灯」に関する制御信号に基づいて「点灯」動作を行うのと同様に、外部サービスシステム400が所定のサービス機能を提供することも、外部デバイスとの連携と捉えることができる。
【0035】
そこで、本実施形態では、例えば、音声認識処理/音声合成出力処理を行う外部サービスシステム400を、発話アプリケーションの外部デバイス500Dとして登録することができ、外部デバイス500Dのデバイス動作定義情報を設定する。
図2の例のように、発話アプリに対して、「○○」を発話するなどのデバイス出力動作定義を、<THEN>で規定している。
【0036】
図3は、デバイス・サービスの登録例を示す図である。
図3に示すように、デバイス登録者は、メニュー画面から「デバイス・サービス登録」ボタンを選択し、ユーザ装置100と連携する外部デバイス500を登録することができる。
図3の例では、デバイスのサムネイル画像や名称を登録し、そのデバイスのデバイス入力動作定義又は/及びデバイス出力動作定義を登録することができる。
【0037】
ルール設定部322は、登録されたデバイス動作定義情報に基づいて、連携ルールを生成する。連携ルールは、デバイス動作定義情報とは異なり、ユーザ装置100と連携する1つ又は複数の外部デバイス500間の連携ルールを定義したものである。
【0038】
本実施形態の連携ルールは、デバイス登録者とは異なる連携ルール作成者が、登録された外部デバイス500の中から1つ又は複数の外部デバイス500を選択して作成するが、デバイス登録者が連携ルールを作成してもよい。
【0039】
図4は、連携ルールの作成例を示す図である。
図4に示すように、連携ルール作成者は、メニュー画面から「ルール作成」ボタンを選択し、ユーザ装置100と連携する外部デバイス500の連携ルールを作成・登録することができる。具体的には、ルール設定部322は、連携ルール作成者に対して登録された外部デバイス500及びデバイス動作定義情報等を任意に選択できるように制御する。
【0040】
ここで、連携ルールとは、外部デバイス500の条件実行を示すルールであり、少なくとも1つの<IF>と少なくとも1つの<THEN>とが含まれる。したがって、
図4の例に示すように、「IF」項目において、少なくとも1つの外部デバイス500を選択し、選択した外部デバイス500のデバイス入力動作定義を選択する。同様に、「THEN」項目において、少なくとも1つの外部デバイス500を選択し、選択した外部デバイス500のデバイス出力動作定義を選択する。
【0041】
例えば、ルール1として、「外部デバイス500Aがシングルクリックされたら(IF)、外部デバイス500Aは、赤色光でランプが100ms間隔で点滅する(THEN)」を作成することができる。なお、ルール1は、同じ外部デバイス500Aに対する連携ルールである。
【0042】
また、ルール2として、「外部デバイス500Aがダブルクリックされたら(IF)、外部デバイス500Cは、右腕を振る(THEN)」を作成することができる。なお、ルール2は、異なる外部デバイス500A,500C間に対する連携ルールである。
【0043】
さらに、ルール3として、「外部デバイス500Bの温度検出結果が30℃以上だったら(IF)、外部デバイス500Dは、「熱中症に注意して下さい」を発話する(THEN)」を作成することができる。なお、ルール3も、異なる外部デバイス500A,500D間に対する連携ルールであり、かつ外部サービスシステム400を利用したルールである。また、ルール3の場合、「IF」に対応するデバイス入力動作定義を設定する際に、温度閾値を入力することができる。
【0044】
なお、連携ルールは、上述した例に限らず、例えば、2つ以上の外部デバイス500のデバイス入力動作定義それぞれを<IF>として、これらの2つ以上の条件を満足したときに、同じ又は異なる外部デバイス500の動作<THEN>が実行されるように、作成することができる。つまり、IF−THENのセットを複数組み合わせたり、複数のIF項目に対して1つのTHEN項目を組み合わせたり、1つのIF項目に対して複数のTHEN項目を組み合わせたりして、連携ルールを作成することができる。
【0045】
ルール設定部322は、連携ルール作成者のコンピュータ装置との間で、連携ルールの作成処理を制御するとともに、作成された連携ルールを記憶装置330に記憶する。
【0046】
なお、連携ルールは、デバイス入力動作定義に対応して、外部デバイス500から出力され、ユーザ装置100に入力される制御値(例えば、シングルクリックを識別する情報)や閾値(例えば、温度閾値)を含むように作成することができる。同様に、デバイス出力動作定義に対応して、ユーザ装置100から出力され、外部デバイス500に入力される制御値(例えば、「点灯」動作させるための制御情報)やリクエスト(例えば、外部サービスシステム400への処理要求)を含むように作成することができる。
【0047】
一方で、後述するように、連携ルールをユーザ装置100に配信する際に、連携ルールに含まれる外部デバイス500のデバイス動作定義情報自体をセットで配信し、連携ルールに基づくユーザ装置100での制御において、デバイス動作定義情報を参照して行うように構成することもできる。
【0048】
本実施形態では、外部デバイス500の動作として、ユーザ装置100に対して外部デバイス500から与えられる動作結果情報を規定するデバイス入力動作定義又は/及びユーザ装置100から外部デバイス500に対して与えられる外部デバイス500の動作を規定するデバイス出力動作定義を含むデバイス動作定義情報を、デバイス登録者から受け付けて外部デバイス毎に登録する。そして、
図4に示すように、デバイス動作定義情報を選択可能に制御し、連携ルール作成者によって選択された少なくとも1つのデバイス入力動作定義を含む条件節情報(例えば、<IF>)と、少なくとも1つのデバイス出力動作定義を含む実行節情報(例えば、<THEN>)とを組み合わせた連携ルール(デバイス連携ルール)を生成する。
【0049】
図5は、連携ルールの配信設定例を示す図である。
図5に示すように、例えば、連携ルール作成者は、メニュー画面から「ルール配信」ボタンを選択し、ユーザ装置100毎に、作成された連携ルールを対応付けることができる。ルール配信部323は、連携ルール作成者に対して登録されているユーザ装置100を任意に選択できるように制御すると共に、作成された連携ルールを一覧の中から配信先に配信する、連携ルールを選択できるように制御する。
【0050】
なお、
図5の例に示すように、デバイス連携支援装置300は、連携ルールの配信先であるユーザ装置100を予め把握し、管理することができる。
図6は、ユーザ装置100のセットアップ情報登録処理の一例を示す図である。ユーザ装置100(連携管理部121)は、所定のタイミングで連携接続管理部130を介して接続可能な外部デバイス500の情報を収集する。例えば、連携管理部121は、連携接続管理部130を介して各外部デバイス500との間で通信を行い、通信可能である外部デバイス500の情報を、デバイスセットアップ情報として収集する(S101)。
【0051】
そして、連携管理部121は、ユーザ装置100の固体識別情報(例えば、MACアドレス)、ユーザ装置100の製品情報(機種、OS、インストールされているアプリケーションなど)、及び収集したデバイスセットアップ情報を含むセットアップ情報を、所定のタイミングでデバイス連携支援装置300に送信することができる(S102)。デバイス連携支援装置300(ルール配信部323)は、受信したセットアップ情報をユーザ装置100毎に記憶装置330に記憶する(S301)。
【0052】
なお、ユーザ装置100の固体識別情報や製品情報は、一度だけデバイス連携支援装置300に送信するように構成してもよい。また、連携管理部121は、新しい外部デバイス500が通信可能となったり、通信可能だった外部デバイス500が通信不可となったりしたことをトリガーに、最新のデバイスセットアップ情報をデバイス連携支援装置300に送信するように構成してもよい。
【0053】
図7は、連携ルールの配信設定に関連する配信先登録情報、グループ設定情報及びルール配信設定情報の一例を示す図である。上述のように、デバイス連携支援装置300には、複数のユーザ装置100の各セットアップ情報が登録される。そこで、予め複数のユーザ装置100をグループ化し、グループ毎に連携ルールを設定し、配信するように制御することができる。
【0054】
グループの例としては、例えば、ユーザ装置100の機種(製造メーカー)がある。機種毎にユーザ装置100の仕様が異なるため、同一の機種をグループ化して、同じ連携ルールを配信するように設定することができる。また、他の例としては、デバイスセットアップ情報に含まれる利用可能な外部デバイス500別にユーザ装置100をグループ化したり、利用者種別(例えば、家族、会社や部署などの利用者属性)でユーザ装置100をグループ化したりすることができる。
【0055】
このように、連携ルールの配信先、すなわち、ユーザ装置100を予めグループ化することにより、複数のユーザ装置100間で連携ルールの適用を同期させたり、ユーザ装置100の機種毎に異なる連携ルールを一括して適用させたりすることができる。
【0056】
図8は、デバイス連携支援装置300のデバイス登録、連携ルール設定、ルール配信設定、及びユーザ装置100へのルール配信の各処理を示す図である。
【0057】
デバイス登録者は、コンピュータ装置からデバイス連携支援装置300に接続する。デバイス登録部321は、メニュー画面の「デバイス・サービス登録」ボタンが選択されると、デバイス・サービス登録画面を通じた、ユーザ装置100と連携する外部デバイス500の登録処理を制御する(S311)。デバイス登録者は、デバイスのサムネイル画像や名称、デバイス入力動作定義又は/及びデバイス出力動作定義を登録し(S501)、デバイス登録部321は、これらの登録された情報をデバイス毎に記憶装置330に記憶する。なお、上述したように、デバイス登録者は、外部デバイス500のアダプタをセットにして、デバイス連携支援装置300に登録することもできる。
【0058】
次に、連携ルール作成者は、コンピュータ装置からデバイス連携支援装置300に接続する。ルール設定部322は、メニュー画面から「ルール作成」ボタンが選択されると、デバイス・サービス登録画面を通じた、ユーザ装置100と連携する外部デバイス500の連携ルールの作成処理を制御する(S312)。
【0059】
連携ルール作成者は、登録されている1つ又は複数の外部デバイス500の中から「条件節<IF>」項目に対応する外部デバイス500及びデバイス動作定義情報を選択し、さらに「実行節<THEN>」項目に対応する外部デバイス500及びデバイス動作定義情報を選択して、連携ルールを生成することができる(S502)。ルール設定部322は、作成された連携ルール毎に記憶装置330に記憶する。
【0060】
そして、連携ルール作成者は、連携ルールの作成に続いて又は新たにコンピュータ装置からデバイス連携支援装置300に接続して、連携ルールの配信設定を行う。ルール配信部323は、メニュー画面の「ルール配信」ボタンが選択されると、ルール配信設定画面を通じた連携ルールの配信先(ユーザ装置100)を設定するルール配信設定処理を制御する(S313)。
【0061】
連携ルール作成者は、ユーザ装置100毎に、作成された連携ルールを対応付ける設定操作を行う(S503)。ルール配信部323は、連携ルール作成者の設定操作に基づいて、ルール配信設定情報(ユーザ装置100と連携ルールとを関連付けた情報)を生成し、記憶装置330に記憶する。
【0062】
なお、上述したようにルール配信部323は、ルール配信設定処理として、グループ作成機能、ユーザ装置100をグループ化する機能、グループ毎に連携ルールを関連付ける機能を連携ルール作成者に提供することができる。
【0063】
ルール配信部323は、ルール配信設定に基づいて、各ユーザ装置100に、連携ルールを配信する(S314)。このとき、配信するタイミングは、任意に設定することができる。例えば、
図5のルール配信設定画面において「配信」ボタンを選択することで、連携ルールを即時配信することができる。また、ルール配信部323は、ルール配信設定画面において配信時刻を設定できるように制御し、設定された配信時刻に連携ルールを配信するように制御することができる。
【0064】
ユーザ装置100は、デバイス連携支援装置300から連携ルールを受信し、記憶部140に記憶する(S111)。なお、ユーザ装置100は、デバイス連携支援装置300に対して連携ルールの取得要求を送信し(S112)、デバイス連携支援装置300が取得要求をトリガーに、ルール配信設定に基づいて、該当する連携ルールをユーザ装置100に配信するように制御することもできる。
【0065】
図9は、ユーザ装置100の連携ルールに基づくデバイス連携処理を示すフローチャートである。
【0066】
連携管理部121は、連携接続管理部130に対して外部デバイス500との間の接続要求を出力する。連携接続管理部130は、外部デバイス500それぞれに対して各アダプタを介した接続処理を行う(S121)。連携ルール制御部122は、ユーザ装置100に対して外部デバイス500からの入力情報(動作結果情報)を受信すると(S122のYES)、記憶部140に記憶された連携ルールを参照する(S123)。連携ルール制御部122は、該当する外部デバイス500の連携ルールを特定(検索)し、特定された連携ルールの実行節である「THEN」を制御情報として抽出する(S124)。連携ルール制御部122は、抽出した制御情報に含まれる外部デバイス500を対象に、外部デバイス500に対して「THEN」に基づく動作制御を行う(S125)。
【0067】
図10は、ユーザ装置100の連携ルールに基づくデバイス連携例を示す図である。
図10の例は、
図2の外部デバイス500Aと外部デバイス500Cの連携ルール制御である。外部デバイス500Aのボタンが押されると、ボタンが押されたことを示す信号が外部デバイス500Aからユーザ装置100に出力される。連携ルール制御部122は、外部デバイス500A及びボタンが押されたことをキーに、連携ルールを検索する。連携ルール制御部122は、検索の結果、外部デバイス500Aのボタンが押されたことに対する実行節である「THEN」が存在するか否かを判別し、存在する場合、「THEN」に規定された連携対象デバイスとその制御信号(連携対象が外部デバイス500Cであること及び左腕を挙げる制御情報)を抽出する。連携ルール制御部122は、連携接続管理部130を介して「左腕を挙げる」制御信号を外部デバイス500Cに出力する。
【0068】
図11は、ユーザ装置100の連携ルールに基づく外部デバイス500及び外部サービスシステム400の連携例を示す図である。
図11の例は、
図2の外部デバイス500Aと外部デバイス500Dの連携ルール制御である。外部デバイス500Aのボタンが押されると、ボタンが押されたことを示す信号が外部デバイス500Aからユーザ装置100に出力される。連携ルール制御部122は、外部デバイス500Aのボタンが押されたことをキーに、連携ルールを検索する。連携ルール制御部122は、検索の結果、外部デバイス500Aのボタンが押されたことに対する実行節である「THEN」が存在するか否かを判別し、存在する場合、「THEN」に規定された連携対象デバイスとその制御信号(連携対象が外部デバイス500Dであること及び所定の音声を出力すること)を抽出する。連携ルール制御部122は、連携接続管理部130を介して「所定の音声」の取得要求信号を外部デバイス500Dである外部サービスシステム400に出力する。
【0069】
外部サービスシステム400は、「所定の音声」の取得要求信号を受信すると、対応する音声データをユーザ装置100に出力する。音声データは、予め生成された音声データであったり、取得要求信号に基づいてその都度音声合成されて生成される音声データであったりしてもよい。連携ルール制御部122は、連携接続管理部130を介して受信した音声データをスピーカー(出力部)150に出力して再生する。
【0070】
図12は、ユーザ装置100の連携ルールに基づくデバイス連携例を示す図である。
図12の例は、例えば、
図2の外部デバイス500Aと外部デバイス500Bの連携ルールであり、2つの外部デバイス500A,500Bのデバイス入力動作情報を条件として、外部デバイス500Aのランプが点灯する連携ルール制御である。外部デバイス500Aのボタンが押されると、ボタンが押されたことを示す信号が外部デバイス500Aからユーザ装置100に出力される。また、加速度センサである外部デバイス500Bが振られると、外部デバイス500Bが振られたことを示す信号が外部デバイス500Bからユーザ装置100に出力される。
【0071】
例えば、所定時間以内に各外部デバイス500A,500Bからデバイス入力動作情報がユーザ装置100に入力されたとき、連携ルール制御部122は、2つのデバイス入力動作情報をキーに連携ルールを検索する。連携ルール制御部122は、検索の結果、外部デバイス500Aのボタンが押されこと及び外部デバイス500Bが振られたことに対する実行節である「THEN」が存在するか否かを判別し、存在する場合、「THEN」に規定された連携対象デバイスとその制御信号(連携対象が外部デバイス500Aであること及びランプを点灯させる制御情報)を抽出する。連携ルール制御部122は、連携接続管理部130を介して「ランプを点灯させる」制御信号を外部デバイス500Aに出力する。
【0072】
図13は、ユーザ装置100の連携ルールに基づく外部デバイス500及びユーザ装置100にインストールされたアプリケーションの連携例を示す図である。
図14は、ユーザ装置100の連携ルールに基づく外部デバイス500及びアプリケーションの連携処理を示すフローチャートである。
【0073】
図13の例では、デバイス登録として、ユーザ装置100にインストールされているアプリケーションを登録することができ、デバイス動作定義情報と同じように、アプリ動作定義情報を登録することができる。アプリ動作定義情報は、例えば、メールアプリケーションを一例に説明すると、ユーザ装置100に対してメールアプリケーションからメールを受信したことを与えるアプリ入力動作定義と、ユーザ装置100からメールアプリケーションを動作させる信号(例えば、定型メールの送信やメール閲覧画面の表示など)を与えるアプリ出力動作定義と、を含むように構成することができる。
【0074】
なお、ユーザ装置100にインストールされたアプリケーションを含む連携ルールを生成する場合、ルール設定部322は、条件節情報又は実行節情報のいずれか一方に、外部デバイス500のデバイス動作定義情報が含まれるように、デバイス動作定義情報及びアプリ動作情報を選択可能に制御することができる。
【0075】
アプリケーション制御部123は、例えば、メールの送受信制御やメールの閲覧制御などのメーラーの制御を行う。アプリケーション制御部123は、メールを受信すると、メールを受信したことを連携ルール制御部122に通知する(S132)。連携ルール制御部122は、メールを受信したことをキーに、連携ルールを検索する(S133)。連携ルール制御部122は、検索の結果、メールを受信したことに対する実行節である「THEN」が存在するか否かを判別し、存在する場合、「THEN」に規定された連携対象デバイスとその制御信号(連携対象が外部デバイス500Aであること及びランプを点灯する制御情報)を抽出する(S134)。連携ルール制御部122は、連携接続管理部130を介してランプと点灯する制御信号を外部デバイス500Aに出力する(S135)。
【0076】
続いて、連携ルール制御部122は、
図9の例と同様に、外部デバイス500Aのボタンが押されると、ボタンが押されたことを示す信号が外部デバイス500Aからユーザ装置100に出力される。連携ルール制御部122は、メールの受信に伴って外部デバイス500Aのボタンが押されたことをキーに、連携ルールを検索する。
【0077】
連携ルール制御部122は、検索の結果、メールの受信に伴って外部デバイス500Aのボタンが押されたことに対する実行節である「THEN」が存在するか否かを判別し、存在する場合、「THEN」に規定された連携対象アプリケーションとその制御信号(連携対象がメールアプリケーションであること及び所定のメーラーでメールを閲覧可能な状態に表示する制御情報)を抽出する。
【0078】
連携ルール制御部122は、アプリケーション制御部123に対して受信したメールを表示するように通知し、アプリケーション制御部123は、外部デバイス500Aのボタンが押されたことをトリガーに、受信したメールを表示する表示制御を行う。このようにユーザ装置100にインストールされたアプリケーションも、外部デバイス500との連携に使用することができる。
【0079】
図15は、ユーザ装置100の連携ルールに基づく外部デバイス500、ユーザ装置100にインストールされたアプリケーション及び外部サービスシステム400の連携例を示す図である。
図16は、
図15に示す連携例の処理フローを示す図である。
【0080】
図15の例では、
図13の例に対してさらに外部サービスシステム400との連携が追加された連携ルール制御である。つまり、
図13の例において、メールを受信したことに伴い、外部デバイス500Aと連携しつつ(S141〜S144)、外部デバイス500Aのボタンが押されると(S145のYES)、ボタンが押されたことを示す信号が外部デバイス500Aからユーザ装置100に出力される。連携ルール制御部122は、連携ルールの検索し(S146)、検索の結果、メールの受信に伴って外部デバイス500Aのボタンが押されたことに対する実行節である「THEN」が存在するか否かを判別する。存在すると判別された場合、「THEN」に規定された連携対象アプリケーションとその制御信号(連携対象が外部デバイス500Dである外部サービスシステム400及び外部デバイス500Dに受信したメール文の音声合成データ生成要求をすること)を抽出する(S147)。
【0081】
連携ルール制御部122は、受信した該当のメールデータをアプリケーション制御部123から受け取り、外部サービスシステム400に出力する。外部サービスシステム400は、音声合成データ生成要求を受信すると、メールデータ(テキストデータ)に基づいて音声合成処理を行い、音声合成データを生成してユーザ装置100に出力する。連携ルール制御部122は、連携接続管理部130を介して受信した音声合成データをスピーカー(出力部)150に出力して再生する(S148)。
【0082】
本実施形態のデバイス連携支援システムは、外部デバイス500に加えてユーザ装置100にインストールされているアプリケーションも対象に、デバイス連携を支援する。
【0083】
具体的には、ユーザ装置100は、外部デバイス500から出力される動作結果が入力されると共に、外部デバイス500を動作させるための制御信号を外部デバイス500に出力し、連携ルールに基づいて予めインストールされているアプリケーションを含むデバイス連携制御を行う。
【0084】
そして、デバイス登録部321は、上述したデバイス動作定義情報をデバイス登録者から受け付けて外部デバイス500毎に登録するとともに、ユーザ装置100のアプリケーションに関するアプリ動作定義情報を登録者から受け付けて、アプリケーション毎に登録する。ルール設定部322は、デバイス動作定義情報及びアプリ動作情報を選択可能に制御し、連携ルール作成者によって選択された少なくとも1つのデバイス入力動作定義又はアプリ動作定義情報を含む条件節情報と、少なくとも1つのデバイス出力動作定義又はアプリ動作定義情報を含む実行節情報とを組み合わせた連携ルールを生成する。このとき、ルール設定部322は、条件節情報又は実行節情報のいずれか一方に、外部デバイス500のデバイス動作定義情報が含まれるように、デバイス動作定義情報及びアプリ動作情報を選択可能に制御して連携ルールを生成することができる。
【0085】
図17は、本実施形態のデバイス連携支援システムの変形例を示す図である。
図17に示す変形例は、外部デバイス500が、ユーザ装置100に内蔵されている態様を示している。
【0086】
このような場合においても、外部デバイス500同様に、内部デバイス510Aとの連携を行うことができる。例えば、内部デバイス510Aが、加速度センサである場合、加速度センサで検知された「ユーザ装置100が振られた」ことを条件に、外部デバイス500と連携し連携ルール制御を行うことができる。逆に、外部デバイス500からの入力情報に基づいて、内部デバイス510Aが動作する(例えば、照明デバイスである場合、点灯する)など、連携ルールに基づくデバイス連携制御を行うことができる。
【0087】
以上、本実施形態について説明したが、ユーザ装置100側で、連携ルールの一部を変更することも可能である。例えば、連携ルール制御部122は、ルール変更画面を表示してユーザがルール変更を設定できるように制御することができる。この場合、変更された連携ルールは、記憶部140に記憶されるが、ユーザ装置100側の連携ルールの変更は、デバイス連携支援装置300で管理することができる。
【0088】
連携ルールの一部が変更された場合、ユーザ装置100は、変更内容をデバイス連携支援装置300に送信する。デバイス連携支援装置300は、例えば、該当するユーザ装置100及び連携ルールに対し、変更があった旨や変更内容を付加情報として関連付けて記憶しておくことができる。つまり、登録されている連携ルールに、ユーザ装置100側の変更内容を反映せずに、ユーザ装置100毎に変更内容及び変更の有無を個別に管理するように構成することができる。
【0089】
また、ユーザ装置100は、
図17の例のように内蔵型の温度センサや振動センサを備えることができ、さらに、GPS装置(位置情報取得装置)を備えることができる。このため、これらのセンサや装置を外部デバイス500と捉え、同様に、上述した連携ルールに基づいて動作させることができる。例えば、
図17の例のように、内蔵型の温度センサや振動センサもデバイス登録の対象として制御してデバイス動作定義情報(デバイス入力動作定義/デバイス出力動作定義)を登録することができる。そして、例えば、条件節情報として内蔵型温度センサの閾値を設定し、温度が閾値を満たすときに内蔵型振動センサが起動して振動する実行節情報を含む連携ルールを生成することができる。ユーザ装置100は、このような連携ルールに基づいて、内蔵型デバイスと連携した連携制御を行うことができる。また、他の例としては、ユーザ装置100に内蔵されるGPS装置もデバイス登録の対象として制御してデバイス動作定義情報を登録することができる。例えば、条件節情報として、GPS装置で取得される位置情報が設定された所定の位置の範囲内であるとき、
図11に示すような外部サービスシステム400(外部デバイス500)の発話アプリと連携し、所定の音声が出力される連携ルールを生成することができる。
【0090】
また、本実施形態のデバイス連携支援システムは、ユーザ装置100に内蔵されるGPS装置を使用し、外部デバイス500と連携してユーザ装置100の監視制御も行うことができる。
図6にて説明したように、ユーザ装置100のセットアップ情報が適宜収集されるが、外部デバイス500と連携してユーザ装置100の位置情報をデバイス連携支援システムで把握できるように構成することもできる。例えば、外部デバイス500Aのボタンが押されたことを条件節情報とし、ユーザ装置100に内蔵されるGPS装置で取得される位置情報を、デバイス連携支援装置300に送信することを実行節情報とする連携ルールを生成することができる。このような監視ルールは、例えば、本実施形態で生成される全ての連携ルールの実行節情報に一律に付加したり、所定の連携ルールに付加したり、他の連携ルールと区分けした監視ルールとして生成したりすることができる。また、1つの監視ルールが、ユーザ装置100と連携する全ての外部デバイス500を対象に設定されてもよい。このように、監視ルールは、上述した外部デバイス500との連携制御に用いられる連携ルールとは独立して制御したり、連動させて制御したりすることができる。そして、デバイス連携支援装置300側では、セットアップ情報と同様に、ユーザ装置100から送信される位置情報を記憶装置330に記憶し、監視部や別途の監視システムと連携してユーザ装置100がどの位置にあるかなどの監視制御を行うことができる。
【0091】
ユーザ装置100の連携ルール制御部122は、連携ルールの実行履歴(実行したルールとその時刻を少なくとも含むルール実行ログ)を、記憶部140に記憶することができる。そして、デバイス連携支援装置300側でのセットアップ情報の収集と同様に、ユーザ装置100側のルール実行ログをデバイス連携支援装置300側で管理することができる。ユーザ装置100の連携ルール制御部122は、任意のタイミングでルール実行ログをデバイス連携支援装置300に送信することができ、また、デバイス連携支援装置300から配信されるログ取得要求を受信し、これを契機としてルール実行ログをデバイス連携支援装置300に送信することができる。デバイス連携支援装置300側では、各ユーザ装置100から受信したルール実行ログを記憶装置330に記憶し、ユーザ行動分析やユーザ嗜好分析に活用することができる。不図示の分析部や別途の分析システムと連携してもよい。なお、連携ルールの実行履歴は、例えば、温度センサや湿度センサなどのセンサ検出情報を含むことができる。
【0092】
また、このようなルール実行ログを各ユーザ装置100から収集する仕組みを利用して、課金機能を実現することができる。つまり、上述のように外部デバイス500の登録から連携ルールの作成、ルール配信と共に、ユーザ装置100での連携ルールの実行ログを管理することができ、デバイス連携支援システム側でユーザ装置100と外部デバイス500との間の連携を全て把握することができる。そこで、ルール実行ログに基づいて、不図示の課金部や別途の課金システムと連携し、ユーザ装置100を保有するユーザから外部デバイス500との連携サービスに関する料金を徴収したりすることができる。また、デバイス登録者や連携ルール作成者に対しても課金したり、逆にユーザから徴収した料金をデバイス登録者や連携ルール作成者に分配する周知の課金モデルを適用したりすることもできる。
【0093】
また、監視制御の一例として、上述したユーザ装置100のGPS装置を使用した位置情報と、連携ルールの実行履歴とを組み合わせた監視システムを構築することもできる。例えば、
図18に示すように、デバイス連携支援装置300は、ユーザ装置100の位置情報を用いて所定の地図上に各ユーザ装置100に対応するアイコンを表示する。このとき、連携ルールの実行履歴に応じてアイコンの表示態様を変更し、ユーザ装置100毎に実行履歴に応じたアイコン表示制御を行うことができる。例えば、外部デバイス500が温度センサや湿度センサなどのセンサ機器である場合(又はセンサ機器を備える外部デバイス500である場合)、実行履歴としてセンサ検出情報をユーザ装置100から収集することができる。そこで、デバイス連携支援装置300は、位置情報に基づいてユーザ装置100のアイコンを地図上に配置したモニタリング画面を生成するとともに、センサ検出情報に基づいて温度や湿度の閾値に応じて色分けした各アイコンの表示制御を行うことができる。また、実行履歴から外部デバイス500の操作履歴を取得することができるので、異常を知らせる外部デバイス500のボタンが押されたら、即座にモニタリング画面の該当するアイコン(ユーザ装置100)の色や形状を変化させて表示したり、別途警告画面等をモニタリング画面に表示させたりすることができる。
【0094】
なお、ユーザ装置100は、ユーザが操作する装置以外にも、例えば、ユーザの操作をほとんど伴わない(ON/OFF程度操作する)ゲートウェイ装置やルータ装置であってもよい。
【0095】
また、上述のデバイス連携支援システムを構成する各装置の各機能は、プログラムによって実現可能であり、各機能を実現するために予め用意されたコンピュータプログラムが補助記憶装置に格納され、CPU等の制御部が補助記憶装置に格納されたプログラムを主記憶装置に読み出し、主記憶装置に読み出された該プログラムを制御部が実行することで、各部の機能を動作させることができる。
【0096】
また、上記プログラムは、コンピュータ読取可能な記録媒体に記録された状態で、コンピュータに提供することも可能である。コンピュータ読取可能な記録媒体としては、CD−ROM等の光ディスク、DVD−ROM等の相変化型光ディスク、MO(Magnet Optical)やMD(Mini Disk)などの光磁気ディスク、フロッピー(登録商標)ディスクやリムーバブルハードディスクなどの磁気ディスク、コンパクトフラッシュ(登録商標)、スマートメディア、SDメモリカード、メモリスティック等のメモリカードが挙げられる。また、本発明の目的のために特別に設計されて構成された集積回路(ICチップ等)等のハードウェア装置も記録媒体として含まれる。
【0097】
なお、本発明の実施形態を説明したが、当該実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。