(57)【要約】【課題】複数の異なる機器間での互換性を向上可能な、機器制御装置、機器制御方法およびプログラムを提供する。【解決手段】機器制御方法は、サービスＳを提供する機器１を検出し、サービスにより実行可能となるアクションＡの一覧であるアクションリストＡＬを機器から取得し、アクションリストが各機器の各サービスについてアクション毎に定められたプロトコル仕様Ｐを指定するための情報を有し、指定されたプロトコル仕様に従って、機器を通じてサービスにアクションの実行を要求することを含む。また、機器制御装置は、上記方法を実行するための構成を備える。【選択図】図５
2012124604.tif 000002
【特許請求の範囲】
【請求項１】
サービスを提供する機器を検出する機器検出部と、
前記サービスにより実行可能となる機能の一覧を前記機器から取得し、前記機能の一覧が各機器の各サービスについて機能毎に定められたプロトコル仕様を指定するための情報を有する一覧取得部と、
前記指定されたプロトコル仕様に従って、前記機器を通じて前記サービスに前記機能の実行を要求する実行要求部と
を備える機器制御装置。
【請求項２】
前記機能の一覧は、各機器の各サービスについて機能毎に定められた、前記プロトコル仕様のバージョンを指定するための情報と、前記機能の実行要求先を指定する情報とを含む、請求項１に記載の機器制御装置。
【請求項３】
前記プロトコル仕様を指定するための情報に基づき、前記自装置が対応可能な機器であるかを判断する、請求項１または２に記載の機器制御装置。
【請求項４】
サービスを提供する機器を検出し、
前記サービスにより実行可能となる機能の一覧を前記機器から取得し、前記機能の一覧が各機器の各サービスについて機能毎に定められたプロトコル仕様を指定するための情報を有し、
前記指定されたプロトコル仕様に従って、前記機器を通じて前記サービスに前記機能の実行を要求すること
を含む機器制御方法。
【請求項５】
サービスを提供する機器を検出し、
前記サービスにより実行可能となる機能の一覧を前記機器から取得し、前記機能の一覧が各機器の各サービスについて機能毎に定められたプロトコル仕様を指定するための情報を有し、
前記指定されたプロトコル仕様に従って、前記機器を通じて前記サービスに前記機能の実行を要求すること
を含む機器制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器制御装置、機器制御方法およびプログラムに関する。
【背景技術】
【０００２】
従来、ユニバーサルコントローラ等の制御装置を用いて、複数の異なる機器を制御する機器制御システムが知られている。機器制御システムでは、サービスを提供する機器がサーバとして動作し、サービスを受ける制御装置（機器制御装置）がクライアントとして動作する。制御装置は、機器を通じてサービスに機能の実行を要求することで機器を制御する。機能の実行は、各機器についてサービス毎に定められたプロトコル仕様に従って要求される。
【０００３】
ここで、基本的な機能の実行要求は、複数の異なる機器間または複数の異なるサービス間で共用される標準プロトコル仕様として定義されている。しかし、各機器では、実装上の制約や独自の要件に対応するために、基本的な機能の実行要求とともに、拡張・変更された機能の実行要求がサービス毎に独自プロトコル仕様として定義される。よって、制御装置では、各機器についてサービス毎に異なるプロトコル仕様を各機器のサービスに関連付けて管理することになる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このため、制御装置では、各機器についてサービス毎に異なるプロトコル仕様を管理しなければならず、実装の統一が困難になることがあった。また、プロトコル仕様を管理していない機器に対応できないことがあった。
【０００５】
そこで、本発明は、複数の異なる機器間での互換性を向上可能な、機器制御装置、機器制御方法およびプログラムを提供しようとするものである。
【課題を解決するための手段】
【０００６】
本発明のある観点によれば、サービスを提供する機器を検出する機器検出部と、サービスにより実行可能となる機能の一覧を機器から取得し、機能の一覧が各機器の各サービスについて機能毎に定められたプロトコル仕様を指定するための情報を有する一覧取得部と、指定されたプロトコル仕様に従って、機器を通じてサービスに機能の実行を要求する実行要求部とを備える機器制御装置が提供される。
【０００７】
機能の一覧は、各機器の各サービスについて機能毎に定められた、プロトコル仕様のバージョンを指定するための情報と、機能の実行要求先を指定する情報とを含んでもよい。
【０００８】
機器制御装置は、プロトコル仕様を指定するための情報に基づき、自装置が対応可能な機器であるかを判断してもよい。
【０００９】
本発明の他の観点によれば、サービスを提供する機器を検出し、サービスにより実行可能となる機能の一覧を機器から取得し、機能の一覧が各機器の各サービスについて機能毎に定められたプロトコル仕様を指定するための情報を有し、指定されたプロトコル仕様に従って、機器を通じてサービスに機能の実行を要求することを含む機器制御方法が提供される。
【００１０】
本発明の他の観点によれば、上記機器制御方法をコンピュータに実行させるためのプログラムが提供される。ここで、プログラムは、コンピュータ読取り可能な記録媒体を用いて提供されてもよく、通信手段等を介して提供されてもよい。
【発明の効果】
【００１１】
本発明によれば、複数の異なる機器間での互換性を向上可能な、機器制御装置、機器制御方法およびプログラムを提供することができる。
【図面の簡単な説明】
【００１２】
【図１】一般的な機器制御システムの構成を示す図である。
【図２】一般的な機器制御システムの動作を示すシーケンス図である。
【図３】一般的なアクションリストの一例を示す図である。
【図４】本発明の実施形態に係る機器制御システムの機能構成を示すブロック図である。
【図５】本発明の実施形態に係る機器制御システムの動作を示すシーケンス図である。
【図６】本発明の実施形態に係るアクションリストの一例を示す図である。
【図７】アクションリストの一例を示す図である。
【図８】“ｒｅｇｉｓｔｅｒ”アクションの実行例を示す図である。
【図９】“ｇｅｔＳｙｓｔｅｍＩｎｆｏｒｍａｔｉｏｎ”アクションの実行例を示す図である。
【図１０】“ｇｅｔＲｅｍｏｔｅＣｏｍｍａｎｄＬｉｓｔ”アクションの実行例を示す図である。
【図１１】“ｇｅｔＳｔａｔｕｓ”アクションの実行例を示す図である。
【図１２】“ｇｅｔＷｅｂＳｅｒｖｉｃｅＬｉｓｔ”アクションの実行例を示す図である。
【図１３】“ｇｅｔＣｏｎｔｅｎｔＩｎｆｏｒｍａｔｉｏｎ”アクションの実行例を示す図である。
【図１４】“ｇｅｔＨｉｓｔｏｒｙＬｉｓｔ”アクションの実行例を示す図である。
【図１５】“ｇｅｔＴｅｘｔ”アクションの実行例を示す図である。
【図１６】“ｓｅｎｄＴｅｘｔ”アクションの実行例を示す図である。
【図１７】“ｇｅｔＣｏｎｔｅｎｔ”アクションの実行例を示す図である。
【図１８】“ｓｅｎｄＣｏｎｔｅｎｔ”アクションの実行例を示す図である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１４】
［１．一般的な機器制御システムの構成］
図１は、一般的な機器制御システムの構成を示す図である。図１に示すように、機器制御システムは、制御対象となる機器１ａ、１ｂ等の機器１（機器の総称）と、通信回線３を通じて機器１を制御する制御装置（機器制御装置）２とを含んでいる。機器１は、例えばＷｅｂブラウジングサービス、コンテンツの出力サービス、検索サービス、再生サービス、記録サービス等、１以上のサービスＳ（サービスの総称）を提供する。制御装置２は、機器１を通じてサービスＳに機能の実行を要求することで機器１を制御する。
【００１５】
機器１は、例えば、ディスプレイ、プロジェクタ、プリンター、レコーダ、カメラ、オーディオシステム、パーソナルコンピュータ、家電機器等、通信回線３を通じて制御装置２により制御可能な機器１である。制御装置２は、リモートコントローラ、携帯情報端末、携帯電話、ディスプレイ、パーソナルコンピュータ等、通信回線３を通じて機器１を制御可能な端末である。通信回線３は、例えばＤＬＮＡ（Ｄｉｇｉｔａｌ  Ｌｉｖｉｎｇ  Ｎｅｔｗｏｒｋ  Ａｌｌｉａｎｃｅ）等の有線もしくは無線ネットワーク等、双方向性の通信回線３である。
【００１６】
図１に示す例では、機器１ａは、Ｗｅｂブラウジングサービス、コンテンツの出力サービス、検索サービス等のサービスＳを提供するネットワークテレビであり、機器１ｂは、コンテンツの再生サービス、記録サービス等のサービスＳを提供するＨＤＤレコーダである。なお、図１には、機器１ａが提供するサービスの一例としてサービスＳａが示され、機器１ｂが提供するサービスの一例としてサービスＳｂが示されている。
【００１７】
［２．一般的な機器制御システムの動作］
図２は、一般的な機器制御システムの動作を示すシーケンス図である。図２には、制御装置２のユーザＵと、制御装置２と、例えばサービスＳａ、Ｓｂをそれぞれに提供する機器１ａ、１ｂが示されている。
【００１８】
図２に示すように、機器制御の開始に際して、ユーザＵは、特定の機器１を指定して機器接続を制御装置２に指示する（ステップＳ１１）。図２に示す例では、特定の機器１として機器１ａが指定されている。接続指示を受けると、制御装置２は、ネットワーク３上で接続可能な機器１ａ、１ｂを検出し、特定の機器１ａとの接続を確立する（ステップＳ１２〜Ｓ１５）。機器１ａとの接続を確立すると、制御装置２は、機器１ａから機器情報を取得する（ステップＳ１６、Ｓ１７）。
【００１９】
機器情報を取得すると、制御装置２は、機器１ａからアクションリストＡＬａ（機能一覧）を取得する（ステップＳ１８、Ｓ１９）。アクションリストＡＬ（アクションリストの総称）とは、機器１が提供するサービスＳにより実行可能となるアクションＡ（機能）の一覧を示すリストであり、機器１により管理されている。
【００２０】
図３は、一般的なアクションリストＡＬの一例を示す図である。図３に示すように、機器１ａのサービスＳａについては、アクションＡａ１、Ａａ２、…を実行可能とするために、プロトコル仕様Ｐａが定義される。また、機器１ｂのサービスＳｂについては、アクションＡｂ１、Ａｂ２、…を実行可能とするために、プロトコル仕様Ｐｂが定義される。そして、アクションリストＡＬａには、サービスＳａにより実行可能となるアクションＡａ１、Ａａ２、…が指定され、アクションリストＡＬｂには、サービスＳｂにより実行可能となるアクションＡｂ１、Ａｂ２、…が指定される。なお、同様なサービスＳについても、サービスＳを提供する機器１に応じて異なるプロトコル仕様Ｐが定義されることもある。
【００２１】
アクションリストＡＬａを取得すると、制御装置２は、操作画面を生成して表示する（ステップＳ２０）。制御装置２は、アクションリストＡＬａに含まれるアクションＡ（アクションの総称）の内容に基づき操作画面を生成する。ユーザＵは、操作画面を通じて所望の操作を入力する（ステップＳ２１）。
【００２２】
操作入力を受けると、制御装置２は、操作入力に対応するアクションＡの実行を、機器１ａを通じてサービスＳａに要求する（ステップＳ２２、Ｓ２３）。ここで、アクションＡの実行は、制御装置２により管理されている管理情報に基づき、各機器１についてサービスＳ毎に定められたプロトコル仕様Ｐを特定し（ステップＳ２２）、特定したプロトコル仕様Ｐに従って要求される（ステップＳ２３）。
【００２３】
アクションＡの実行を要求されると、機器１ａのサービスＳａは、要求されたアクションＡを実行する。そして、制御装置２は、アクションＡに応じた応答を機器１ａから受信し、アクションＡの実行結果を生成して表示する。これにより、制御装置２は、機器１ａを通じてサービスＳａにアクションＡの実行を要求することで機器１ａを制御する。
【００２４】
ここで、基本的なアクションＡの実行要求は、ＵＰｎＰ（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）仕様書等の標準プロトコル仕様Ｐとして定義されている。しかし、各機器１では、実装上の制約や独自の要件に対応するために、基本的なアクションＡの実行要求とともに、拡張・変更されたアクションＡの実行要求がサービスＳ毎に独自プロトコル仕様Ｐとして定義される。つまり、各機器１のサービスＳ毎に、バージョンの異なる標準プロトコル仕様Ｐが用いられたり、独自プロトコル仕様Ｐが用いられたりする。よって、制御装置２では、各機器１についてサービスＳ毎に異なるプロトコル仕様Ｐを各機器１のサービスＳのＵＲＬ等に関連付けて管理することになる。
【００２５】
このため、制御装置２では、各機器１についてサービスＳ毎に異なるプロトコル仕様Ｐを管理しなければならず、実装の統一が困難になることがあった。また、プロトコル仕様Ｐを管理していない機器１に対応できないことがあった。
【００２６】
［３．実施形態に係る機器制御システムの構成］
図４は、本発明の実施形態に係る機器制御システムの機能構成を示すブロック図である。図４に示すように、制御装置（機器制御装置）２は、通信部１１、操作部１２、表示部１３、記憶部１４および制御部１５を含んでいる。制御部１５は、機器検出部１６、リスト取得部１７および実行要求部１８としても機能する。
【００２７】
通信部１１は、ネットワーク３を通じて機器１との間で通信する。通信部１１は、機器検出のために、ネットワーク３上に検出要求を配信し、検出応答を機器１から受信する。通信部１１は、機器情報やアクションリストＡＬを機器１から受信し、アクションＡの実行要求を機器１に送信する。通信部１１は、ネットワーク３を通じて機器１との間で双方向通信を行うための通信デバイスとして構成される。
【００２８】
操作部１２は、接続指示、操作入力等をユーザＵから受ける。操作部１２は、キー、ボタン、タッチセンサ等の入力デバイスとして構成される。
【００２９】
表示部１３は、操作入力を受付けるための操作画面、操作入力に対応するアクションＡの実行結果等を表示する。表示部１３は、液晶ディスプレイ（ＬＣＤ）、有機ＥＬディスプレイ、プラズマディスプレイ等として構成され、ユーザＵによる操作入力が可能なタッチパネルとして構成されてもよい。
【００３０】
記憶部１４は、アクションＡの実行をサービスＳに要求するために用いるプロトコル仕様Ｐを格納している。また、記憶部１４は、操作画面等を生成するための情報も格納している。プロトコル仕様Ｐは、１以上のアクションＡを実行可能とするためにそれぞれに定義する、各種バージョンの標準プロトコル仕様Ｐや独自プロトコル仕様Ｐ等からなる。記憶部１４には、新たなプロトコル仕様Ｐが追加されたり、古いプロトコル仕様Ｐが削除されたりする。なお、図４には、プロトコル仕様Ｐの１つが「プロトコル仕様Ｐ」として示されている。
【００３１】
アクションＡは、必要に応じて機器１毎に拡張・変更され、拡張・変更されたアクションＡは、複数の異なる機器１と制御装置２との間で一意に特定可能なバージョン情報により管理されている。このため、プロトコル仕様Ｐは、プロトコル仕様Ｐにより定義されるアクションＡのバージョン情報と関連付けて管理されている。アクションＡのバージョン情報は、当該アクション毎に定められたプロトコル仕様Ｐを指定するための情報となる。
【００３２】
制御部１５は、制御装置２の動作を実現するための演算処理や制御処理を行う。制御部１５は、ＣＰＵ、ＲＯＭ、ＲＡＭ等からなり、ＣＰＵがＲＯＭ等に記憶されたプログラムをＲＡＭ上に展開して実行することで、後述する制御装置２の動作を実現する。
【００３３】
制御部１５は、通信部１１と協働して、制御対象となる機器１を検出する機器検出部１６としても機能する。制御部１５は、機器１が提供するサービスＳにより実行可能となるアクションＡ（機能）の一覧をアクションリストＡＬとして機器１から取得するリスト取得部１７としても機能する。アクションリストＡＬは、各機器１の各サービスＳについてアクションＡ毎に定められたプロトコル仕様Ｐを指定するための情報を有している。制御部１５は、指定されたプロトコル仕様Ｐに従って、機器１を通じてサービスＳにアクションＡの実行を要求する実行要求部１８としても機能する。
【００３４】
機器１は、通信部２１、記憶部２２および制御部２３を含んでいる。制御部２３は、リスト提供部２４および実行部２５としても機能する。
【００３５】
通信部２１は、ネットワーク３を通じて制御装置２との間で通信する。通信部２１は、検出要求に応じて検出応答を制御装置２に送信する。通信部２１は、機器情報やアクションリストＡＬを制御装置２に送信し、アクションＡの実行要求を制御装置２から受信する。記憶部２２は、機器１が提供するサービスＳにより実行可能となるアクションＡの一覧をアクションリストＡＬとして格納している。なお、図４には、アクションリストＡＬの１つが「アクションリストＡＬ」として示されている。制御部２３は、通信部２１と協働して、サービスＳのアクションリストＡＬを制御装置２に提供するリスト提供部２４としても機能する。制御部２３は、制御装置２から要求されたアクションＡを実行する実行部２５としても機能する。
【００３６】
［４．実施形態に係る機器制御システムの動作］
図５は、本発明の実施形態に係る機器制御システムによる機器制御の手順を示すシーケンス図である。図５には、図１と同様に、制御装置２のユーザＵと、制御装置２と、例えばサービスＳａ、Ｓｂをそれぞれに提供する機器１ａ、１ｂが示されている。図５に示す例では、機器１ａは、Ｗｅｂブラウジングサービス、コンテンツの出力サービス、検索サービス等のサービスＳを提供するネットワークテレビであり、機器１ｂは、コンテンツの再生サービス、記録サービス等のサービスＳを提供するＨＤＤレコーダである。
【００３７】
図５に示すように、機器制御の開始に際して、ユーザＵは、特定の機器１を指定して機器１との接続を制御装置２に指示する（ステップＳ５１）。図５に示す例では、特定の機器１として機器１ａが指定されている。制御部１５は、操作部１２を通じて接続指示を受けると、機器検出部１６に機器検出を指示する。
【００３８】
機器検出部１６は、通信部１１と協働して、ネットワーク３上で接続可能な機器１ａ、１ｂに検出要求を配信し（ステップＳ５２）、検出要求を受けた機器１ａ、１ｂから検出応答を受信することで機器１ａ、１ｂを検出する（ステップＳ５３、Ｓ５４）。機器１の検出は、例えばＵＰｎＰ：Ｄｉｓｃｏｖｅｒｙコマンドを用いて行われる。機器１ａ、１ｂを検出すると、制御部１５は、通信部１１を通じて特定の機器１ａとの接続を確立する（ステップＳ５５）。
【００３９】
機器１ａとの接続を確立すると、制御部１５は、通信部１１を通じて検出応答に記述された参照先にアクセスすることで機器情報を取得する（ステップＳ５６、Ｓ５７）。機器情報の取得は、例えば、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）：Ｇｅｔコマンドを用いて行われる。
【００４０】
機器情報を取得すると、リスト取得部１７は、通信部１１を通じて機器情報に記述された参照先にアクセスすることでアクションリストＡＬａ（機能一覧）を取得する（ステップＳ５８、Ｓ５９）。アクションリストＡＬの取得は、例えば、ＨＴＴＰ：Ｇｅｔコマンドを用いて行われる。リスト提供部２４は、アクセスに応じて（ステップＳ５８）、サービスＳａのアクションリストＡＬａを記憶部２２から読み出し、通信部２１を通じて制御装置２に提供する（ステップＳ５９）。リスト取得部１７は、取得したアクションリストＡＬａを機器１ａのサービスＳａに関連付けて記憶部１４に格納する。
【００４１】
ここで、アクションリストＡＬは、サービスＳにより実行可能となるアクションＡ（機能）の一覧を示すリストであり、機器１により管理されている。ただし、本実施形態に係る機器制御システムでは、一般的な機器制御システムとは異なり、アクションリストＡＬは、アクションＡの一覧とともに、各機器１の各サービスＳについてアクションＡ毎に定められたプロトコル仕様Ｐを指定するための情報を有している。
【００４２】
図６は、本発明の実施形態に係るアクションリストＡＬの一例を示す図である。図６に示すように、機器１ａのサービスＳａについては、アクションＡａ１に対してプロトコル仕様Ｐ１が指定され、アクションＡａ２に対してプロトコル仕様Ｐ２が指定される。また、サービスＳｂについては、アクションＡｂ１に対してプロトコル仕様Ｐ２が指定され、アクションＡｂ２に対してプロトコル仕様Ｐ３が指定される。そして、アクションリストＡＬａには、サービスＳａにより実行可能となるアクションＡａ１、Ａａ２、…が対応するプロトコルＰ１、Ｐ２、…とそれぞれに関連付けて指定される。同様に、アクションリストＡＬｂには、サービスＳｂにより実行可能となるアクションＡｂ１、Ａｂ２、…が対応するプロトコルＰ２、Ｐ３、…とそれぞれに関連付けて指定される。
【００４３】
図７は、アクションリストＡＬの一例を示す図である。図７に示すように、＜ａｃｔｉｏｎＬｉｓｔ＞要素には、サービスＳにより実行可能となる複数の＜ａｃｔｉｏｎ＞要素が記述されている。
【００４４】
図７に示す例では、“ｒｅｇｉｓｔｅｒ”、“ｇｅｔＳｙｓｔｅｍＩｎｆｏｒｍａｔｉｏｎ”、“ｇｅｔＲｅｍｏｔｅＣｏｍｍａｎｄＬｉｓｔ”、“ｇｅｔＳｔａｔｕｓ”、“ｇｅｔＴｅｘｔ”、“ＳｅｎｄＴｅｘｔ”、“ｇｅｔＣｏｎｔｅｎｔＩｎｆｏｒｍａｔｉｏｎ”、“ｇｅｔＨｉｓｔｏｒｙＬｉｓｔ”、“ｇｅｔＷｅｂＳｅｒｖｉｃｅＬｉｓｔ”、“ｓｅｎｄＣｏｎｔｅｎｔ”の＜ａｃｔｉｏｎ＞要素が記述されている。なお、アクションＡの具体例については後述する。
【００４５】
＜ａｃｔｉｏｎ＞要素は、属性として“ｎａｍｅ”、“ｖｅｒ”、“ｍｏｄｅ”、“ｕｒｌ”を有している。“ｎａｍｅ”属性は、アクションＡの識別名であり、“ｍｏｄｅ”属性は、アクションＡの動作モードを指定するために特定のアクションＡについて利用される。“ｖｅｒ”属性は、アクションＡのバージョン情報であり、アクションＡ毎に定められたプロトコル仕様Ｐを指定するための情報に相当する。“ｕｒｌ”属性は、アクションＡの実行要求先を示す情報であり、ユーザＵにより指定された特定の機器１（図５に示す例では機器１ａ）、またはネットワーク３上の他のリソース（例えば図５に示す例では機器１ｂ）を指定している。
【００４６】
図７に示す“ｒｅｇｉｓｔｅｒ”アクションＡの例では、バージョン情報が“１．２”、動作モードが“１”、実行要求先が“ｈｔｔｐ:／／１９２．１６８．１．１：８０／ｒｅｇｉｓｔｅｒ”と記述されている。例えば、実行要求先として機器１ａが指定されていれば、制御装置２は、バージョン“１．２”のプロトコル仕様Ｐに従って動作モード“１”で、制御装置２を機器１ａに登録するためのアクションＡの実行を機器１ａのサービスＳａに要求することになる。
【００４７】
また、”ｇｅｔＣｏｎｔｅｎｔＩｎｆｏｒｍａｔｉｏｎ”アクションＡの例では、バージョン情報が“１．３”、実行要求先が“ｈｔｔｐ:／／１９２．１６８．２．１：７０／ｇｅｔＣｏｎｔｅｎｔＩｎｆｏｒｍａｔｉｏｎ”と記述されている。例えば、実行要求先として機器１ｂが指定されていれば、制御装置２は、機器１ａが提供するサービスＳａのアクションリストＡＬを用いて、バージョン“１．３”のプロトコル仕様Ｐに従って、コンテンツ情報を提供するためのアクションＡの実行を機器１ｂのサービスＳｂに要求することになる。
【００４８】
アクションリストＡＬａを取得すると、制御部１５は、プロトコル仕様Ｐを指定するための情報（アクションＡのバージョン情報）と、記憶部１４に格納されているプロトコル仕様Ｐとを比較することで、機器１ａが提供するサービスＳａに対応可能であるかを判断する（ステップＳ６０）。つまり、アクションＡａのバージョン情報に関連付けて管理されているプロトコル仕様Ｐを格納しているかを判断する。
【００４９】
サービスＳａに対応可能であれば、制御部１５は、記憶部１４から読み出した情報に基づき操作画面を生成し、表示部１３を通じて表示する（ステップＳ６１）。制御部１５は、アクションリストＡＬａに含まれるアクションＡの内容に応じて異なる操作画面を生成する。ユーザＵは、操作画面を通じて所望の操作を入力する（ステップＳ６２）。
【００５０】
操作入力を受けると、実行要求部１８は、操作入力に対応するアクションＡの実行を、機器１ａを通じてサービスＳａに要求する（ステップＳ６３、Ｓ６４）。実行要求部１８は、サービスＳａに対応するアクションリストＡＬａを記憶部１４から読み出し、要求するアクションＡについて指定されるプロトコル仕様Ｐを特定する（ステップＳ６３）。そして、実行要求部１８は、通信部１１を通じてアクションＡと称する手続きとその引数を指定して、機器１ａを通じてサービスＳａを呼出す（ステップＳ６４）。これにより、制御装置２は、サービスＳａに対するリモートプロシジャーコール・インタフェースとして機能することになる。
【００５１】
アクションＡの実行を要求されると、実行部２５は、要求されたアクションＡを実行し（ステップＳ６５）、通信部２１を通じてアクションＡに応じた応答を制御装置２に送信する（ステップＳ６６）。制御部１５は、操作入力に対応するアクションＡの実行結果を生成し、表示部１３を通じて表示する（ステップＳ６７）。
【００５２】
なお、上記説明では、特定の機器１（図５に示す例では機器１ａ）にアクションＡの実行を要求する場合について説明した。しかし、アクションＡに応じては、特定の機器１に代えて、ネットワーク３を通じて接続可能な他の機器１（例えば図５に示す例では機器１ｂ）にアクションＡの実行を要求してもよい。
【００５３】
本実施形態に係る機器制御システムでは、制御装置２が、各機器１の各サービスＳについてアクションＡ毎に定められたプロトコル仕様Ｐを指定するための情報を有するアクションリストＡＬを機器１から取得する。これにより、制御装置２では、各機器１についてサービスＳ毎に異なるプロトコル仕様Ｐを機器１のサービスＳに関連付けて管理しなくてもよく、実装の統一が容易になる。また、プロトコル仕様Ｐを管理していない機器１にも対応できる。よって、プロトコル仕様Ｐの管理という観点において、複数の異なる機器間での互換性を向上できる。
【００５４】
また、複数の異なる機器１間または複数の異なるサービスＳ間では、それぞれに独自プロトコル仕様Ｐを準備しなくても、アクションＡ単位で互いに共通するプロトコル仕様Ｐを共用できる。よって、プロトコル仕様Ｐの利用という観点においても、複数の異なる機器間での互換性を向上できる。
【００５５】
［５．アクションＡの具体例］
図８から図１８を参照して、アクションリストＡＬに含まれるアクションＡの具体例について説明する。
【００５６】
図８は、“ｒｅｇｉｓｔｅｒ”アクションＡの実行例を示す図である。このアクションＡは、機器１に対して制御装置２を登録するものである。パラメータとしては、制御装置２の装置名、登録の種類（新規登録、更新登録）、装置識別子が指定される。このアクションＡには、２つの動作モードが定義されている。動作モード１では、機器１が登録モード状態にあるときのみアクションＡが受付けられ、動作モード２では、常にアクションＡが受付けられるとともに、機器１が登録を促すメッセージを表示する。
【００５７】
図８に示す例では、制御装置２は、装置名“Ｃｌｉｅｎｔ１”、登録の種類“Ｉｎｉｔｉａｌ”、装置識別子“ＣｌｉｅｎｔＮａｍｅ％３ａ００−００−００−００−００−０１”を指定するＨＴＴＰ：Ｇｅｔコマンドを用いて、アクションＡの実行を要求（Ｒｅｑ１）している。そして、制御装置２は、機器１に対する登録が成功すると、“２００ＯＫ”の応答（Ｒｅｓ１）を受信している。
【００５８】
図９は、“ｇｅｔＳｙｓｔｅｍＩｎｆｏｒｍａｔｉｏｎ”アクションＡの実行例を示す図である。このアクションＡは、機器１のシステム情報を取得するものである。システム情報としては、機器１名、世代情報、地域情報、コントローラ型番、サポートコンテンツ種別、コンテンツソース等が取得される。
【００５９】
図９に示す例では、制御装置２は、アクションＡの実行要求（Ｒｅｑ２）に応じて、“２００ＯＫ”の応答とともに、機器１のシステム情報（Ｒｅｓ２）を取得している。システム情報としては、機器１名“ＢＤＰｌａｙｅｒ”、世代情報“２０１１”、地域情報“ＵＳ”、コントローラ型番“ＲＭＴ−ＸＸＸ１”、“ＲＭＴ−ＸＸＸ２”、“ＲＭＴ−ＸＸＸ３”、サポートコンテンツ種別“ｖｉｄｅｏ”、“ｍｕｓｉｃ”、入力ソース“ＣＤ”、“ＤＶＤ”、“ＢＤ”が取得されている。
【００６０】
図１０は、“ｇｅｔＲｅｍｏｔｅＣｏｍｍａｎｄＬｉｓｔ”アクションＡの実行例を示す図である。このアクションＡは、機器１のサポートするリモートコマンド情報を取得するものである。コマンド情報としては、コントローラコード情報、操作用のＵＲＬ情報が取得される。
【００６１】
図１０に示す例では、制御装置２は、アクションＡの実行要求（Ｒｅｑ３）に応じて、機器１のコマンド情報（Ｒｅｓ３）を取得している。コマンド情報として、例えば“ＵＰ”コマンドについては、コードプロトコル“ｉｒｃｃ（赤外線コード）”、コード値“ＡＡＡｇＡＨＦｏＡＡ５Ａ＝＝”が取得されている。また、例えば“Ｈｏｍｅ”コマンドについては、コードプロトコル“ｕｒｌ”、コード値（ＵＲＬ）“ｈｔｔｐ：／／１０２．１６８．１．１／Ｈｏｍｅ”が取得されている。
【００６２】
図１１は、“ｇｅｔＳｔａｔｕｓ”アクションＡの実行例を示す図である。このアクションＡは、機器１のステータス情報を取得するものである。
【００６３】
図１１に示す例では、制御装置２は、アクションＡの実行要求（Ｒｅｑ４）に応じて、機器１のステータス情報（Ｒｅｓ４）を取得している。ステータス情報として、“ｖｉｅｗｉｎｇ（視聴中）”、コンテンツの入力ソース“ＢＤ”、再生時間“３６００”秒、再生時点“６０”秒、再生倍速“１”倍速が取得されている。
【００６４】
図１２は、“ｇｅｔＷｅｂＳｅｒｖｉｃｅＬｉｓｔ”アクションＡの実行例を示す図である。このアクションＡは、機器１が提供するＷｅｂアプリケーションの一覧を取得するものである。パラメータとしては、制御装置２の言語情報が指定される。
【００６５】
図１２に示す例では、制御装置２は、言語情報として“ｊｐ（日本語）”を指定するアクションＡの実行要求（Ｒｅｑ５）に応じて、Ｗｅｂアプリケーションの一覧（Ｒｅｓ５）を取得している。アプリケーションの一覧として、“ｓｅｒｖｉｃｅ１”については、サービスＳＩＤ、サービスＳのタイトル、サービスＳの説明、サービスＳのＵＲＬ、サービスＳのイメージ（アイコン）のＵＲＬ等が取得されている。
【００６６】
図１３は、“ｇｅｔＣｏｎｔｅｎｔＩｎｆｏｒｍａｔｉｏｎ”アクションＡの実行例を示す図である。このアクションＡは、機器１が再生中のコンテンツの詳細情報を取得するものである。
【００６７】
図１３に示す例では、制御装置２は、アクションＡの実行要求（Ｒｅｑ６）に応じて、コンテンツの詳細情報（Ｒｅｓ６）を取得している。詳細情報としては、コンテンツの種別、入力ソース、タイトル、エディション、詳細説明、ジャンル、アイコンデータ、再生時間、出演者名、ディレクター名、プロデューサ名、脚本家名、レーティング情報、リリース日時が取得されている。
【００６８】
図１４は、“ｇｅｔＨｉｓｔｏｒｙＬｉｓｔ”アクションＡの実行例を示す図である。このアクションＡは、機器１の履歴情報を取得するものである。パラメータとしては、履歴情報を取得するコンテンツの種別が指定される。
【００６９】
図１４に示す例では、制御装置２は、コンテンツの種別“ｖｉｄｅｏ”を指定するアクションＡの実行要求（Ｒｅｑ７）に応じて、再生された映像コンテンツの履歴情報（Ｒｅｓ７）を取得している。履歴情報としては、コンテンツのタイトル、コンテンツ情報の取得先ＵＲＬが取得されている。
【００７０】
図１５は、“ｇｅｔＴｅｘｔ”アクションＡの実行例を示す図である。このアクションＡは、機器１から文字列を取得するものである。図１５に示す例では、制御装置２は、アクションＡの実行要求（Ｒｅｑ８）に応じて、“２００ＯＫ”の応答とともに、文字列“ＴｅｘｔＤａｔａ”を含む応答（Ｒｅｓ８）を機器１から取得している。
【００７１】
図１６は、“ｓｅｎｄＴｅｘｔ”アクションＡの実行例を示す図である。このアクションＡは、機器１に文字列を提供するものである。パラメータとしては、提供する文字列が指定される。図１６に示す例では、制御装置２は、文字列“ＴｅｘｔＤａｔａ”を指定してアクションＡの実行要求（Ｒｅｑ９）をしている。そして、制御装置２は、機器１による文字列の受信が成功すると、“２００ＯＫ”の応答（Ｒｅｓ９）を受信している。
【００７２】
図１７は、“ｇｅｔＣｏｎｔｅｎｔ”アクションＡの実行例を示す図である。このアクションＡは、機器１からコンテンツデータを取得するものである。図１７に示す例では、制御装置２は、アクションＡの実行要求（Ｒｅｑ１０）に応じて、コンテンツデータの取得先ＵＲＬを含む応答（Ｒｅｓ１０）を取得している。
【００７３】
図１８は、“ｓｅｎｄＣｏｎｔｅｎｔ”アクションＡの実行例を示す図である。このアクションＡは、機器１にコンテンツデータを提供するものである。パラメータとしては、コンテンツデータの提供先、コンテンツの種類、コンテンツ長、コンテンツ取得先ＵＲＬが指定される。
【００７４】
図１８に示す例では、制御装置２は、コンテンツデータの提供先“１９２．１６８．１．１”、コンテンツの種類“ａＰｌｉｃａｔｉｏｎ…”、コンテンツ長“３２”を指定するＨＴＴＰ：ＰＯＳＴコマンドを用いて、アクションＡの実行要求（Ｒｅｑ１１）をしている。そして、制御装置２は、機器１によるコンテンツデータの受信が成功すると、“２００ＯＫ”の応答（Ｒｅｓ１１）を受信している。
【００７５】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【００７６】
１、１ａ、１ｂ    機器
２    制御装置
３    ネットワーク
１６    機器検出部
１７    リスト取得部
１８    実行要求部
２４    リスト提供部
２５    実行部
Ｓ、Ｓａ、Ｓｂ    サービス
Ａ、Ａａ１、Ａａ２、Ａｂ１、Ａｂ２    アクション
ＡＬ、ＡＬａ、ＡＬｂ    アクションリスト
Ｐ、Ｐａ、Ｐｂ、Ｐ１、Ｐ２、Ｐ３    プロトコル仕様
【図１】
2012124604.tif 000003
【図２】
2012124604.tif 000004
【図３】
2012124604.tif 000005
【図４】
2012124604.tif 000006
【図５】
2012124604.tif 000007
【図６】
2012124604.tif 000008
【図７】
2012124604.tif 000009
【図８】
2012124604.tif 000010
【図９】
2012124604.tif 000011
【図１０】
2012124604.tif 000012
【図１１】
2012124604.tif 000013
【図１２】
2012124604.tif 000014
【図１３】
2012124604.tif 000015
【図１４】
2012124604.tif 000016
【図１５】
2012124604.tif 000017
【図１６】
2012124604.tif 000018
【図１７】
2012124604.tif 000019
【図１８】
2012124604.tif 000020