(57)【特許請求の範囲】
【請求項１】
制御手段を有する専用の制御装置が付随しているある第二の機器と通信ネットワークによって接続されている第一の機器を制御する方法であって：
・前記第二の機器に付随する制御装置の制御手段のリストを第二の機器を介して第一の機器のそれぞれにおいて受信するステップと、
・制御されるべき第一の機器のそれぞれにおいて、第一の機器の一機能と先に受信されたリスト中の入力制御手段との間の少なくとも一つの関連付けをユーザー入力に従って設定するステップを開始するステップとを有し、その関連付けが、第一の機器からの要求によって、第二の機器内で利用できる前記制御装置の管理インターフェースに送信されるものであり、
前記方法がさらに、
・前記制御装置の制御手段の一つが作動されたときに、第二の機器によって、この制御手段と関連付けられた第一の機器に、当該機能を前記第一の機器上で実行するために作動させられる手段を同定する制御情報を送信するステップを有することを特徴とする方法。
【請求項２】
設定要求に反応して、前記第二の機器が、前記要求において同定されている制御手段が前記第二の機器上で利用可能でないことを示す情報を送信するステップを有することを特徴とする、請求項１記載の制御方法。
【請求項３】
設定要求に反応して、前記第二の機器が、前記要求において同定されている制御手段の前記第二の機器上での関連付けが検証できたことを示す情報およびこの制御手段と関連付けられている他の第一の機器の存在情報を送信するステップを有することを特徴とする、請求項１記載の制御方法。
【請求項４】
ある第一の機器が不使用になったときに、前記第二の機器が、この第一の機器と一つ以上の制御手段との間の関連付けを削除するステップを有することを特徴とする、請求項１ないし３のうちいずれか一項記載の制御方法。
【請求項５】
一つの設定要求が共通の特徴を有する複数の制御手段をまとめて第一の機器と関連付けることを特徴とする、請求項１ないし４のうちいずれか一項記載の制御方法。
【請求項６】
第一の機器によって送信される状態要求に反応して、前記第二の機器が以前の設定ステップにおいてプログラムされた関連付けのリストを送信するステップを有することを特徴とする、請求項１ないし５のうちいずれか一項記載の制御方法。
【請求項７】
通信ネットワークとの接続手段を有し、キーなどの制御手段を備えた専用制御装置からの信号を受信する装置であって、前記接続手段が前記ネットワークに接続された別の機器に前記専用制御装置の制御手段のリストを送信することを特徴とし、前記ネットワークに接続されたこの別の機器によって作動させられ、前記リスト中の一制御手段とこの別の機器の識別子との間の関連付けデータをメモリに保存する関連付け手段を有し、前記接続手段は、前記専用制御手段にてコマンドが入力されたときに、入力されたコマンドの識別子を含みこのコマンドと関連付けられている機器に向けられるデータのブロックを送信することを特徴とする装置。
【請求項８】
通信ネットワークを通じて保存すべき関連付けデータを受信する手段を有することを特徴とする、請求項７記載の装置。
【請求項９】
同定された機器から受信した関連付けデータとすでに保存されているデータとを照合する手段と、前記受信したデータによって指示される制御手段がすでに他の機器に関連付けられている場合に利用可能でない旨のメッセージを送信する手段とを有することを特徴とする、請求項８記載の装置。
【請求項１０】
同定された機器から受信した関連付けデータとすでに保存されているデータとを照合する手段と、前記受信したデータによって指示される制御手段が他の機器に関連付けられていない場合に利用可能である旨のメッセージを送信する手段とを有し、前記関連付けデータがそこでメモリに書き込まれることを特徴とする、請求項８記載の装置。
【請求項１１】
ネットワークに接続されている別の機器から不使用化信号を受信する手段を有し、その信号がこの別の機器に関する関連付けデータの削除をトリガーすることを特徴とする、請求項７ないし１０のうちいずれか一項記載の装置。
【請求項１２】
メモリに保存されている関連付けデータを送信する手段を有し、該手段がネットワークに接続されている別の機器からの要求があって作動されることを特徴とする、請求項７ないし１１のうちいずれか一項記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル通信ネットワーク内のリソースを管理する方法および該方法に関連するリソースに関するものである。本発明はより詳細には、前記リソースがユーザーコマンド入力手段であるときに適用される。
【背景技術】
【０００２】
デジタル通信ネットワークは、たとえばＩＥＥＥ１３９４バスまたはＩＰバスのような通信バスによって有線または無線手段により相互接続された機器を有する。家庭向けのデジタル通信ネットワークはたとえば次のような機器を含んでいる：ユーザーがオーディオビジュアルコンテンツを保存し視聴できるようにする端末、送信ネットワークまたは二点間のネットワーク（たとえばインターネット）から発するオーディオビジュアルコンテンツを受信する能力のあるデジタルテレビ受信機（たとえばセットトップボックス）、オーディオビジュアルコンテンツ保存装置（ビデオレコーダー）、モデムなどである。この機器のリストは網羅的ではない。デジタル通信ネットワーク内で同種の機器が複数箇所に存在することも可能で、たとえば家庭で各部屋に同じ型の端末があるといった場面も想像できる。接続された各機器はコマンド入力手段を有し、それはキーボード、マウス、リモコン、ジョイスティック、マイクを使った音声認識手段、その他、ユーザーが電子機器に対してはたらきかけができるようにするいかなる手段でもよい。リモコンがない場合もあり、そのときは機器は前面パネルのボタンによってのみ制御できる。
【０００３】
１３９４ネットワークに接続された機器は、たとえば、ＨＡＶｉプロトコルを使ってアプリケーション・プログラミング・インターフェース（ＡＰＩ）と呼ばれるソフトウェア・インターフェースを相互に提供することにより互いに通信することができる。この方法では、第一の機器が第二の機器のＡＰＩを必要とした場合には、二者間で互いに通信ができる。機器によっては専用の入力装置を備えていることもある。ネットワーク上の機器を制御するのに別の機器の専用入力装置が使えればユーザーにとって有益となりうる。
【０００４】
ＶＭ  ＬＡＢＳ  Ｉｎｃによって出願され、２００１年７月１２日に公開された特許出願ＷＯ０１／５０２１９は、ジョイスティック、マウス、キーボードといった複数のユーザーコマンド入力装置を接続するのに使えるシステムを記述している。このシステムで記述されている装備はすべて１３９４バスによってマスター中央処理装置であるマイクロコンピュータに接続されている。したがってこのシステムは集中処理であり、複数のユーザーコマンド入力装置も実際には、ユーザーによって送られるコマンドを受信して処理する前記マスター中央処理装置の専用である。そのような入力装置で生成されたユーザーコマンドが別の中央処理装置に向けたものであった場合にも、前記マスター中央処理装置はその入力装置を制御するユニットであり続けるため、コマンドを受信する中央処理装置は別であるにもかかわらず、コマンドはそのマスター中央処理装置を通らなければならない。この通信方法では、入力装置に接続された装置が単なる仲介装置と解されるべき場合にもマスターとしての地位を保つため、効率的ではない。
【０００５】
別の解決法は、各コマンド入力手段をＨＡＶｉ型の装置と考えることに関わっている。ネットワーク上の各機器は独自の通信ＡＰＩ（ハブレット（Ｈａｖｌｅｔ）と呼ばれる）をもっており、コマンド入力装置は機器の数だけＡＰＩをダウンロードする必要がある。このため通信が複雑になり、データ交換が倍加する。そのような解決法は、入力装置が使えるようになるには、ユーザーが毎回ネットワークに対して使うべき機器を指示し、該当するハブレットを読み込ませておく必要があるということを意味している。
【０００６】
米国文書６４６６９７１（Ｈｕｍｐｌｅｍａｎ）はその前文において、オーディオビジュアル機器がしばしば単一のリモコンによっていかに制御されているかを述べている。このために、諸メーカーは機器を単一の同じインターフェースから制御するための制御ユニットを開発してきた。機器（２）が別の機器（１）からの制御を受けたければ、機器（２）はそのインターフェースＡＰＩを機器（１）にダウンロードし、それによって機器（１）が機器（２）を制御できるようになる。拡張によって、複数の機器（２、２′、２″）が機器（１）から制御を受けたければ、それぞれの場合に異なるインターフェースが読み込まれることになる。本発明は、異なる複数のインターフェースをダウンロードしなければならない手間を回避し、それにより標準化の度合いをはるかに高める道を開くものである。
【０００７】
米国文書２００２／０８７７４６（Ｌｕｄｔｋｅ）もまた、機器（２）が別の機器（１）からの制御を受けたい場合に、機器（２）がそのインターフェースＡＰＩを機器（１）にダウンロードし、それによって機器（１）が機器（２）を制御できるようになる方法を述べている。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明もまたリソースの共有を可能にするものである。本発明は、入力手段がネットワーク上のある機器専用のものであったときでさえも、ユーザーがユーザーコマンドを入力する過程をよりすっきりしたものにすることができる。
【課題を解決するための手段】
【０００９】
本発明は、コマンド入力手段を有する専用の制御装置が付随しているある第二の機器と通信ネットワークによって接続されている第一の機器を制御する方法からなり、
制御されるべき第一の機器のそれぞれにおいて、第一の機器の一機能と一入力手段との間の少なくとも一つの関連付けを設定するステップを開始するステップを有し、その関連付けが、第一の機器からの要求によって、第二の機器内で利用できる制御装置の管理インターフェースに送信されるものであり、前記方法がさらに、
制御装置の入力手段の一つが作動されたときに、第二の機器によって、この入力手段と関連付けられた第一の機器に、当該機能を前記第一の機器上で実行するために作動させられる手段を同定する制御情報を送信するステップを有することを特徴とする。
【００１０】
この方法では、ネットワークの各機器は、リモコンと管理インターフェースを有する機器と通信することができ、前記リモコンのキーを、このリモコン専用の機器のためでなく、自らの用途のために設定することができる。
【００１１】
制御装置の管理インターフェースを用いて、本発明はこの装置（典型的にはリモコン）が複数の機器を汎用インターフェースを用いて制御できるようにする。このために、これらの機器はこのインターフェースに登録されることが必要で、標準的なＨＡＶｉプロトコルや上述した従来技術とは対照的に、制御される機器が前記管理インターフェースを呼び出してそこに登録される。ユーザーは、コマンド入力手段（典型的にはリモコンのキー）と複数のうちから選ばれる機器の機能の一つとの間の関連付けをプログラムする。こうして、前記制御装置は当初は所定の機器専用であっても複数の機器に汎用となるのである。前記インターフェースは、この方法で制御を受けたがっている機器によって呼び出される。
【００１２】
ある詳細例によれば、設定要求に反応して、前記第二の機器は、要求において同定されている一入力手段、または複数あるうちの個々の一入力手段について利用可能でないことを示す情報を送信する。このようにして、当該機器は、該コマンド入力手段が利用可能でなく、その関連付け要求が失敗したことを知る。
【００１３】
別の詳細例によれば、設定要求に反応して、前記第二の機器は、要求において同定されている一入力手段の該第二の機器上での関連付けが検証できたことを示す情報を送信する。このようにして、当該機器は、該コマンド入力手段が利用可能であり、その関連付け要求が登録されたことを知る。有利には、前記一入力手段と関連付けられている他の第一の機器があるかどうかも知る。
【００１４】
別の詳細例によれば、機器の使用が終了したときに、この機器との関連付けは削除され、この一入力手段について他の機器との関連付けを可能にする。
【００１５】
別の詳細例によれば、設定要求は、共通の特徴を有する複数の入力手段をまとめて第一の機器と関連付ける。この方法では、複数の入力手段との複数の関連付けが、同一の要求において設定できる。
【００１６】
別の詳細例によれば、前記第二の機器は、利用可能な入力手段のリストを送信する。それによりユーザーは、現在設定している機器と関連付けたい一入力手段を複数の中から選ぶことができる。別の詳細例によれば、前記第二の機器は、以前の設定ステップにおいてプログラムされた関連付けのリストを送信し、それにより第一の機器に、第二の機器にすでに設定されている内容を通知し、第一の機器が自分の関連付けが実際に登録されていることを確認できるようにする。
【００１７】
本発明の別の主題は、通信ネットワークとの接続手段を有し、キーなどのコマンド入力手段を備えた専用制御装置からの信号を受信する装置である。該装置は、前記ネットワークに接続された別の機器によって作動させられ、一入力手段とこの別の機器の識別子との間の関連付けデータをメモリに保存する関連付け手段と、前記専用制御手段にてコマンドが入力されたときに作動させられ、通信ネットワークを通じてデータのブロックを送信する手段とを有することを特徴とする。前記のデータのブロックは、入力されたコマンドの識別子を含み、このコマンドと関連付けられている機器に向けられる。
【００１８】
本発明のその他の機能や利点については、付属の図面も参照しての下記の代表例としての実施形態の記述から明らかとなろう。ただし、これらの実施形態は本発明を限定することのない、例として挙げられているのである。
【発明を実施するための最良の形態】
【００１９】
図１に、この代表例としての実施形態に基づくデジタル通信ネットワークが図式的に記されている。好ましくは家庭内ネットワークだが、そうでなくともよい。機器どうしは、たとえばＩＥＥＥ１３９４式のアーキテクチャに基づくＨＡＶｉ規格を使ったデジタルバスによって相互に接続されている。したがって、これは他の機器どうしが相互に通信できるようにする「ＦＣＭ」タイプのＡＰＩを有している。
【００２０】
この家庭内ネットワークは、たとえば次のような機器を含む。
・送信ネットワークから送信情報を受信するためのチューナー１。この機器は「ＦＣＭチューナー」と呼ばれるＡＰＩを有している。
・たとえばチューナー１から受け取った送信情報を記録するためのビデオレコーダーまたはビデオデッキ２。この機器は「ＦＣＭビデオデッキ」と呼ばれるＡＰＩを含んでいる。
・ビデオデッキ２で記録された、あるいはチューナー１から受け取った送信情報を見るためのテレビ画面３。この機器は、送信情報の表示を制御する「ＦＣＭディスプレイ」と呼ばれるＡＰＩと、この画面専用のリモコンの通信インターフェースのための「ＦＣＭリモコン」と呼ばれるもう一つのＡＰＩを有している。
・送信情報のオーディオ信号を再生するオーディオアンプ４。この機器もまた、「ＦＣＭアンプ」と呼ばれるＡＰＩを含んでいる。
【００２１】
他の通信プロトコルを備えたデジタル通信ネットワークでも本発明は実施できる。たとえばＵＰｎＰデバイスどうしをつないだＩＰネットワークである。そのようなネットワークでは、デバイスはブラウザーを使って表示されるＨＴＭＬページを通じてグラフィカル・インターフェースを求めるであろう。
【００２２】
ユーザーが、テレビ画面専用のリモコンを用いて前記チューナー、ビデオデッキ、およびアンプを制御することを選んだとしよう。たとえば、ユーザーは次のように決める：
・「Ｐ＋」「Ｐ−」キーはチューナーを制御するもので、選局に使われる。
【００２３】
・「Ｖ＋」「Ｖ−」キーはオーディオアンプ４を制御するもので、音量を増減するのに使われる。
【００２４】
・「再生」「停止」「一時停止」「早送り」「巻き戻し」のキーはビデオデッキのおなじみの機能を制御する。
【００２５】
ユーザーはまずはじめにこれら四つの機器の通信インターフェースを設定し、それぞれの機器にリモコンの一つないし複数のキーを割り当てる。このためには、制御されるべき三つの機器のそれぞれに対し、ユーザーは各機器上で利用できる設定プログラムを走らせる。最初に、設定プログラムがデジタル通信ネットワークを通じて要求を送り、汎用ＡＰＩが利用可能かどうかをさぐる。否定応答が返ってきたら（あるいは応答がなかったら）、前記設定プログラムはユーザーにそのことを通知する。その一方、肯定応答が返ってきた場合には、前記設定プログラムは前記ＡＰＩから、たとえばボタン、スイッチなどの制御手段のリストを受け取る。あるいは前記ＡＰＩに付随するリモコンで利用できる音声認識エンジンによって認識される単語のリストであってもよい。
【００２６】
するとユーザーは、前記設定プログラムが走っている機器と関連付けるべき制御手段を選択する。設定を行う際に使われ、設定されるべき機器との対話を可能にするユーザーインターフェースは、たとえば設定されるべき機器の液晶画面とその機器正面の数字キー、あるいはＨＡＶｉ画面にダウンロードされるグラフィカル・インターフェース（ハブレット）であってもよい。設定プログラムは前記汎用ＡＰＩに設定要求を送るが、これについてはのちに説明する。設定ステップは、制御手段と制御されるべき機器との間のすべての関連付けが汎用ＡＰＩに登録されたところで終わる。
【００２７】
専用リモコンを有する機器（今の例ではテレビ画面３）に含まれる汎用ＡＰＩは常駐（そして不揮発性メモリに保存されている）でもよいし、ネットワークを通じてダウンロードできるのでもよい。使用上は、前記ＡＰＩはリモコンによって送られたコードを調べ、受け取った関連付けに従って、そのコマンドがテレビ画面３のためのものか、あるいはネットワークに接続されている他の三つの機器のうちの一つのためのものかを判定する。この後者の場合には、前記ＡＰＩはそのコマンドを関連付けされている機器に送る。
【００２８】
図２は、リモコンを有する機器におけるＨＡＶｉアーキテクチャを示すとともに、ＨＡＶｉスタック内に前記汎用ＡＰＩを位置づけている。汎用ＡＰＩは、機能要素モジュール（ＦＣＭ）として宣言されているモジュールであり、このリモコンによって優先的に制御される機器上で利用できる。それは図２では多角形によって表されている。この機器は、ＨＡＶｉネットワーク全体に向けて宣言されており、前記ＡＰＩを前記ネットワークに接続されている他の機器に提案して、すべての機器が前記ＡＰＩを認識できるようにする。すると、前述した設定ステップの間に、これらの他の機器は、専用リモコンを有する前記機器に一つ以上の制御機器関連付けを送ることができる。専用リモコンに付随する各機器の不揮発性メモリが前記関連付けを登録するが、そのメモリはたとえば不揮発性のフラッシュ式回路やハードディスクである。
【００２９】
従来技術によると、第一の機器が第二の機器を制御したければ、グラフィカルインターフェースプログラムをダウンロードする必要がある。ＨＡＶｉ規格では「ハブレット」、汎用ＡＰＩを有する機器のＵＰｎＰ規格ではＨＴＭＬプレゼンテーションページと呼ばれるものである。ユーザーにとっては、これはまず最初にグラフィカルアプリケーションを画面にダウンロードすることになる（これはすでに画面上にあるオーディオビジュアルコンテンツを完全または部分的に隠してしまい、ユーザーにとっては目障りなものとなる）。次に第二段階として、ユーザーはこのアプリケーション内を画面と連動したリモコンのキーを使って移動して、アプリケーションのフォーカスを所望の画面ボタン上に持っていき、リモコン上のＯＫキーを押す。前記汎用ＡＰＩを使えば、ユーザーにとって面倒で、メモリ領域も通信時間も消費するこのステップが回避できる。前記手続きは、Ｖ＋とＶ−キーによってアンプの音量を変更するだとか、Ｐ＋とＰ−キーを使ってチャンネルを変えるだとかいった単純なコマンドにまで簡単化されるのである。特に簡単な方法で、前記汎用ＡＰＩを使って、ビデオデッキであればたとえば「再生」「早送り」「録画」その他の制御といった単純な機能を多数制御できる。本発明の今の実施形態によれば、リモコンにはグラフィカル・インターフェースは必要ではなく、リモコン上でのユーザーによるコマンド入力およびそのコマンドに関連付けられた機器を同定する短いメッセージの送信ができるだけでよい。
【実施例】
【００３０】
ここから、前記汎用ＡＰＩの代表例としての実施形態の説明にはいる。この代表例としての実施形態によれば、前記汎用ＡＰＩは、別のＨＡＶｉ型宣言された機器によって利用できるサービスに対応するさまざまな機能を実行するソフトウェアモジュールである。次の表１は前記ＡＰＩで利用できるさまざまな関数をまとめたものである。
【００３１】
【表１】
0004394118.tif 000002
この１６関数は付属資料において標準的なＨＡＶｉ言語を用いて記述してある。この付属資料を使えば、本発明をＨＡＶｉ型のアーキテクチャの枠内で実施することができる。ただし、それは決して本発明をこのアーキテクチャに限定するものではなく、あくまでも実施例をなすにすぎない。
【００３２】
さまざまな関数を下に説明する。
１．Ｒｅｍｏｔｅ  ｃｏｎｔｒｏｌ：ｃｏｎｎｅｃｔ
この関数は汎用ＡＰＩとの新たな接続を開始するのに使われる。ある機器が新たなセッションを開くことを望み、要求を送る。それに対してこの関数はｌｏｎｇ  ｃｉｄという単一の識別子を返す。このようにして、リモコンを使いたいＨＡＶｉ機器と汎用ＡＰＩとの間で通信チャンネルが開かれ、そのチャンネルはこの識別子によって他のチャンネルから区別して同定される。たとえば、ビデオデッキとの間に一つのチャンネルが開かれ、チューナーとの間には別のチャンネル、アンプとの間には第三のチャンネルが開かれる。もしＡＰＩが利用可能でなければ、この関数は識別子を返さず、チャンネルを開かない。
２．Ｒｅｍｏｔｅ  ｃｏｎｔｒｏｌ：ｄｉｓｃｏｎｎｅｃｔ
この関数は、ｃｏｎｎｅｃｔのあとで取得されたパラメータｌｏｎｇ  ｃｉｄによって同定される汎用ＡＰＩとの接続を閉じるのに使われる。この関数はｃｏｎｎｅｃｔにおいて開かれた通信チャンネルを閉じるのに使われる。ｄｉｓｃｏｎｎｅｃｔ関数は、入力パラメータとして投入された識別子がＡＰＩにとって認識できなければエラーメッセージを返す。
３．Ｒｅｍｏｔｅ  ｃｏｎｔｒｏｌ：ｉｓ  ｓｕｐｐｏｒｔｅｄ
この関数はあるＫｅｙＣｏｄｅが汎用ＡＰＩに知られており利用可能であるかどうかを調べるのに使われる。たとえば、ｃｏｎｎｅｃｔのあとで、チューナーがこの関数を実行し、指示された入力パラメータがキー「Ｐ＋」のコードであったとする。この関数の出力として真理値を返す：もし前記コードがＡＰＩによってサポートされており、かつ、他のＨＡＶｉ機器と関連付けられていなければ、この関数は値Ｔｒｕｅを返す。それ以外の場合には値Ｆａｌｓｅを返す。この関数は、キーの占有状態を詳細に判別するのに使われる。
４．Ｒｅｍｏｔｅ  ｃｏｎｔｒｏｌ：ｇｅｔ  ｃａｐａｂｉｌｉｔｉｅｓ
この関数はキーコードやキーコードグループがふさがっているか（出力値：Ｆａｌｓｅ）利用可能か（出力値：Ｔｒｕｅ）をリストの形で全体的なレポートとして取得するのに使われる。複数のキーがグループをなすとは、それらの機能が関連していることをいう。たとえば、四方向の矢印キー、二つのキーＰ＋とＰ−、数字入力のテンキーなどである。この関数を使うことで、ＨＡＶｉ機器は、汎用ＡＰＩと関連しているリモコンにあるすべてのキーまたはキーグループの利用可能状況を知ることができる。
５．Ｒｅｍｏｔｅ  ｃｏｎｔｒｏｌ：ａｄｄ  ｋｅｙ
この関数は、あるキーコードをそれを要求したＨＡＶｉ機器のために予約するのに使われる。この操作が実行されると、そのキーコードはもはや利用可能ではなくなる。たとえば、アンプが音量の上げ下げのためにＶ＋コードとＶ−コードに対応する二つの予約要求をＡＰＩに送ったとする。この予約関数は、当該キーコードがすでに別の機器に割り当てられていたらエラーメッセージを返す。
６．Ｒｅｍｏｔｅ  ｃｏｎｔｒｏｌ：ｒｅｍｏｖｅ  ｋｅｙ
この関数は所与のＨＡＶｉ機器に対するキーコードの予約を取り消すのに使われる。この操作が実行されると、当該キーコードは再び利用可能になる。
７．Ｒｅｍｏｔｅ  ｃｏｎｔｒｏｌ：ａｄｄ  ａｌｌ  ｋｅｙｓ
この関数は汎用ＡＰＩによって利用可能と宣言されているすべてのコードを、それを要求したＨＡＶｉ機器のために予約するのに使われる。この関数を使えば、それらを一つ一つａｄｄ  ｋｅｙ関数によって予約することが避けられる。この操作が実行されると、利用可能なキーコードはなくなる。この関数を実行する以前に行われていた個々の予約はそのまま有効となる。
８．Ｒｅｍｏｔｅ  ｃｏｎｔｒｏｌ：ｒｅｍｏｖｅ  ａｌｌ  ｋｅｙｓ
この関数は前項の関数の逆である。この要求を送った機器のために予約されていたすべてのキーは利用可能となる。この関数は、たとえば機器のスイッチが切られたり、機器が当該デジタル通信ネットワークから除かれたりしたときに、ＡＰＩに提供されているリソースを適切に解放するのに使われる。
９，１１，１３．Ｒｅｍｏｔｅ  ｃｏｎｔｒｏｌ：キーグループの追加
これらの関数はコードのグループをそれを要求したＨＡＶｉ機器のために予約するのに使われる。本実施形態では、キーのグループは三つある。関数番号９の方向矢印キー（４個）、関数番号１１の数字キー（１０個）、関数番号１３の色キーである。色キーの数はリモコンによって異なる。これは、所定のメニューへの直接アクセス、機器のパラメータ（音、色、チャンネル数など）の初期化などのような機器固有の機能を定義するのに使われる。こうしたグループは汎用ＡＰＩにおいて定義されており、ＨＡＶｉ機器は最初に関数４のｇｅｔ  ｃａｐａｂｉｌｉｔｉｅｓを実行することによってこうしたグループについての情報を得る。
１０，１２，１４．Ｒｅｍｏｔｅ  ｃｏｎｔｒｏｌ：キーグループの削除
これらの関数は上記の関数９，１１，１３の逆である。この要求を送った機器のために予約されていたすべてのキーグループが再び利用可能となる。
１５．Ｒｅｍｏｔｅ  ｃｏｎｔｒｏｌ：ｆｏｒｃｅ  ｆｅｅｄｂａｃｋ  ｅｖｅｎｔ
リモコンによってはたとえば振動機能（力のフィードバック）を持っているものもある。ユーザーに感じられる段階的フィードバックを与えるジョイスティックなどである（たとえば、自動車ゲームにおいて、プレーヤーが道路から外れたり車に故障があったりしたときに、ジョイスティックがさまざまな強さで振動する）。
【００３３】
リモコンは、ｆｏｒｃｅＦｅｅｄｂａｃｋＩｎｔｅｎｓｉｔｙパラメータの値に応じた強さで振動する。
１６．Ｒｅｍｏｔｅ  ｃｏｎｔｒｏｌ：ＲＣ  ｅｖｅｎｔ
これまで述べてきた関数とは異なり、この関数はＨＡＶｉ機器からＡＰＩへの要求ではなく、ＡＰＩがリモコンで生起したイベントを伝達するものである。ユーザーがキーを押すと、汎用ＡＰＩはそのキーに関連付けられている機器にキーコードを含むメッセージを送信する。たとえば、テレビに付随するリモコン上の「再生」ボタンが押されるというイベントは、汎用ＡＰＩによって処理され、汎用ＡＰＩは「再生」のキーコードを含むメッセージをビデオデッキに送る。
【００３４】
ＡＰＩをセットトップボックスのような所与のＨＡＶｉ機器と対話できるように設定する流れの例は、次のようなものである。
・ｃｏｎｎｅｃｔ（関数１）
・ｇｅｔ  ｃａｐａｂｉｌｉｔｉｅｓ（関数４）
・ａｄｄ  ａｌｌ  ａｒｒｏｗ  ｋｅｙｓ（関数９）
・ａｄｄ  ｋｅｙ：「エンター」キー（関数５）
これらの関数が設定段階で実行される。すると、ユーザーはリモコンを使ってしかるべく設定された機器を制御できるようになる。使用段階では、汎用ＡＰＩは、ユーザーからのコマンドを関係する機器に伝達するためのイベントメッセージ（１６の項参照）を送信する。
【００３５】
たとえばユーザーがスイッチを切るなどしてある機器の使用が終了したとき、その機器は汎用ＡＰＩに切断要求（関数２）を送り、すると汎用ＡＰＩは、メモリからこの機器に関する記録を削除することによって、この機器に関連付けられていたキーを解放する。同様に、ネットワークに通知することなく機器が切り離されたときには、ＨＡＶｉアーキテクチャ特有の機構がその切り離しを検知して、そのイベントをネットワーク上のすべてのＨＡＶｉ機器に通知する。汎用ＡＰＩは、ある機器が切断されたとの通知を受け取ると、その機器に割り当てられていたキーコードを自動的に解放する。このようにして、しかるべく解放されたキーは他の機器に割り当てられるようになる。
【００３６】
ＡＰＩはリモコンの各キーコードとそのコードを予約している各ＨＡＶｉ機器との間の関連付けを定義する表を管理している。それによって、ＡＰＩはあるコードが利用可能であるかどうかを瞬時に調べることができ、必要であれば、要求した機器にそのコードを割り当てることができる。その表は、制御手段の数だけ行数があり、各行はたとえばあるキーのコードのための欄、予約している機器の識別子のための欄がある。
【００３７】
ある拡張では、ＡＰＩは同一のコードに複数の機器を関連付けできるようにもできる。たとえば、リモコンの「オフ」機能で複数のＨＡＶｉ機器のスイッチを同時にオフにできるといった具合である。この例ではコード予約関数が修正される。その場合、この関数はもはやそのコードが利用可能でなくてもエラーメッセージは返さず、そのコードがすでに少なくとも一つの機器に割り当てられているというメッセージだけ返して、予約は実行するのである。ＡＰＩにおける表も変更される。コードによって定義されるキーと関連付けられている機器の識別子を登録する欄は複数の識別子を含むことができるようになるのである。
上述した本発明の代表例としての実施形態は具体性を出すために選ばれた。しかしながら、本発明によってカバーされる実施形態をすべて網羅的に挙げるのは不可能である。特に、記載されているいかなるステップも、いかなる手段も、本発明の精神から外れることなく、相応するステップまたは手段によって置き換えることができる。
【００３８】
〔付属資料〕
リモコンデータ構造
【００３９】
ＫｅｙＣｏｄｅ
プロトタイプ
ｅｎｕｍ  ＫｅｙＣｏｄｅ  ｛ＶＫ＿１，ＶＫ＿２，ＶＫ＿３，．．．｝
説明
キーコードの値は”ＶＫ＿”で始まる名前をもつ定数であり、org.havi.ui.event.HRcEventおよびjava.awt.event.KeyEventクラスにおいて定義されている。
【００４０】
ＫｅｙＴｙｐｅ
プロトタイプ
ｅｎｕｍ  ＫｅｙＴｙｐｅ  ｛ＫＥＹ＿ＰＲＥＳＳＥＤ，ＫＥＹ＿ＲＥＬＥＡＳＥＤ｝
説明
キータイプの値はＫＥＹ＿ＰＲＥＳＳＥＤおよびＫＥＹ＿ＲＥＬＥＡＳＥＤであり、java.awt.event.KeyEventにおいて定義されている。
【００４１】
リモコンＡＰＩ
【００４２】
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：Ｃｏｎｎｅｃｔ
プロトタイプ
Ｓｔａｔｕｓ  ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：Ｃｏｎｎｅｃｔ（
ｏｕｔ  ｌｏｎｇ  ｃｉｄ）
パラメータ
ｃｉｄ  接続の識別子。単一のソフトウェアコンポーネントから複数の接続を開始できるようにするとともに、応答を要求に対応付けることを可能にする。
説明
このコマンドはソフトウェア要素が非同期接続を開くことを可能にする。各ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＣｏｎｎｅｃｔはリモコンＦＣＭが接続された各クライアントごとにコンテキストを管理することを可能にする（クライアントにデータを送るために呼び出す接続識別子および関数）。
エラーコード
ＥＲＥＳＯＵＲＣＥ＿ＬＩＭＩＴ：利用可能なｃｉｄがないため、これ以上のスレッドは作成できません
【００４３】
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：Ｄｉｓｃｏｎｎｅｃｔ
プロトタイプ
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：Ｄｉｓｃｏｎｎｅｃｔ（ｉｎ  ｌｏｎｇ  ｃｉｄ）
パラメータ
ｃｉｄ  クライアントアプリケーションとリモコンＦＣＭとの間の接続の識別子（先のＲｅｍｏｔｅＣｏｎｔｒｏｌ：：Ｃｏｎｎｅｃｔの呼び出しの時点でクライアントアプリケーションによって発行される）。
説明
この関数はソフトウェア要素がリモコン接続を閉じることを可能にする。
エラーコード
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＥＣＯＮＮＥＣＴＩＯＮ：ｃｉｄが存在しません
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＥＣＬＩＥＮＴ：クライアントはこの接続にアクセスすることが認められていません
注記
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：Ｄｉｓｃｏｎｎｅｃｔメッセージを送ると実行中の他のすべての動作が中断される。クライアントが一度ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：Ｄｉｓｃｏｎｎｅｃｔを呼び出したら、ｃｉｄは利用可能ではなくなる。
【００４４】
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＩｓＳｕｐｐｏｒｔｅｄ
プロトタイプ
Ｓｔａｔｕｓ  ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＩｓＳｕｐｐｏｒｔｅｄ（
ｉｎ  ｌｏｎｇ  ｃｉｄ，
ｉｎ    ＫｅｙＣｏｄｅ  ｋｅｙＣｏｄｅ，
ｏｕｔ  ｂｏｏｌｅａｎ  ｋｅｙＳｕｐｐｏｒｔｅｄ）
パラメータ
ｃｉｄ  クライアントアプリケーションとリモコンＦＣＭとの間の接続の識別子（先のＲｅｍｏｔｅＣｏｎｔｒｏｌ：：Ｃｏｎｎｅｃｔの呼び出しの時点でクライアントアプリケーションによって発行される）。
【００４５】
ｋｅｙＣｏｄｅ  要求されるキーコード
ｋｅｙＳｕｐｐｏｒｔｅｄ  キーがリモコン装置によってサポートされているかどうかを識別する
説明
このＡＰＩはアプリケーションが、キーコードによって指定されているコードがリモコンによってサポートされているかどうかを知ることを可能にする。
エラーコード
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＥＣＯＮＮＥＣＴＩＯＮ：ｃｉｄが存在しません
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＥＣＬＩＥＮＴ：クライアントはこの接続にアクセスすることが認められていません
【００４６】
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＧｅｔＣａｐａｂｉｌｉｔｉｅｓ
プロトタイプ
Ｓｔａｔｕｓ  ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＧｅｔＣａｐａｂｉｌｉｔｉｅｓ（
ｉｎ  ｌｏｎｇ  ｃｉｄ，
ｏｕｔ  ｂｏｏｌｅａｎ  ｆｏｒｃｅＦｅｅｄＢａｃｋＡｖａｉｌａｂｌｅ，
ｏｕｔ  ｂｏｏｌｅａｎ  ａｌｌＫｅｙｓＡｖａｉｌａｂｌｅ，
ｏｕｔ  ｂｏｏｌｅａｎ  ａｌｌＡｒｒｏｗＫｅｙｓＡｖａｉｌａｂｌｅ，
ｏｕｔ  ｂｏｏｌｅａｎ  ａｌｌＮｕｍｅｒｉｃＫｅｙｓＡｖａｉｌａｂｌｅ，
ｏｕｔ  ｂｏｏｌｅａｎ  ａｌｌＣｏｌｏｕｒＫｅｙｓＡｖａｉｌａｂｌｅ）
パラメータ
ｃｉｄ  クライアントアプリケーションとリモコンＦＣＭとの間の接続の識別子（先のＲｅｍｏｔｅＣｏｎｔｒｏｌ：：Ｃｏｎｎｅｃｔの呼び出しの時点でクライアントアプリケーションによって発行される）。
【００４７】
ｆｏｒｃｅＦｅｅｄＢａｃｋＡｖａｉｌａｂｌｅ  力のフィードバックが利用可能かどうかを判別する。
【００４８】
ＡｌｌＫｅｙｓＡｖａｉｌａｂｌｅ  すべてのキーが利用可能かどうかを判別する。
【００４９】
ａｌｌＡｒｒｏｗＫｅｙｓＡｖａｉｌａｂｌｅ  すべての矢印キーが利用可能かどうかを判別する（ＶＫ＿ＬＥＦＴ，ＶＫ＿ＲＩＧＨＴ，ＶＫ＿ＵＰ，ＶＫ＿ＤＯＷＮ）
ａｌｌＮｕｍｅｒｉｃＫｅｙｓＡｖａｉｌａｂｌｅ  すべての数字キーが利用可能かどうかを判別する（ＶＫ＿０，ＶＫ＿１，ＶＫ＿２，ＶＫ＿３，ＶＫ＿４，ＶＫ＿５，ＶＫ＿６，ＶＫ＿７，ＶＫ＿８，ＶＫ＿９）
ａｌｌＣｏｌｏｕｒＫｅｙｓＡｖａｉｌａｂｌｅ  すべての色キーが利用可能かどうかを判別する（ＶＫ＿ＣＯＬＯＲＥＤ＿ＫＥＹ＿０，ＶＫ＿ＣＯＬＯＲＥＤ＿ＫＥＹ＿１，ＶＫ＿ＣＯＬＯＲＥＤ＿ＫＥＹ＿２，ＶＫ＿ＣＯＬＯＲＥＤ＿ＫＥＹ＿３）
【００５０】
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＡｄｄＫｅｙ
プロトタイプ
Ｓｔａｔｕｓ  ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＡｄｄＫｅｙ（
ｉｎ  ｌｏｎｇ  ｃｉｄ，
ｉｎ  ＫｅｙＣｏｄｅ  ｋｅｙＣｏｄｅ，
ｏｕｔ  ｂｏｏｌｅａｎ  ｋｅｙＡｄｄｅｄ）
パラメータ
ｃｉｄ  クライアントアプリケーションとリモコンＦＣＭとの間の接続の識別子（先のＲｅｍｏｔｅＣｏｎｔｒｏｌ：：Ｃｏｎｎｅｃｔの呼び出しの時点でクライアントアプリケーションによって発行される）。
【００５１】
ｋｅｙＣｏｄｅ  要求されるキーコード
ｋｅｙＡｄｄｅｄ  リモコン装置によってキーが追加されたかどうかを判別する
説明
このＡＰＩはアプリケーションが、キーコードによって指定されるコードをもつキーを追加することを可能にする
エラーコード
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＥＣＯＮＮＥＣＴＩＯＮ：ｃｉｄが存在しません
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＥＣＬＩＥＮＴ：クライアントはこの接続にアクセスすることが認められていません
【００５２】
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＲｅｍｏｖｅＫｅｙ
Ｓｔａｔｕｓ  ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＲｅｍｏｖｅＫｅｙ（
ｉｎ  ｌｏｎｇ  ｃｉｄ，
ｉｎ  ＫｅｙＣｏｄｅ  ｋｅｙＣｏｄｅ，
ｏｕｔ  ｂｏｏｌｅａｎ  ｋｅｙＲｅｍｏｖｅｄ）
パラメータ
ｃｉｄ  クライアントアプリケーションとリモコンＦＣＭとの間の接続の識別子（先のＲｅｍｏｔｅＣｏｎｔｒｏｌ：：Ｃｏｎｎｅｃｔの呼び出しの時点でクライアントアプリケーションによって発行される）。
【００５３】
ｋｅｙＣｏｄｅ  要求されるキーコード
ｋｅｙＲｅｍｏｖｅｄ  リモコン装置によってキーが削除されたかどうかを判別する
説明
このＡＰＩはアプリケーションが、キーコードによって指定されるコードをもつキーを削除することを可能にする
エラーコード
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＥＣＯＮＮＥＣＴＩＯＮ：ｃｉｄが存在しません
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＥＣＬＩＥＮＴ：クライアントはこの接続にアクセスすることが認められていません
【００５４】
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＡｄｄＡｌｌＫｅｙｓ
プロトタイプ
Ｓｔａｔｕｓ  ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＡｄｄＡｌｌＫｅｙｓ（
ｉｎ  ｌｏｎｇ  ｃｉｄ，
ｏｕｔ  ｂｏｏｌｅａｎ  ａｌｌＫｅｙｓＡｄｄｅｄ）
パラメータ
ｃｉｄ  クライアントアプリケーションとリモコンＦＣＭとの間の接続の識別子（先のＲｅｍｏｔｅＣｏｎｔｒｏｌ：：Ｃｏｎｎｅｃｔの呼び出しの時点でクライアントアプリケーションによって発行される）。
【００５５】
ａｌｌＫｅｙＡｄｄｅｄ  リモコン装置によってすべてのキーが追加されたかどうかを判別する
説明
このＡＰＩはアプリケーションがすべてのキーを追加することを可能にする。
エラーコード
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＥＣＯＮＮＥＣＴＩＯＮ：ｃｉｄが存在しません
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＥＣＬＩＥＮＴ：クライアントはこの接続にアクセスすることが認められていません
【００５６】
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＲｅｍｏｖｅＡｌｌＫｅｙｓ
プロトタイプ
Ｓｔａｔｕｓ  ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＲｅｍｏｖｅＡｌｌＫｅｙｓ（
ｉｎ  ｌｏｎｇ  ｃｉｄ，
ｏｕｔ  ｂｏｏｌｅａｎ  ａｌｌＫｅｙｓＲｅｍｏｖｅｄ）
パラメータ
ｃｉｄ  クライアントアプリケーションとリモコンＦＣＭとの間の接続の識別子（先のＲｅｍｏｔｅＣｏｎｔｒｏｌ：：Ｃｏｎｎｅｃｔの呼び出しの時点でクライアントアプリケーションによって発行される）。
【００５７】
ａｌｌＫｅｙＲｅｍｏｖｅｄ  リモコン装置によってすべてのキーが削除されたかどうかを判別する
説明
このＡＰＩはアプリケーションがすべてのキーを削除することを可能にする。
エラーコード
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＥＣＯＮＮＥＣＴＩＯＮ：ｃｉｄが存在しません
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＥＣＬＩＥＮＴ：クライアントはこの接続にアクセスすることが認められていません
【００５８】
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＡｄｄＡｌｌＡｒｒｏｗＫｅｙｓ
プロトタイプ
Ｓｔａｔｕｓ  ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＡｄｄＡｌｌＡｒｒｏｗＫｅｙｓ（
ｉｎ  ｌｏｎｇ  ｃｉｄ，
ｏｕｔ  ｂｏｏｌｅａｎ  ａｌｌＡｒｒｏｗＫｅｙｓＡｄｄｅｄ）
パラメータ
ｃｉｄ  クライアントアプリケーションとリモコンＦＣＭとの間の接続の識別子（先のＲｅｍｏｔｅＣｏｎｔｒｏｌ：：Ｃｏｎｎｅｃｔの呼び出しの時点でクライアントアプリケーションによって発行される）。
【００５９】
ａｌｌＡｒｒｏｗＫｅｙｓＡｄｄｅｄ  リモコン装置によってすべての矢印キーが追加されたかどうかを判別する
説明
このＡＰＩはアプリケーションがすべての矢印キー（ＶＫ＿ＬＥＦＴ，ＶＫ＿ＲＩＧＨＴ，ＶＫ＿ＵＰ，ＶＫ＿ＤＯＷＮ）を追加することを可能にする。
エラーコード
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＥＣＯＮＮＥＣＴＩＯＮ：ｃｉｄが存在しません
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＥＣＬＩＥＮＴ：クライアントはこの接続にアクセスすることが認められていません
【００６０】
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＲｅｍｏｖｅＡｌｌＡｒｒｏｗＫｅｙｓ
プロトタイプ
Ｓｔａｔｕｓ  ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＲｅｍｏｖｅＡｌｌＡｒｒｏｗＫｅｙｓ（
ｉｎ  ｌｏｎｇ  ｃｉｄ，
ｏｕｔ  ｂｏｏｌｅａｎ  ａｌｌＡｒｒｏｗＫｅｙｓＲｅｍｏｖｅｄ）
パラメータ
ｃｉｄ  クライアントアプリケーションとリモコンＦＣＭとの間の接続の識別子（先のＲｅｍｏｔｅＣｏｎｔｒｏｌ：：Ｃｏｎｎｅｃｔの呼び出しの時点でクライアントアプリケーションによって発行される）。
【００６１】
ａｌｌＡｒｒｏｗＫｅｙｓＲｅｍｏｖｅｄ  リモコン装置によってすべての矢印キーが削除されたかどうかを判別する
説明
このＡＰＩはアプリケーションがすべての矢印キー（ＶＫ＿ＬＥＦＴ，ＶＫ＿ＲＩＧＨＴ，ＶＫ＿ＵＰ，ＶＫ＿ＤＯＷＮ）を削除することを可能にする。
エラーコード
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＥＣＯＮＮＥＣＴＩＯＮ：ｃｉｄが存在しません
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＥＣＬＩＥＮＴ：クライアントはこの接続にアクセスすることが認められていません
【００６２】
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＡｄｄＡｌｌＮｕｍｅｒｉｃＫｅｙｓ
プロトタイプ
Ｓｔａｔｕｓ  ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＡｄｄＡｌｌＮｕｍｅｒｉｃＫｅｙｓ（
ｉｎ  ｌｏｎｇ  ｃｉｄ，
ｏｕｔ  ｂｏｏｌｅａｎ  ａｌｌＮｕｍｅｒｉｃＫｅｙｓＡｄｄｅｄ）
パラメータ
ｃｉｄ  クライアントアプリケーションとリモコンＦＣＭとの間の接続の識別子（先のＲｅｍｏｔｅＣｏｎｔｒｏｌ：：Ｃｏｎｎｅｃｔの呼び出しの時点でクライアントアプリケーションによって発行される）。
【００６３】
ａｌｌＮｕｍｅｒｉｃＫｅｙｓＡｄｄｅｄ  リモコン装置によってすべての数字キーが追加されたかどうかを判別する
説明
このＡＰＩはアプリケーションがすべての数字キー（ＶＫ＿０，ＶＫ＿１，ＶＫ＿２，ＶＫ＿３，ＶＫ＿４，ＶＫ＿５，ＶＫ＿６，ＶＫ＿７，ＶＫ＿８，ＶＫ＿９）を追加することを可能にする。
エラーコード
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＥＣＯＮＮＥＣＴＩＯＮ：ｃｉｄが存在しません
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＥＣＬＩＥＮＴ：クライアントはこの接続にアクセスすることが認められていません
【００６４】
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＲｅｍｏｖｅＡｌｌＮｕｍｅｒｉｃＫｅｙｓ
プロトタイプ
Ｓｔａｔｕｓ  ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＲｅｍｏｖｅＡｌｌＮｕｍｅｒｉｃＫｅｙｓ（
ｉｎ  ｌｏｎｇ  ｃｉｄ，
ｏｕｔ  ｂｏｏｌｅａｎ  ａｌｌＮｕｍｅｒｉｃＫｅｙｓＲｅｍｏｖｅｄ）
パラメータ
ｃｉｄ  クライアントアプリケーションとリモコンＦＣＭとの間の接続の識別子（先のＲｅｍｏｔｅＣｏｎｔｒｏｌ：：Ｃｏｎｎｅｃｔの呼び出しの時点でクライアントアプリケーションによって発行される）。
【００６５】
ａｌｌＮｕｍｅｒｉｃＫｅｙｓＲｅｍｏｖｅｄ  リモコン装置によってすべての数字キーが削除されたかどうかを判別する
説明
このＡＰＩはアプリケーションがすべての数字キー（ＶＫ＿０，ＶＫ＿１，ＶＫ＿２，ＶＫ＿３，ＶＫ＿４，ＶＫ＿５，ＶＫ＿６，ＶＫ＿７，ＶＫ＿８，ＶＫ＿９）を削除することを可能にする。
エラーコード
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＥＣＯＮＮＥＣＴＩＯＮ：ｃｉｄが存在しません
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＥＣＬＩＥＮＴ：クライアントはこの接続にアクセスすることが認められていません
【００６６】
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＡｄｄＡｌｌＣｏｌｏｒＫｅｙｓ
プロトタイプ
Ｓｔａｔｕｓ  ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＡｄｄＡｌｌＣｏｌｏｒＫｅｙｓ（
ｉｎ  ｌｏｎｇ  ｃｉｄ，
ｏｕｔ  ｂｏｏｌｅａｎ  ａｌｌＣｏｌｏｒＫｅｙｓＡｄｄｅｄ）
パラメータ
ｃｉｄ  クライアントアプリケーションとリモコンＦＣＭとの間の接続の識別子（先のＲｅｍｏｔｅＣｏｎｔｒｏｌ：：Ｃｏｎｎｅｃｔの呼び出しの時点でクライアントアプリケーションによって発行される）。
【００６７】
ａｌｌＣｏｌｏｒＫｅｙＡｄｄｅｄ  リモコン装置によってすべての色キーが追加されたかどうかを判別する。
説明
このＡＰＩはアプリケーションがすべての色キー（ＶＫ＿ＣＯＬＯＲＥＤ＿ＫＥＹ＿０，ＶＫ＿ＣＯＬＯＲＥＤ＿ＫＥＹ＿１，ＶＫ＿ＣＯＬＯＲＥＤ＿ＫＥＹ＿２，ＶＫ＿ＣＯＬＯＲＥＤ＿ＫＥＹ＿３）を追加することを可能にする。
エラーコード
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＥＣＯＮＮＥＣＴＩＯＮ：ｃｉｄが存在しません
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＥＣＬＩＥＮＴ：クライアントはこの接続にアクセスすることが認められていません
【００６８】
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＲｅｍｏｖｅＡｌｌＣｏｌｏｒＫｅｙｓ
プロトタイプ
Ｓｔａｔｕｓ  ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＲｅｍｏｖｅＡｌｌＣｏｌｏｒＫｅｙｓ（
ｉｎ  ｌｏｎｇ  ｃｉｄ，
ｏｕｔ  ｂｏｏｌｅａｎ  ａｌｌＣｏｌｏｒＫｅｙｓＲｅｍｏｖｅｄ）
パラメータ
ｃｉｄ  クライアントアプリケーションとリモコンＦＣＭとの間の接続の識別子（先のＲｅｍｏｔｅＣｏｎｔｒｏｌ：：Ｃｏｎｎｅｃｔの呼び出しの時点でクライアントアプリケーションによって発行される）。
【００６９】
ａｌｌＣｏｌｏｒＫｅｙＲｅｍｏｖｅｄ  リモコン装置によってすべての色キーが削除されたかどうかを判別する
説明
このＡＰＩはアプリケーションがすべての色キー（ＶＫ＿ＣＯＬＯＲＥＤ＿ＫＥＹ＿０，ＶＫ＿ＣＯＬＯＲＥＤ＿ＫＥＹ＿１，ＶＫ＿ＣＯＬＯＲＥＤ＿ＫＥＹ＿２，ＶＫ＿ＣＯＬＯＲＥＤ＿ＫＥＹ＿３）を削除することを可能にする。
エラーコード
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＥＣＯＮＮＥＣＴＩＯＮ：ｃｉｄが存在しません
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＥＣＬＩＥＮＴ：クライアントはこの接続にアクセスすることが認められていません
【００７０】
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＦｏｒｃｅＦｅｅｄｂａｃｋＥｖｅｎｔ
プロトタイプ
Ｓｔａｔｕｓ  ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＦｏｒｃｅＦｅｅｄｂａｃｋＥｖｅｎｔ（
ｉｎ  ｌｏｎｇ  ｃｉｄ，
ｏｕｔ  ｏｃｔｅｔ  ｆｏｒｃｅＦｅｅｄｂａｃｋＩｎｔｅｎｓｉｔｙ）
パラメータ
ｃｉｄ  クライアントアプリケーションとリモコンＦＣＭとの間の接続の識別子（先のＲｅｍｏｔｅＣｏｎｔｒｏｌ：：Ｃｏｎｎｅｃｔの呼び出しの時点でクライアントアプリケーションによって発行される）。
【００７１】
ｆｏｒｃｅＦｅｅｄｂａｃｋＩｎｔｅｎｓｉｔｙ  力のフィードバックの強度（０から１２７）
説明
このＡＰＩはアプリケーションが力のフィードバックイベントをリモコンに送ることを可能にする。
エラーコード
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＥＣＯＮＮＥＣＴＩＯＮ：ｃｉｄが存在しません
ＲｅｍｏｔｅＣｏｎｔｒｏｌ：：ＥＣＬＩＥＮＴ：クライアントはこの接続にアクセスすることが認められていません
【００７２】
＜Ｃｌｉｅｎｔ＞：：ＲＣＥｖｅｎｔ
プロトタイプ
Ｓｔａｔｕｓ  ＜Ｃｌｉｅｎｔ＞：：ＲＣＥｖｅｎｔ（
ｉｎ  ｌｏｎｇ  ｃｉｄ，
ｉｎ  ＫｅｙＣｏｄｅ  ｋｅｙＣｏｄｅ，
ｉｎ  ＫｅｙＴｙｐｅ  ｋｅｙＴｙｐｅ）
パラメータ
ｃｉｄ  クライアントアプリケーションとリモコンＦＣＭとの間の接続の識別子（先のＲｅｍｏｔｅＣｏｎｔｒｏｌ：：Ｃｏｎｎｅｃｔの呼び出しの時点でクライアントアプリケーションによって発行される）。
【００７３】
ｋｅｙＣｏｄｅ  ソフトウェア要素クライアントに操作されたキーの識別子（キーコード）を通知する。
【００７４】
ｋｅｙＴｙｐｅ  ソフトウェア要素クライアントにキー操作イベントの種別（ＫＥＹ＿ＰＲＥＳＳＥＤまたはＫＥＹ＿ＲＥＬＥＡＳＥＤ）を通知する。
説明
このコマンドはサーバー（ファイルマネージャＦＣＭ）をして、パス名において指定されているファイルのコピーを転送させる。サーバーサイトにおけるファイルの状態および内容は影響を受けない。
エラーコード
ＥＩＮＶＡＬＩＤ＿ＰＡＲＡＭＥＴＥＲ：クライアントに未知のｃｉｄです
【図面の簡単な説明】
【００７５】
【図１】本発明の実施例に基づくデジタル通信ネットワークの図である。
【図２】リモコンを有する機器におけるＨＡＶｉアーキテクチャおよび汎用ＡＰＩの位置づけを表す図である。
【図１】
0004394118.tif 000003
【図２】
0004394118.tif 000004