(57)【特許請求の範囲】
【請求項１】
少なくとも１つのコントローラ局と少なくとも１つの被制御局とを有する通信システムであって、これら局は通信ネットワークを介して相互接続され、各被制御局の機能はＡＲと呼ぶ各抽象表現に関連付けられ、該ＡＲは当該システム内のソフトウェア要素に関するインターフェースを提供して、前記通信ネットワーク介して当該ＡＲと交換されるメッセージにより前記被制御局の機能を制御するような通信システムにおいて、
前記コントローラ局は各被制御局に対応付けられた少なくとも１つのＡＲを実行する制御手段を有し、
前記通信システムは前記被制御局のうちの少なくとも１つに関して、少なくとも１つの関連付けられた好み指示子を記憶する手段を有し、該好み指示子は、前記コントローラ局又は前記複数のコントローラ局のうちのどれ又はどれらにより、対応する被制御局の前記ＡＲが好ましくは実行されるべきか、及び／又はどのＡＲが実行されるべきかを判断することを可能にし、
前記通信システムは、各被制御局に関連付けられた前記好み指示子を得ると共に、該得られて好み指示子に応じて、どのコントローラ局が前記各被制御局の前記ＡＲを実行すべきかを判断し、且つ、該ＡＲを該コントローラ局に割り当てるＡＲ分配手段を有し、
前記コントローラ局は割り当てられたＡＲを前記コントローラ局の前記制御手段に割り付ける割付手段を有している、
ことを特徴とする通信システム。
【請求項２】
請求項１に記載の通信システムにおいて、該通信システムが各局に関して該各局の売り手及び／又は製造者の指示子を記憶する手段を有し、被制御局に対応付けられた前記好み指示子は、該被制御局の前記ＡＲを同一の売り手及び／又は製造者の制御手段により実行することが好まれるか否かを示すことを特徴とする通信システム。
【請求項３】
請求項１に記載の通信システムにおいて、被制御局に関連付けられた前記好み指示子が、該被制御局の前記ＡＲを実行するのが好まれる特定のコントローラ局を示すことを特徴とする通信システム。
【請求項４】
請求項１に記載の通信システムにおいて、前記コントローラ局が、被制御局の特定のモデルを表す少なくとも１つのＡＲ、又は被制御局の一連のモデル又は型式を表す汎用ＡＲを記憶することを特徴とする通信システム。
【請求項５】
請求項１に記載の通信システムにおいて、前記被制御局は当該被制御局に関連付けられた前記ＡＲを記憶するための記憶手段に関連付けられ、前記ＡＲ割付手段は、被制御局に関連付けられたＡＲを該被制御局に関連付けられた前記記憶手段から得るように動作することを特徴とする通信システム。
【請求項６】
請求項５に記載の通信システムにおいて、被制御局に関連付けられた前記好み指示子は前記ＡＲを記憶するための該被制御局に対してローカルな記憶手段及び／又は遠隔記憶手段を示し、前記ＡＲ割付手段は被制御局に関連付けられたＡＲを該被制御局に関連付けられた好み指示子により示される記憶手段から得るように動作することを特徴とする通信システム。
【請求項７】
請求項６に記載の通信システムにおいて、前記ＡＲ割付手段が前記ＡＲを遠隔記憶手段から得ることに優先権を与えるように動作することを特徴とする通信システム。
【請求項８】
請求項１に記載の通信システムにおいて、該通信システムは複数のコントローラ局を有し、
各コントローラ局が、
前記ＡＲ分配手段と、
前記コントローラ局のうちの単一のものを先導者コントローラ局として指名する先導者選択手段と、
を有し、前記ＡＲ分配手段は、指名された先導者コントローラ局内に位置している場合に、他のコントローラ局の各々における前記ＡＲ割付手段を、各被制御局に関して、関連付けられたＡＲが多くても１度前記コントローラ局のうちの１つの制御手段に割り付けられることが保証されるように、制御するように動作することを特徴とする通信システム。
【請求項９】
請求項８に記載の通信システムにおいて、該通信システムが前記コントローラ局の各々に関して関連する固有の識別子を記憶する手段を有し、各先導者選択手段が、全てのコントローラ局の前記固有の識別子を得ると共に、これら識別子に基づいて、該選択手段のローカルなコントローラ局が前記先導者コントローラ局であるか否かを判断するように動作することを特徴とする通信システム。
【請求項１０】
請求項９に記載の通信システムにおいて、前記固有の識別子は当該識別子の最下位桁側ビットを持つ少なくとも下位部分と上位部分とを有し、前記上位部分は売り手及び／又は製造者識別子を有し、前記先導者選択手段は、自身のコントローラ局に関連付けられた前記識別子から導出される値と他のコントローラ局に関連付けられた前記識別子から導出される値とを比較することにより前記判断を実行するよう動作し、前記値の各々が対応する前記識別子をビット逆転することにより実質的に形成されることを特徴とする通信システム。
【請求項１１】
請求項８に記載のシステムにおいて、該通信システムは前記コントローラ局の各々に関して関連する能力指示子を記憶する手段を有し、該能力指示子は関連するコントローラ局が前記先導者コントローラ局として動作する好適さを示し、前記先導者選択手段が、前記先導者コントローラ局内に位置する場合、
前記コントローラ局の各々に関連付けられた前記能力指示子を得、
どのコントローラ局が最も能力のあるものであるかを判断し、
最も能力のある局を前記先導者コントローラ局として指名する、
ように動作することを特徴とする通信システム。
【請求項１２】
請求項１１に記載の通信システムにおいて、前記能力指示子は関連するコントローラ局が該コントローラ局の外部に位置する記憶手段からＡＲをダウンロードする能力があるか否かを示し、前記先導者選択手段は、ダウンロード能力を備えるコントローラ局をダウンロード能力のないコントローラ局よりも能力があるとして階級決めすることを特徴とする通信システム。
【請求項１３】
請求項１ないし１２の何れか一項に記載の通信システムに使用するコントローラ局であって、請求項１ないし１２の何れか一項に記載の特徴を有するコントローラ局。
【請求項１４】
請求項１ないし１３の何れか一項に記載の通信システムに使用する被制御局において、該被制御局が少なくとも１つの好み指示子を記憶する手段を有し、該好み指示子が、該被制御局に関連付けられた前記ＡＲの、選択されたコントローラ局又は複数のコントローラ局の制御手段による実行に関する好みを示すことを特徴とする被制御局。
【発明の詳細な説明】
技術分野
本発明は、少なくとも１つのコントローラ局と少なくとも１つの被制御局とを有するような通信システムに係り、これら局が通信ネットワークを介して相互接続され、各被制御局の機能がＡＲと呼ばれる各抽象表現に関連付けられ、この抽象表現が、通信ネットワークを介して該ＡＲと交換されるメッセージにより当該被制御局の機能を制御するために当該システム内のソフトウェア要素とのインターフェースを提供するような通信システムに関する。
本発明は、更に、斯かる通信システムにおいて用いるコントローラ局及び制御局にも関する。
背景技術
本発明は、特に、マルチメディア消費者用電子システムに関するものである。
消費者用電子工業は、主にアナログ的に動作される装置からデジタル的に動作される装置に移行している。オーディオは、コンパクトディスクのようなデジタル記憶媒体及びＤＡＢのようなデジタル放送技術の到来と共にデジタルになった。また、ビデオも急速にデジタルになってきている。デジタルオーディオ及びデジタルビデオを備える完全デジタルマルチメディアシステムは、購入可能な価格で入手可能になりつつある感動的なデジタル処理及び記憶能力により、消費者に対する新たな可能性を切り開いた。更に、デジタル通信ネットワークは低減された価格で一層強力になってきている。
ヨーロッパ特許出願第EP 0,406,486号は、Ｄ２Ｂバスを介して電子装置の自動制御を可能にするような消費者電子装置用のＤ２Ｂ通信システムを記載している。このシステムにおいて、局は、被制御局（又は複数の被制御局）として働く１以上の他の局を制御するコントローラ局として働くことができる。被制御局は該局のローカルな機能を、Ｄ２Ｂバスを介してメッセージを伝送することによりアクセスすることが可能な一連の機能の形で利用可能にする。該一連の機能は、当該被制御局のハードウェア及び／又はソフトウェアにより提供される実際に内在する機能の抽象表現として理解することができる。この表現は、外部に提供される機能と内部の構成との間の厳格な１対１の関係が必要とされないという意味で、抽象的である。典型的には、該表現は規格化されるが、実際の実施化は売り手の又はモデルでさえの固有のものである。従って、被制御局は該抽象表現（ＡＲ）を内部制御機構に割り当て（map）、内在するハードウェア／ソフトウェアをそれに従って制御する（例えば、ハードウェア構成要素を制御するために、Ｉ２Ｃのような内部バスを使用して）。このような割り当て及び制御は、通常、ソフトウェアで実行される。これは、上記抽象表現を当該局の内在するハードウェア／ソフトウェアの具体表現に割り当てるのに要する機能もカバーする。
上記ＡＲはメッセージ機構を用いて制御することができる。当該被制御局に定義されたタスクを実行するよう指令する各機能に対して、コマンドメッセージが定義される。リクエストメッセージは、或る機能の実行に関して当該被制御局から、該局の状態のような情報が取り出されるのを可能にする。イベントメッセージは、当該被制御局が制御局に、該被制御局で発生した状態変化のような事象（イベント）を通知するのを可能にする。
制御局においては、他の局の機能を制御するタスクは、所謂オーディオ／ビデオコントローラ（ＡＶ／Ｃ）に割り当てられる。該ＡＶ／Ｃは如何なる他の制御局からも独立して動作する。典型的には、該ＡＶ／Ｃは通常フィーチャ或いはアプリケーションとよばれる制御シーケンスを、ユーザからのトリガ（例えば、ユーザが遠隔制御器上の釦を押した）又は当該システムで発生したイベントに反応して開始する。斯かるＡＶ／Ｃにより実行されるアプリケーションの典型的な例は、自動再生フィーチャである。このフィーチャのために、ユーザがＶＣＲの再生機能を起動する（例えば、再生釦を押すか又はテープを挿入する）ことに応答して、該ＡＶ／ＣはＶＣＲデッキに当該テープを再生するよう指令し、該ＶＣＲに上記テープから発するＡ／Ｖ信号をＴＶに対して利用可能にするよう指令し、該ＴＶに当該ＶＣＲからの信号をモニタに供給するよう指令する。この例に関しては、上記制御ＡＶ／Ｃは、好ましくは（もっとも厳密には必要ではないが）、コマンドメッセージの数を減らすためにＴＶ又はＶＣＲの何れかに配置されるべきであることが分かるであろう。上記局には幾つかのＡＶ／Ｃが存在することができる。或る局は時間と共に又は同時にさえ、制御局として又は被制御局として作用することができる。
Ｄ２Ｂシステムにおいては、一方ではＡＶ／Ｃにより実行されるフィーチャと、他方では被制御局（又は複数の被制御局）における機能との間に対応性が必要であった。この対応性は、該システムの導入を妨げた。典型的には、ユーザはＡ／Ｖシステムを既に所有しており、個々に装置を置き換え又は追加した。Ｄ２Ｂ制御局及び／又は被制御局として作用することができる或る装置を得ても、当該システムに機能は追加しなかった。何故なら、相手となる局が未だ利用可能でなかったからである。該ユーザが適切な相手局（又は複数の相手局）を得て始めて、Ｄ２Ｂシステムにより提供される自動制御機能が利用可能となった。更に、制御局及び被制御局の機能は静的なものであった。一例として、ＶＣＲによりシステムの残部に対して利用可能にされる機能は、既存のＡＶ／Ｃ又は該ＶＣＲの開発の時点で開発中であったＡＶ／Ｃのフィーチャにより主に決定されてしまった。後の時点で、当該ＶＣＲの他の機能を要するような新たなフィーチャを備えるＡＶ／Ｃが導入された場合、該既存のＶＣＲのハードウェアが原理的に該機能を提供することができたとしても、この新たなＡＶ／Ｃは上記既存のＤ２Ｂ ＶＣＲと共動することはできなかった。結果として、機能の移植は面倒であった。
発明の開示
本発明の目的は、上述したような種類の通信システムであって、被制御局の機能に対して一層柔軟であるような通信システムを提供することにある。また、本発明の他の目的は、斯かる被制御局の機能をユーザに親切な形で管理することが出来るようにすることにある。
上記目的を達成するため、前記コントローラ局は各被制御局に対応付けられた少なくとも１つのＡＲを実行する制御手段を有し、前記通信システムは前記被制御局のうちの少なくとも１つに関して、少なくとも１つの関連付けられた好み指示子を記憶する手段を有し、該好み指示子は、前記コントローラ局（又は複数のコントローラ局）のうちのどれ（又はどれら）により、対応する被制御局のＡＲが好ましくは実行されるべきか、及び／又はどのＡＲが実行されるべきかを判断することを可能にし、前記通信システムは、各被制御局に関連付けられた好み指示子を得ると共に、該得られて好み指示子に応じて、どのコントローラ局が各被制御局のＡＲを実行すべきかを判断し、且つ、該ＡＲを該コントローラ局に割り当てるＡＲ分配手段を有し、前記コントローラ局は割り当てられたＡＲを該コントローラ局の制御手段に割り付ける割付手段を有している。
本発明によれば、被制御局の抽象表現は、コントローラ局と呼ぶ別の局上で実行することができる。当該コントローラ局内のＡＲと、当該被制御局内の実際のハードウェア／ソフトウェアとの間の通信は、如何なる方法でも実施することができる。これは、如何なる非規格化、専用機構も含むことができる。このようにして、それ自身は他の局が当該被制御局を制御することを可能にする所望のＡＲを提供することができない被制御局が、コントローラ局を介して間接的に制御はされるが、依然として当該システムの一部となり得る。Ｄ２Ｂシステムにおいては、通信に２つの当事者（即ち、コントローラ局のＡＶ／Ｃ内のフィーチャ／アプリケーション及び被制御局の機能）のみが関与するが、ここでは３つの当事者、即ちフィーチャ／アプリケーション、コントローラ局内のＡＲ及び被制御局が関与する。上記フィーチャ／アプリケーションは、当該システムにおけるコントローラ局内のＡＲに対して制御メッセージを送出することが可能な如何なる局内にも配置することができる。該フィーチャ／アプリケーションは、コントローラ局それ自体にも配置することができる。
該新アーキテクチャの他の利点は、被制御局のＡＲにより提供される機能が調整又はアップグレードすることができる点にある。一例として、最初ユーザが、基本ＡＲを備えるＶＣＲと、該基本ＶＣＲ機能を使用する対応する基本フィーチャを備えるＴＶとを購入した場合、本発明によれば、該ユーザは上記ＴＶを、向上されたフィーチャ（必要ではないが）と上記ＶＣＲの向上されたＡＲとを提供する新モデルに交換することができ、その場合、該ＴＶ内のＶＣＲ ＡＲは、上記ＶＣＲに対して固有の方法で通知する（少なくとも、追加された機能に関して）。かくして、該ＴＶ内の新たなフィーチャが上記の向上されたＶＣＲの機能を使用することができるのみならず、当該システム内の何処かに位置するフィーチャも、該ＴＶ内に位置する上記ＶＣＲ ＡＲにアクセスすることにより上記の向上された機能を使用することができる。
ＡＲのコントローラ局への割り付けを管理するために、本発明によれば、どのコントローラ局（又はどれらのコントローラ局上で）上で特定の被制御局に関するＡＲが実行されるべきかの情報を提供する好み指示子（又は複数の好み指示子）が使用される。これは、当該システムをプラグ・アンド・プレイ態様で自動的にインストールすることができ、且つ、該システムがユーザにより望まれる態様で動作するのを保証する、簡単且つ有効な方法である。好みを用いて、ユーザは、例えば、特定の被制御局の近くに位置されるコントローラ局に、該被制御局のＡＲを実行するための優先権が与えられるようにするのを、保証することができる。このようにして、コントローラ局と被制御局との間の通信における問題が低減される（例えば、ケーブルが切断される又は通信における障害の機会が少なくなる）。更に、コントローラ局と被制御局との間の通信が異なる物理的通信媒体に基づくものであれば、必要とされるであろう如何なる配線の長さも減少される。更に、ユーザは、当該システム内で概ね一緒に属するような局を斯様な方法で相手同士となるようにし、フィーチャの通信及び実行を単純化するのを、保証することができる。例えば、或るシステムにおいてＴＶがＶＣＲのＡＲを実行する場合、居間のＴＶは居間のＶＣＲのＡＲを実行するが、寝室のＴＶは寝室のＶＣＲのＡＲを実行することが好まれる。
斯かる好みは当該システムのユーザにより直接決定されるようにすることができる。他の例として、好み指示子が当該局の製造者によりデフォルトに設定されるか、又はアプリケーションにより設定されるようにすることもできる。有利には、当該システムが該システムについてなされる特別な使用から学び（例えば、当該システムは居間のＴＶとＶＣＲとが使用時に頻繁に相手同士にされるのを学ぶことができる）、上記好みをそれに従って設定し、これによりＡＲの如何なる将来のインストール及び再割り当てに対しても、新たに学んだ好みが考慮されるようにする。
前記ＡＲ分配手段は中央局に配置することもでき、又はコントローラ局の幾つか又は全てに存在することもできる。
本発明の一実施例においては、前記通信システムが、各局に関して各局の売り手及び／又は製造者の指示子を記憶する手段を有し、被制御局に対応付けられた前記好み指示子が、該被制御局のＡＲを同一の売り手及び／又は製造者の制御手段により実行することが好まれるか否かを示す。このようにして、最適に共動するように設計される傾向にある同一製造製品が一層大きなシステムにおいても最適に動作すると同時に、組み合わされた機能を当該システムの残部に対して利用可能にすることができること、を保証することができる。
本発明の他の実施例においては、被制御局に関連付けられた前記好み指示子が、該被制御局のＡＲを実行することが優先される特定のコントローラ局を示す。このようにして、好適と思われる（例えば、当該システム内の位置に基づき）、又は満足に動作する（例えば、素晴らしいユーザインターフェースを提供する、良好な性能を提供する等）ことが分かったコントローラ局が、当該被制御局のＡＲを実行するために割り当てられるようにすることができる。該好み指示子は、当該コントローラ局のネットワーク固有の識別子又は全域的に固有な通信アドレス等の如何なる形態をとることもできる。
本発明の他の実施例においては、前記コントローラ局が、被制御局の特定のモデルを表す少なくとも１つのＡＲ、又は被制御局の一連のモデル又は型式を表す汎用ＡＲを記憶する。このようにして、コントローラ局には被制御局に関するＡＲが既に備わっている（又は、後の段階で備わる）。例えば、ＴＶには全ての自身の製造のＶＣＲ及びＤＶＤプレーヤに関するＡＲを設けることができる。
本発明による他の実施例においては、前記被制御局が、該被制御局に関連付けられたＡＲを記憶するための記憶手段に関連付けられ、前記ＡＲ割付手段が、被制御局に関連付けられたＡＲを該被制御局に関連付けられた記憶手段から得るように動作する。該記憶手段は、被制御局内のＲＯＭ、当該システムの何処か他の場所に配置されたハードディスク若しくは光記憶媒体、又はインターネットサーバ上のロケーションへの参照（所謂、ＵＲＬ仕様を用いて）のような当該システム外に位置する記憶部でさえあるような如何なる好適な形態もとることができる。被制御局の該記憶手段との関連付けは該被制御局に配置することができるが、当該システム内の中央局又はコントローラ局の１以上に記憶することもできる。コントローラ局は、指示されたＡＲをダウンロードすることができる。これは、専用のローカルな通信手段を介して、当該システムのネットワークを介して、又はインターネットのようなワイドエリアネットワークを介してのものとすることができる。ＡＲはコントローラ局により実行することができるものでなければならない。好ましくは、該ＡＲは仮想マシン用にコンパイルされたコード（例えば、ジャバのバイトコードを用いた）として設けられる。このようにして、コンパクトなコーディングのみならず、プラットフォームからの独立性が達成される。
本発明の他の実施例によれば、被制御局に関連付けられた前記好み指示子はＡＲを記憶するための該被制御局に対してローカルな記憶手段及び／又は遠隔記憶手段を示し、前記ＡＲ割付手段は被制御局に関連付けられたＡＲを該被制御局に関連付けられた好み指示子により示される記憶手段から得るように動作する。このようにして、ＡＲは被制御局と共に規格として供給することができる（例えば、ＲＯＭに記憶される）。他の例として、又は追加として、ＡＲは、例えばコントローラ局内、中央局内（例えば、ＰＣのハードディスク）、又はインターネットのようなワイドエリアネットワークを介して（ＵＲＬにより示される）さえのような当該局外の記憶部から得ることもできる。ユーザ又は他の当事者は前記好みを更新することができ、例えば、当該被制御局にとって最も最近のＡＲ又は最良に動作した（例えば、最少のバグ又は全くバグを有さない、又は最速に反応した）ＡＲを示すことができる。
本発明による他の実施例においては、前記ＡＲ割付手段がＡＲを遠隔記憶手段から得ることに優先権を与えるように動作する。このようにして、被制御局と共に規格として供給された（そして、多分最新版ではない）ＡＲには、別の記憶位置から得られるＡＲよりも低い優先度が与えられる。有利には、ＡＲの発売日又はバージョン番号のようなデータも、最新版のＡＲが好ましくは使用されるのを保証するために、考慮に入れられる。
本発明による他の実施例においては、前記通信システムが複数のコントローラ局を有し、各コントローラ局が、前記ＡＲ分配手段と、コントローラ局のうちの単一のものを先導コントローラ局として指名する先導者選択手段とを有し、上記ＡＲ分配手段が、指名された先導コントローラ局内に位置している場合に、他のコントローラ局の各々におけるＡＲ割付手段を、各被制御局に関して、関連付けられたＡＲが多くても１度だけコントローラ局のうちの１つの制御手段に割り付けられることが保証されるように、制御するように動作する。
各被制御局に関して、多くても１つだけのＡＲしか活動状態にならないことを保証することにより、被制御局の制御における競合を避けることができる。原理的には、多数の局がコントローラ局として動作することができるので、これらコントローラ局のうちの１つを先導するものとして指定することにより複雑な同期及び管理の問題が避けられる。先導者を選択する簡単な方法は、各コントローラ局が個別に、自局が初期先導者であるか否かを決定することにより達成される。
他の実施例においては、前記通信システムが、コントローラ局の各々に関して、関連する固有の識別子を記憶する手段を有し、各先導者選択手段が、全てのコントローラ局の固有の識別子を得ると共に、これら識別子に基づいて、そのローカルなコントローラ局が先導コントローラ局であるか否かを判断するように動作する。
上記固有の識別子を用いて、各局は自局が先導者であるか否かを簡単に判断することができる。この判断は、例えば、最高の又は最低の識別子を決定することに基づくものとすることができる。また、他のアルゴリズム（例えば、当該識別子をハッシュ関数を用いて小さな数に変換し、この数に基づいて決定する）も使用することができる。上記固有の識別子に関しては、好ましくは、ネットワークアドレスのような、当該ネットワークに対して局を識別するために使用されるものと同一の識別子が使用されるものとする。
本発明による他の実施例においては、前記固有の識別子が当該識別子の最下位桁側ビットを持つ少なくとも下位部分と上位部分とを有し、該上位部分は売り手及び／又は製造者識別子を有し、前記先導者選択手段が、自身のコントローラ局に関連付けられた識別子から導出される値と他のコントローラ局に関連付けられた識別子から導出される値とを比較することにより前記判断を実行するよう動作し、これら値の各々が対応する識別子をビット逆転することにより実質的に形成される。同一の売り手の局が常に又は頻繁に先導局として動作する（これは、上記識別子の値を比較する単純な判定機構が使用された場合に発生するであろう）のを防止するために、該先導者を決定する場合に下位ビットに大きな重みが付与される。下位ビットは各製造者により、通常、順番に且つ独立して決定され、結果として先導者を選択する場合の何らかのランダムさを達成する簡単な方法となる。このようにして、有利にも、１つの固定したシステムに対しては常に同一の先導者が選択されることが分かるであろう。これは、特に被制御局に関する好み又は他の情報に基づいて等しく好適なコントローラ局の間での選択をしなければならない場合に、コントローラ局にＡＲを割り付ける場合の一貫性、従って当該システムの動作における一貫性を増加させる。
本発明による他の実施例においては、前記通信システムがコントローラ局の各々に関して関連する能力指示子を記憶する手段を有し、該能力指示子は関連するコントローラ局が前記先導コントローラ局として動作する適性を示し、前記先導者選択手段が、上記（初期）先導コントローラ局内に位置する場合、
上記コントローラ局の各々に関連付けられた能力指示子を得、
どのコントローラ局が最も能力のあるものであるかを判断し、
最も能力のある局を前記先導コントローラ局として指名する。
能力指示子を用いることにより、先導者の効率的ではあるが何となく区別の付かない最初の選択が、簡単な態様で改善される。全てのコントローラ局（又は複数の局）が全てのコントローラ局の能力を集めると共に判断しなければならない代わりに、この処理は１つの局（初期先導者）によってのみ実行されるようにし、続いて、責任を、何処でＡＲが実行されるべきであるかを判断するのに最も能力があると分かる場合は、斯かる他のコントローラ局に渡すようにする。
本発明による他の実施例においては、前記能力指示子は、関連するコントローラ局が該コントローラ局の外部に位置する記憶手段からＡＲをダウンロードする能力があるか否かを示し、前記先導者選択手段は、ダウンロードする能力を備えるコントローラ局をダウンロードする能力のないコントローラ局よりも能力があるとして階級決めする。このようにして、外側への視野を備える（例えば、インターネットにアクセスすることが可能な）、従って、適切な新たなＡＲが利用可能であるかをより良く判断することができるコントローラ局には、ＡＲを割り当てる場合の優先権が与えられる。このようにして、能力の低い先導者が、この未知の局に関して、一層能力のある局を介してＡＲにアクセスしなければならないようなことが防止される。
本発明による被制御局は、少なくとも１つの好み指示子を記憶する手段を有し、該好み指示子は、該被制御局に関連付けられたＡＲの、選択されたコントローラ局（又は複数のコントローラ局）の制御手段による実行に対する好みを示す。このようにして、上記被制御局と上記好み指示子との間での簡単な関連付けが達成される。当該被制御局が主ネットワークを介してはアクセス可能ではないが、何らかの他のネットワーク（例えば、専用ネットワーク、又は同じネットワーク上で動作する別のプロトコルを用いて）を介しては可能である場合は、上記好み指示子は、中央局又はコントローラ局（又は複数のコントローラ局）のような１以上の他の局に記憶することもできる。特に、前記先導コントローラ局は、所望のＡＲを選択し及び／又は該ＡＲを最も適した／好ましいコントローラ局に割り当てるために、全てのコントローラ局に関する好み指示子を収集し且つ使用することができる。これは、他のコントローラ局が多くのデータを集め且つそれにつき判断しなければならないことから解放する。
【図面の簡単な説明】
本発明の、これら及び他の特徴は図に示す実施例から明らかとなり、また斯かる図を参照して明らかにされるであろう。図において、
第１図は、本発明による消費者用装置を備えるシステムのブロック図、
第２図は、第１図のシステムにおけるコントローラ局のソフトウェアアーキテクチャのブロック図である。
尚、これら図を通して同一の符号は同様の又は対応する機能を示している。また、図に示す機能の幾つかは典型的にはソフトウェアにより実施化され、それら自体はソフトウェアモジュール又はオブジェクトのようなソフトウェア体と見なされるべきであることに注意されたい。
発明を実施するための最良の形態
第１図は、本発明による制御システム100のブロック図である。システム100は少なくとも１つの被制御局を有し、図示されているものは被制御局102、104、106、108、110、…及び112である。システム100は、更に、少なくとも１つのコントローラ局を含んでいる。図は、コントローラ局114及び116を図示している。これらコントローラ局は、例えばIEEE 1394に基づくような、当該システムの主通信ネットワーク120を介して同一の高レベル通信プロトコルを用いて接続されている。被制御局102ないし106はコントローラ局114に直接接続されている。この接続は、専用ネットワークのような何らかの好適な通信手段を介するものとすることができる。被制御局108は主ネットワーク120に接続されているが、主ネットワーク120に対して必要とされるようなやり方では、該局のＡＲを制御のために利用可能にするために要する全てのプロトコルを使用はしない。しかしながら、局108は他のプロトコル（例えば、専用の又は別の規格による）を使用することができ、それ自体はコントローラ局と通信することができる。
当該システムにおいては、コントローラ局（又は、短くコントローラ）と被制御局との間が区別される。コントローラは、被制御局に対してホストとして働く局である。被制御局と、そのコントローラとは同一の物理装置に又は別々の装置に存在することができる。コントローラは、被制御局に対する抽象表現（ＡＲ）をホストするよう指示される。制御インターフェースが、このＡＲのＡＰＩ（アプリケーションプログラムインターフェース）を介して曝される。このＡＰＩは、該局を制御するためのアプリケーション（フィーチャ）用のアクセスポイントである。例えば、家族部屋内のインテリジェントテレビジョンは、多数の相互接続された被制御局に対するコントローラであり得る。被制御局は、当該局用のユーザインターフェースを構成し、当該局の外部制御を可能にするようなコードを含むことができる。このような局が最初に接続されると、コントローラは上記ユーザインターフェース及び制御コードを得る。この場合、上記局を表すアイコンがテレビジョン画面上に現れ、該アイコンの操作が、制御プログラムの要素に上記の表示された局又は複数の局を所定の態様で起動させることができる。
システム100の動作及び万能的特徴を理解するために、消費者用電子局102ないし112の通信能力の分類を先ず説明する。実際には、ここで確認されるよりも一層滑らかな装置能力の連続性が存在するが、この分類はシステム100のモデルを理解するには有効である。この汎用例における局102ないし112の通信能力は、異なるレベルの複雑さを有している。それらの通信能力に応じて、局102ないし112は下記の等級の１つに属する：
コントローラ局
下記の２つのコントローラ局の間での区別をすることができる：
完全ＡＶ装置（ＦＡＶ）
完全ＡＶ装置は、通常、豊かな資源の組を有し、複雑なソフトウェア環境をサポートすることができる。ＦＡＶの主要な際立った特徴は、被制御局に関する抽象表現（ＡＲ）を実行するための実行時環境の存在である。これは、ＦＡＶに他の局から又は他のローカルエリア若しくはワイドエリア通信ネットワークを介してＡＲをアップロードして、それらの制御のための高性能能力を供給することを可能にする。該ＦＡＶはアプリケーション／フィーチャをダウンロードすることもできる。好ましくは、このダウンロードされたコードは何らかの仮想マシンの実行可能なコード（例えば、ジャバ又は類似のバイトコード）の形態とする。ＦＡＶ装置のありそうな候補は、セットトップボックス（ＳＴＢ）、デジタルＴＶ受信機（ＤＴＶ）、汎用ホーム制御装置及びホームＰＣでさえある。
中間ＡＶ装置（ＩＡＶ）
中間ＡＶ装置は、通常、ＦＡＶより価格が低く、資源が限られている。これら装置はダウンロード可能なＡＲに対する実行時環境を提供せず、従って当該システム内の任意の装置に対してコントローラとして働くことはできない。しかしながら、ＩＡＶは当該システム内の特定の被制御局（又は複数の被制御局）の制御のための固有のサポートは提供することができる。
被制御局
下記の２つの型式の被制御局の間での区別をすることができる：
基本ＡＶ装置（ＢＡＶ）
これらは、ビジネス又は資源の理由で、アップロード可能なＡＲを設けることにより将来に耐える動作を実施化することを選択する装置であるが、これら装置自体はＡＲを実行しない。これら装置はコントローラ局により（上記アップロード可能なバイトコードを介してＦＡＶ装置により、又は固有コードを介してＩＡＶ装置により）制御することができる。該ＢＡＶと、そのコントローラ局との間のプロトコルは、専用であっても又は専用でなくてもよい。コントローラ局とＢＡＶ装置との間の通信は、ＡＲ用の命令が当該ＢＡＶ装置により使用される命令プロトコルへ、又は斯かるプロトコルから翻訳されることを必要とする。この翻訳は、当該ＡＲを実行するコントローラ局によりなされる。
レガシＡＶ装置（ＬＡＶ）
ＬＡＶ装置は、当該システムアーキテクチャの出現前に構築された装置である。これらの装置は、それらの制御のために専用のプロトコルを使用し、非常にしばしば、単純な制御のみのプロトコルを有する。このような装置はホームネットワーク内で動作することができるが、ＦＡＶ又はＩＡＶ装置がゲートウェイとして作用する必要がある。完全又は中間ＡＶ装置と、レガシＡＶ装置との間の通信は、命令が当該レガシ命令プロトコルへ又は斯かるプロトコルから翻訳されることを要する。
対話の過程の間に、局は対等な形で（peer-to-peer fashion）態様で制御及びデータを交換することができる。このことは、当該通信レベルにおいて、当該システムに対して１つの装置がマスタ又はコントローラとして働くことを必要としないことを保証する。しかしながら、それは、論理マスタ又はコントローラが制御構造を基本的対等通信モデルにさせることも可能にする。
ソフトウェアアーキテクチャ
コントローラ局のソフトウェアアーキテクチャが第２図に示されている。該アーキテクチャのソフトウェア要素は、ネットワーク管理、装置の抽象化、装置間通信、及び装置のユーザインターフェース（ＵＩ）管理の基本概念をサポートする。集合的に、これらソフトウェア要素が、相互運用性ＡＰＩ、即ち当該システムにおける可搬分散型のアプリケーションを構築するためのサービスの集合、を呈する。これらソフトウェア要素自体は、リアルタイムオペレーティングシステムのような売り手固有のプラットフォーム210上に存在する。第２図は、或るコントローラ局上のソフトウェア要素の配置を図示している。実施化の青写真としては意図していないが、該図は、これらソフトウェア要素が、どのようにプラットフォーム固有のＡＰＩとプラットフォームから独立したアプリケーションとの間の中間層を形成するかを際立たせている。重要なソフトウェア要素は、抽象表現（ＡＲ）である。示されているものは、３つのＡＲ（220、222及び224である）。ＡＲは、局を制御するために使用されるソフトウェア要素である。ＡＲは、当該ＡＲ自身のためのコードに加えて、当該被制御局内の各機能構成要素に対する機能構成要素モジュール（ＦＣＭ）用のコードを有している。ＦＣＭは、当該機能構成要素の機能をソフトウェア環境及びアプリケーションに提供する機能構成要素の（ソフトウェア）抽象化である。アプリケーションは機能構成要素とは直接通信せずに該ＦＣＭのみを介して通信し、該ＦＣＭは該機能構成成分とは直接通信せずに常に該ＡＲ（これは、少なくとも当該関係を提示するために使用されるモデルである）を介して通信する。ＦＣＭは、登記部（詳細は後述する）に受信機として登録することができるという意味で、オブジェクトであり、メッセージシステムを介して他のオブジェクトと通信することができる。機能構成要素は、或る局の１つの識別可能な主機能に関連付けられる機能を表している。例えば、ＶＣＲのＡＲはテープデッキ及びチューナのために別個のＦＣＭを有することができ、ＴＶのＡＲは、モニタ、ＰＩＰ（画像内画像表示）及びチューナのために別個のＦＣＭを有することができる。加えて、ＡＲは装置制御アプリケーション、即ち当該装置及びその機能構成要素のユーザ制御を可能にするソフトウェア要素、を含むことができる。図においては、ＡＲ220は当該コントローラ局自身の機能を表しているが、ＡＲ222及び224は２つの被制御局の機能を各々表している。
該コントローラ局は、ＡＲ（例えば、アップロードされたＡＲ）又はアプリケーション用の実行時環境を提供する制御手段240を有している。該コントローラ局は、更に、ＡＲ分配手段250とＡＲ割付手段260とを有している。ＡＲ割付手段260は、該コントローラ局上で実行されるように割り付けられたＡＲを、実行のために制御手段240に割り付ける。分配手段250は、コントローラ局上でのＡＲのインストール又は削除を制御するＡＲマネージャの仕事を実行する。
ＡＲは、当該アーキテクチャの中心的概念であり、新たな装置及びフィーチャを受け入れる柔軟性の源である。ＡＲは２つの主な型式に当てはまる：
−  組み込まれたＡＲ、即ちコントローラ局に予めインストールされたＡＲ。
−  アップロードされるＡＲ、即ち、例えばバイトコード等のダウンロード可能なコードを用いて構成されるＡＲ。アップロードされたＡＲはＦＡＶ装置上でのみ走る。
好ましくは、組み込まれたＡＲは、或る製造者の一連のＶＣＲのような一連の可制御局を制御するために使用することができるものとする。もしそうなら、好ましくは、コントローラ局は関連する実際の被制御局についての追加情報を得て（例えば、ネットワークを介してモデル番号を読み取ることにより）、該汎用ＡＲを当該特定の被制御局に対して最適に動作するよう調整する。ＡＲ自体は、ファミリの装置及び特定のモデルの両方の制御のためのＡＰＩを提供することができる。通常、前者のＡＰＩの方が広い範囲の利用度を有するが、後者は売り手固有のフィーチャ及び能力の制御を可能にする。
被制御局に対しては、関連するＡＲが当該システム内に存在しなければならず、当該被制御局が関与することが出来るように走っていなければならない。ＢＡＶ装置に関しては、ＡＲは当該ＢＡＶ装置の記憶部から直接、又は当該ＢＡＶ装置に関連する他の記憶部（当該ネットワーク上の他の局に配置されたハードディスクのような、又はワイドエリアネットワークを介するアクセスさえも経て）から得る（ダウンロードする）ことができる。後者の場合、記憶位置の指示子が当該被制御局に関して記憶される。この指示子は、当該被制御局自体、又はコントローラ局若しくは中央局のような他の局に記憶することができる。ＬＡＶ装置に対しては、ＡＲは当該コントローラ局に予めインストールされるか、又は何れかの記憶位置から得られる。同様に、コントローラ局の場合も、他の局のアプリケーション／フィーチャにより使用されるようにするために、実行ＡＲが同局内で必要とされる。通常、斯様なＡＲは当該コントローラ局自身内で走っているであろうが、これは厳密には必要ではない。
コントローラ局は１以上のアプリケーション（フィーチャ）を有することもでき、図示されたものはアプリケーション270、272及び274である。該アプリケーションは、１以上の関連するＡＲにメッセージを送出する。これらＡＲは、同一の局又は他の局に位置されることができ、後者の場合は前記メッセージがネットワークを介して伝送される。
以下のような他のソフトウェア要素も当該コントローラ局に含まれることができる：
−  通信媒体マネージャ230；他の要素が当該ネットワーク上で非同期及び等時性通信のような通信を行うことができるようにする。好ましくは、IEEE 1394がネットワークとして使用される。
−  メッセージシステム232；要素間のメッセージの受け渡しに責任を持つ。
−  イベントマネージャ234；事象（イベント）伝達サービスとして作用する。イベントとはオブジェクトの又は当該ホームネットワークの状態の変化である。
−  ストリームマネージャ236；機能構成要素間でのＡＶ及び他の媒体のリアルタイム伝送の管理に責任を持つ。
−  登記部238；ディレクトリサービスとして作用し、何れかのオブジェクトが当該ホームネットワーク内の他のオブジェクトを探すことを可能にする。
当該システム内の局は、当該局及びその能力に関する記述的データ（自己記述装置データ、即ちＳＤＤ）を含むことができる。IEEE 1394が当該ネットワークとして使用される場合は、好ましくは、この情報は構成ＲＯＭ（Configuration ROM）に使用されるIEEE 1212アドレス指定方法に従うようにする。上記ＳＤＤデータはＡＲコード及びユーザインターフェース要素を構成するためのデータを含むことができる。
通信媒体マネージャ
通信媒体マネージャ（ＣＭＭ）230は、当該ネットワークにおける媒体依存性の主体である。該マネージャは、内在する通信媒体とインターフェースして、当該ＣＭＭが存在するのと同一の装置に存在する他の構成要素又はアプリケーションプログラムに対するサービスを提供する。各物理的通信媒体は上記目的を果たすために自身のＣＭＭを有している。この節は、1394バス用のＣＭＭのみに注目する。
ＣＭＭによって、２つの型式のサービスが提供される。一方のものは、遠隔装置へリクエストを送り、及び斯かる遠隔装置から指示子を受信するための伝送機構を提供するものである。他方のものは、当該バスの動作を抽象化し、該情報を当該システムに提供するものである。IEEE 1394バスは、動的に編成することが可能なバスである。各バスリセットの後、装置は以前に持っていたものとは完全に異なる物理ＩＤを有することができる。もし、或るネットワーク構成要素又はアプリケーションが当該ネットワーク内の装置と通信を行っていた場合は、該装置が異なる物理的ＩＤを有するようになるかもしれないが、上記構成要素／アプリケーションがバスリセットの後にも該通信を継続したいと欲するかも知れない。頻繁なバスリセットに関係なく装置を固有に識別するために、全体的固有ＩＤ（ＧＵＩＤ）がＣＭＭ及び他の主体により使用される。ＧＵＩＤは２４ビットのノード−売り手ＩＤと４０ビットのチップＩＤとからなる６４ビット数である。装置の物理ＩＤは常に変化するかも知れないが、そのＧＵＩＤは永久的なものである。ＣＭＭは、そのクライアントに対して装置ＧＵＩＤ情報を利用可能にする。
1394バスが当該システムに提供する進んだフィーチャの１つは、ホットプラグ接続及びホットプラグ切断のような動的装置動作をサポートしていることである。これをユーザレベルにまで完全にサポートするため、システム構成要素又はアプリケーションは、これらの環境変化を気付く必要がある。ＣＭＭはイベントマネージャ（ＥＭ）と共動して、斯かる動的バス変化を検出し、通知する。1394バス内での如何なるトポロジの変化もバスリセットを生じさせるので、ＣＭＭは該変化を見付け、これらの変化についてのイベントを、関連する情報と共にイベントマネージャに伝送することができる。次いで、イベントマネージャは、関連するイベントを、全ての関係する主体又はアプリケーションに分配する。
メッセージシステム
メッセージシステムは、ソフトウェア要素に通信機能を与える。該システムは当該ネットワーク及び伝送レイヤとは独立している。メッセージシステムは、如何なるＦＡＶ及びＩＡＶ装置にも組み込まれる。装置のメッセージシステムは、当該装置のソフトウェア要素に対して識別子を割り付ける責任を持つ。これらの識別子は、ソフトウェア要素により先ず登録するために使用される。次いで、それら識別子は、当該ホームネットワーク内で互いを識別するためにソフトウェア要素により使用される。即ち、ソフトウェア要素（Ａ）が他のソフトウェア要素（Ｂ）に対してメッセージを伝送したい場合、該要素（Ａ）は当該メッセージシステムのＡＰＩを呼び出す際にＢのソフトウェア要素識別子を使用しなければならない。
装置制御
本発明によるシステムにおいては、ＡＲは当該ネットワーク内で知られている各ＢＡＶ及びＬＡＶ装置につき存在しなければならない。該ＡＲは、当該装置に対するインターフェースを提供すると共に、該インターフェースを当該アーキテクチャ内のソフトウェア要素として提供する。ＡＲ内には当該装置の機能構成要素を表す幾つかのＦＣＭが含まれ、これらＦＣＭも当該アーキテクチャ内のソフトウェア要素として提供される。他のアプリケーションは、利用可能な装置及び機能構成要素を見付け、それらをＡＲ及びＦＣＭを介して当該装置と対話することを可能にするためのソフトウェア要素識別子を得るために、前記登記部を尋問することができる。ＡＲは、それらをインストールすることができるＦＡＶ又はＩＡＶにより扱われる。ＡＲコード単位のインストールの結果、全ての関連するＦＣＭがインストールされる。該コードは標準のバイトコード又は何らかの専用コードで書くことができ、標準バイトコードの場合は、それらは全てのＦＡＶ装置にインストールすることができ、専用コードの場合は、それらは該コードを知っていると共に斯かる種類のコードに備えのある幾つかのＦＡＶ又はＩＡＶ上に（又は、によって）のみインストールすることができる。
機能構成要素モジュール（ＦＣＭ）
機能構成要素の機能をソフトウェア環境及びアプリケーションに与える当該機能構成要素の（ソフトウェア）抽象化である。アプリケーションは機能構成要素と直接通信するのではなくＦＣＭのみを介して通信し、該ＦＣＭは上記機能構成要素と直接通信するのではなく常にＡＲ（これは少なくとも当該関係を提示するのに使用されるモデルであり、ＦＣＭ構成はＣＭＭと直接通信することができる）を介して通信を行う。ＦＣＭは、前記登記部に受信機として登録されるという意味でソフトウェアオブジェクトであり、前記メッセージシステムを介して他のオブジェクトと通信することができる。該メッセージシステムを介して、ＦＣＭは当該システムの規定によるコマンドプロトコルを提供する。
従って、異なる型式の装置に対して、ＡＲは異なる役割を果たす。
−  ＩＡＶ装置は、多分、自身を表す１つのＡＲと、ＬＡＶ及び／又はＢＡＶ装置（ＬＡＶモードで動作する）を表す０以上のＡＲをホストする。
−  ＦＡＶ装置は、多分、自身を表す１つのＡＲと、ＬＡＶ装置及び／又はＢＡＶ装置を表す０以上のＡＲをホストする。
−  ＬＡＶ装置自体は如何なるＡＲの概念も有していない。該ＬＡＶを如何に扱うかを知っているＦＡＶ又はＩＡＶ装置を伴う主ネットワークに取り付けられた場合、１つのＦＡＶ又はＩＡＶ装置は当該ＬＡＶ装置を他の局に対して利用可能にするためにＡＲコードを提供しなければならない。これがどの様に実施されるか、及びＡＲ／ＦＣＭが該ＬＡＶ装置にどの様に通知するかは、当該ＦＡＶ又はＩＡＶ装置の製造者の完全な専権事項である。
−  ＢＡＶ装置自体は如何なるＡＲもホストしないが、規格化されたコードのＡＲコード単位を提供する（下記参照）。ＦＡＶを伴うネットワークに取り付けられると、各ＦＡＶは当該ＡＲをアップロード及びインストールして、当該ＢＡＶ装置を他の構成要素に対して利用可能にすることができる。ＡＲコード単位のインストールの結果、当該装置に関するＡＲと全てのＦＣＭがインストールされる。ＡＲ／ＦＣＭとＢＡＶ装置との間の通信はＣＭＭを介して規格化された方法で進むが、該ＡＲ／ＦＣＭと該装置との間の実際の通信は当該ＢＡＶの製造者の専権事項である。ＦＡＶ装置は伴わないが当該ＢＡＶを如何に扱うかを知っているＩＡＶ装置を伴うシステムに取り付けられると、ＩＡＶ装置はＡＲコード単位自体を提供して、当該ＢＡＶ装置を他の構成要素に対して利用可能にすることができる。次いで、該ＢＡＶ装置はＬＡＶモードで動作するよう指示され、その場合、状況はＬＡＶ装置に関するものと同一である。
当該装置（及び、その機能構成要素）を制御するためのＡＰＩの他に、ＡＲも装置固有のアプリケーションを提供することができる。これは、当該システムにより全ての他のアプリケーションのように扱われる一般的なアプリケーションである。このアプリケーションにより、装置製造者はユーザに対し、当該装置の全ての特別なフィーチャを制御する方法を製造者により決められた方法で、当該システムにおいて全てのこれらフィーチャを規格化することを要せずに、提供することができる。
ＡＲマネージャは、例えば新たな装置が当該ネットワークに取り付けられた場合に、当該システムに取り付けられた新たな装置に関して新たなＡＲ（コード単位）をインストールする責任を持つ。装置は１以上の機能構成要素からなるかもしれない。例えば、或る装置はチューナとＶＣＲとからなるかも知れない。ＢＡＶ／ＬＡＶ装置に関しては、そのＡＲコード単位のインストールは、各ＡＲ成分毎に別々ではなく、常に各装置毎になされるので、ＡＲマネージャに対しては、ＡＲコード単位はＡＲ成分のインストール、削除及び置換に関して単一の主体である。更に、１つのＡＲコード単位は単一のＢＡＶ／ＬＡＶ装置に対応する。即ち、１つのＡＲコード単位は当該装置に関する全てのＡＲ成分を含む。
ＡＲは、ＢＡＶ／ＬＡＶ装置との初歩的な通信のための基本的サービスを提供する。好ましくは、ＡＲマネージャは新たな装置の取り付けを検出すると共に該装置の固有識別子（ＧＵＩＤ）を得、次いで、該ＡＲマネージャは該装置に関する基本的情報を得ると共にＡＲコード単位をインストールするために該装置と通信することができる。該ＡＲマネージャは、当該装置のＧＵＩＤを提供するＡＲコード単位のインストール（及び後の削除）を制御する。このインストールの結果、上記ＡＲ、及びＣＭＭと提供されたＧＵＩＤとを介して当該装置と通信することができるＦＣＭオブジェクトが得られる。インストールに際し、ＡＲ及びＦＣＭは自身を前記登記部を介して知らしめる（これらがメッセージシステムを介して他のアプリケーションにより見付けられ及び使用され得るように）。
上記ＡＲ成分とＣＭＭとの間の通信は、ＢＡＶ／ＬＡＶ装置のＧＵＩＤに基づくものである。ＣＭＭは、全てのＡＲ成分により使用されるべき装置との通信のために上記ＧＵＩＤのみを提供する。この場合、ＣＭＭはＢＡＶ／ＬＡＶ装置内の機能構成要素の構造に関しての如何なる知識も持つ必要はない。このことは、ＦＡＶ／ＩＡＶ装置とＢＡＶ／ＬＡＶ装置との間の通信を単純化し、規格化の努力を少なくし、専用プロトコルを使用する可能性を増大させる。ＡＲ成分自体はＣＭＭの適切な使用、即ち通信の適切な方法でのインターリーブ及びＢＡＶ装置から受信されたメッセージの適切なＡＲ成分への分配、に対して責任がある。
ＡＲコード単位の内容は、好ましくは、各ＡＲマネージャが任意のＢＡＶ／ＬＡＶ装置に対してＡＲコード単位を扱うことができるように、規格化されるようにする。ＡＲコード単位は、例えば標準のバイトコードの一種の自己展開パッケージとすることができる。即ち、該ＡＲコード単位はＡＲマネージャにインストール及び削除用のハンドルを提供する。該ＡＲマネージャはインストールハンドルのみを呼び出し（ＣＭＭを介して当該装置と通信するために該装置のＧＵＩＤを提供する）、該ハンドルについてはＡＲコード単位自体が同装置へのその全てのＡＲ成分のインストールに責任を持つ。同様の、削除ハンドルはＡＲマネージャに当該ＡＲコード単位内の全てのＡＲ成分を削除するハンドルを提供する。このことは、ＢＡＶ製造者に対しＡＲコード単位を構成する場合の最大の自由度を可能にする。
ＡＲマネージャ
ＡＲ管理システムは、ネットワークに直接接続された被制御局（ＢＡＶ及びＬＡＶ装置）の制御のためのＡＲコード単位のインストール及びアンインストールに関し責任を持つ。ＡＲ管理は、全てのコントローラ局（ＦＡＶ及びＩＡＶ装置）上のＡＲマネージャにより総合的に実施される。コントローラ局用のＡＲコード単位は、それら局自身により専用の方法で管理される。当該ネットワークには接続されていないが、その代わりに、専用ネットワーク又は同じ媒体上で動作する別の高いレベルのプロトコルのような、他の通信媒体を使用する局は、好ましくは上記コントローラ局により専用の方法で管理されるものとする。各被制御局は、ホストと呼ばれるコントローラ局上にインストールされるＡＲコード単位により助けられるべきである。
ＡＲコード単位にはプロファイルを伴わせることができ、該プロファイルは当該ＡＲコード単位及びその成分により必要とされる実行時サイズの指示子を含む。
各ＡＲマネージャは、ソフトウェア要素により呼び出すことができる多数の方法、及びＡＲコード単位のインストール及びアンインストールの結果を通知する多数の全体的なイベントを提供することができる。殆どのＡＲ管理の動作は、典型的には当該ネットワークのトポロジが変化した場合又は或る装置が（非）活性化された場合に発生されるようなネットワークリセットイベントにより起動される。このようなイベントは、例えば或る装置が当該ネットワークに追加され又は当該ネットワークから削除された場合、当該ネットワークが２つの小さな部分に分割された場合、又は２つのネットワークが１つに連結された場合に発生されるであろう。他の例として、例えばユーザが再インストールを要求する等の他のイベントが当該管理動作を起動する場合もある。
ＩＡＶ装置の場合は、当該システム内の如何なる被制御局に対してもホストとして動作しない場合は当該ＡＲ管理処理に参加しないことが許される。このようなＩＡＶ装置はＡＲマネージャを実施化する必要はない。他の例として、斯かる装置はダミーモードで動作することもでき、その場合には限られた機能のみを実施化する。
ＡＲコード単位のインストール及びアンインストール
インストールのトリガ（例えば、ネットワークリセットイベント）の結果としての当該ＡＲ管理システムの判断を次に説明する。これらの判断は、好みにより変更され得る。これら好みは被制御局の好みに関する情報を提供する。好みは、当該システム内に被制御局に関連させて記憶される。優先度は被制御局自体（例えば、ＳＤＤデータの一部として）に記憶することもできる。通常、コントローラ局は一層強力であるので、典型的には、好みは１以上のコントローラ局内のＡＲマネージャ上にローカルに記憶される。また、中央局も該好みを記憶するために使用することができる。
各被制御局に対しては、多くても１つのインストールされたＡＲコード単位が全体のネットワーク内で活動的に動作している。資源が不足する問題により、当該ネットワーク内の幾つかの被制御局に対してはＡＲコード単位がインストールされないことが生じ得る。また、何らかの理由により、ＡＲコード単位が自身をアンインストールすることも起こり得る。以前のホストが当該ネットワークから削除された場合は、好ましくは、被制御局のＡＲコード単位用として他のホストが選択される。対応する被制御局が当該ネットワーク内で最早利用できない場合は、ＡＲコード単位はアンインストールされる。
選択された先導者（リーダ）内のＡＲマネージャは、下記の方法に従ってＡＲコード単位のインストールを制御する：
被制御局としての同一の売り手のホストが存在し、それを制御することが可能な場合は、斯様なホストは当該被制御局にとって専用の方法でＡＲコード単位をインストールするために選択される。それ以外の場合、当該被制御局に対して利用可能なＡＲコード単位が存在するなら、ＦＡＶホストが該ＡＲコード単位をロードしインストールするために選択される。これが失敗した場合は、当該被制御局に対する（組み込まれた）ＡＲコード単位を専用の方法でインストールすることができる何れかのホストが選択される。
ＢＡＶ装置は、ＡＲコード単位及び／又は斯かる単位用のＵＲＬを、例えばそのＳＤＤデータ内に、内部的に記憶することができる。ＡＲコード単位用のＵＲＬがＢＡＶ装置内で特定される場合は、該ＵＲＬが特定されたロケーションからロードされ、当該ＢＡＶ装置自体に含まれるＡＲコード単位の代わりにＦＡＶホスト上にインストールされる。該ロードが失敗した場合は、該ＢＡＶ装置に含まれる上記ＡＲコード単位が代わりにロードされインストールされる。
各コントローラ局が原理的に或るＡＲを実行するのに等しく適している場合は、好ましくは、これらコントローラ局のうちの既にインストールされた最も少ない数のＡＲコード単位を持つものが選択される（当該システム上での負荷の分散）。
ＡＲの場所を示すために所謂ＵＲＬ（Universal Resource Locator）を使用することができる。ＵＲＬの一般構文は：
scheme://host.domain:port/directory/filenameであり、幾つかの部分は任意選択的である。上記shcemeは、例えばhttpまたはfileであり得る。該ＵＲＬは、インターネット上又は（永続的な）記憶媒体上のＡＲコード単位及び／又はそのプロファイルを示す。
好み
当該ＡＲ管理システムの動作は、アプリケーション又はユーザにより設定することが可能な好みによりガイドされる。好みは、典型的には、上述したデフォルトのインストール動作からの逸脱を特定する。当該システムにおけるＡＲマネージャについての好みを設定又は取り出すための２つの方法が準備されている。好みは任意選択的なものであり、ＡＲ管理は如何なる設定された好みなしでも機能することを意味する。何れかの被制御局に対して好みが設定されている（例えば、コントローラ局に記憶されている）場合は、該優先度は好ましくは永続的に記憶されるようにし、これにより、当該ネットワーク又は何れかの装置が電源投入される毎に好みを入力する必要がないようにする。好みは、例えばユーザにより修正可能とする。
ＡＲ管理用の下記の３つの好みを有効に使用することができ、これら好みの各々は、単一の被制御局（例えば、その全体的固有識別子、即ちＧＵＩＤにより）又は被制御局モデル（その売り手のモデル識別子、即ちＶＭＩＤにより）の何れかに対応付けられる。ＬＡＶ被制御局の場合は、最初の変形例のみが可能である。何故なら、ＬＡＶ装置に対してはＶＭＩＤは利用可能ではないからである。被制御局用のＧＵＩＤに基づく好みは、もしあるなら、競合を生じることなく被制御局モデル用のＶＭＩＤに基づく好みに優先する。
0004248028.tif 000002
ARPreferVendorHost  −  ＡＲコード単位をインストールするのに当該被制御局と同一の売り手のホストが優先されるかの指定。何れかの被制御局又は被制御局モデルに対し、該値が何れかのＡＲマネージャに関して真に設定されると、当該ＡＲ管理システムは同一の売り手のホストに優先度を与えなければならない。
ARPreferredHost  −  何れかの被制御局又は被制御局モデルのためのＡＲコード単位をインストールすることが優先される特定のホストの指定。これを設定する理由は、例えば、性能上の又は信頼性上の考慮であろう。
ARPreferredURL  −  被制御局又は被制御局モデルに対するＡＲコード単位及びそのプロファイルの場所を指定するＵＲＬ（又は、同様の方法）。ＢＡＶ被制御局の場合、この好みは、当該ＢＡＶ装置内のＵＲＬにより指定されるＡＲコード単位又は当該ＢＡＶ装置内に含まれるＡＲコード単位の代わりにインストールされるべきＡＲコード単位を指定するために使用される。ＬＡＶ被制御局の場合、該好みはＦＡＶホスト上にインストールすることができるＡＲコード単位を指定するために使用される。
１つの被制御局に対する好みが、より多くの局に記憶される場合は、競合する値が設定されることが起こり得る。この場合、これら値の１つを任意に選択することができる。ARPreferVendorHostに関しては、好ましくは、競合の場合には前記真の値が選択される。有利には、競合状態が報告されるようにし、当該システムのユーザが好みを調整することにより該競合を解消することができるようにする。
通常、好みはネットワークのリセットイベントの際、及び（アン）インストールリクエストを呼び出す際に有効になるのであって、それらが設定される時に有効になるのではないことは理解されるであろう。有利には、あいまいさを解消するために、好みの間には優先順が存在する。下記のリストは、ＡＲコード単位のインストールの試みが、或る被制御局に対する先導局のＡＲマネージャにより実行される優先される順序を示す：
１．<prefer vendor host>が真の場合は、当該被制御局と同じ売り手のホストを試す（専用のＡＲコード単位）。もし当てはまるなら、売り手ホストの組内にある限り、<preferred host>も考慮に入れる。
２．<preferred host>が指定される場合は、該ホストを試す（組み込まれた又はアップロード可能なＡＲコード単位）。もし当てはまるなら、<preferred host>がＦＡＶ装置である限り、<preferred URL>も考慮に入れる。
３．<preferred URL>が指定されるなら、何れかのＦＡＶホスト上のＵＲＬにより指定されるアップロード可能なＡＲコード単位を試す。
４．何れかのＦＡＶホスト上のＢＡＶ装置内のＵＲＬにより指定されるアップロード可能なＡＲコード単位を試す（ＢＡＶ被制御局のみに当てはまる）。
５．何れかのＦＡＶホスト上のＢＡＶに含まれるアップロード可能なＡＲコード単位を試す（ＢＡＶ被制御局にのみ当てはまる）。
６．何れかのホスト上の専用のＡＲコード単位を試す。
ＡＲ管理プロトコル
ＡＲ管理システムは、コントローラ局上に分散されたＡＲマネージャの群から構成される。ＡＲマネージャは、ローカルなシステム要素の所要のサービスを使用しながら、設けられたサービスを実施するために対等関係で対話する。これらは、ＣＭＭ、メッセージシステム、イベントマネージャ及びＡＲコード単位である。好ましくは、各ＡＲマネージャは当該ネットワーク上に接続された局からＳＤＤデータを直接読み取ることができるものとする。当該プロトコルが、記憶及びインターネットアクセス機能の使用をサポートする。
インストールのトリガの後、各ＡＲマネージャは初期先導者（initial leader）を選択する手順で開始する。１つのＡＲマネージャが先導者として選択される。全てのＡＲマネージャは従者であり、上記先導者に従属する（このように、先導者ＡＲマネージャは当該プロトコルにおいて従者の役割も果たす）。先導者及び従者は、次いで、ＡＲコード単位のインストールを自律的に実行する；即ち、ＡＲコード単位が当該ネットワーク内の全ての被制御局に対してインストールされた場合に通常終了する処理を実行する。上記先導者が殆どのプロトコル動作を制御する。
２つのＩＡＶ変形例があり、１つは完全なＡＲマネージャをサポートするもので、もう一方はダミーモードとされるもので、前記先導者の選択処理のみをサポートする。該ダミーの変形例は他の動作には参加しない。ＡＲマネージャはＵＲＬアクセス機能をサポートすることができ、これを先導者の選択の間に通知する。これを実行することが可能なＦＡＶは、そのようにすべきである。ＩＡＶ装置は、してもよいが、斯様な能力を通知する必要はない。斯様な能力を通知する如何なる装置も先導者として選択されることができる。
原理的に、各時点においてネットワークリセットイベント（又は、インストール／削除を生じさせる他のトリガ）が生じ得る。好ましくは、各ＡＲマネージャは、このイベントが受信された場合、できる限り速やかに先導者の選択を（再）開始する。
先導者の選択
ホスト装置が電源投入された後、又はネットワークリセットイベント（又は他のトリガ）が受信された後、各ＡＲマネージャがこの動作に入る。（或る装置のリセット又は電源投入／遮断は、全ての他のホスト装置にネットワークリセットイベントを生じさせる。）
ＡＲマネージャ
当該システム内の全ての局のＧＵＩＤのような識別子を、例えば、これら局のＳＤＤデータから取り出す。加えて、全ての装置のＳＤＤデータフィールドからの他の関連するデータ（ＧＵＩＤ、Model_Vendor_ID、Model_ID、Device_Type）も取り出すことができる。斯かる識別子を持たない装置は、ＬＡＶ被制御局として分類される。
全てのホスト識別子から、所定の評価基準に基づいて、１つが選択され、この識別子を伴う装置上のＡＲマネージャが初期先導者と宣言される。例えば、最高の又は最低の識別子を選択することができる。好ましくは、最高のビット順が逆転された識別子が計算される。該逆転は、識別子が高桁位置に売り手識別子を有するようなシステムにおいて、或る売り手の装置が殆どのネットワーク構成において普通に初期先導者として動作してしまう、ことを防止する。全ての装置が同一の識別子リストを読み取り、同じＡＲマネージャを初期先導者として宣言することに注意されたい。
この時点において、各ＡＲマネージャは、初期先導者であるか又は初期従者であるかを知ることになる。各装置は、どのような他のＡＲマネージャが存在するかを知ることになる。該初期先導者は、最終先導者を選択し及び通知するために以下のように動作する：
該初期先導者は、全ての識別された初期従者から、その能力を得る（例えば、該能力を通知するメッセージを待つことにより、又はそれを読み取ることにより）。該能力は：
−  当該局がダミーＩＡＶ装置であるか否か、
−  当該装置がＵＲＬアクセス能力を有するか否か（又は、一般的にＡＲをダウンロードすることができるか否か）、
を示す。
種々の能力値が、どの装置がダミーＩＡＶ装置であり、どれがＵＲＬアクセス能力を有するかを明らかにする。最終先導者の選択は以下のようになる：
−  宣言されたＵＲＬアクセス能力を備えるＦＡＶ装置が存在する場合は、それらの１つが選択される。
−  それ以外の場合、もし、宣言されたＵＲＬアクセス能力を備えるＩＡＶ装置が存在すれば、それらの１つが選択される。
−  それ以外の場合、ＦＡＶが存在すれば、それらの１つが選択される。
−  それ以外の場合、ダミーモードでないＩＡＶ装置が存在すれば、それらの１つが選択される。
−  それ以外の場合、ダミーのＩＡＶ装置の何れかが選択される。
全ての初期従者は、最終的選択について、例えばDMLeaderDeclaration（<選択された最終先導者>、<識別されたダミー装置>）メッセージを送ることにより通知される。好ましくは、最終先導者は、同期の目的で、このメッセージが送られるべき最後のものとする。
初期従者は、どのＡＲマネージャが最終先導者であるかを知るために以下のように動作する。各初期従者は、例えばDMCapabilityDeclaration（<自身の能力>）メッセージを初期先導者に送ることにより、該先導者に対して自身の能力を知らせる。好ましくは、同期の目的で、該メッセージはDMLeaderDeclarationメッセージが受信されるまで３秒毎に再送されるようにする。タイムアウト期間は臨界的なものではなく、タイムアウト後に増加することもできる。初期先導者が初期従者に通知すると（例えば、DMLeaderDeclaration（<選択された最終先導者>、<識別されたダミー装置>）メッセージにより）、該初期従者は、どれが最終先導者で、どれがダミーＩＡＶ装置であるかを知ることになる。
かくして、各ＡＲマネージャは、どれが最終先導者で、どの他のものが最終従者であるかを知る。当該ネットワーク上にダミーモードの装置しか存在しない場合は、当該プロトコル動作は、この時点で終了する。それ以外の場合は、自律動作が開始する。
最終先導者がＵＲＬアクセス能力を有さない場合は、該先導者はＵＲＬに関わる如何なるリクエストも全体のネットワーク内では果たすことができないことを即座に決定することができる。ＵＲＬアクセス能力を備える先導者は、全てのＵＲＬにより指定されるＡＲコード単位のプロファイルを取り込む。これらのプロファイルは全てのコントローラ局に送られて、これら局が、当該プロファイルに対応するＡＲコード単位をホストすることができるかを判断するのを可能にする。ＡＲマネージャにより要求された場合は、ＡＲコード単位が取り込まれ、要求者に送られる。
前記<識別されたダミー装置>リストは、最終先導者により、該先導者がダミー装置へメッセージを送るのを防止するために使用される。ダミー装置は、サポートしてもよいが、上記プロトコルの先導者選択部分をサポートする必要はない。ダミーＩＡＶ装置上のＡＲマネージャは如何なる他のメッセージも送るべきでない。
先導者の自律動作
先導者の選択が完了した後、該最終先導者がＡＲのインストールの処理を主導的に行う。最終従者は、最終先導者からのDMInquiry及びDMCommandメッセージを待ち且つ処理する。先導者は、好ましくは、当該ネットワーク内で見つかる各被制御局に対して以下のように動作を制御する：
各最終従者に対してDMInquiryメッセージが送られ、特定されたＡＲコード単位のインストールを要求する（仕様は、当該被制御局のＧＵＩＤに基づくものであろう）。最初の問い合わせ（inquiry）は、不必要なＵＲＬアクセスを防止するために、ＵＲＬにより取り出されるプロファイルを含むべきではない。全ての受信された問い合わせの記録から、先導者は下記のものを知る：
−  もしあるなら、当該被制御局に関する好み。
−  各ホストに関して、当該被制御局が同じ売り手からのものであるか、及び当該被制御局に関して専用のＡＲコード単位をインストールすることができるか。
−  各ホストに関して、当該被制御局に関してＡＲコード単位がインストールされるか。
−  各ホストに関して、インストールされたＡＲコード単位の数。
当該被制御局に関して、インストールされたＡＲコード単位が見つからなかった場合は、先導者は、好ましくは、全ての又は幾つかの従者に対して他のDMInquiryメッセージ及び追加のDMCommandメッセージを送り、ＡＲコード単位のインストールを続ける。このインストールの試みの結果は、先導者がARInstallIndicationイベントを送ることにより通知されるべきである。
最終従者が最終先導者からDMInquiryメッセージ又はDMCommandメッセージを受信すると、該従者は該メッセージを処理し、達成された結果を該最終先導者に返送すべきである。（ＡＲコード単位のインストール又はアンインストールのために要求された方法は当該先導者に送られるべきであることに注意されたい。）
ＡＲコード単位は、そのローカルなＡＲマネージャにアンインストールについて通知するために、常にUninstallIndicationを使用すべきである。
【図１】
0004248028.tif 000003
【図２】
0004248028.tif 000004