(57)【特許請求の範囲】
【請求項１】
デバイスのネットワークにおいてデバイスを制御し、監視するためのオートメーションシステムであって、
各々、下記のものからなる制御すべき複数のデバイス、
信号を受信する無線周波受信器、
信号を送信する無線周波送信器、
前記デバイスを識別するデバイス識別子を表すデータを保存し、他のデータも保存するメモリ、
前記信号の送受信を管理し、前記データを前記メモリから読み取り、前記データを前記メモリに書き込むようになっている処理ユニット、
下記のものからなるコントローラ、
前記信号を送信する無線周波送信器、
前記信号を受信する無線周波受信器、
前記コントローラを識別するコントローラ識別子を表すデータを保存し、前記コントローラによって制御される前記デバイスのデバイス識別子を保持するデバイステーブルを表すデータを保存するメモリ、
前記信号の送受信を管理し、前記データを前記メモリから読み取り、前記データを前記メモリに書き込むようになっている処理ユニット
からなり、
ここで、前記コントローラの処理ユニットが、第１のデバイスに自らのレンジ内で他のデバイスを発見するよう指図する第１の信号を発生させる手段からなり、前記第１の信号が、宛先識別子としての第１のデバイスのデバイス識別子と、少なくとも幾つかの、デバイステーブルからのデバイス識別子からなり、かつ、ここで、前記複数のデバイスのうちどれであれ第１のデバイスの前記処理ユニットが、
宛先識別子として自らの識別子を持つ前記第１の信号を受信した時、該第１の信号の中の各デバイス識別子ごとに第２の信号、詳記するならば、宛先識別子としての前記第１の信号からのデバイス識別子と、ソース識別子としての前記第１のデバイスのデバイス識別子からなる第２の信号を発生させるための手段、
宛先識別子として受信された前記第２の信号のソース識別子と、ソース識別子として受信された前記第２の信号の宛先識別子からなる第３の信号を発生させることによって前記第２の信号の受信に対して確認応答するための手段、および
宛先識別子として自らの識別子を持つ前記第３の信号を受信した時、該第３の信号のソース識別子を表すデータを自らのメモリに保存するための手段
からなるオートメーションシステム。
【請求項２】
前記コントローラの前記メモリがさらに、ルーティングテーブルを表すデータを保存するようになっており、前記複数のデバイスのうちどれであれ前記第１のデバイスの処理ユニットがさらに、宛先識別子としてのコントローラ識別子、受信された前記第３の信号のどれかのソース識別子を表す保存データ、およびソース識別子として前記第１のデバイスのデバイス識別子からなる第４の信号を発生させるための手段からなり、また、前記コントローラの処理ユニットがさらに、制御すべきデバイスから前記第４の信号を受信し、複数のデバイスの各々について、各デバイスが他のどのデバイスに信号を首尾よく送信でき、どのデバイスから信号を首尾よく受信できるかを示すルーティングテーブルを形成するための手段からなる請求項１に記載のオートメーションシステム。
【請求項３】
前記コントローラの前記メモリがさらに、最多使用入口ポイントリストを表すデータを保存するようになっており、前記コントローラの処理ユニットがさらに、前記ネットワーク内の各デバイスに前記コントローラから送信された信号の送信に成功した数と失敗した数を記録することによって最多使用入口ポイントリストを作成し、前記メモリに保存するための手段からなり、前記最多使用入口ポイントリストは、前記コントローラが定常的に通信する相手のデバイスのデバイス識別子を示している請求項１または２に記載のオートメーションシステム。
【請求項４】
前記最多使用入口ポイントリストが、前記ネットワーク内の１つ以上のデバイスに関するデバイス識別子と、前記リストの中の各デバイス識別子に関連したカウンタとからなり、前記カウンタが、関連のデバイスへの送信に成功した信号の数を指し示す請求項３に記載のオートメーションシステム。
【請求項５】
前記最多使用入口ポイントリストを作成するための手段が、前記最多使用入口ポイントリストにあるデバイスへの送信の場合、送信が成功であればそのデバイスに関連のカウンタを増数し、送信が失敗であればそのデバイスに関連のカウンタを減数するようになっており、前記最多使用入口ポイントリストを作成するための手段がさらに、前記最多使用入口ポイントリストにないデバイスへの送信の場合、送信が成功であればそのデバイスを前記リストに入れるようになっている請求項４に記載のオートメーションシステム。
【請求項６】
前記コントローラの前記メモリがさらに、好ましい中継器リストを表すデータを保存するようになっており、また、前記コントローラの処理ユニットがさらに、前記ルーティングテーブルにあるデバイスのどれかから前記ルーティングテーブルにある他のデバイスのどれかに信号を回送できる１つ以上のデバイスを示す好ましい中継器リストを形成し、前記好ましい中継器リストを前記コントローラのメモリに保存すべく前記ルーティングテーブルを分析するためのルーチンからなる請求項２に記載のオートメーションシステム。
【請求項７】
前記第１の信号を発生させる手段が、所定のアクションに応答して前記第１の信号を前記第１のデバイスに向けて発生させるようになっている請求項１から６のいずれか一項に記載のオートメーションシステム。
【請求項８】
前記コントローラの処理ユニットがさらに、デバイスを前記デバイステーブルに追加するようになっており、そこで、前記第１のデバイスを前記デバイステーブルに追加することが所定のアクションである請求項７に記載のオートメーションシステム。
【請求項９】
前記コントローラによって制御される各デバイスが、ひとまとめに制御されるデバイスの１つ以上のグループからなり、各グループが少なくとも１つのデバイスを包含し、ここで、前記コントローラの処理ユニットがさらに、前記デバイスをグループに追加し、前記デバイスをグループから除去する手段からなり、この前記デバイスをグループに追加し、前記デバイスをグループから除去する手段は、前記デバイスがグループから除去される時、第１の処理ユニットのメモリにおいてその前記デバイスに仮想マークを付けるようになっている請求項１から８のいずれか一項に記載のオートメーションシステム。
【請求項１０】
前記第１のデバイスに仮想マークを付けられた場合、前記第１のデバイスをグループに追加することが、所定のアクションである請求項７〜９のいずれか一項に記載のオートメーションシステム。
【請求項１１】
前記第１の信号が、前記第１のデバイスのデバイス識別子を除いて、前記デバイステーブルからのすべてのデバイス識別子からなる請求項１から１０のいずれか一項に記載のオートメーションシステム。
【請求項１２】
複数の前記デバイスの各々がさらに、その前記デバイスに動作するように接続された電気器具に出力を提供し、そこから入力を受け取るための手段を包含し、ここで、前記コントローラの処理ユニットがさらに、前記宛先デバイスのデバイス識別子に対応する少なくとも１つの宛先識別子、該宛先デバイスの動作または該宛先デバイスに接続された電気器具の動作に関連した情報、および１つ以上の信号中継デバイスに対応する中継器識別子からなる第５の信号を発生させるための手段からなり、またここで、複数の前記デバイスの１つ以上はさらに、その前記処理ユニットが、少なくとも１つの宛先識別子が該デバイスのデバイス識別子に対応する場合、前記第５の信号を受信した時に前記情報を処理するための手段、および、１つ以上の前記中継器識別子の１つが該デバイスのデバイス識別子に対応する場合、前記第５の信号を受信した時に前記情報と少なくとも１つの宛先識別子を保持する第６の信号を送信するための手段とからなる信号中継デバイスとして活動するようになっている請求項１〜１１のいずれか一項に記載のオートメーションシステム。
【請求項１３】
すべての前記デバイスが信号中継デバイスとして活動するようになっている請求項１２に記載のオートメーションシステム。
【請求項１４】
前記コントローラの処理ユニットが、所定の宛先識別子を有する前記第１の信号を中継するためおよび、デバイス識別子を前記第１の信号の中の前記中継器識別子として含むためルーティングテーブルにおける前記デバイスのデバイス識別子を識別するための手段からなる請求項２から１２のいずれか一項に記載のオートメーションシステム。
【請求項１５】
デバイスを制御し、監視するためのオートメーションシステムネットワークにおいてネットワークトポロジーを特定する方法であって、該ネットワークが、
制御すべき複数の前記デバイスで、各々、前記デバイスを識別するデバイス識別子を表すデータを保存し、信号を首尾よく送受信できる他のデバイスを示すルーティングラインを表すデータを保存するメモリと、信号の送受信を管理し、前記データを前記メモリから読み取り、前記データを前記メモリに書き込むようになっている処理ユニットからなるデバイス、
コントローラを識別するコントローラ識別子を表すデータを保存し、前記コントローラによって制御されるデバイスのデバイス識別子を保持するデバイステーブルを表すデータを保存するメモリと、信号の送受信を管理し、前記データを前記メモリから読み取り、前記データを前記メモリに書き込むようになっている処理ユニットからなるコントローラ
からなり、
前記方法が、
自らのレンジ内で他のデバイスを発見するよう第１のデバイスに指図するために、前記デバイステーブルからのデバイス識別子からなる第１の信号を前記コントローラから送信するステップ、
前記第１の信号を前記第１のデバイスで受信し、前記デバイステーブル内のデバイスにアドレス指定された第２の信号を前記第１のデバイスから送信するステップ、
自らにアドレス指定された前記第２の信号を受信した各デバイスからの前記第２の信号の受信に対して確認応答する第３の信号を送信するステップ、および
前記第３の信号を前記第１のデバイスで受信し、この受信された前記第３の信号をルーティングラインにおいて送信したデバイスのデバイス識別子を表すデータを前記第１のデバイスのメモリに保存するステップ
からなる方法。
【請求項１６】
前記コントローラのメモリがさらに、複数のデバイスの各デバイスを示すルーティングテーブルを表すデータを保存し、信号を首尾よく送受信できる他のデバイスを示すルーティングテーブルを表すデータを保存するようになっており、前記方法がさらに、
前記ルーティングラインを保持する第４の信号を前記第１のデバイスから前記コントローラに送信するステップ、および
前記第４の信号を前記コントローラで受信し、前記ルーティングラインを前記コントローラのメモリのルーティングテーブルに保存するステップ
からなる請求項１５に記載の方法。
【請求項１７】
前記コントローラのメモリがさらに、前記コントローラが定常的に通信する相手のデバイスのデバイス識別子と、リストにある各デバイス識別子に関連したカウンタとを表示した最多使用入口ポイントリストを表すデータを保存するようになっており、前記カウンタが、関連のデバイスへの送信に成功した信号の数を指し示し、前記方法がさらに、前記ネットワーク内の各デバイスに前記コントローラから送信された信号の送信に成功した数と失敗した数を記録するステップ、および、前記最多使用入口ポイントリストにあるデバイスへの送信の後、送信が成功であればそのデバイスに関連のカウンタを増数し、送信が失敗であればそのデバイスに関連のカウンタを減数するステップからなる請求項１５または１６に記載の方法。
【請求項１８】
前記最多使用入口ポイントリストにないデバイスへの送信の場合、送信が成功であれば該デバイスを前記最多使用入口ポイントリストに入れるステップからなる請求項１７に記載の方法。
【請求項１９】
前記コントローラのメモリがさらに、好ましい中継器リストを表すデータを保存するようになっており、前記方法がさらに、前記ルーティングテーブルにあるデバイスのどれかから前記ルーティングテーブルにある他のデバイスのどれかに信号を回送できる１つ以上のデバイスを識別すべくルーティングテーブルを分析するステップ、および、かかる１つ以上のデバイスのデバイス識別子を表すデータを前記好ましい中継器リストに保存するステップからなる請求項１６に記載の方法。
【請求項２０】
所定のアクションによって前記第１のデバイスに自らのレンジ内で他のデバイスを発見するよう指図するために前記第１の信号を送信するよう前記コントローラをトリガする請求項１５〜１９のいずれか一項に記載の方法。
【請求項２１】
前記コントローラの処理ユニットがさらに、前記デバイスをデバイステーブルに追加するようになっており、ここで、前記第１のデバイスのデバイステーブルへの追加が所定のアクションである請求項２０に記載の方法。
【請求項２２】
前記コントローラによって制御される各デバイスが、１つ以上のデバイスグループからなり、各グループが少なくとも１つのデバイスを包含し、ここで、前記コントローラの処理ユニットがさらに、前記デバイスをグループに追加し、前記デバイスをグループから除去する手段からなり、ここで、前記デバイスがグループから除去される時、そのデバイスに仮想マークを付けられ、ここで、この追加デバイスが仮想マークを付けられていた場合には、前記デバイスをグループに追加することが所定のアクションである請求項２０に記載の方法。
【請求項２３】
オートメーションシステムにおいてデバイスを制御するコントローラであって、前記コントローラが、
信号を送信する無線周波送信器、
信号を受信する無線周波受信器、
前記コントローラを識別するコントローラ識別子を表すデータを保存し、前記コントローラによって制御されるデバイスのデバイス識別子を保持するデバイステーブルを表すデータを保存するメモリ、
前記信号の送受信を管理し、前記データを前記メモリから読み取り、前記データを前記メモリに書き込むための処理ユニット
からなり、
ここで、前記コントローラの処理ユニットが、第１のデバイスに自らのレンジ内で他のデバイスを発見するよう指図する第１の信号を発生させる手段からなり、前記第１の信号が、宛先識別子としての前記第１のデバイスのデバイス識別子、前記デバイステーブルからのデバイス識別子のリスト、およびこのリストの中のどのデバイスに前記第１のデバイスから到達できるかを特定するために前記第１のデバイスに信号を発生させ、この信号を該デバイスに送信するよう指図する命令からなるコントローラ。
【請求項２４】
複数のデバイスからなるオートメーションシステムにおいてコントローラによって制御されるデバイスであって、
信号を受信する無線周波受信器、
信号を送信する無線周波送信器、
デバイスを識別するデバイス識別子を表すデータを保存し、他のデータも保存するメモリ、
前記信号の送受信を管理し、前記データを前記メモリから読み取り、前記データを前記メモリに書き込むための処理ユニット
からなり、
ここで、前記デバイスの処理ユニットが、
宛先識別子としての自らの識別子、デバイス識別子のリスト、およびこのリストのどのデバイスに該デバイスから到達できるかを特定するために前記リストからのデバイスに信号を発生させ、送信するよう指図する命令からなる第１の信号を受信した時、該リストの中のデバイス識別子ごとに第２の信号、詳記するならば、宛先識別子としての前記リストからのデバイス識別子と、ソース識別子としての該デバイスのデバイス識別子からなる第２の信号を発生させるための手段、宛先識別子として受信された前記第２の信号のソース識別子と、ソース識別子として受信された前記第２の信号の宛先識別子とからなる第３の信号を発生させることによって前記第２の信号の受信に対して確認応答するための手段、および宛先識別子として自らの識別子を持つ前記第３の信号を受信した時、該第３の信号のソース識別子を表すデータを自らのメモリに保存するための手段
からなるデバイス。
【請求項２５】
デバイスを制御し、監視するためのオートメーションシステムネットワークにおい信号ルートを指定する方法であって、該ネットワークが、
制御すべき複数のデバイスで、各々、デバイスを識別するデバイス識別子を表すデータを保存するメモリと、信号の送受信を管理する処理ユニットからなるデバイス、
コントローラを識別するコントローラ識別子を表すデータを保存し、複数のデバイスの各々について、各デバイスが他のどのデバイスに信号を首尾よく送信でき、どのデバイスから信号を首尾よく受信できるかを示すルーティングテーブルを表すデータを保存し、また、（前記コントローラから前記デバイスへの送信の成功した数）−（前記コントローラから前記デバイスへの送信の失敗した数）に相当する最高送信成功カウント数を有するデバイスの番号Ｎのデバイス識別子を示す順序付きリストである最多使用入口ポイントリストを表すデータを保存するメモリと、前記信号の送受信を管理し、前記データを前記メモリから読み取り、前記データを前記メモリに書き込むための処理ユニットとからなるコントローラからなり、
前記方法が、
Ａ．指定されたデバイスの識別子を宛先識別子として包含する第１の信号を前記コントローラから指定されたデバイスに少なくとも１回送信するステップ、
Ｂ．前記第１の信号が指定されたデバイスによって受信された時、確認応答信号を指定されたデバイスから前記コントローラに送信するステップ、
Ｃ．前記確認応答信号が前記コントローラによって受信されない時、前記最多使用入口ポイントリストの中から最初のデバイスを第１中継デバイスとして選択するステップ、
Ｄ．指定されたデバイスへのルートを前記ルーティングテーブルにおいて特定するステップ、ここで、該ルートは１つ以上の中継デバイスを使用し、その最初のデバイスが第１中継デバイスである、
Ｅ．指定されたデバイスの識別子を宛先識別子として包含し、ステップＤで特定されたルートからの１つ以上の中継デバイスの識別子を中継器識別子として包含する第２のルート指定信号を前記コントローラから少なくとも１回送信するステップ、
Ｆ．前記第２のルート指定信号が指定されたデバイスによって受信された時、ルート指定確認応答信号を該デバイスから前記コントローラに送信するステップ、および
Ｇ．指定されたデバイスからの前記ルート指定確認応答信号が前記コントローラによって受信されない時、前記最多使用入口ポイントリストの中から２番目、３番目、．．．Ｎ番目のデバイスを前記第１中継デバイスとして使って、ステップＤ、ＥおよびＦをＮ−１回反復するステップ
とからなる方法。
【請求項２６】
前記コントローラのメモリがさらに、前記ルーティングテーブルにあるデバイスのどれかから前記ルーティングテーブルにある他のデバイスのどれかに信号を回送できる１つ以上のデバイスを示す好ましい中継器リストを表すデータを保存し、ここで、前記方法がさらに、
Ｈ．Ｎ番目の第２のルート指定信号について指定されたデバイスからの確認応答信号がコントローラによって受信されない時、前記第１中継デバイスとして前記最多使用入口ポイントリストにない前記の好ましい中継器リストの中から最初のデバイスを選択するステップ、
Ｉ．指定されたデバイスへのルートを前記ルーティングテーブルにおいて特定するステップ、ここで、ルートは１つ以上の中継デバイスを使用し、その最初のデバイスが第１中継デバイスである、
Ｊ．指定されたデバイスの識別子を宛先識別子として包含し、ステップＨで特定されたルートからの１つ以上の中継デバイスの識別子を中継器識別子として包含する第２のルート指定信号を前記コントローラから送信するステップ、
Ｋ．前記第２のルート指定信号が指定されたデバイスによって受信された時、ルート確認応答信号をそのデバイスから前記コントローラに送信するステップ、および
Ｌ．指定されたデバイスからの前記ルート確認応答信号が前記コントローラによって受信されない時、前記好ましい中継器リストの中から該当するデバイスを第１中継デバイスとして使って、ステップＨ、ＩおよびＪを各デバイスについて反復するステップ
からなる請求項２５に記載の方法。
【請求項２７】
複数のデバイスの各々の前記処理ユニットがさらに、デバイスに動作するように接続された電気器具に出力を提供し、そこから入力を受け取るようになっており、ここで、前記方法がさらに、
宛先デバイスまたは宛先コントローラの識別子に対応する少なくとも１つの宛先識別子、デバイスの動作またはデバイスに接続された電気器具の動作に関連した情報、および１つ以上の信号中継デバイスのデバイス識別子に対応する１つ以上の中継器識別子からなる第３の信号を前記コントローラから送信するステップ、
前記第３の信号を前記複数のデバイスの１つで受信するステップ、
少なくとも１つの宛先識別子が受信側デバイスのデバイス識別子に対応する場合、前記情報を該デバイスの前記処理ユニットで処理するステップ、および
１つ以上の中継器識別子の１つが受信側デバイスのデバイス識別子に対応する場合、前記情報と少なくとも１つの宛先識別子を保持する第４の信号とを送信するステップ
とからなる請求項２５〜２６のいずれか一項に記載の方法。
【請求項２８】
前記第３の信号がコントローラによって送信され、該第３の信号に含まれた少なくとも１つの宛先識別子がデバイス識別子であり、ここで、該第３の信号に含まれた情報が、宛先デバイスの前記処理ユニットに、該宛先デバイスに接続された電気器具に出力を提供し、又はそこから入力を受け取るよう指図する命令からなる請求項２７に記載の方法。
【請求項２９】
前記第３の信号がデバイスによって送信され、該第３の信号に含まれた少なくとも１つの宛先識別子がコントローラ識別子であり、ここで、該第３の信号によって保持された情報が、該第３の信号を送信するデバイスの状態または読みに関連する、請求項２７に記載の方法。
【請求項３０】
さらに、前記第３の信号または前記第４の信号をデバイスで受信した時、該第３の信号または該第４の信号を送信したデバイスまたはコントローラの識別子を宛先識別子として有する第１の確認応答信号を発生させ、送信するステップからなる請求項２７に記載の方法。
【請求項３１】
前記第１の確認応答信号が、１つの宛先識別子と１つ以上の中継器識別子からなり、前記方法がさらに、前記第１の確認応答信号をデバイスで受信し、１つ以上の中継器識別子の１つが該デバイスのデバイス識別子に対応する場合、そこで、前記宛先識別子を保持する第２の確認応答信号を送信するステップからなる請求項３０に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のデバイスとの双方向通信を介して広範な多種多様の機能を制御するためのコントローラを有するワイヤレスオートメーションシステムに関するものである。詳記するならば、本発明は、コントローラからデバイスへの信号ルートを指定するフレキシブルな改良ルーティング法に関するもので、これは、ルーティングテーブルなどの様々なテーブルの構築を包含する。このフレキシブルな改良ルーティング法は、ユーザをネットワーク内部のどのデバイスにも高い信頼度で到達できるようにする。
【０００２】
【従来の技術】
建物内部の照明機器やオーディオ機器など様々な機能を持つデバイスを制御するためのホームオートメーションシステムは、広範囲の機能を持つ各種の入出力デバイスが中央のコントローラによって遠隔制御される“スマートホーム”のコンセプトに向かって進化してきた。このようなシステムは、コントローラ、入出力デバイス、専用の信号中継器や増幅器など複数のコンポーネントを備えたネットワークとして組立てられる。
【０００３】
このようなシステムのクオリティは、典型的に多数のパラメータによって定義することができる。すなわち、
・  信頼度。信号が所期の受信器により誤って受信される、または全く受信されない頻度はどの程度か。信頼度は、ＭＴＢＦ（平均故障間隔）やビット誤り率などのような方法で定量化することができ、多くの種類のエラーをシステムにより自動的に検出、修正することができる。クオリティパラメータとしての信頼度は、システムが所望のタスクを実行しないことをユーザが定常的に経験するか否かの尺度であるとするのがベストである。
・  レンジ／カバレージ。システムがどの程度の大きさのネットワークをサポートできるか、または、信号中継器または信号増幅器に何らかの必要最小限の密度があるか。また、ネットワークのレンジ内のどこでも信号を送受信するデバイスをネットワークに接続することができるか、または、何らかの「デッドスポット」が存在するか。
・  汎用性。どんな種類の入出力デバイスと機能がシステムにより制御できるか、また、ネットワークがこれらの用途に使われる所要の信号をサポートできるか。ネットワークトポロジーが過度の負担なしに新たな機能性をもって拡張できるか、システム／ネットワークが多数のデバイスをサポートするか。これらの考慮すべき問題は、しばしばシステムの通信プロトコルに関係しており、その通信プロトコルが特定のアプリケーションを意識して組立てられているか、特定の種類の入出力デバイスに合わせて最適化されているかによって答が違ってくる。
・  フレキシビリティ。システムは、設置、セットアップ、交換および使用が容易であるのが望ましい。従って、新しいデバイスの学習および信号伝送ルートの構築は、少なくともある程度自動化されているのが望ましい。また、プログラミング、機能の使用、ならびにシステムの拡張は、ユーザにとって単純明快なタスクであるのが望ましい。まさしく、個人家庭向けのホームオートメーションシステムでますますそうなる。
【０００４】
ワイヤードネットワークをベースとするオートメーションシステムは、前述の最初の３つのパラメータにおいてハイクオリティを提供するが、４番目のパラメータではごく低いものでしかない。ワイヤードネットワークは、ハイクオリティが要求される高度のキャパシティと高度のセキュリティという点において真っ先に選択されることが多い。しかしながら、ワイヤードネットワークには多くの欠点がある。すなわち、
・  高い媒体依存性。重要なワイヤセクションが１つ断線すると、ネットワーク全体がフリーズ状態になることがある。
・  低いフレキシビリティ。ワイヤードネットワークはフレキシビリティがきわめて低く、既存ネットワークの外側の１つの一ポジション、または現在ワイヤードネットワークに接続されていないネットワーク内部の１つのポジションに１つのデバイスが望まれた場合、新たなワイヤブランチを引き、ネットワークに接続しなければならない。
・  設置。ネットワークの最初の設置、布線、結線、ならびに既存ネットワークの拡張は手間がかかり、しばしば専門技術者の補助を必要とする。
・  価格。ワイヤードネットワークの設置および拡張に伴う費用は莫大である。オートメーションシステムのためのワイヤードネットワークをファミリーサイズの個人家庭において設置しようとすると、布線と結線に要する費用は、住宅建設中の設置の場合で最高１０，０００米ドルにのぼり、既設住宅における設置の場合で最高２５，０００米ドルにのぼる。その中で最も高価であるのが、コントローラ、入出力デバイス、および信号中継器又は信号増幅器である。
【０００５】
ワイヤードネットワークの方が一般的により高いクオリティを提供するが、ワイヤレスネットワークが、安価である上に簡単にアクセスできることから、ますますポピュラーになってきた。ワイヤレスネットワークは、明らかに前述のワイヤードネットワークの欠点を克服する。しかしながら、現に在る低コストのワイヤレスオートメーションシステムはほとんどが、他の前記パラメータにおいて低いクオリティを示す。より大きい帯域幅を持つワイヤレスオートメーションシステムの場合は、典型的にきわめて複雑であり、より高い処理能力を必要とし、そのため、ワイヤードネットワークに近い価格になってしまう。
【０００６】
米国特許第５０９５４４２号は、建物内の電源の取出し口から電気器具に電気を供給するために入出力デバイスを制御する集中遠隔制御装置を備えたワイヤレスオートメーションシステムを開示している。遠隔制御装置と入出力デバイスは無線周波トランシーバからなり、システムは、遠隔制御の領域外の入出力デバイスに信号を中継するための専用の中継器ユニットからなる。
【０００７】
米国特許第５８７５１７９号は、ワイヤードネットワークにおいて中枢アーキテクチャを介して通信を同期化するための方法を開示している。システムは２つのコントローラに頼っているが、その一方がマスタで、他方は、マスタが非動作状態にあるときのみアクティブ化させられる代替マスタである。システム内の専用の中継器デバイスと入出力デバイスは共にデバイスとして任用されているが、前後関係から、中継デバイスと入出力デバイスの間に明確な機能上の差異があることは明白である。
【０００８】
米国特許第４４２７９６８号は、フレキシビリティに富むメッセージルーティング機能を備えたワイヤレスオートメーションシステムを開示している。中央ステーションが入出力デバイスのために信号を生成する。この信号は、ルートコード、アドレスコード、識別コードおよびメッセージコードを含む。アーキテクチャ内の専用中継器がこの信号を受信し、信号を中継するための特定された手順に従う。また、例えばコントローラがルーティングテーブルをダウンロードするために、中継器を終端デバイスとしてアドレス指定してもよい。
【０００９】
米国特許第４２５０４８９号は、ピラミッド構成で組織された専用中継器を有する通信システムについて記述している。中継器は、双方向アドレス指定可能で、中継器にそれがチェーン内の最後の中継器であることを告げる問合せ信号を受信してもよい。中継器は、電気器具に接続されておらず、信号の中継とルーティング以外のいかなる機能も実行しない。
【００１０】
【発明が解決しようとする課題】
先行技術によるワイヤレスオートメーションシステムの不利な点は、これがシステムのネットワークトポロジーを特定するのに放送信号を使用することである。放送信号は、この信号を受信するすべてのデバイスにアドレス指定された信号で、特定の宛先を持たない。ワイヤレスネットワーク内のコンポーネントが放送信号に応答できるようにするため、信号妨害を回避するために２つの手順の一方に従わなければならない。すなわち、（１）ネットワーク内の各コンポーネントに専用のタイムスロットが割当てられ、結果的として大きいネットワークにおいては処理が低速になってしまう。または、（２）ネットワーク内の各コンポーネントに専用の伝送周波数を割当てて、結果として大きい帯域幅を必要とする。典型的には、システムのネットワークトポロジーは、放送信号を使用してネットワーク全体を走査することによって特定される。その代わりとして、ネットワークは、個別に制御できる所定の固定サブネットワークに分割されていてもよい。
【００１１】
本発明は、無線周波（ＲＦ）信号を使用するハイクオリティ、低コストのワイヤレスオートメーションシステムを提供する。価格を下げるため、本発明によるシステムは、望ましくは、制御コマンドのため専用となる帯域幅、すなわち１０Ｋｂｐｓ程度の帯域幅で動作する。このような小さい帯域幅は、帯域幅の大きいシステムのためのチップより低い価格で量産できるチップを使用可能とする。また、本システムのＲＦ送信器とＲＦ受信器は、ライセンスが要求されない“公共”周波数範囲の中で動作し、それにより、コストがさらに下げられる。
【００１２】
しかしながら、公共周波数範囲内での小帯域幅動作を選択すると、システムのクオリティを下げかねない多数の問題が引き起こされる。すなわち、
・  小さい帯域幅は信号の中に含ませることができるデータ量のキャパシティが小さい。
・  多数の装置を公共周波数範囲内で動作すると、結果的に大量の無線周波干渉が生じることになる。
・  ＲＦ送信器の許容伝送力が制限されることにより、結果的に信号範囲が制限されることになる。
【００１３】
これらの問題を克服するため、本発明によるシステムは、高い信頼度、広いレンジ／カバレージ、高度の汎用性、および高度のフレキシビリティが確保されるべく最適化されている。
【００１４】
高い信頼度、広いレンジ／カバレージ、高度の汎用性、および高度のフレキシビリティを確保するため、本発明によるシステムは、先行技術によるシステムと比べて、はるかに複雑な、フレキシビリティに富むルーティングスキームを可能にするワイヤレスネットワークのための新しい独創的なルーティングアーキテクチャを有するシステムを提供する。
【００１５】
本発明の目的は、信頼度、レンジ／カバレージ、汎用性、およびフレキシビリティの点でワイヤレスネットワークのクオリティを大いに向上させるホームオートメーションシステムを提供することである。
【００１６】
本発明のもうひとつの目的は、コントローラが場所を変えてよいことを考慮した上で、最も速く、最も信頼できるルートを使って、コントローラからの信号をネットワーク内のどのデバイスにも到達できるようにする改良されたルーティングスキームをコントローラとデバイスのネットワークに備えさせたワイヤレス  ホームオートメーション  システムを提供することである。
【００１７】
本発明のなおもうひとつの目的は、所与のデバイスに到達し損なった場合、最も速く、最も信頼できる代替ルートを使って当該のデバイスに到達できるようにするために代替ルートの優先順位をつけたリストを提供する改良されたルーティングスキームをコントローラとデバイスのネットワークに備えさせるワイヤレス
ホームオートメーション  システムを提供することである。
【００１８】
本発明のさらなる目的は、無線周波信号を使用し、それにより、コントローラとデバイスの物理的配置にフレキシビリティを持たせ、その上、誤動作の場合にフォールトトレランスまたはユーザフィードバックをもたらすワイヤレス  ホームオートメーション  システムを提供することである。
【００１９】
本発明のなおさらなる目的は、ネットワークの物理的な拡張または再配置の場合に、ユーザの直接介入の一切ないままシステムが自らのルーティング情報を自動的に更新する形で、ダイナミックに変わるトポロジーに対して高度のフレキシビリティを示すワイヤレス  ホームオートメーション  システムを提供することである。
【００２０】
【課題を解決するための手段】
第１の態様では、本発明は、下記のものからなるデバイスのネットワークにおいてデバイスを制御し、監視するためのオートメーションシステムを提供する。
【００２１】
各々、下記のものからなる制御すべき複数のデバイス：
信号を受信する無線周波受信器、
信号を送信する無線周波送信器、
デバイスを識別するデバイス識別子を表すデータを保存し、他のデータも保存するメモリ、
信号の送受信を管理し、データをメモリから読み取り、データをメモリに書き込むよようになっている処理ユニット、
下記のものからなるコントローラ：
信号を送信する無線周波送信器、
信号を受信する無線周波受信器、
コントローラを識別するコントローラ識別子を表すデータを保存し、コントローラによって制御されるデバイスのデバイス識別子を保持するデバイステーブルを表すデータを保存するメモリ、
信号の送受信を管理し、データをメモリから読み取り、データをメモリに書き込むようになっている処理ユニット。
【００２２】
ここで、コントローラの処理ユニットは、第１のデバイスに自らのレンジ内で他のデバイスを発見するよう指図する第１の信号を発生させる手段からなり、前記第１の信号が、宛先識別子としての第１のデバイス識別子と、少なくとも幾つかの、デバイステーブルからのデバイス識別子からなる。
【００２３】
ここで、複数のデバイスのうちどれであれ第１のデバイスの処理ユニットは、下記手段からなる。
・  宛先識別子として自らの識別子を持つ第１の信号を受信した時、該第１の信号の中のデバイス識別子ごとに第２の信号、詳記するならば、宛先識別子としての第１の信号からのデバイス識別子と、ソース識別子としての第１のデバイスのデバイス識別子からなる第２の信号を発生させるための手段、
・  宛先識別子として受信された第２の信号のソース識別子と、ソース識別子として受信された第２の信号の宛先識別子からなる第３の信号を発生させることによって第２の信号の受信に対して確認応答するための手段、および
・  宛先識別子として自らの識別子を持つ第３の信号を受信した時、該第３の信号のソース識別子を表すデータを自らのメモリに保存するための手段。
【００２４】
第２の態様では、本発明は、下記のものからなるデバイスを制御し、監視するためのオートメーションシステムネットワークにおいてネットワークトポロジーを特定する方法を提供する。
・  制御すべき複数のデバイスで、各々、デバイスを識別するデバイス識別子を表すデータを保存し、信号を首尾よく送受信できる他のデバイスを表示するルーティングラインを表すデータを保存するメモリと、信号の送受信を管理し、データをメモリから読み取り、データをメモリに書き込むようになっている処理ユニットからなるデバイス、
・  コントローラを識別するコントローラ識別子を表すデータを保存し、コントローラによって制御されるデバイスのデバイス識別子を保持するデバイステーブルを表すデータを保存するメモリと、信号の送受信を管理し、データをメモリから読み取り、データをメモリに書き込むようになっている処理ユニットからなるコントローラ。
前記方法は下記のステップからなる。
・  第１のデバイスに自らのレンジ内で他のデバイスを発見するよう指図するために、デバイステーブルからのデバイス識別子からなる第１の信号をコントローラから送信するステップ、
・  第１の信号を第１のデバイスで受信し、デバイステーブル内のデバイスにアドレス指定された第２の信号を第１のデバイスから送信するステップ、
・  自らにアドレス指定された第２の信号を受信した各デバイスからの第２の信号の受信に対して確認応答する第３の信号を送信するステップ、および
・  第３の信号を第１のデバイスで受信し、この受信した第３の信号を送信したデバイスのデバイス識別子を表すデータを第１のデバイスのメモリのルーティングラインに保存するステップ。
【００２５】
望ましくは、コントローラのメモリはさらに、複数のデバイスの各デバイスを示したルーティングテーブルを表すデータを保存し、これらの各デバイスは信号を首尾よく送受信できる他のデバイスであり、この場合、その方法は下記のステップからなる。
・  ルーティングラインを保持する第４の信号を第１のデバイスからコントローラに送信するステップ、
・  第４の信号をコントローラで受信し、ルーティングラインをコントローラのメモリのルーティングテーブルに保存するステップ。
【００２６】
第３の態様では、本発明は、オートメーションシステムにおけるデバイスを制御するための、下記のものからなるコントローラを提供する。
【００２７】
信号を送信する無線周波送信器、
信号を受信する無線周波受信器、
コントローラを識別するコントローラ識別子を表すデータを保存し、コントローラによって制御されるデバイスのデバイス識別子を保持するデバイステーブルを表すデータを保存するメモリ、
信号の送受信を管理し、データをメモリから読み取り、データをメモリに書き込むのに適合した処理ユニット。
【００２８】
ここで、コントローラの処理ユニットは、第１のデバイスに自らのレンジ内で他のデバイスを発見するよう指図する第１の信号を発生させる手段からなり、前記第１の信号が、宛先識別子としての第１のデバイス識別子、デバイステーブルからのデバイス識別子のリスト、およびこのリストの中のどのデバイスに第１のデバイスから到達できるかを特定するために信号を発生させ、この信号を該デバイスに送信するよう第１のデバイスに指図する命令からなる。
【００２９】
第４の態様では、本発明は、複数のデバイスからなるオートメーションシステムにおいてコントローラによって制御されるデバイスを提供し、該デバイスは下記のものからなる。
【００３０】
信号を受信する無線周波受信器、
信号を送信する無線周波送信器、
デバイスを識別するデバイス識別子を表すデータを保存し、他のデータも保存するメモリ、
信号の送受信を管理し、データをメモリから読み取り、データをメモリに書き込むのに適合した処理ユニット。
【００３１】
ここで、デバイスの処理ユニットは下記手段からなる。
・  宛先識別子としての自らの識別子、デバイス識別子のリスト、およびこのリストの中のどのデバイスに該デバイスから到達できるかを特定するために該デバイスに信号を発生させ、この信号を該デバイスに送信するよう指図する命令からなる第１の信号を受信した時、リストの中のデバイス識別子ごとに第２の信号、詳記するならば、宛先識別子としてのリストからのデバイス識別子と、ソース識別子として該デバイスのデバイス識別子からなる第２の信号を発生させるための手段、
・  宛先識別子としての受信された第２の信号のソース識別子と、ソース識別子としての受信された第２の信号の宛先識別子からなる第３の信号を発生させることによって第２の信号の受信に対して確認応答するための手段、および
・  宛先識別として自らの識別子を持つ第３の信号を受信した時、該第３の信号のソース識別子を表すデータを自らのメモリに保存するための手段。
【００３２】
明細書本文および請求項において、用語「処理ユニット」は、送受信されたデータの所要の管理を行うことのできるＣＰＵのような何らかのプロセッサまたはマイクロプロセッサ、またはマイクロプロセッサにプログラムできるソフトウエアならびに、これらを組み合わせたものからなるユニットを指し、この処理ユニットはさらに、リード・オンリ・メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、フラッシュＲＡＭなど、プロセッサによって実行されるプログラムおよびルーチンを保存するためのメモリからなる。ユニットは、望ましくはさらに、データを読み取り、メモリに保存するインタフェース手段、信号を発生し、これを送信器に送信するインタフェース手段、および、信号を受信器から受信するインタフェース手段からなる。
【００３３】
用語「メモリ」は、ディジタル情報を保存するようになっている１つまたは幾つかのメモリエリアを指す。望ましくは、メモリの中のデータを読み取り、書き込み、削除することが可能である。メモリは、例えばアプリケーションプログラム保存および／またはデータ保存のために処理ユニットによって利用される幾つかのメモリからなる大きいメモリ構造に割当てられていることもある。メモリの幾つかの部分が不揮発性であってもよい。
【００３４】
用語「信号」は、電磁波（ＲＦ）の一連のパルスなどの情報を搬送するものを指す。望ましくは、信号は、搬送波波形の変調によって形成され、復調によって受信時に復元される。変調は、ディジタル情報を搬送するようにディジタル変調であってよい。本発明による信号の中の情報は、望ましくは、ディジタル通信フレームからなり、このフレームを識別する多数のビットと、送信された情報またはデータを担う多数のビットからなる。
【００３５】
識別子は、コントローラまたはデバイスまたはその一部分を識別するデータストリングである。また、識別子は、テーブルまたは専用メモリエリアなどのデータ構造を識別するものであってよい。識別子は、名前、コードまたは番号であってよい。
【００３６】
コントローラ識別子またはデバイス識別子は、ネットワーク内部の個々のコントローラまたはデバイスを単一、特定のコントローラまたはデバイスとして識別するデータストリングである。コントローラ識別子またはデバイス識別子は、望ましくは、ネットワーク内部の通信において特定のコントローラまたはデバイスをアドレス指定するのに使用される。望ましくは、コントローラ識別子またはデバイス識別子は、通信プロトコル内部で特定のコントローラまたはデバイスを指定するのに使用される。ここで、通信プロトコルは、コントローラとデバイスの間でデータを伝送できるようにする１組の合意された動作手順である。
【００３７】
本発明によるオートメーションシステムでは、ネットワークが、システム内部のあらゆる通信において使用される固有のシステム識別子によって特徴づけられる。固有の識別子とは、他のいかなるシステム、コントローラまたはデバイスを識別するのに使用されるどのデータストリングとも同一でないデータストリングのことである。固有の識別子は、望ましくは、製作中に設定され、不揮発性メモリに保存される。従って、コントローラ識別子およびデバイス識別子は、第１の部分と第２の部分からなり、第１の部分が固有のシステム識別子で、第２の部分がシステム内部の各々特定のコントローラまたはデバイスの識別子という形であってよい。この場合、コントローラまたはデバイスを識別する２部分からなる識別子は、システム識別子が固有であれば固有である。望ましくは、コントローラは、製作中に設定された固有の識別子を持ち、システムにおいて実現したコントローラの処理ユニットが、その固有の識別子を固有のシステム識別子にするようになっている。
【００３８】
望ましくは、システム内部のどの信号も下記のものからなる。
・  信号が宛先として指定したコントローラまたはデバイスの識別子である１つ以上の宛先識別子、かかるコントローラまたはデバイスを宛先コントローラ／デバイスと名付ける、および
・  信号を送信するコントローラまたはデバイスの識別子であるソース識別子、かかるコントローラまたはデバイスをソースコントローラ／デバイスと名付ける。
【００３９】
オプションとし、信号はさらに、下記のものからなってもよい。
・  宛先デバイスの動作に関連した命令、または宛先デバイスに接続された電気器具の動作に関連した情報、
・  信号を中継することになっているデバイスの識別子である１つ以上の中継器識別子、かかるデバイスを信号中継デバイス、中継デバイスまたは単純に中継器と名付ける。
【００４０】
本発明の最初の４つの態様における第１および第２のタイプの信号は、望ましくは、上に述べた通りの信号であり、ここで、望ましくは、第１のタイプの信号が宛先デバイスへの命令からなるのに対し、第２のタイプの信号はそれからならない。望ましくは、第１の信号は、第１のデバイスのデバイス識別子を除いて、デバイステーブルからのすべてのデバイス識別子からなる。あるいは、第１の信号は、デバイステーブルからのすべてのデバイス識別子からなるが、第１のデバイスが自分に第２の信号を送らないようになっている。
【００４１】
第３の信号によって応答したデバイスの識別子を表すデータは、第１のデバイスがどのデバイスに信号を送信でき、どのデバイスから信号を受信できるかシステムが見分けるのを可能にする。よって、このデータは、第１のデバイスのレンジ内にあるネットワーク部分のトポロジーを表す。このトポロジーを発見するためにシステムが実行する機能を「発見」と呼ぶ。複数のデバイスのすべてが、自ら発見を実行するのを可能にする手段からなるので、ネットワーク全体のトポロジーは、デバイスに発見を代わるがわる実行させることによって特定できることになる。
【００４２】
本発明の重要な特徴は、第１のデバイスが発見動作において他のどのデバイスを探すのが良いかを指図するようになっていることである。これで、第１のデバイスは、放送信号を使わずに、専用の信号に基づいて直接、各デバイスを首尾よくアドレス指定することができる。タイムスロットまたは周波数ホッピングの不利な点は、これによって回避される。
【００４３】
望ましくは、コントローラは、複数のデバイスの各々について、各デバイスが他のデバイスに信号を首尾よく送信でき、他のデバイスから信号を首尾よく受信できることを表示したルーティングテーブルを構築することにより、デバイスが収集した発見情報を使ってシステムのネットワークトポロジーを学習することができる。従って、コントローラのメモリはさらに、ルーティングテーブルを表すデータを保存するようになっていてよく、複数のデバイスのどれであれ第１のデバイスの処理ユニットは、宛先識別子としてのコントローラの識別子、受信した第３の信号のソース識別子を表す保存データおよび、ソース識別子としての第１のデバイスのデバイス識別子からなる第４の信号を発生させるための手段からなってよく、コントローラの処理ユニットはさらに、第４の信号を制御すべきデバイスから受信し、ルーティングテーブルを形成するための手段からなってもよい。
【００４４】
本発明のもうひとつの重要な特徴は、各デバイスがその発見の機能を個別に実行することであり、膨大な量の信号を必要とするかもしれない最初からネットワーク全体を走査する代わりに、関連のネットワーク部分、すなわち拡張または再配置されたネットワーク部分のトポロジーだけを発見する。この特徴により、本発明によるシステムは、ルーティングテーブル全体を更新する代わりに、ルーティングテーブル内の信号ラインを更新することが可能となる。
【００４５】
コントローラは、ルーティングテーブルを使って、その送信器のレンジの外側にある宛先デバイスに送信すべき信号のルートを特定する。ルーティングテーブルを使うことで、コントローラは、宛先デバイスに到達できるデバイスを特定し、また、どのデバイスがかかるデバイスに到達できるか等々を特定することができる。こうしてルーティングテーブルを使って、コントローラは、どのデバイスを通って宛先デバイスに到達できるか、場合によっては、その中間に１つ以上のさらなる中継デバイスを使って到達できるか、そのデバイスを自らのレンジ内で見つけられるように逆方向計算してもよい。本明細書において、用語「ルート」は、最初に信号を送信した送信器のレンジを越えてデバイスまたはコントローラに到達できるようにするために、信号を受信し、これを再び送信する一連の信号中継デバイスを指す。また、信号中継デバイスによって１つのルートで送受信される信号がルート指定信号で、このルート指定信号は、そのルートにおいて連続したデバイスにアドレス指定された結果としてルートを変えることがあり、従って、内容次第では、同様の内容を有する一連の信号と見なしてよい。
【００４６】
しかしながら、典型的には、与えられた宛先の１つのデバイスに対して多数の異なるルートが存在し得るので、コントローラは、自らのレンジ内のどのデバイスをルート入口ポイントとして使用してよいか、そのデバイスを見つけ出すのが良い。入口ポイントがルート中の最初のデバイスになる。従って、コントローラは、先ずどのデバイスが自らのレンジ内にあるか見つけ出し、それからルーティングテーブルを使って、自らのレンジ内のデバイスを入口ポイントとして使用する宛先デバイスへのルートを特定する。コントローラは典型的に携帯型であるので、ネットワーク内で位置を変えることがあり、変えた場合、どのデバイスが自らのレンジ内にあるか見つけ出す作業が複雑になる。
【００４７】
この問題の解決のために先行技術で採用された可能な方法のひとつが、コントローラに放送信号を規則的な時間間隔で送信させ、自らのレンジ内でいずれかの信号中継器と対話させてコントローラにそれ自体を識別させ、それで、コントローラがどの信号中継器を信号のルーティングに使用するかを随時知るようにするという方法である。しかしながら、これは、コントローラが放送信号を常時送信していることになるので、大量の電力を必要とする上、大量の信号ノイズを生じさせることになる。
【００４８】
本発明の第１の態様によれば、コントローラは、宛先デバイスへのルートとその入口ポイントを見つけようとする時、学習に基づいた推定をしてもよい。これで、コントローラのメモリはさらに、最多使用入口ポイントリストを表すデータを保存するようになっていてよく、コントローラの処理ユニットはさらに、ネットワーク内の各デバイスにコントローラから送信された信号の送信に成功した数と失敗した数を記録することによって、最多使用入口ポイントリストを作成し、メモリに保存するための手段からなってもよい。前述の最多使用入口ポイントリストは、コントローラが定常的に通信する相手のデバイスのデバイス識別子を示している。
【００４９】
コントローラが定常的に通信する相手のデバイスを特定することにより、コントローラは、かかるデバイスをルート入口ポイントとして使用でき、その入口ポイントが自らのレンジ内にあると十分推定することができる。
【００５０】
最多使用入口ポイントリストは、望ましくは、ネットワーク内の１つ以上のデバイスに関するデバイス識別子と、リストの中の各デバイス識別子に関連したカウンタ、すなわち、関連のデバイスへの送信に成功した信号の数を示すカウンタからなる。最多使用入口ポイントリストを維持するため、望ましくは、最多使用入口ポイントリストを形成する手段は、最多使用入口ポイントリストにあるデバイスへの送信の場合、送信が成功であればそのデバイスに関連のカウンタを増数し、送信が失敗であればそのデバイスに関連のカウンタを減数するようになっている。
【００５１】
望ましくは、最多使用入口ポイントリストを形成する手段はさらに、最多使用入口ポイントリストにないデバイスへの送信の場合、送信が成功であればそのデバイスをリストに入れるようになっている。
【００５２】
同様に、本発明の第２の態様によれば、コントローラのメモリはさらに、最多使用入口ポイントリストを表すデータを保存するようになっていてよく、その方法はさらに、ネットワーク内の各デバイスにコントローラから送信された信号の送信に成功した数と失敗した数を記録するステップ、および、最多使用入口ポイントリストにあるデバイスへの送信の後、送信が成功であればそのデバイスに関連のカウンタを増数し、送信が失敗であればそのデバイスに関連のカウンタを減数するステップからなってもよい。また、第２の態様による方法は、望ましくは、最多使用入口ポイントリストにないデバイスへの送信の場合、送信が成功であればそのデバイスをリストに入れるステップからなる。
【００５３】
あるデバイスは、その幾つかが他のデバイスよりネットワーク内の中心寄りに位置しており、この中心寄りに位置するデバイスが、典型的に他の多くのデバイスに到達できるので、特に信号中継デバイスとして適している。信号をネットワーク周辺に位置するデバイスを経由するルートで送信しようとするのは大抵、時間の無駄になるので、所与の宛先デバイスへの効率的ルートを特定する時、中心寄りに位置するデバイスが選択されるようにコントローラをプログラムしてもよい。
【００５４】
従って、本発明の第１の態様によれば、コントローラは、ルーティングテーブルにあるデバイスのどれかからルーティングテーブルにある他のデバイスのどれかに信号を回送できる１つ以上のデバイスを表示した好ましい中継器リストを構築してよい。よって、コントローラのメモリはさらに、好ましい中継器リストを表すデータを保存するようになっていてよく、コントローラの処理ユニットはさらに、好ましい中継器リストを形成し、前記好ましい中継器リストをコントローラのメモリに保存すべくルーティングテーブルを分析するためのルーチンからなってもよい。
【００５５】
同様に、本発明の第２の態様によれば、コントローラのメモリはさらに、好ましい中継器リストを表すデータを保存するようになっていてよく、この場合、その方法はさらに、ルーティングテーブルにあるデバイスのどれかからルーティングテーブルにある他のデバイスのどれかに信号を回送できる１つ以上のデバイスを識別するためルーティングテーブルを分析するステップ、および、かかる１つ以上のデバイスのデバイス識別子を表すデータを好ましい中継器リストに保存するステップからなってもよい。
【００５６】
先に述べた通り、ネットワーク全体のトポロジーは、デバイスに発見を代わるがわる実行させることによって特定することができる。しかしながら、発見が実行されるのは、望ましくは、送信される信号の数を最小限に抑えるために必要がある時だけ、典型的にはネットワークが拡張または変更される時だけである。よって、第１の信号を発生させる手段は、所定のアクションに応答して第１の信号を第１のデバイスに向けて発生させるようになっているのが望ましい。
【００５７】
新しいデバイスがシステムを拡張する時、コントローラの処理ユニットは、その新しいデバイスのデバイス識別子をデバイステーブルに追加することができる。新しいデバイスが、ルーティング機能に入れられるようにルーティングテーブルに追加されることになる。従って、第１のデバイスをデバイステーブルに追加することは、望ましくは、追加されたデバイスに向けて第１の信号の発生をトリガーする所定のアクションである。
【００５８】
ネットワーク内のデバイスの位置が変えられると、システムは、望ましくは、そのデバイスの発見を実施すべきである。本発明の一実施例によれば、コントローラによって制御される各デバイスが、ひとまとめに制御されるデバイスの１つ以上のグループに含まれ、各グループは少なくとも１つのデバイスからなる。この実施例では、コントローラの処理ユニットは、デバイスをグループに追加し、デバイスをグループから除去する手段からなる。この手段が使用されるのは、典型的には、デバイスをネットワーク内のある位置から別の位置に移動させる時である。そのため、このデバイスをグループに追加し、デバイスをグループから除去する手段は、望ましくはさらに、デバイスがグループから除去される時、そのデバイスに第１の処理ユニットのメモリにおいて仮想マークを付けるようになっている。デバイスは、これによって「疑念あり」とされ、できるだけ速やかに発見を実行するよう指図される。これで、仮想マークを付けられたデバイスをグループに追加することが、追加されたデバイスに向けて第１の信号の発生をトリガーする所定のアクションということになる。デバイスが直ぐに新しいグループに追加されない場合は、次回、コントローラが仮想マークを付けられたデバイスと直接接触する時に発見を実行するよう指図されることになる。
【００５９】
同様に、本発明の第２の態様によれば、望ましくは、デバイスがグループから除去される時に仮想マークを付けられ、追加されたデバイスに仮想マークが付けられていれば、そのデバイスのグループへの追加は所定のアクションである。
【００６０】
望ましくは、信号を受信した時、すべてのデバイスが確認応答信号を送信するようになっており、その時、宛先識別子とソース識別子が相互に交換される（無論、このような確認応答信号の受信が別の確認応答信号によって確認応答されないのは、通常、当然であろう）。このような確認応答信号は、望ましくは、受信された信号と同一の信号からなる。しかし、この信号が確認応答信号であり、それゆえ、宛先識別子とソース識別子が他の方法で読み取られるものとする所定の設定を除く。従って、本発明による第３のタイプの信号は、このような確認応答信号であってもよい。
【００６１】
本発明によるシステムは、望ましくは、プロトコルからなる。プロトコルは、処理ユニットが所望の機能を実行できるようにする動作手順の何らかのセットである。従って、第１の信号を発生させる手段と、この手段に包含される各種手段は、典型的には、プロトコルの部分を形成するプログラムまたはルーチンである。望ましくは、信号の形で送信すべきフレームを発生させるのが、送信コントローラ／デバイスのプロトコルである。望ましくは、このようなフレームが、システム、ソースコントローラ／デバイスおよび識別子による宛先コントローラ／デバイスを指し示し、また、識別子による１つ以上の信号中継デバイスも指し示す。また、プロトコルは、フレームによって伝送されるコマンド、情報またはデータを含む。同じく、望ましくは、受信されたフレームを読み取り、受信部分がそれを理解し、信号に応答できるようにするのが、受信部分のプロトコルである。
【００６２】
各フレームにおいて伝送されるデータの量を減じるため、システムプロトコルは、望ましくは、フレームによってアドレス指定されたデバイスの識別子をマスクする動作手順からなる。マスキング手順は、１つのデバイスに対応して各エントリに１つのレジスタを構築する動作であり、そこで、各エントリの値は、対応するデバイスがフレーム内のコマンドに応答すべきか否かを表す。フレーム内のコマンドに応答するデバイスについて識別子を全部含む代わりに、それはマスキングレジスタ、すなわち「ビットマスク」を含み、これにより、デバイスの略記指名が行われることになる。従って、システムプロトコルは、望ましくは、各ビットが１つのデバイス識別子に対応するようにビットマスクを作り上げたビットストリングを発生させるためにテーブル内にデバイス識別子をマスクする手順からなり、その対応するデバイス識別子に１つ以上のコマンドが当てはまるか否かを各ビットの値が特定する。同様に、システムプロトコルは、マスキング手順をフレーム内のコマンドまたはデータに当てはめる動作手順からなる。
【００６３】
従って、信号がネットワーク内のコントローラまたはデバイスの識別子からなると言う時、この信号は、完全な桁数の識別子からなるのでなく、システムの通信プロトコルにおいて規定された所定のビットマスクを使用した識別子に対応するビットのような識別子を表すストリングまたはコードだけからなってもよい。同様に、識別子がメモリにセーブされる時、完全な桁数の識別子がセーブされるのでなく、メモリが、所定のビットマスクを使用した識別子に対応するビットのような識別子を表すストリングまたはコードだけを保持してもよい。
【００６４】
第１、第２および第３の態様によれば、システムのコントローラは、望ましくは、ディスプレイ、該ディスプレイの上に２つ以上のエントリを有する複数のメニューを表示するための手段、前記メニューの中をナビゲートし、前記エントリを選択するための２つ以上のアクチュエータ、および、適切なメニューにおいて適切なエントリを選択することによってアクティブ化できるコントローラの処理ユニットに保存されたルーチンまたはプログラムからなる。望ましくは、前記ルーチンまたはプログラムは、ユーザがアクチュエータを使ってエントリを選択することによってシステムを制御できるように１つ以上のデバイスに対しアドレス指定された信号を発生させるための手段に接続されている。
【００６５】
信号のルート指定に使用される信号中継デバイスは、システム内で信号を中継する機能のみを実行する専用の中継器であってもよい。但し、本発明の第１および第２の態様による１つ以上のデバイスが、入出力デバイスならびに中継器として活動できるように二重の機能を有してよい。送信器の信号レンジは、デバイス／コントローラが該デバイス／コントローラに向けてアドレス指定された信号を受信し、処理できる物理的レンジである。デバイスが、そのデバイスの識別子を中継器識別子として名指しする情報搬送信号を受信すると、該デバイスはその信号を中継する、すなわち、受信された信号によって搬送された情報の少なくとも一部を担う信号を送信する。これにより、中継デバイスの信号レンジの内側にあるが、当初の送信器の信号レンジの外側にあるデバイスまたはコントローラが、中継デバイスによって送信された信号を受信できる。望ましくは、システム内の全部のデバイスが中継デバイスとして動作できる。この機能は、出願人による国際特許出願ＰＣＴ／ＤＫ０１／００２５３（公開番号は現在未入手）の主題である。
【００６６】
本発明によれば、複数のデバイスの各々が、さらに、そのデバイスに動作できるように接続された電気器具に出力を提供し、そこから入力を受け取るための手段からなる入出力デバイスであってよい。また、コントローラの処理ユニットはさらに、宛先デバイスのデバイス識別子に対応する少なくとも１つの宛先識別子、該宛先デバイスの動作または該宛先デバイスに接続された電気器具に関連した情報、および１つ以上の信号中継デバイスに対応する中継器識別子からなる第５の信号を発生させるための手段からなってもよい。この場合、デバイスはさらに、その処理ユニットが、少なくとも１つの宛先識別子が該デバイスのデバイス識別子に対応する場合、第５の信号を受信した時に前記情報を処理するための手段、および、１つ以上の中継器識別子の１つが該デバイスのデバイス識別子に対応する場合、第５の信号を受信した時に前記情報と少なくとも１つの宛先識別子を保持する第６の信号を送信するための手段からなる信号中継デバイスとして活動するのに適合した二重の機能を有してもよい。
【００６７】
従って、デバイスは、入出力（Ｉ／Ｏ）デバイスとしても信号中継デバイスとしても機能する形で二重機能を有してよい。望ましくは、すべてのデバイスが入出力デバイスとしても信号中継デバイスとしても活動するようになっている。
【００６８】
本発明によるデバイスのこの二重機能は、多数の重要な利点を有する。すなわち、
・  専用中継器ステーションの必要がなく、その結果、下記の利点が得られる。システムは、包含するデバイスの数が先行技術によるシステムより少なく、その分、システムは安価になり、ユーザが専用中継器ステーションの均一分布をセットアップせずに済むので、システムは設置がより容易になる。
・  システムは、デバイスと同じ数の潜在的中継器を備えたネットワークを有し、その結果、下記の利点が得られる。所与のどのデバイスにとっても、デバイスへの可能なルートの数が先行技術のネットワークに相対して飛躍的に増大する。ＲＦネットワークでは、ある一定の方向からの信号を多数の環境上の特性がブロックする可能性があるので、デバイスへの可能なルートの数はきわめて重要なパラメータである。ＲＦシステムにおける送信エラーの最も多く出会う原因のひとつは、金属物体である。これがデバイスへのパスを塞ぐか、信号を反射するデバイスの付近に位置するかどちらかであると、元の反射されなかった信号の進路を妨害することになるのである。この故に、信号送信エラーが生じた時、本発明によるシステムは宛先デバイスまでの多くの代替ルートから選択可能であり、そのルートは他の方向／位置から送信するだけゆえに成功する確率が高い。従って、二重機能は、ＲＦネットワークの信頼度、レンジ／カバレージを大いに向上させる。また、ネットワークトポロジーが過度の負担なしに変えられるので、それは、ネットワークの汎用性、拡張性およびフレキシビリティも大いに向上させる。
【００６９】
望ましくは、デバイスは、システム内のすべてのデバイスに到達できるネットワークを確立する。しかしながら、あるデバイスまたはあるデバイスグループが残りのネットワーク部分から離れた位置にある場合は、信号をこの遠隔のデバイス／グループへ中継するだけの目的で１つ以上のデバイスを残りのシステムとこの遠隔のデバイス／グループの間に入れることが必要であるかもしれない。挿入されたデバイスは、無論、電気器具に接続されて、後に通常の入出力デバイスとして機能してもよい。すぐれたカバレージを持つネットワークを確立するためには、デバイスがほぼ均一に分布し、デバイス密度が最小のネットワークを構築するのが望ましいかもしれない。そうすれば、確実にすべてのデバイスに到達できることになる。そのような最小のデバイス密度は、送信器の平均レンジに合わせて調整するのが良いが、環境に大きく左右される。
【００７０】
入出力デバイスへの入力またはそこからの出力は、デバイスに動作するように接続された電気器具に対する信号であり、電気器具の動作状態に関連した１つ以上の命令からなる。入出力デバイスに接続された電気器具は、この電気器具とデバイスが同じユニットの部分々々を形成すべくデバイスによりまとめられてよい。これにより、ユーザは、第１のデバイスを制御することによって電気器具の動作を制御することができる。従って、ユーザは電気器具を遠隔操作することができる。
【００７１】
本発明の最初の４つの態様によれば、システムは、所与の宛先デバイスへの最適ルートを特定するのに使用できる情報を保持する様々なテーブルおよびリストを構築してよい。第５の態様では、本発明は、オートメーションシステムネットワークにおいてかかる情報を使って信号ルーティングを行う方法を提供する。
【００７２】
よって、本発明の第５の態様は、下記のものからなる、デバイスを制御し、監視するためのオートメーションシステムネットワークにおいて信号ルーティングを行う方法を提供する。
・  制御すべき複数のデバイスで、各々、デバイスを識別するデバイス識別子を表すデータを保存するメモリと、信号の送受信を管理する処理ユニットからなるデバイス、
・  コントローラを識別するコントローラ識別子を表すデータを保存し、複数のデバイスの各々について、各デバイスが他のどのデバイスに信号を首尾よく送信でき、どのデバイスから信号を首尾よく受信できるかを示すルーティングテーブルを表すデータを保存し、また、最多使用入口ポイントリストを表すデータを保存するメモリと、信号の送受信を管理し、データをメモリから読み取り、データをメモリに書き込むようになっている処理ユニットからなるコントローラ。ここで、最多使用入口ポイントリストとは、（コントローラからデバイスへの送信の成功した数）−（コントローラからデバイスへの送信の失敗した数）、に相当する最高送信成功カウント数を有するデバイスのデバイス識別子番号、Ｎを示す順序付けられたリストである。
前記方法は下記ステップからなる。
Ａ．指定されたデバイスの識別子を宛先識別子として包含する第１の信号をコントローラから指定されたデバイスに少なくとも１回送信するステップ、
Ｂ．前記第１の信号が指定されたデバイスによって受信された時、確認応答信号を指定されたデバイスからコントローラに送信するステップ、
Ｃ．確認応答信号がコントローラによって受信されない時、最多使用入口ポイントリストの中から最初のデバイスを第１中継デバイスとして選択するステップ、
Ｄ．指定されたデバイスへのルートをルーティングテーブルにおいて特定するステップ、ここで、ルートは１つ以上の中継デバイスを使用し、その最初のデバイスが第１中継デバイスである、
Ｅ．指定されたデバイスの識別子を宛先識別子として包含し、ステップＤで特定されたルートからの１つ以上の中継デバイスの識別子を中継器識別子として包含する第２のルート指定信号をコントローラから少なくとも１回送信するステップ、
Ｆ．第２のルート指定信号が指定されたデバイスによって受信された時、確認応答信号をそのデバイスからコントローラに送信するステップ、および
Ｇ．指定されたデバイスからの確認応答信号がコントローラによって受信されない時、最多使用入口ポイントリストの中から２番目、３番目、．．．Ｎ番目のデバイスを第１中継デバイスとして使って、ステップＤ、ＥおよびＦをＮ−１回反復するステップ。
【００７３】
ステップＡおよびＢにおいて、宛先デバイスがコントローラの送信レンジ内にあるか否かを特定し、否であれば、ステップＣ〜Ｇにおいて最多使用入口ポイントリストを使って、どのデバイスを宛先デバイスへのルートにおける入口ポイントとして使用するか学習推定する方法を提供する。
【００７４】
望ましくは、コントローラのメモリはさらに、ルーティングテーブルにあるデバイスのどれかからルーティングテーブルにある他のデバイスのどれかに１つの信号を回送できる１つ以上のデバイスを表示した好ましい中継器リストを表すデータを保存する。この場合、前記方法はさらに下記ステップからなる。
Ｈ．Ｎ番目の第２のルート指定信号について指定されたデバイスからの確認応答信号がコントローラによって受信されない時、最多使用入口ポイントリストにない好ましい中継器リストの中から、最初のデバイスを第１中継デバイスとして選択するステップ、
Ｉ．指定されたデバイスへのルートをルーティングテーブルにおいて特定するステップ、ここで、ルートは１つ以上の中継デバイスを使用し、その最初のデバイスが第１中継デバイスである、
Ｊ．指定されたデバイスの識別子を宛先識別子として包含し、ステップＨで特定されたルートからの１つ以上の中継デバイスの識別子を中継器識別子として包含する第２のルート指定信号をコントローラから送信するステップ、
Ｋ．第２のルート指定信号が指定されたデバイスによって受信された時、ルート確認応答信号をそのデバイスからコントローラに送信するステップ、および
Ｌ．指定されたデバイスからのルート確認応答信号がコントローラによって受信されない時、好ましい中継器リストの中から該当するデバイスを第１中継デバイスとして使って、ステップＨ、ＩおよびＪを各デバイスについて反復するステップ。
【００７５】
ここで、最多使用入口ポイントリストにあるデバイスがコントローラの送信レンジ内に１つもない場合、ステップＨ〜Ｋにおいて好ましい中継器リストを使って、どのデバイスを宛先デバイスへのルートにおける入口ポイントとして使用するか学習推定する方法を提供する。
【００７６】
第５の態様によれば、システム内にデバイスは、望ましくは、第１の態様に関して述べた二重機能を有する。ここで、複数のデバイスの各々の処理ユニットはさらに、デバイスに動作するように接続された電気器具に出力を供給し、そこから入力を受け取るようになっており、その場合、前記方法はさらに下記ステップからなる。
・  宛先デバイスまたは宛先コントローラの識別子に対応する少なくとも１つの宛先識別子、デバイスの動作またはデバイスに接続された電気器具に関連した情報、および１つ以上の信号中継デバイスのデバイス識別子に対応する１つ以上の中継器識別子からなる第３の信号をコントローラから送信するステップ、
・  第３の信号を前記複数のデバイスの１つで受信するステップ、
・  少なくとも１つの宛先識別子が受信デバイスのデバイス識別子に対応する場合、前記情報を該デバイスの処理ユニットで処理するステップ、および
・  １つ以上の中継器識別子の１つが受信デバイスのデバイス識別子に対応する場合、前記情報と少なくとも１つの前記宛先識別子を保持する第４の信号を送信するステップ、
・  第３の信号がコントローラによって送信される場合、該第３の信号に含まれた少なくとも１つの宛先識別子は、望ましくはデバイス識別子であり、該第３の信号に含まれた情報は、望ましくは、宛先デバイスの処理ユニットに、該宛先デバイスに接続された電気器具に出力を供給し、そこから入力を受け取るよう指図する命令からなる。
【００７７】
同様に、第３の信号がデバイスによって送信される場合、該第３の信号に含まれた少なくとも１つの宛先識別子は、望ましくはコントローラ識別子であり、この場合、該第３の信号によって保持された情報は、該第３の信号を送信するデバイスの状態または読みに関連するのが典型的である。
【００７８】
望ましくは、システム内のすべてのデバイスが、確認応答信号をもってデバイスにアドレス指定されたすべての受信信号に応答するようになっている。従って、本発明の第５の態様による方法は、望ましくはさらに、第３の信号または第４の信号をデバイスで受信した時、該第３の信号または第４の信号を送信するデバイスまたはコントローラの識別子を宛先識別子として有する第１の確認応答信号を発生させ、送信するステップからなる。
【００７９】
該デバイスが第２の信号、すなわち、先に中継された信号を受信していた場合、それは、確認応答信号を、第３の信号を送信するコントローラと、第４の信号を送信する中継デバイスの両方に送るのが望ましい。第３の信号を送信するコントローラへの確認応答信号は、望ましくは、１つの宛先識別子と１つ以上の中継器識別子からなり、従って、前記方法は、望ましくはさらに、前記第１の確認応答信号をデバイスで受信し、１つ以上の中継器識別子の１つが該デバイスのデバイス識別子に対応する場合、そこで、前記宛先識別子を保持する第２の確認応答信号を送信するステップからなる。
【００８０】
【発明の実施の形態】
本発明は、複数のデバイスとの双方向通信を介して多種多様な機能を制御するためのコントローラを有するオートメーションシステムに関するものである。このコントローラにより、ユーザは、デバイスおよびデバイスによって実行される機能を制御することが可能となる。
【００８１】
以下、本発明を第１の好ましい実施例に則して説明する。第１の好ましい実施例によれば、オートメーションシステムは、デバイスとコントローラの単純なアドレス指定を可能にする通信プロトコルからなる。先ず、すべてのコントローラとデバイスが、システム内部のほとんどすべての通信信号に含まれた固有のシステム識別子によって特徴づけられた１つの固有の論理システムに組み合わされている。システム内のコントローラとデバイスは、個々に特徴づけられ、システム内部でアドレス指定されている。図１は、コントローラとデバイスをそれぞれ信号でアドレス指定するための、そのような２部分識別子１０１および１０２の例を示す。
【００８２】
これにより、それぞれのシステムの中のコントローラとデバイスがそれぞれのシステムの固有のシステム識別子からなる信号にしか応答しないので、あるシステムが隣接のシステムと干渉することはない。以下、このシステム識別子をホームＩＤと呼ぶ。
【００８３】
各コントローラが、製造段階でコントローラ内のメモリに書き込まれた変更不可能な固有のプリセット識別子を有する。これで、コントローラ識別子の固有性は確保されている。システムをセットアップする時、第１のコントローラの固有の識別子はホームＩＤとして設立されることになる。コントローラ識別子が固有であるので、それは割当てられたホームＩＤということになる。有利であるのは、システム自体が固有のホームＩＤを有し、そのため、システムをセットアップする時にユーザがホームＩＤを指定せずに済むことである。これで、システムの機能は大いに単純化される。
【００８４】
図２に示した代替実施例では、すべてのコントローラとデバイスが、製造中にメモリに書き込まれ変更不可能な固有のプリセット識別子２０１および２０２を有する。システムのコントローラは、このコントローラによって制御されるすべてのデバイスから固有の識別子を学習しなければならない。これら１部分識別子がすべて固有であるので、システム識別子は必要ない。
【００８５】
デバイスは常にシステムの指名と共にアドレス指定されるので、デバイス識別子は、システム内部のデバイスを識別するためにシステムのホームＩＤの拡張である。デバイス識別子（以下、デバイスＩＤとも呼ぶ）は、デバイスが初めてシステムに組み込まれる時に、該デバイスにコントローラによって割当てられる。デバイス識別子は、コントローラとデバイスそれ自体の中に保存される。フレームスペースを最小限に抑えるために、また、コントローラ側の記憶量を減じるためにも、デバイスを識別するデバイス識別子は、できるだけ小さく抑えなければならない。
〔通信プロトコル〕
コントローラとデバイスはすべて、システム内部でデータを伝送し、管理するために少なくとも共通プロトコルの部分からなる。プロトコルは、識別子を管理し、システム内部で通信のためのフレームのアドレス指定を管理する。
【００８６】
第１の好ましい実施例では、デバイス識別子が８ビット値である。上に述べた通り、デバイス識別子は、通信プロトコルにあるフレーム内でホームＩＤに関連して常に使用され、これにより、デバイスの全面的な固有性は確保される。固有のコントローラ識別子のサイズ、従ってまた、ホームＩＤのサイズは、固有のアドレスが付けられることから逸脱しないようなサイズでなければならない。よって、コントローラ識別子は、最大４，２９４，９６７，２９５の固有ホームＩＤを与える３２ビット値である。
【００８７】
通信プロトコルは、無線通信用途において見られる通常の問題を克服すべく設計されている。最もありふれた問題はノイズで、これは、２つのデバイスの間で通信されるデータの消失または改変を生ずることである。伝送されるデータの量が少なければ少ないほど伝送成功のチャンスは大きいというのが、一般的ルールである。
【００８８】
先行技術では、送るべきデータを保持するフレームフォーマットのサイズは、典型的にフレームフォーマットがデータビット量全体に占める割合がきわめて小さいので、さほど重要でない。ところが、短いコマンドや命令を送るために本システムが使用されている本発明では、フレームフォーマットは、送るべきデータビットの量全体のかなりの部分を占めることが多い。それゆえ、本発明の一つの好ましい実施例の通信プロトコルにおいて使用されるフレームの一般的フォーマットは、データの量を減らすべく、すなわち、短いフレームを得るべく設計されており、コマンドを単一のフレームで２つ以上のデバイスに送信でき、かつ、かかるデバイスを簡略な表記法でアドレス指定できるようになっている。同様に、フレームに含まれるコマンドも最小限に抑えられるのが望ましい。本発明のために設計されたプロトコルは、これらを考慮に入れ、データの圧縮と同様にデバイス識別子とコマンドのマスキングを提供する。
【００８９】
制御すべきデバイスは複数の機能を果たし、その機能を下記の通り種類別に分割することができる。
【００９０】
・  出力；コマンド、命令、メッセージ、電力などの出力を、デバイスに接続された電気器具、例えばコーヒメーカ、オーブン、監視システム、ドアロック、オーディオ機器などに提供すること。
【００９１】
・  入力；デバイスに接続されたセンサなどの器具またはキーボード、位置決め装置などの入力装置からの入力を受け取り、保存し、処理し、および／または転送すること。システムのコントローラは、デバイスが入力を受け取った場合、例えば侵入者を検出した場合、音響信号を発して、セキュリティを呼出すという場合、そのデバイスからの信号に応答するようにプログラムすることができる。
【００９２】
・  中継；コントローラまたはデバイスからの信号を中継し、それで、送信したコントローラまたはデバイスの信号レンジの外側にあるデバイスに到達できるようにすること。
【００９３】
デバイスは、器具と接続されたセパレート型ユニットであることも、器具に一体化した部分であることもできる。デバイスは、機能を自ら果たすことも、デバイスに接続された器具に機能を果たすのを許し、機能を果たすよう指図し、または機能を果たし得るようにすることもできる。
【００９４】
コントローラのユーザインタフェースは、コントローラによって制御される各デバイスをユーザが制御するのを可能にする。コントローラによって制御されるデバイスは、２つ以上のデバイスが一緒に制御できるように異なる出力クラスで指示することができる。そのような出力クラスは、下記の通り１組の変数によって特徴づけることができる。
【００９５】
【表１】
0003676749.tif 000002
【００９６】
グループは、複数のデバイスで構成される出力クラスである。この出力クラスは、多数の出力デバイスを単一のコマンドで制御するのに利用される。ムード（ｍｏｏｄ）は、主として、各グループおよび／または各デバイスがデバイスおよびグループに動作を特徴づける特定の設定値を有する「グループのグループ」および／または「デバイスのグループ」である。例えば、１つのムードは、居間のランプに接続されたデバイスで構成することができ、各デバイスによって各ランプに供給される電力の調光レベルを設定値とすることができる。このムードを選択することにより、居間の全部のランプを所定のレベルに調光し、それで、例えばテレビを見るのに望ましい照明を得ることができる。デバイスまたはグループの設定値は、各デバイスが果たす機能によって異なり、デバイスごと、グループごとに個別に設定される。１つのデバイスが１つ以上のグループに属してよく、各グループが１つ以上のムードに属してもよい。
〔フレーム〕
第１の実施例の通信プロトコルは、システムのデバイス相互間で命令や情報を運ぶフレームについて一般的なフォーマットを有する。
【００９７】
第１の実施例によるフレームフォーマットは下記の通り記述することができる。
【００９８】
【表２】
0003676749.tif 000003
【００９９】
ここで、
・  数字０〜１５は、フレーム各部分の順序およびサイズを与えるビットスケールを表す。その部分が現れる順序は不同であり、異なる順序を使用することができる。
・  ホームＩＤ（３２ビット）：このフレームを実行する／受け取るものとされたシステムのホームＩＤ。
・  ソースＩＤ（８ビット）：送信するコントローラまたはデバイスの識別子（２部分識別子の第２の部分）。
・  バージョン（３ビット）：プロトコル／フレームフォーマットのバージョン。これは、ソフトウェアプロトコル更新または他のインフラストラクチャ向上に応じてフレームフォーマットを変更する自由を与える。
・  Ｄｉｒ.（１ビット）：コマンドの方向；コマンド発出の時  ０、コマンド確認応答の時  １。
・  タイプ（４ビット）：フレームタイプによって、フレームの他の部分の内容、フレームがコマンドを含んでいるのか、または例えば状態を含んでいるのか、また、デバイスの指名がどのように行われるかが決定される。指名の仕方は、どのデバイスが、また、どれだけの数のデバイスがアドレス指定されるかによって異なる。可能なフレームタイプの例は下記の通りである。
【０１００】
【表３】
0003676749.tif 000004
【０１０１】
（*）各マスクレンジは、連続する８つのデバイスを単位として８つ刻みである。例：レンジ０＝１〜８、レンジ１＝９〜１６。
・  長さ（８ビット）：最初のホームＩＤワードから始まる、チェックサムのフィールドを除いた最後のデータバイトまでのフレーム内のバイトの量。
・  コマンド（８ビット）：実行するものとされたコマンド。表３に記載のコマンドの例を参照。
・  コマンド値（８ビット）：発せられたコマンドに対応する値。８ビットが典型的値であるが、コマンド次第でより長くてもよい。
・  データバイト（０〜ｎ）：フレームに含まれているデータ。
・  チェックサム（８ビット）：ホームＩＤとフレームの最後のバイトの間で計算されたチェックサム。チェックサムのフィールド自体は計算されない。
【０１０２】
次に、１つのフレームの中に入れることのできる一般フレームフォーマットを超えた情報の例を幾つか示す。
【０１０３】
次の表は１つのフレームの中に入れて発することのできるコマンド及びコマンド値のいくつかの例を示す。
【０１０４】
【表４】
0003676749.tif 000005
【０１０５】
少なくともいくつかのコマンドは、８ビットより長いこともある。通信プロトコルは、コマンドごとにコマンド値の長さを指定する。
【０１０６】
コマンドを発する時は、無論、コマンドが発せられたアドレス指定先のデバイスを特定することが重要である。１つのフレームの中でアドレス指定できるデバイスの数次第で異なるタイプのフレーム（表２を参照）を利用することができる。下記タイプのフレームは、コマンドと、受け取り側デバイスのグループの個別アドレス、すなわち複数のデバイス識別子からなる。
【０１０７】
【表５】
0003676749.tif 000006
【０１０８】
・  宛先デバイスＩＤ（８ビット）：受け取り側デバイスがコマンドに反応すべきか否かを指示する８ビットの宛先デバイス識別子のアレイ。
〔マスキング〕
上記のフレームフォーマットで分かる通り、デバイスをアドレス指定することは、送信されるデータバイト全体のうちかなりの量を占めている。アドレス指定データビットを減らす方策をもたらすことは、本発明の第１の実施例である通信プロトコルの重要な特徴である。フレームフォーマットにおいて宛先デバイスＩＤマスクを使用することにより、アドレス指定データビットを劇的に減らすことができる。デバイス識別子のマスキングは、受信するデバイスのどれがコマンドに反応すべきか否かを指示する動作である。各エントリ（ｅｎｔｒｙ）が列挙順のデバイス識別子に対応し、このエントリレジスタが、マスクと呼ばれるビットパターンを保持しており、そこで、対応するデバイス識別子を選択すべき場合は各ビットが「１」に設定され、そうでない場合は「０」に設定される。マスクレンジを規定するフレームタイプを有するフレーム（表２を参照）を「宛先デバイスＩＤマスク」（受け取り側デバイスがコマンドに反応すべきか否かを各ビットが指示する）と一緒に送信することにより、各々のアドレス指定がさらに要するビットは１つだけになる。
【０１０９】
次に、デバイス識別子のマスキングの３つの例を示す。例は、本発明の第１の実施例によりフレームフォーマットのマスクサイズ、タイプ、インデクシングおよびレイアウトを使用する。このようなマスキングは、他のレイアウトや他のフォーマットを使っても行うことができ、第１の実施例は、いかなる通信ネットワークにおいてもデバイスグループをアドレス指定するためにデバイスの指名においてマスキングを使用する考えを限定しない。
【０１１０】
第１に、８ビット宛先デバイスＩＤマスクを使えば、デバイス識別子１〜８の最大限８つのデバイスを単一のバイトでアドレス指定することができ、そうすることで、データの量は劇的に減らされる。もし、８つのデバイスを、マスクされていないフレームフォーマット（デバイスのグループのためのコマンド）でアドレス指定するものとした場合、データの量を８バイトに増やすことになる（「宛先デバイスＩＤマスク」ではなく、８つのデバイス識別子と「デバイスの数」のフィールド）。
【０１１１】
【表６】
0003676749.tif 000007
【０１１２】
・  宛先デバイスＩＤマスク（８ビット）：受け取り側デバイスがコマンドに反応するべきか否かを各ビットが指示する１バイトの宛先デバイス識別子マスク。最下位ビット（ＬＳＢ）がデバイス１を表す。
【０１１３】
９〜１６のレンジ内のデバイスをアドレス指定したい場合は、フレームフォーマットを他の値、一般フレームフォーマットのタイプ別フィールドの値、すなわち、表２における「0100」、に変えるだけ。すると、マスクのＬＳＢはデバイス識別子９となる。
【０１１４】
アドレス指定すべきデバイスがすべて１〜１６のレンジ内のデバイス識別子を有する場合、フレームフォーマットは、フレームタイプが「マスクされたデバイスＩＤ１〜１６」ということになる。これにより、最初の１６のデバイス識別子は、表６に示す通り、その一部または全部が２バイトでアドレス指定できることになる。
【０１１５】
【表７】
0003676749.tif 000008
【０１１６】
・  宛先デバイスＩＤマスク（１６ビット）：受け取り側デバイスがコマンドに反応するべきか否かを各ビットが指示する２バイト宛先デバイス識別子マスク。最下位ビット（ＬＳＢ）がデバイス１を表す。
【０１１７】
小人数世帯におけるシステムの場合は、多くがそのキャパシティのほとんどを最初の１６のデバイスをカバーする８ビットマスクと１６ビットマスクで賄っている。ところが、大きいシステムでは、アドレス指定すべきデバイスの数が１６より多く、そのデバイスの数にもよるが、よりフレキシビリティの高いマスキング手順を有利に適用することができる。フレームタイプフィールドが典型的にマスクに対応するデバイスを規定するが、フレームタイプ自体は、次に続く宛先デバイスＩＤマスクによってどの８つ（または別の数）のデバイスがカバーされるかを規定するマスクインデクスレンジに余裕を持たせてもよい。
【０１１８】
各マスクレンジは、連続する８つのデバイスを８つ刻みでカバーする（フレームタイプ５は例外）。フレームタイプ６のフレームフォーマットでは、マスクインデクス（８ビット値）が、次に続く宛先デバイスＩＤマスクがどのマスクレンジをカバーするかを示す。マスクレンジには通し番号が付けられており、マスクインデクス「０」は、デバイス識別子１から８までのデバイスに及ぶ宛先デバイスＩＤマスクを指す。マスクインデクス１とあれば、これは、９から１６までに及ぶ宛先デバイスＩＤマスクを指す。この方法を使えば、デバイスＩＤで２０４０（２５５×８）までのデバイス識別子をアドレス指定することができる。
【０１１９】
【表８】
0003676749.tif 000009
【０１２０】
・  マスクインデクス（８ビット）：マスクインデクスは、当該の宛先デバイスＩＤマスクがどのデバイス識別子をマスクレンジとするかを示す。
・  宛先デバイスＩＤマスク（８ビット）：受け取り側デバイスがコマンドに反応すべきか否かを各ビットが指示する１バイト宛先デバイス識別子マスク。最下位ビット（ＬＳＢ）がデバイス識別子＝マスクインデクス×８＋１を表す。
【０１２１】
上に述べたのと同様のマスキング手順を、異なるデバイスに出されたコマンドに適用することができる。これにより、フレームにあるようなコマンドを準備することなく、１組の所定のコマンドから幾つかのコマンドを出すことができる。
【０１２２】
コントローラとデバイスの両方のプロトコルで表３のような所定のコマンドのテーブルを準備することにより、マスクは、各エントリが列挙順のコマンドに対応するエントリレジスタになり、ここで、対応するコマンドを選択しようとする場合は各ビットが「１」に設定されたビットパターンを形成し、そうでない場合は「０」に設定されたビットパターンを形成することになる。表３のコマンド値は、同様のマスキングをかけることがあり得る。
【０１２３】
フレームのサイズをさらに縮小するために、測定入力値などのデータ、プログラムストリングなどのテキストストリングまたはイメージは、データ圧縮をかけることがあり得る。プロトコルは、Ｚｉｐ、ｇｚｉｐ、ＣＡＢ、ＡＲＪ、ＡＲＣおよびＬＺＨなど典型的なソフトウェアディジタルデータ圧縮アーカイブフォーマットを適用することができる。
〔確認応答〕
典型的なホーム環境においてＲＦ搬送周波を使用するデータ送信は、送信失敗と疑念のあるエラー導入の可能性を作り出す。エラー導入の原因には、一般に他のＲＦトランシーバや電気器具からのＲＦノイズがある。本発明によるシステムは、送信したコマンドが受信および／または実行された後、デバイスから確認応答を返送してもらえるようにする双方向ＲＦコンポーネントを使用する。この手順は、図３のフローチャートに示す通りである。デバイスは、作成したフレームを送った後、そのフレームを受け取ったデバイスからの確認応答を待つ。送った側のデバイスは、確認応答を指定時間内に受け取らなかった場合、データ送信を再トライし、データが首尾よく伝送され終わるまで、または再トライ回数が最大限度に達するまで続ける。
【０１２４】
フレームを受け取る側は、それを受け取った後、通信プロトコルから確認応答をするよう指示される。受け取り側デバイスは、フレームヘッダだけを設定されたＤ（Ｄｉｒ）ビットと共に返送する。Ｄビットが設定されていると、すべてのデバイスがソースＩＤを宛先ＩＤとみなすようにフレームを読み取る。
【０１２５】
【表９】
0003676749.tif 000010
【０１２６】
図３に示す通り、コントローラは、受け取り側デバイス（中継デバイスまたは宛先デバイス）から確認応答を受け取らなかった場合、信号を３回まで送る。
〔ルーティング〕
本発明によれば、第１の好ましい実施例の通信プロトコルは、ネットワーク内のデバイスにコマンド信号を送る必要のあるコントローラがそのデバイスに直接到達できない場合にその事態を打開すべく設計されたルーティング機能を有する。この場合の問題は、コマンド信号が宛先デバイスに到達できるようにネットワーク内の１つ以上のデバイスを中継器として活動させることによって解決される。この原理は図４に示す通りで、そこでは、デバイス３がコントローラのＲＦレンジの外側にあり、そのため、デバイス１がコマンド信号をデバイス３に向かわせる中継器として活動する。
【０１２７】
第１の好ましい実施例のオートメーションシステムにおいてハイクオリティを提供するために、ルーティング機能の性能および設計に関するクオリティ要求として作用したポイントは、下記の通りである。
・  ルータ機能は、コントローラが、信号路をブロックまたは妨害する通常のＲＦレンジの内側のデバイスにもその外側のデバイスにも到達できるようにするものとする。
・  ネットワーク内のデバイスは普通、メモリ容量およびＣＰＵ能力がきわめて制限されているので、ルーティングプロセスにおけるインテリジェンスはコントローラ内にあるものとする。
・  ルート指定されたフレームは、ルート指定されていないフレームと同じ信頼度を保持するために確認応答されなければならない。
・  ルーティングと中継はユーザの介入なしに行われなければならない。なぜなら、ユーザにはネットワークのセットアップについての理解が期待できないからである。
【０１２８】
ルーティング機能を可能にするために、信号中継器がシステム内で適用される。第１の好ましい実施例によれば、すべてのデバイスが、スタートポイントとして、コントローラによって然るべく命令された時に中継器として活動できるようになっている。このデバイスの二重機能が、きわめて高い信頼度とフレキシビリティを持つネットワークに改良されたレンジ／カバレージを備えさせ、国際特許出願ＰＣＴ／ＤＫ０１／００２５３（出願番号は現在未入手）の主題となっている。しかしながら、デバイスについては、様々な理由から例外を設けることができる。例えば、ネットワーク内で定常的に位置を変える携帯型デバイスであれば、中継器として適当でないであろうし、また、電池を電源とするデバイスであれば、電池電力を節約するために中継から除外することができる。それでも、本発明のルーティング機能は、すべてのデバイスが中継器として活動するのに適合したシステムに限定されるものでなく、専用の中継器デバイスを備えたシステムにおいても同様に活用することができる。
【０１２９】
ルーティング機能とは、なかんずくコントローラに下記の仕事をさせる１組の機能のことである。
・  各デバイスが他のどのデバイスに信号を首尾よく送信でき、どのデバイスから信号を首尾よく受信できるかをデバイスごとに示したルーティングテーブルを構築すること、
・  所与のエントリポイント、所与の宛先デバイスについて、そのエントリポイントから宛先デバイスまでの中継器デバイスのルートを特定し、その特定されたルートに沿って中継される信号を発生させること、
・  典型的な場所がネットワーク内のどこであるかを学習し、自らのレンジの外側にある最後のデバイスへのルートを特定する時、学習に基づいてそれを推定できること、
・  どのデバイスがネットワーク内の他のどのデバイスにも到達できる中心寄りの位置にあるか特定し、所与の宛先デバイスへのルートをより効率的に特定すること、
・  ネットワークトポロジーが変わった時を特定し、ルーティングテーブルなどを自動的に更新すること。
〔中継器リストを持つフレーム〕
ある宛先デバイスへのルートを指定する信号を発生する時、フレームは、何らかの仕方でルート内の中継器デバイスを指名しなければならない。
【０１３０】
デバイスにとってのルーティング機能とは、ルート指定されたフレームを受け取り、これが中継すべきものか否か特定し、そうである場合はそれを再送することである。通信プロトコルは、ＲＦ媒体上で働くべく設計されており、一時に１つのデバイスだけがフレームを送る、よって、１つのデバイスだけが１つのフレームを中継することが重要である。これは、宛先デバイスへの信号ルートを指定するのに使われるデバイス識別子の中継器識別子を指名する中継器リストをフレームの中に持つことによって実現させられる。中継器リストは、下記フィールドで構成される。
【０１３１】
【表１０】
0003676749.tif 000011
【０１３２】
下記フレームタイプは、コマンド、アドレス指定されたデバイスの宛先識別子、および中継器リストからなる。
【０１３３】
【表１１】
0003676749.tif 000012
【０１３４】
・  ホップ（４ビット）：フレームがどれだけの数の中継器を通過したかを示す１／２バイトフィールド。これは、中継器によって中継器ＩＤへのインデクスとして使用されるほか、自らが当該フレームを転送しなければならないか否か見極めるのに使用されることがあり得る。
・  中継器の数（４ビット）：フレームの中にある中継器ＩＤの数量。
・  中継器ＩＤ（８ビット）：どのデバイスをフレームが通過するべきかを示す１バイト中継器ＩＤ。
【０１３５】
中継器特有のフィールド（ルート状態、ホップ、中継器の数、および中継器ＩＤ）は、表２に記載のすべてのフレームタイプに適用することができ、また、受け取られたフレームの確認応答においても使用される。表５〜７に関して述べたマスキング手順は、多数の中継器ＩＤがフレームに含まれている時でも適用することができる。ホップフィールドは、中継器ＩＤリストへのインデックスとして使用できる。
【０１３６】
図５は、各デバイスの処理ユニットによって保持されるプログラムに関する、信号ルーティングの手順を示すフローチャートである。この手順は、その信号のフレームが本当にそのデバイスに関連するものであるか否か、すなわち、それが宛先デバイスとして指名されたのか又は中継器デバイスとして指名されたのかを特定し、フレームが関連するものであれば、デバイスは、そのフレームを受け取ったことの確認応答を行うことになる。デバイスのプロセッサは、ルーティングリストを調べてルーティング情報を分析し、それが宛先デバイスとして指名されたのか中継器デバイスとして指名されたのかを特定する。中継器デバイスとして指名されたのであれば、プロセッサは、ホップのフィールドによって指し示された中継器デバイスＩＤを調べ、それがデバイス識別子と合致すれば、フレームヘッダにおける方向ビット（Ｄｉｒ）に応じてホップのカウンタを増数または減数する。最後に、デバイスはフレームを再送する。デバイスが宛先デバイスとして指名されたのであれば、このデバイスは、フレームの中の命令および／または情報を処理する。
【０１３７】
中継器デバイスは、中継器リストにある次の中継器にフレームを送ることだけに責任があり、次の中継器が受け取ったフレームに対して確認応答した後、そのフレームをさらに先へ送るのは、その中継器の責任である。フレームが宛先デバイスに到達すると、ルータの確認応答が全ての方面に返送され、コントローラは、フレームが宛先に到達したことを知らされる。ルータの確認応答こそまさしく、ルート状態における確認応答ビットが設定されたデータなしのルート指定されたフレームである。ルート指定信号とその確認応答のフレームの流れは、図６に示す通りで、そこで、フレーム（1）および（3）がルート指定フレーム、確認応答（2）および（4）が通常の確認応答、ルータ確認応答（5）および（7）がコントローラに返送されるルータ確認応答、そして、確認応答（6）および（8）が、ルート指定された確認応答信号の受信に対して確認応答する通常の確認応答信号である。
〔ルーティングテーブル構築〕
フレームの中継器リストを作成できるようにするために、システム内のどれかの入口ポイントから指定デバイスへのルートを特定する自動化プロセスが実行される。重要なのは、応答時間をできるだけ短くし、信頼度をできるだけ高くするためにルート内の中継器の数を最小限に抑えることである。この目的のため、コントローラは、ネットワーク内のすべてのデバイスを走査し、どのデバイスが他のどのデバイスに到達できるかを調べることによって１つのルーティングテーブルを構築する。
【０１３８】
ルーティングテーブルは、コントローラがネットワークトポロジーに関するデバイスからの情報を保持する場所である。このテーブルは、互いに見ることのできるデバイスについてすべての情報が保持されているＮ×Ｎフィールドテーブルである。図７は、デバイス１〜５を持つネットワークトポロジーを示し、表１１はそのルーティングテーブルを示す。
【０１３９】
【表１２】
0003676749.tif 000013
【０１４０】
ルーティングテーブルはネットワーク全体に共通であり、システム内の異なるコントローラの間で共有してもよい。システム内のコントローラ相互間で情報を共有する機能は、出願人による国際特許出願ＰＣＴ／ＤＫ０１／００２５２（出願番号は現在未入手）の主題である。
【０１４１】
先行技術に従って行われるような全ネットワーク走査は、時間を浪費する複雑なプロセスである。コントローラが放送信号を送り、これをそのレンジ内のデバイスが受け取り、その命令に従い、専用のタイムスロットにおいて、受け取った放送信号をそのレンジ内にさらに転送する。また、デバイスはコントローラに、ルーティングテーブルを構築できる情報について報告しなければならない。このような全ネットワーク走査は、ネットワークが長時間ブロックされ、大量の電池電力が消費されるので、回避するのが望ましい。
【０１４２】
代わって、本発明によるシステムは、デバイスを個別的に、放送信号なしに、しかも、新しいデバイス、問題が見つかったデバイス、または他の方法で適格にするデバイスの場合など、必要な時しか走査しない。
〔発見〕
自らの領域のネットワークトポロジーを発見するために、各デバイスは、コントローラから命令を受けると、自らの付近に信号を首尾よく送受信できる他のデバイスが存在するか発見を行うようになっている。発見の手順は、図８に示す通りで、各デバイスの処理ユニットによって保持されたプログラムに従って実行される。先ず、発見コマンド信号（１）をデバイスに送り、そのデバイスが探すことになる他のデバイスが何であるかを教える。確認応答信号（２）を送った後、デバイスは、ＮＯＰ（ノーオペレーション、「空動作」信号）コマンド信号（３、５、６および８）を、発見コマンド信号（１）で指定されたデバイスに順次送っていき、ＮＯＰコマンドを受け取ったデバイスからの確認応答信号（４および７）を待つ。図７に示したトポロジーでは、デバイス２および４が確認応答信号をもってデバイス３に応答し、他方、デバイス１および５が応答しない。次に、デバイスの処理ユニットが、ＮＯＰ信号に対して確認応答したデバイスの識別子をデバイスのメモリに保存する。デバイスは、自らが信号を首尾よく送受信できる他のデバイスに関する情報を信号（９）でコントローラに送ることができる。
【０１４３】
第１の好ましい実施例によれば、発見コマンド信号（１）は、表５および６に関連して述べた宛先デバイスＩＤマスクと同様のビットマスクからなるコマンド１７を持つフレームタイプ１（表２および３を参照）の信号で、これが、どのデバイスが探すことになった他のデバイスかを教える。また、デバイスは、自らの信号レンジの内側で他のデバイスから確認応答信号（４および７）を受け取った時、対応するビットを自らのメモリの中にある別のビットマスクにおいて設定する。このビットマスクは、コントローラにおけるルーティングテーブルのラインと同様に順序づけられており、それゆえ、ルーティングラインと呼ばれる。ルーティングライン信号（９）をコントローラに送ることができるのは、それが形成された後、すなわち、デバイスがデバイス５からの確認応答信号を受け取った時か、ＮＯＰ信号（８）を３回、発見信号（１）のビットマスクで最後のデバイスに送った時かどちらかである。
【０１４４】
ルーティングライン信号（９）を受け取ると、コントローラの処理ユニットは、ルーティングテーブルを更新する（現在あるラインとコラムを上書きする）か、拡張する（新しいデバイスに対応するラインとコラムを追加する）か、どちらかをする。ルーティングラインは、デバイスにおいて適当なフォーマットで書かれているので、ルーティングテーブルに直接保存することができる。
【０１４５】
コントローラは、ネットワークトポロジーのトラックを保ち、ルーティングテーブルを維持し、デバイスへの最短ルートを計算する機能を果たす。コントローラはまた、デバイスのルータ機能も兼ね備えることができるが、典型的にその電源が常時受信モードにあるとは限らないので、それはオプションである。
【０１４６】
上記で述べた通り、コントローラは、ネットワーク内のすべてのデバイスに、各々、発見コマンドを使ってどのデバイスに到達できるか質問することによって、ネットワークトポロジーのトラックを保つ。典型的に、デバイスはさほど頻繁には移動せず、そこで、コントローラがトリガされ、それでデバイスにある時期だけ発見を行うよう指図する。発見を行う最良の時期は、各デバイスがどれだけの機能を果たすかによって異なるほか、システム内のデバイスがどのような順序になっているかによっても異なる。例えば、デバイスに発見を開始させるトリガ動作は、個人住宅のオートメーションシステムと、工場施設や病院のアラームシステムやセキュリティシステムとで異なっていてよい。また、デバイスの順序がグループ内およびムード内で第１の好ましい実施例におけるケースと違っていてもよい。
【０１４７】
望ましくは、デバイスを初めてシステムに導入した時、および、デバイスを移動するたびにコントローラがトリガされ、それでそのデバイスに発見を行うよう指図する。しかしながら、第１の好ましい実施例では、もうひとつ別の図式が選択されている。第１の好ましい実施例において、コントローラがトリガされ、それでデバイスに発見を行うよう指図するのは、下記の時である。
・  デバイスが初めてシステムに導入され、これにコントローラがデバイス識別子を割当てる時、または、等価のこととして、デバイスが初めてデバイスグループに追加される時、
・  デバイスがグループまたはムードから除去された時およびデバイスが改めてグループまたはムードに追加される時。
【０１４８】
このトリガ方式を実現させるについては、デバイスがグループまたはムードから除去される時のようにその構成が変更される時、そのデバイスを「疑念あり」とマークする。コントローラは次回、トリガされ、マークされた疑念デバイスと直接対話する時、それでそのデバイスに発見を行うよう指図する。図９は、発見を開始させるトリガ動作の手順を示し、各コントローラの処理ユニットによって保持されたプログラムに関するフローチャートである。疑念ありとマークされたデバイスをルーティングテーブルから除外し、それが発見をし終わるまで、マークを付けておく。マーキングは、単純にデバイステーブルに設定される１つのビットであっても、デバイスの識別子が付け加えられた専用マーキング「疑念デバイスリスト」であってもよい。この方式が選択されるのは、典型的にデバイスがネットワークトポロジーに影響を加えるのに程よい距離（例えば５メートル強）移動させられたからで、それより大きく移動させられる場合は、ユーザがそのデバイスについてグループおよび／またはムードの構成を変更することもしばしばある。
【０１４９】
オプションとして、デバイスが移動させられる時もコントローラがトリガされ、それでそのデバイスに発見を行うよう指図するが、この場合は、デバイスが移動させられた時を特定するルーチン、または、デバイスが移動させられたことをユーザが忘れずにデバイスまたはコントローラに知らせることが必要となる。また、宛先デバイスに信号を送るのに失敗したルートにおいてデバイスが所定の回数、中継器デバイスと指名されていた場合も、コントローラはトリガされ、それでそのデバイスに発見を行うよう指図することができる。その代わりとして、ルーティングテーブルの各ラインにタイムスタンプを与えることができ、所定の時間後、ラインは期限切れになり、対応するデバイスは「疑念あり」とマークされる。これで、ルーティングテーブルの定期的なメンテナンスが確実になされることになる。
【０１５０】
デバイスがネットワーク内で位置を変えたことを検出するもうひとつの方法は、デバイスがルート指定されたフレームの中継器リストにおける次の中継器に到達できない場合にルート内の中継器デバイスをルートエラーのフレームとして戻すことである。この手順を図１０に示す。デバイスが位置を変えたのか、デバイスがエラーを送ったのか、あるいは、それが中継器リストにおける次の中継器であるのか特定することは、必ずしも可能であるとは限らず、そこで、この方法の場合は通常、１つのデバイスが位置を変えた時に２つのデバイスを「疑念あり」とマークすることが必要となろう。
【０１５１】
ルーティングテーブルが常に最新であることを確実にするもうひとつの方法は、デバイスが移動させられた時に必ずデバイスをリセットすべしとするルールをユーザに課すことである。そうすることで、移動させられたデバイスは必ず、リセットされる時にルーティングテーブルから除去され、再びコントローラに追加される時に再び挿入されることになる。
〔最多使用入口ポイントリスト〕
システムのコントローラは、典型的に、常時ネットワーク内で位置を変えることのでき、電池を電源とし、小型であり、携帯型であり、ハンドヘルドであるデバイスである。しかしながら、現実の使用場面では、コントローラはほとんどの時間、限られたエリア（例えば２，３の室またはワンフロア）の中を動き回るということでありそうである。この事実に基づき、自らのレンジの外側にある所与の宛先デバイスへのルートを特定する時、その場所がネットワーク内のどこであるか特定しようとする時、学習に基づいた推定をすることができる。成功した送信と失敗した送信を記録し、このデータについて統計分析を行うことにより、コントローラは、ネットワーク内の最もありそうな場所を学習することができる。こうして、ネットワークへの最多使用入口ポイントのリストがコントローラ内に維持される。最多使用入口ポイントリストは、デバイスのデバイス識別子を保持するテーブルと、デバイスごとの送信履歴を教えるカウンタで構成される。デバイスのカウンタは、フレームが首尾よく受信されるごとに増数され、フレームが送信に失敗するごとに減数される。詳記するならば、デバイスのカウンタは、フレームを受信した旨の確認応答信号が当該デバイスから返送されるたびに増数され、その確認応答信号を出したデバイスが中継器デバイスであるか宛先デバイスであるかは問題でない。同様に、デバイスのカウンタは、コントローラが確認応答信号を受信しないまま信号を３回送るたびに減数され、指名されたデバイスが中継器デバイスであるか宛先デバイスであるかは問題でない。テーブルのエントリがカウント値０であれば、それは空とみなされ、新たなエントリと置き替えることができる。テーブルは、典型的には、可能なエントリの内、限られた数Ｎしか保持しない。
【０１５２】
【表１３】
0003676749.tif 000014
【０１５３】
最多使用入口ポイントリストがあれば、コントローラは、ルーティングが要求された時にネットワーク内のその位置を特定するのに改めて全てに対して行はなくて済むので、この最多使用入口ポイントリストは多大な時間と労力の節約になる。コントローラが定常的に自らネットワーク内の２つの離れた位置を見つければ、最多使用入口ポイントリストは、この両位置からのデバイスを保有することになる。また、コントローラが、ネットワーク内の限られたエリアの中で長時間を費やした後、別の離れた位置に移動させられると、最多使用入口ポイントリストは、自らを更新するのに少し時間を要することになり、初期の期間中は効率的な入口ポイントを提供しないことになる。
【０１５４】
明らかに、最多使用入口ポイントリストは、システム内の各コントローラに特有のものとなり、通常、最多使用入口ポイントリストをコントローラ相互間で分け合うことは意味をなさない。
〔好ましい中継器リスト〕
あるデバイスは、他のデバイスよりシステム内の中心寄りに位置し、この中心寄りに位置するデバイスが、典型的に他の多くのデバイスに到達できるので、特に中継器デバイスとして適している。信号をネットワーク周辺に位置するデバイスを経由するルートで送信しようとするのは大抵、時間の無駄になるので、コントローラは、所与の宛先デバイスへの効率的ルートを特定する時、学習に基づいた推定をするようにプログラムされている。そこで、好ましい中継器リストは、ルーティングテーブルから算出され、デバイスへのルートを見つけるのに使用されるべくコントローラの中に保有される。好ましい中継器は、システムにおいて、それがネットワーク内のどの中継器にも到達するため必要となる唯一のデバイスであるというような仕方で選択される。好ましい中継器リストは、ある位置のあるビットが、その位置に対応するデバイスが好ましい中継器であると指名する形のビットマスクテーブルである。このリストは、ルーティングテーブルが変更されるたびに再計算される。
【０１５５】
【表１４】
0003676749.tif 000015
【０１５６】
図７に示したネットワークトポロジーでは、デバイス２および３が共にネットワーク内のすべてのデバイスに到達できることから、これらが好ましい中継器ということになろう。好ましい中継器リストは、ルーティングテーブルにとって特徴的であり、よって、ネットワークトポロジーにとっても特徴的である。好ましい中継器リストは、それゆえ、ネットワーク内のすべてのコントローラが更新されたルーティングテーブルを有するのであれば、すべてのコントローラに共通である。
【０１５７】
以下は、ルーティングテーブルから好ましい中継器リストを特定するための手順を与える擬似ソースコードである。ルーティングテーブル分析機能（Function AnalyseRoutingTable()）が、すべてのデバイスに到達するのに必要なネットワーク内の中継器を見つけ、好ましい中継器リストを構築する。この機能は、中継器がネットワーク内でどれだけの数の新しいデバイスに到達できるかに従い中継器を選択する方法に基づいてルーティングテーブルを分析する。
【０１５８】
【数１】
0003676749.tif 000016
【０１５９】
〔デバイスへのルートの特定〕
コントローラは、信号を所与のデバイスに送るよう指図されると、先ず、信号をルーティングなしで宛先デバイスに直接送る。確認応答を受け取らないと、コントローラは、複数のステップを必要とするデバイスへのルートを特定する。図1１は、各コントローラの処理ユニットによって保持されたプログラムに関し、所与の宛先デバイスへのルートを特定する手順を示すフローチャートである。以下の段落に述べる手順を図1１に示してある。
【０１６０】
最初に、コントローラは、ネットワーク内のどこに自分が位置するかを特定しなければならない。ネットワーク内のどこに自分が位置するかを見つけ出すのに要する時間を制限するために、コントローラは最多使用入口ポイントリストを使って学習に基づいた推定をする。入口ポイントとして最多使用入口ポイントリストからの最初のデバイスを使って、コントローラは、ルーティングテーブルにおける幅第一探索（width first search）をすることによって宛先デバイスへの最短ルートを計算する。最後に、コントローラは、ルーティングテーブル（表９を参照）をフレームの中で構築し、それを送る。宛先デバイスからルーティング確認応答信号を受け取られない場合、コントローラは、次の最多使用入口ポイントにトライする。
【０１６１】
最多使用入口ポイントのどれにも到達できない場合（図１１における「デバイス見つかった ?」= No）、コントローラは、好ましい中継器リストからのデバイスを入口ポイントとして使用し、ルーティングテーブルを使って宛先デバイスへの最短ルートを計算する。コントローラが好ましい中継器のどれにも到達できない場合（図１１における「中継器見つかったか ?」= No）、コントローラは、ネットワーク内のどれか他のデバイスを探そうとトライすることになる。最後の可能性は、応答に長時間を要するので、回避するのが望ましい。
【０１６２】
上記に述べた通りの、ルートを見つける方法は、特に携帯型コントローラ（遠隔制御装置）を備えたシステムにおいて有用であり、携帯型コントローラにも定置型コントローラにもきわめて効率的に適用できる。固定型コントローラの場合は、きわめて効率的な最多使用入口ポイントリストを構築することになるが、最初のトライとして、明らかに自らのレンジの外側にある宛先デバイスに直接信号を送ることになる。固定型コントローラとして使用されるコントローラは、オプションとして、宛先デバイスが最多使用入口ポイントリストからのデバイスでなければ、最初のトライとして、最多使用入口ポイントリストからのデバイスを使ってルートを見つけるように指図する設定値を有することになる。
【０１６３】
以下は、入口ポイントデバイス識別子と宛先デバイス識別子を与えられたデバイスへのルートを特定する手順を与える擬似ソースコードである。デバイスへの最良ルート見出機能（FindBestRouteToDevice()）が、スタートポイントから宛先デバイスまでの最良（最短）ルートを見つける。この機能は、宛先に最も近い最良の中継器を見つける幅第一探索最終中継器見出機能（FindLastRepeater）を呼出し、その中継器へのホップの数を呼出す。この機能は次に、全経路が見つけられるまで、宛先として新しい中継器と共に呼出される。
【０１６４】
【数２】
0003676749.tif 000017
【０１６５】
最終中継器見出機能は、入口ポイント中継器と宛先デバイスに基づいてデバイスへの最良ルートを見つける。見つけられるのは最後の中継器だけであるが、それは、幅第一探索アルゴリズムを使用する時にネットワークを通る経路を記録することが不可能だからである。
【０１６６】
【数３】
0003676749.tif 000018
【０１６７】
代替実施例では、ルートを特定する方策は、コントローラが先の試みの間に確認応答を受け取っているか否かによる。コントローラが宛先デバイスからルート指定した確認応答を受け取っていない場合、入口ポイントは、信号を受け取って、再送信したままになっているかもしれず、その場合、信号はルート内のどこかで止まっているかもしれない。ある環境、例えば工場や作業所などでは、互いのレンジ内にある２つのデバイスが、建物内部で動き回っている場合のように、金属などの物体によって遮蔽されているかもしれない。従って、デバイスが移動しなかったし、ルーティングテーブルに従って通信できるはずだったとしても、その接続は一時的に遮断されているかもしれない。コントローラが入口ポイントデバイスから確認応答を受け取っているが、宛先デバイスからはルート指定した確認応答を受け取っていない場合は、同じ入口ポイントで新しいルートを特定することができる。ルーティングテーブルを使って２つのデバイスの間の代替ルートを特定することは（それが存在すれば）、当業者にとって簡単な仕事である。この「同じ入口ポイントを使用する新しいルート」の方策は、先に述べた「新しい入口ポイントを使用する新しいルート」の方策より時には、効率的であるかもしれない。コントローラが１つのデバイスにしか到達できないネットワーク内の位置にあるのなら、それは、その１つのデバイスを入口ポイントデバイスとして使用しなければならない。信号がこの入口ポイントデバイスを通る最初のルート上のどこかで止まっているのなら、システムは代替ルートを特定するのが望ましく、その場合、それは、同じ入口ポイントデバイスを使用する代替ルートでなければならない。
【０１６８】
オプションとして、同じ入口ポイントを使って1つ以上の代替ルートをトライした後、コントローラがリスト（最多使用入口ポイントリストまたは好ましい中継器リスト）の中の次の入口ポイントに行くことができる場合、２つの方策「新しい入口ポイントを使用する新しいルート」と「同じ入口ポイントを使用する新しいルート」を組み合わせて使用することができる。
【０１６９】
もうひとつの代替実施例では、ルーティングテーブルがシステム内のすべてのデバイスに分配されており、それにより、所与の宛先デバイス識別子を持つ信号を受け取ると、デバイス自体がルートを見つけ、所与の宛先デバイスに対応するフレームを構築できるようになっている。
【０１７０】
ユーザインタフェースは、ユーザによるシステムのセットアップを管理し、それにより、ユーザのために、新しいデバイスの学習、グループおよびムードのセットアップ、コントローラ間で共有された情報の更新などの機能を果たせるようにする。以下、そのような機能の幾つかについて述べる。かかる機能は、コントローラの処理ユニットに保存されたプログラムまたはルーチンによって実行される。
〔新しいデバイスの学習〕
第１の好ましい実施例によるシステムはきわめてフレキシビリティに富み、時間の経過につれて追加デバイスを容易に加えることができる。新しいデバイスをシステムに追加する時は、どのホームＩＤとどのデバイスＩＤを使用するか知っていなければならない。この手順は、ユーザによる３つの動作を必要とするだけで、設置すべきデバイスと何か１つのコントローラを使用するだけである。何もかもシステムによって差配され、システム内の他のどんなコントローラもデバイスも関与も影響もしない。第１の好ましい実施例では、システムは、新しいデバイスの存在を学習し、プロセスステップの後に続く自動化システムにおいてデバイス識別子を割当てる（各コントローラの処理ユニットによって保持されたプログラムを図示する図９のフローチャートも参照）。
【０１７１】
１．  ユーザは、コントローラを学習プログラミング状態にセットし、正しいホームＩＤを持つ信号だけでなく、すべての信号を聴取できるようにする。
【０１７２】
２．  ユーザは、デバイスのボタンを押し続ける。
【０１７３】
３．  デバイスは、ホームＩＤとデバイスＩＤのリクエストを項目１に述べた通りの聴取状態のコントローラに送る。
【０１７４】
４．  デバイスは、コントローラからのホームＩＤとデバイスＩＤを持つフレームを待つ。
【０１７５】
５．  コントローラは、次の使用可能なデバイス識別子を調べ、ホームＩＤと割当てられたデバイスＩＤをデバイスに送る。
【０１７６】
６．  デバイスは、受け取ったホームＩＤとデバイスＩＤを不揮発性メモリに保存する。
【０１７７】
７．  新しいデバイスがデバイステーブルに追加され、発見コマンド信号が、すでにシステム内にあるデバイスのリストと共にデバイスに送られる。
【０１７８】
８．  新しいデバイスは、１つ以上のグループまたはムードの中に追加してもよく、名前を付けてもよい。
【０１７９】
工場出荷前に固有のデバイス識別子をもったデバイスをプログラムした代替実施例では、プロセスが幾分単純になろう。すなわち、
１．  ユーザは、コントローラをデバイスプログラミング状態にセットする。ユーザは、新しいデバイスをどのグループに入れるか指定するようリクエストされる。
【０１８０】
２．  ユーザは、デバイスのボタンを押し続ける。これで、デバイスは、自らのデバイス識別子を項目１に述べた通りの聴取状態のコントローラに送る。
【０１８１】
３．  デバイスはコントローラからのホームＩＤを待つ。
【０１８２】
４．  コントローラはホームＩＤをデバイスに送る。
【０１８３】
５．  デバイスは、受け取ったホームＩＤを不揮発性メモリに保存する。
【０１８４】
６．  コントローラの不揮発性メモリに保存されたグループテーブルは、新しいデバイス識別子をもって更新される。
【０１８５】
７．  発見コマンド信号が、すでにシステム内にあるデバイスのリストと共にデバイスに送られる。
【０１８６】
この手順の単純さは、システム内のすべてのデバイスの固有アドレスに依る。すべてのデバイスが個別にアドレス指定できることから、また、プロトコルの機能のゆえに、各デバイスが個別にセットアップでき、個別に包含／除外できるのである。
【０１８７】
デバイスがすでにコントローラのデバイステーブルの中にあるが、新しいグループまたは既存のグループに追加しなければならない場合、手順は下記ステップからなる（各コントローラの処理ユニットによって保持されたプログラムを図示する図９のフローチャートも参照）。
【０１８８】
１．  ユーザは、コントローラをグループプログラミング状態にセットする。ユーザは、新しいデバイスをどのグループに入れるか指定するようリクエストされる。
【０１８９】
２．  ユーザは、デバイスのボタンを押し続ける。
【０１９０】
３．  デバイスは、自らのデバイス識別子を聴取状態のコントローラに送る。
【０１９１】
４．  コントローラは、受け取ったデバイス識別子を選択されたグループテーブルに保存する。
【０１９２】
５．  コントローラは、そのデバイスが疑念デバイスリストの中にあるか否かチェックし、リストに存在すれば、発見コマンド信号を、すでにシステム内にあるデバイスのリストと共にデバイスに送る。
【０１９３】
上記に述べた学習プロセスは、構成が異なってもよいが、システム全体の機能において、デバイスとコントローラ自体が互いのＩＤを（割当てた上で）学習することが重要である。デバイスは、複数のグループに属することができ、自らのデバイス識別子をコントローラのメモリに保存された関連のグループテーブルに追加することによって単一のデバイスが１つのグループの中に入れられるので、何時でも他のどのデバイスに対しても影響を受けることはない。
〔コントローラにおけるデータ構造〕
信号を短くしかも少数に保っておくために、第１の好ましい実施例によるシステムは、信頼度、レンジ／カバレージ、汎用性およびフレキシビリティの点でクオリティを失うことなく可能な限り単純に動作すべく最適化されている。以下、最も適切かつ効率的な仕方で情報を共有し、機能を果たすことを見込んだコントローラのデータ構造について述べる。
（デバイステーブル）
このテーブルは、システム一式の中に現在設置されているすべてのデバイスに関する情報を保持する。このテーブルはまた、システム内の新しいデバイスにデバイス識別子を割当てるのにも使用される。このテーブルは、相異なるデバイスの特性値または定まった設定値に関する情報も含んでいてもよい。
（グループテーブル）
このテーブルは、デバイステーブルからのどのデバイスが共にどのグループに属するかに関する情報を保持する。このテーブルはまた、特定のグループの現設定値に関する情報も保持する。
（ムードテーブル）
ムードテーブルは、どのグループ、および、どのデバイスが特定のムードのメンバーであるかに関する情報を保持し、ムード内の各データの特定の設定値も保持する。
（グループ名テーブルおよびムード名テーブル）
これら２つのテーブルは、相異なるグループおよびムードのためのユーザ規定の英数字名を含む。
（コントローラテーブル）
このテーブルは、現在システム内にあるすべてのコントローラに関する情報を保持し、オプションとして、他のコントローラから最後に学習した日付と時刻も保持する。このテーブルはまた、相異なるコントローラの特性値に関する情報も含んでもよい。
（ルーティングテーブル）
複数のデバイスの各々について、各デバイスが他のどのデバイスに信号を首尾よく送信でき、どのデバイスから信号を首尾よく受信できるかを示すテーブルである。
（好ましい中継器リスト）
ルーティングテーブルにあるどのデバイスに対しても信号ルートを指定することのできる１つ以上のデバイスを示すテーブルである。
（最多使用入口ポイントリスト）
コントローラからの受信に成功した信号の数が最も多いデバイスの番号Ｎであるデバイス識別子を示す順序付きリストである。
（トリガアクションテーブル）
このテーブルは、１つ以上の入力デバイスがトリガレベルに達した時にどんなアクションを取るかに関する情報を保持する。
（イベントテーブル）
このテーブルは、トリガアクションテーブルに類似する。これは、ある一定のイベントを、所定の条件が満たされた時に実行される小さいプログラムの形で保持する。イベントとは、例えば、タイマからある一定の時間が読み取られた時にコーヒメーカまたはカーヒータをスイッチオンすることである。
（プログラムテーブル）
このテーブルは、コマンドに従って実行される大きいプログラム、マクロまたはルーチンを保持する。
〔電力および照明〕
第２の好ましい実施例（電力／照明コントロールとも呼ぶ）では、システムは、デバイスに接続された電気器具、例えばランプ、エアコンディショナ、調理器具などに対して電力レベルを制御する１組の製品からなる。
【０１９４】
電力／照明コントロールシステムと別に、第２の好ましい実施例のシステムは、ＨＶＡＣコントロール、アラームコントローラ、アクセスコントローラなど他のサブシステムを含むホームコントロールシステム一式の基礎を形成するものである。
【０１９５】
第２の好ましい実施例のオートメーションシステムは、第１の好ましい実施例のオートメーションシステムと同じプラットフォームの上に構築される。従って、第２の好ましい実施例について述べることは、第１の好ましい実施例に関連して述べた機能の幾つかについてより詳細に述べることであり、第１の好ましい実施例に関連して述べた特徴は第２の実施例にも当てはまるものと予想される。
【０１９６】
図１６は、好ましい実施例によるシステムの実現形態を示す。図１６は、幾つか室がある住宅１８の１階平面図である。この住宅は、多数の電気引出口１９（灰色の四角形）に通じる導電線からなる埋込み電気格子を有する。これは、典型的な建物のための電気網に匹敵する。電気引出口に接続された多数の異なる電気器具が、住宅内の各所に配置されている。ランプ１１、テレビ１２、トースタ１４、そして暖房機用サーモスタット１５である。各器具がデバイス４１に接続されており、これが、ＲＦ信号１６を介してコントローラ１７によって遠隔制御できる。
【０１９７】
デバイス４１は、トースタ１４の場合のように電気器具と電気引出口１９の間に接続することができ、あるいは、テレビ１２の場合のように器具に合体された一部分であってもよい。こうして接続されたデバイスを制御することにより、器具の電源および／または器具の機能を制御することができる。その制御の例としては、ランプ１１のオン／オフ、テレビのチャンネルなどの動作状態の切換え、サーモスタット１５の温度設定または盗難警報機３９の作動が挙げられる。また、デバイスからコントローラに、サーモスタット１５の室内温度など器具の状態や盗難警報機３９の状態を知らせることもできる。
【０１９８】
図１６に関連して述べた実施例では、ムードが、居間のランプ１１に接続されたすべてのデバイスからなり、その設定値は各デバイスによりランプに供給される電力の量でありうる。このムードの選択により、居間のすべてのランプが、所望の明るさを作り出す所定のレベルに調光されることになろう。もうひとつの例では、ムードは、住宅内のすべてのサーモスタット１５からなり、各室内の所望の室温が設定値である。従って、このムードの選択により、住宅内の各所で所定の温度設定ができることになる。
【０１９９】
以下の電力／照明コントロールシステムの説明は、主として、第１の好ましい実施例によるオートメーションシステムの説明の中で与えられた拡張性があり、概念的なシステムの一般的部分のハイレベルな説明に包含されない側面を扱う。しかし、第２の実施例にのみ関連して述べる詳細および特徴は、第１の好ましい実施例にも当てはまるものである。
【０２００】
電力／照明コントロールシステムは、下記のエレメントで構成される。
〔コントローラ〕
電力／照明コントロールシステムにおいて、コントローラは、リモートコントロールのような移動式コントロールパネルであるので、このシステムの使用またはプログラミングは、ある一定の場所に局限されない。コントローラは、ＬＣＤ（液晶ディスプレイ）のようなディスプレイを有する。コントローラは、オプションとして、コンピュータとインタフェースを取ることができ、その上、コンピュータがシステム内のコントローラとして動作してもよい。デバイスの初期設定は、また、往々にしてもっと後の設定も、デバイス付近で行われる。データプロトコルはデバイス識別子を使用するデバイスのアドレッシングを利用するが、プログラミングを行う人間は、器具が所与のデバイスに接続されていることを自分の目で確認することができる。従って、プログラミングインタフェースは、デバイスのコード、割当てられた番号などを覚えるユーザの記憶力を頼りにしない。
【０２０１】
図１２は、第２の好ましい実施例によるコントローラを示す。コントローラは下記のボタンを有する。
・  構成上含まれないとされたデバイスを除くすべてのデバイスのオン／オフ切換えをするオールオン／オフボタン。この機能のセットアップについては後述する。
・  最も普通に使用されるグループまたはムードへの高速アクセスのための８つの速度ボタン。
・  速度ボタンの状態をグループ別に設定するグループボタン。
・  速度ボタンの状態をムード別に設定するムードボタン。
・  主にメニューシステム内で使用されるＯＫボタン。
・  なかでもメニューシステム内の操作に使用される左右ボタン。
【０２０２】
なかでも、コントローラを使って実行できるアクションは下記の通りである。
・  システムに属するデバイスのプログラミング（すなわち、固有のホームID番号を使用するプログラミング）
・  新しいデバイスへの識別子の割当て
・  １つ以上のグループに属するデバイスのプログラミング
・  所与のグループにおけるオン／オフ機能の実行
・  所与のグループにおける調光機能の実行
・  １つ以上のムードに属するデバイスのプログラミング
・  所与のムードの実行
・  英数字を使用する所与のグループのネーミング
・  英数字を使用する所与のムードのネーミング
・  デバイスに対する児童防護の設定
・  タイマのプログラミング
・  キーロック機能の初期設定および中断
・  その他
複数のコントローラをシステム内で利用することができ、第１のコントローラから第２のコントローラへの信号を下記動作に関連させることができる。
・  ホームＩＤの学習およびコントローラＩＤの割当て
・  コントローラに関する各種データの複製または更新
〔出力デバイス〕
出力デバイスは、電源と電気器具の間に、典型的には電源ソケットに接続された出口ソケットの形で動作可能なように接続されている。出力デバイスは、電気器具に供給される電力または電流の入り切り、加減調節を行うことができ、また、オプションとして、計量も行うことができる。出力デバイスはまた、システム内の中継器として働くこともできる。
【０２０３】
出力デバイスは、低圧スイッチからＨＶＡＣ出力デバイスなどに至るまで、多くの種類が使用可能である。各出力デバイスが１つしかアクチュエータボタンを持たない。このボタンは、プログラミング手順の間にデバイスがコントローラに自らのデバイス識別子を知らせるたびに使用される。ボタンはまた、コントローラを使用することなくデバイスによって供給された出力電力の入り切りおよび加減にも使用される。但し、この機能は、児童防護機能を使って電力調整の目的のためにボタンを働かなくすることによって統御することができる。ボタンの相異なる機能は、ボタンを押す時間を変えることによって利用できる。例えば、オン／オフの機能を使いたい時はボタンを短時間押すだけとし、加減の機能を使いたい時は押し続けるという具合である。
【０２０４】
なかでも、出力デバイスが実行できるアクションは下記の通りである。
【０２０５】
・  自らの存在をコントローラに知らせ、ホームＩＤとデバイスＩＤを受け取る用意をする。
【０２０６】
・  デバイスのボタンを使って電流を入り切りする。
【０２０７】
・  デバイスのボタンを使って電流を加減する。
【０２０８】
・  コントローラから受け取ったコマンドを実行する。
【０２０９】
・  電流を加減する
・  受け取ったコマンドを他の出力デバイスに中継する
・  電流を入り切りする
・  受け取り及び実行したコマンドに対して確認応答する
・  デバイスの状態をもって返答する
・  出力デバイスに接続された電気器具に供給された電力または電流を計量し、計量情報を保存し、処理し、伝送する。
【０２１０】
以下、照明システムに包含された機能の幾つかについて説明する。
（グループまたはムードのスイッチング）
「グループボタン」を押すことにより、ユーザは、ランプなど単一または一群の器具を扱う機能を開始する。「ムードボタン」を押すことにより、ユーザは、ムードを扱う機能（例えば所定の室内照明の設定）を開始する。
（グループオン／オフ設定）
ユーザは、速度ボタン１〜８またはスクロールボタンを使って単一または一群の器具をオン／オフすることができる。ボタン１〜８を使用する場合は、短時間押すだけでよい。ボタンはトグルとして働く。スクロールボタンを使用する場合は、ユーザが所望のグループにスクロールしてから、ＯＫボタンを押す。
（グループ調光設定）
ユーザは、速度ボタン１〜８またはスクロールボタンを使って、ランプなど単一または一群の器具（オン／オフ機能の場合と同じグループ）への電流を加減することができる。ボタン１〜８を使用する場合は、ボタンを押し続けると、調光動作が行われる。正しい調光レベルに達したら、ボタンを離す。スクロールボタンを使用する場合は、所望のグループにスクロールしてから、更なる調光加減ボタンを押す。
（ディスプレイでのコマンド確認）
ユーザから出された各コマンドに対し、ディスプレイを通して確認が行われる。典型的な確認は、例えば「全部のライトが今消えた」ということである。デバイスを作動させた時、コントロールパネルは、デバイスから、コマンドを実行したとの確認応答を受けられるものと期待する。起こり得る事態は３つある。すなわち、
・  デバイスが確認応答をしない。
【０２１１】
・  コントローラは、例えば「到達せず、またはデバイス欠陥」を表示する。
【０２１２】
・  デバイスがエラーメッセージ、例えば「メインで電流を検出せず」をもって応答する。
【０２１３】
・  コントローラは、例えば「電球またはランプ欠陥」を表示する。
【０２１４】
・  デバイスがコマンド実行をもって応答する。
【０２１５】
・  コントローラは、例えば「すべてＯＫ」を表示する。
（ムードプログラミング機能）
異なるデバイスに所望の電流レベルをプリセットし、その後、このレベルをコントロールパネルに保存することによって、ムードをコントロールパネルにプログラムすることができる。ムードは、ボタン１〜８に保存することができるか、または、スクロールボタンを使って付加貯蔵部に保存することもできる。
（ムード設定機能）
ユーザは、プリセットされたムード（例えばテレビ視聴ムードまたは仕事ムード）を、コントロールパネルのボタン１〜８を使ってアクティブ化することができる。スクロールボタンを使用する場合は、所望のグループにスクロールしてから、ＯＫボタンを押す。
（オールオン／オフ設定）
ユーザが「オールオン／オフ」ボタンを押すことにより全てのスイッチを入切することができる。初期設定において、デバイスは「オールオン／オフ」に応答するようにプログラムされているが、このようにならないようにプログラムすることもできる。
（オールオン／オフ  プログラミング）
あるデバイスが「オールオン／オフ」に応答しないようにすることをユーザが要求する場合、これは、コントロールパネルでその通りに設定することによって実現できる。これは、例えば魚水槽や屋外灯にとって有益であろう。
（ランダムオン／オフ設定）
ユーザは、コントロールパネルを使って、あるデバイスをランダムにオン／オフされるように設定することができる（例えば泥棒よけに使用）。デバイスは、オン状態とオフ状態を例えば３時間おきに保ち、次回、コントロールパネルから何らかの命令を受け取ると、この動作を中止することになる。コントロールパネルがランダムにスイッチオンとスイッチオフを指図する時間帯も設定可能である（例えば１８時から２３時まで）。
（ランダムオン／オフ  プログラミング）
あるデバイスが「ランダムオン／オフ」に応答しないこととすることをユーザが要求する場合、これは、コントロールパネルでその通りに設定することによって実現できる。これは、例えば魚水槽や屋外灯にとって有益であろう。
（デバイスリセット）
すべてのデバイスがリセットでき、これによって、デバイスが保持するホームＩＤおよびデバイスＩＤが削除され、コントローラにおけるデバイス識別子に関するすべての参照が削除される。実施例の電力／照明システムでは、リセットは、コントローラを「デバイスリセット」モードに設定し、デバイスのアクチュエータボタンを押すことによって行われる。これにより、コントローラへのデバイス送信情報が作られ、これが、コントローラにリセットを実行させることになる。
（プログラミングおよび学習）
以下、システム内部のプログラミング機能および学習機能の幾つかを実行する手順を図１３〜１５に則して説明する。ユーザインタフェースでは、選択肢が、コントローラのＬＣＤディスプレイ上にメニューとして表示され、ディスプレイ下のボタンを使って選択することができる。
（グループメニュー）
メインメニューにおいてグループメニューを選択すると、グループが新しいデバイスの追加などで作成された後、そのグループについて下記の３つのことが実行できる。
【０２１６】
・  グループに命名する：ユーザが親しみ易くなるように、各グループに英数字で命名することができる。
【０２１７】
・  スイッチをグループから除去する：異なるデバイスを１つの特定グループに追加した場合、このメニューの機能により、ユーザは、個々のスイッチを１つの特定グループから除去することができる。この除去の手順を図１３に示す。先ず、ユーザはメニューオプション「スイッチをグループから除去する」を選択する。すると、スイッチを除去しようとするデバイスの属するグループの番号を知らせてくる。そこで、ユーザは、出力デバイスのボタンを押し、コントローラにデバイスＩＤを除去させる。出力デバイスのボタンが押された時、指定されたデバイスがグループテーブルから除去され、メニューシステムはメインメニューに戻る。
【０２１８】
・  グループを削除する：このメニュー項目により、ユーザはグループを完全に削除することができる。
（ムードメニュー）
ムードとは、各デバイスが所望の電流加減レベルに設定されるデバイスグループのことである。メインメニューにおいてムードメニューを選択すると、下記オプションがムードメニューセクションにおいて使用可能である。
【０２１９】
・  ムードを作成する：このメニュー項目により、ユーザはデバイスをムードに追加することができる。その手順を図１４に示す。先ず、ユーザはメニューオプション「ムードを作成する」を選択する。すると、ムードに追加すべきデバイスを選択するようメッセージで指示される。そこで、ユーザは、ムードに追加すべき出力デバイス全部のボタンを押し、押し終わったらＯＫボタンを押す。出力デバイスは、そこでその電流加減レベルをコントローラに送信する。すると、ユーザに、すでに選択されたデバイスに追加すべきムードの番号を知らせてくる。そのムードがすでに使用中である場合、ユーザは、そのムードの中味を選択されたデバイスと置き替えるか、別のムード番号を選ぶか、決めなければならない。ユーザはその時、ムードを命名するオプションを有する。ユーザはそこで、トグルメニューにおいて左右ボタンとＯＫボタンを使って英数字を選択することができる。名前を打ち込んだら、ＯＫボタンを２秒より長い時間押す。これで、ムード名前はコントローラによって保存され、メインメニューに戻る。
【０２２０】
・  ムードに命名する：ユーザが親しみ易くなるように、各ムードに英数字で命名することができる。
【０２２１】
・  スイッチをムードから除去する：異なるデバイスを１つの特定ムードに追加した場合、このメニューの機能により、ユーザは、個々のスイッチを１つの特定ムードから再び除去することができる。この方法は、スイッチをグループから除去する時に使用される方法と同等である。
【０２２２】
・  ムードを削除する：このメニュー項目により、ユーザはムードを完全に削除することができる。
【０２２３】
オールオン／オフ機能は、初期設定では、コントローラによって知覚されるすべてのデバイスに設定されている。個々のスイッチをこの機能に追加したり、再び除去したり繰り返し実行することができる。また、ボタンをオン／オフ切換えに使用するか、単にスイッチオフボタンとして使用するか、カストマイズすることも可能である。
（コントローラ複製）
同じホームＩＤ内で動作する複数のコントローラの使用を簡単にするため、製品は、相異なるテーブルおよび相異なる設定について互いに更新する機能を有する。この更新のプロセスを図１５に示す。ユーザは先ず、現コントローラがデータを他のコントローラに送信するか、データを他のコントローラから受信するか、いずれであるかメッセージで指示をうながされる。ユーザがデータ受信の方を選択すると、コントローラは、学習プログラミングモードに入り、更新データが受信された時、メインメニューに戻ることになる。データ送信の方を選択すると、ユーザは、自身が他のコントローラを更新したいのか、現コントローラの同一のコピー／複製を作りたいのかを決めるようメッセージで指示をうながされる。更新の方を選択すると、特定データだけが送信される。同一のコピー／複製の方を選択すると、ホームＩＤと、グループ、ムードなどを含むすべてのテーブルが送信される。更新または同一のコピー／複製が完了すると、システムはメインメニューに戻る。
〔ハードウェア〕
第１および第２の実施例によるコントローラとデバイスは、次の通り幾つか共通のハードウェアを有する。
【０２２４】
・  下記特性を有するＲＦトランシーバ
・  きわめてフレキシビリティに富む周波数範囲
・  プログラム可能な出力電力
・  最大９６００ビット毎秒のデータ伝送速度
・  ＦＳＫ変調
・  周波数ホッピングプロトコルに好適
・  低い電力消費
・  下記特性を有するマイクロプロセッサ
・  高速のＲＩＳＣアーキテクチャ
・  きわめて低い電力消費
・  一体型のＲＡＭ、ＥＥＰＲＯＭおよびＦＬＡＳＨメモリ
第２の実施例、電力／照明システムでは、コントロールパネルおよび出力デバイスはさらに下記のものからなる。
【０２２５】
コントロールパネル：
・  ２つのラインのＬＣＤディスプレイ
・  １３ボタン付ソフトキーパッド
・  ＡＡＡ型電池３個用の電池ホルダ
・  時刻を示し、タイマを盗難防止機能向けにセットするのに使用されるタイマクリップ。
【０２２６】
出力デバイス：
・  デバイスのコンポーネントには、壁面の２２０／１１０Ｖコンセントから引出された電力が３．３Ｖに降圧した上で供給される。調光機能およびオン／オフ機能は、きわめてパワフルなＴＲＩＡＣによって制御される。出力デバイスは、プログラミング手順で使用されるほか、デバイスにより供給された電力を調整するのにも使用される１つのアクチュエータボタンを有する。
【０２２７】
プロトコルにおけるコードに対する典型的要件は下記の通りである。
・  コントローラコードは、３．７ＭＨｚで動作するＡｔｍｅｌ Ｍｅｇａ １６３および３ＭＨｚで動作する埋込み型Ｓｙｎｏｐｓｙｓ ８０５１の上で動作することのできるのが望ましい。コードは、ＲＡＭの最大限度５３４バイトおよびフラッシュの最大限度２Ｋバイトを使用するのが望ましい。
・  デバイスコードは、３．７ＭＨｚで動作するＡｔｍｅｌ ４４１４および３ＭＨｚで動作する埋込み型Ｓｙｎｏｐｓｙｓ ８０５１の上で動作することのできるのが望ましい。コードは、ＲＡＭの最大限度３２バイトおよびフラッシュの最大限度５１２バイトを使用するのが望ましい。
【図面の簡単な説明】
【図１】本発明の第１の好ましい実施例による、信号のアドレス指定に使用されるコントローラおよびデバイスに対する識別子を示す図である。
【図２】本発明の第１の好ましい実施例による、信号のアドレス指定に使用されるコントローラおよびデバイスに対する識別子を示す図である。
【図３】本発明の第１の好ましい実施例による、信号の送信および確認応答の手順を示すフローチャートである。
【図４】コントローラから、このコントローラのレンジにあるデバイスへの信号のルーティングの原理を示す図である。
【図５】デバイスにおけるフレームのルーティングの手順を示すフローチャートである。
【図６】本発明の第１の好ましい実施例による、信号の受信に対する確認応答の原理を示す図である。
【図７】オートメーションシステムのネットワークトポロジーの一例を示す図である。
【図８】本発明の第１の好ましい実施例による発見の手順を実行する原理を示す図である。
【図９】本発明の第１の好ましい実施例による発見の手順をトリガーする手順を示すフローチャートである。
【図１０】送信失敗の時に疑念デバイスリストにデバイスを追加する原理を示す図である。
【図１１】本発明の第１の好ましい実施例による、所与の宛先デバイスへのルートを特定する手順を示すフローチャートである。
【図１２】本発明の第２の好ましい実施例によるコントローラを示す図である。
【図１３】本発明の第２の実施例によるコントローラにおいてデバイスをグループから除去する手順を示すフローダイアグラムである。
【図１４】本発明の第２の実施例によるコントローラにおいてムードを作成する手順を示すフローダイアグラムである。
【図１５】本発明の第２の実施例によるコントローラの学習の手順を示すフローダイアグラムである。
【図１６】本発明の第２の好ましい実施例によるシステムの実現形態を示す。
【符号の説明】
１１…ランプ
１２…テレビ
１４…トースタ
１５…暖房機用サーモスタット
１６…ＲＦ信号
１７…コントローラ
１９…電気コンセント
３９…盗難警報機
４１…遠隔制御デバイス
１０１，１０２…２部分識別子
２０１，２０２…プリセット識別子
【図１】
0003676749.tif 000019
【図２】
0003676749.tif 000020
【図３】
0003676749.tif 000021
【図４】
0003676749.tif 000022
【図５】
0003676749.tif 000023
【図６】
0003676749.tif 000024
【図７】
0003676749.tif 000025
【図８】
0003676749.tif 000026
【図９】
0003676749.tif 000027
【図１０】
0003676749.tif 000028
【図１１】
0003676749.tif 000029
【図１２】
0003676749.tif 000030
【図１３】
0003676749.tif 000031
【図１４】
0003676749.tif 000032
【図１５】
0003676749.tif 000033
【図１６】
0003676749.tif 000034