本発明は、照明ネットワークにおける第1ネットワークデバイスの状態を、第1ネットワークデバイス、及びメッセージを第1ネットワークデバイスに送るよう適応される第2ネットワークデバイスに関連する情報に基づいて、決定するためのプロセッサ及び方法を提供する。第1ネットワークデバイスは、第1カウント値と関連づけられ、第2ネットワークデバイスは、第2カウント値と関連づけられる。第1カウント値が、第2カウント値に対して所定の範囲内にある場合、第1ネットワークデバイスは、非アクティブであると決定される。各関連カウント値は、カウント値の最後のリセットからの関連ネットワークデバイスのインクリメンタル特性における変化又は差分に基づく。
図1Aを参照すれば、デバイスのうちの少なくとも1つが本発明の実施例によるプロセッサを有するデバイスの単純なネットワークの基本的な概念が理解されるだろう。
図1Aにおいて識別されるネットワーク1は、複数のネットワークデバイスを有する。具体的には、互いに通信するよう適応される第1ネットワークデバイス100及び第2ネットワークデバイス150が識別される。第1の付加的なネットワークデバイス300、第2の付加的なネットワークデバイス310、第3の付加的なネットワークデバイス320も示されている。
ネットワークのネットワーク・ブリッジ200は、第1ネットワークデバイス100と通信するよう適応される。ネットワーク・ブリッジは、ネットワーク1の特性、例えば、通信媒体であって、ネットワークデバイスが前記通信媒体を通じて通信し得る通信媒体の搬送周波数又はタイムスロットを制御するよう適応される中央ハブ又はサーバの役割を果たす。ネットワーク・ブリッジはまた、ネットワークデバイスによって実施されるアクションを制御するよう適応される。これらのアクションを制御するために、ネットワーク・ブリッジ200は、ネットワーク1のネットワークデバイスに供給するためのメッセージを生成するよう適応される。
第1ネットワークデバイスは、(例えば、ネットワーク・ブリッジ200から)第2ネットワークデバイス150に送られるべきメッセージ及び(例えば、ネットワーク・ブリッジ200に)第2ネットワークデバイス150から送られるべきメッセージを転送する又は送るためのルータの役割を果たすよう適応される。
同様に、第1の付加的なネットワークデバイスは、(例えば、ネットワーク・ブリッジからの)第2ネットワークデバイスへのメッセージ、及び(例えば、ネットワーク・ブリッジへの)第2ネットワークデバイスからのメッセージを送るよう適応される。更に、第2の付加的なネットワークデバイスは、(例えば、第3の付加的なネットワークデバイスからの)第1の付加的なネットワークデバイスへのメッセージ、及び(例えば、第3の付加的なネットワークデバイスへの)第1の付加的なネットワークデバイスからのメッセージ、並びに(例えば、第1の付加的なネットワークデバイスからの)第3の付加的なネットワークデバイスへのメッセージ、及び(例えば、第1の付加的なネットワークデバイスへの)第3の付加的なネットワークデバイスからのメッセージを送るよう適応される。この方法においては、メッセージが、ネットワーク内の各ネットワークデバイスへ及び/又は各ネットワークデバイスから送られ得る。
ネットワークデバイス(例えば、第1ネットワークデバイス100及び第2ネットワークデバイス150)及びネットワーク・ブリッジ200は、無線通信プロトコルを介して互いに通信するよう適応される。換言すれば、ネットワークは、典型的には、無線ネットワークである。前記ネットワークデバイスが通信し得る適切な無線通信プロトコルは、赤外線リンク、Zigbee、Bluetooth、IEEE 802.11規格に従うような無線ローカルエリアネットワークプロトコル、2G、3G又は4G電気通信プロトコルなどを含む。他のフォーマット、技術又はプロトコルは、当業者には容易に分かるだろう。
ネットワークデバイスのうちの少なくとも2つは、直接有線接続を介して接続されることができ、前記少なくとも2つのネットワークデバイスは、前記直接有線接続を通じて通信することができることは明らかであるだろう。例えば、第1の付加的なネットワークデバイス及び第2の付加的なネットワークデバイスは、互いとの通信を可能にするために、ワイヤを介して接続され得る。
図1Bにおいては、デバイスのより複雑なネットワーク2が示されており、これは、ネットワークにおける他の可能なデバイス間通信接続を明らかにしている。
例えば、第2ネットワークデバイス150は、第3の付加的なネットワークデバイス320と通信するよう適応され得る。これは、有利なことには、ネットワーク2内のネットワークデバイスの任意の対の間に2つ以上の通信経路が存在することを可能にする。これは、有利なことには、例えば、単一のノードが非アクティブになる場合にも、残りのノードは依然として互いに通信し得るような、冗長度をネットワーク2が持つことを可能にする。
更に、より複雑なネットワーク2は、3つ以上のネットワークデバイス(例えば、第1ネットワークデバイス100、第1の付加的なネットワークデバイス300及びネットワーク・ブリッジ200)と通信し得る他のネットワークデバイス350を有する。これは、更により多くのあり得る通信経路を可能にし、それによって、ネットワークにおける冗長度を増加させる。
図2を参照すれば、本発明の第1実施例によるプロセッサを備えるネットワーク・ブリッジ200及び第1ネットワークデバイス100の構造は理解されるだろう。
第1ネットワークデバイス100は、発光素子104、デバイスプロセッサ101、デバイスメモリ102、デバイス入力モジュール105及びデバイス送受信機103を備える無線接続可能なランプとして実施される。
ネットワーク・ブリッジ200は、本発明の第1実施例によるプロセッサ210、ブリッジメモリ220及びブリッジ送受信機230を有する。
プロセッサ210は、第1ネットワークデバイスに供給するためのメッセージ(即ち、データ)を生成するよう適応される。メッセージは、ブリッジ送受信機230及びデバイス送受信機103を介して第1ネットワークデバイス100に送られ得る。換言すれば、ネットワーク・ブリッジ200は、第1ネットワークデバイスへのメッセージのブロードキャスト、及び第1ネットワークデバイスからのメッセージの受信をするよう適応される。
受信されたメッセージは、第1ネットワークデバイスの特定のアクションを実施するためにデバイスプロセッサ101によって解釈され得る。特定のアクションは、例えば、発光素子104の機能の制御、及びチャネルであって、デバイス送受信機が前記チャネルを通じて通信するチャネルの特性の調節のうち一方の動作であり得る。他の実施例においては、特定のアクションは、第1ネットワークデバイスに関する情報(例えば、識別データ)の、別のデバイス(例えば、ネットワーク・ブリッジ)への送信、又はデバイスプロセッサの或る特定の機能(例えば、或る特定のファームウェア)を有効若しくは無効にするものであり得る。
発光素子104の実施例は、当業者には容易に理解され得る。発光素子は、例えば、1つ以上の発光ダイオード(LED)、ビジュアル出力デバイス(例えば、LCDディスプレイ)、ハロゲン電球などを含み得る。発光素子は、第1ネットワークデバイスと容易に交換可能、又は第1ネットワークデバイスから容易に脱着可能であるよう適応され得る。
デバイスプロセッサ102は、第1ネットワークデバイス100のインクリメンタル特性の変化に依存する第1カウント値を生成するよう適応される。
第1カウント値は、第1カウント値が、第1カウント値の最後のリセットからの第1ネットワークデバイスのインクリメンタル特性の変化に依存するように、リセットされることが可能である。
インクリメンタル特性は、第1カウント値におけるインクリメンタル変化をもたらし得るデバイスの特性である。インクリメンタル特性は、例えば、時間変化(即ち、時間経過)が第1カウント値をインクリメントさせるような、経過時間であり得る。他の実施例においては、第1ネットワークデバイスのインクリメンタル特性は、メッセージの受信が第1カウント値をインクリメントするような、第1ネットワークデバイスによって(例えば、ネットワーク・ブリッジ又は別のネットワークデバイスから)受信されるメッセージ数又はデータ量の測定値である。
他のあり得るインクリメンタル特性は、当業者には理解され、例えば、ネットワークの通信チャネルの特性(例えば、周波数)の変化が第1カウント値をインクリメントするような、ネットワークの通信チャネルの特性(例えば、周波数)が変えられる回数である。
第1カウント値は、特性の変化を直接的に表してもよく、例えば、第1ネットワークデバイスによって受信されたメッセージ数を直示してもよい。他の実施例においては、第1カウント値は、特性の変化に依存しかしないかもしれず、例えば、所定の期間にわたるカウントの変化又は差分の(例えば、期待値より上又は下の)示唆しかしないかもしれない。
図2を参照して以下に記載するように、第1カウント値は、第1ネットワークデバイス100によってネットワーク・ブリッジ200から受信されたメッセージ数又はデータ量を示すメッセージカウント値として実施される。
メッセージカウント値は、例えば、いくつのメッセージが第1ネットワークデバイス100によって成功のうちに受信されているかを直接的に示してもよい(即ち、第1ネットワークデバイスによって受信された各メッセージがデバイスプロセッサによってカウントされる)。他の実施例においては、メッセージカウント値は、どのくらいのデータが第1ネットワークデバイス100によってネットワーク・ブリッジ200から受信されているかを示す。例えば、第1ネットワークデバイスは、ネットワーク・ブリッジから成功のうちに受信されたビット数をカウントしてもよい。
幾つかの実施例においては、メッセージカウント値は、特定の所定の期間にわたって受信されたメッセージに対応しかしない。この所定の期間は、絶対的な期間(例えば、直前の5分又は直前の10分)であり得る。
メッセージカウント値は、例えば、デバイスメモリ102に記憶されることができ、第1ネットワークデバイスがネットワーク・ブリッジからメッセージを受信するのに応じてデバイスプロセッサ101によってインクリメンタルに増加され得る。
第1ネットワークデバイス100は、メッセージカウント値をネットワーク・ブリッジ200に送るよう適応される。これは、例えば、周期的に(例えば、毎分1回)、又はネットワーク・ブリッジによって送信されるカウント要求メッセージに応じて、なされ得る。
ネットワーク・ブリッジのプロセッサ210は、第1ネットワークデバイス100からメッセージカウント値を受信して、それにより、第1ネットワークデバイス100に関連するメッセージカウント値(即ち、第1カウント値)を確認するよう適応される。
プロセッサ210はまた、ネットワーク・ブリッジに関連するメッセージカウント値を確認するよう適応される。第2カウント値は、ネットワーク・ブリッジに関係しているが、第1カウント値と同等の又は対応するインクリメンタルを伴う。第2カウント値は、例えば、ネットワーク・ブリッジ200によって第1ネットワークデバイス100に送信されたメッセージ数又はデータ量を示す。
ネットワーク・ブリッジのプロセッサ210は、メッセージカウント値(即ち、第1カウント値)及び第2カウント値をネットワーク・ブリッジのブリッジメモリ220に記憶し得る。
プロセッサ210は、メッセージカウント値及び第2カウント値に基づいて第1ネットワークデバイスの状態を決定するよう適応される。とりわけ、メッセージカウント値が第2カウント値に対して値の所定の範囲内にある場合には、第1ネットワークデバイスは、非アクティブであったことから到達不可能であったと決定される。
非アクティブネットワークデバイスは、メッセージを正しく受信又は転送することができないネットワークデバイスであると理解されるだろう。これは、前記ネットワークデバイスが、オフに切り替えられている、又は一時的にリセットされている、又は外部から解消されることができない且つ/若しくは壊れている(例えば、送受信機が壊れている)動作状態にはまり込んでいるからであり得る。非アクティブネットワークデバイスの他の例は、当業者には容易に分かるだろう。
それ故、実施例の一般化された記載においては、第1カウント値(例えば、メッセージカウント)に関連する第1ネットワークデバイス及び第2カウント値に関連する第2ネットワークデバイス(例えば、ネットワーク・ブリッジ)が供給され得ることは明らかである。実施例によるプロセッサは、第1及び第2カウント値を確認し、第1及び第2カウント値に基づいて第1ネットワークデバイスの状態を決定するよう適応される。
第1カウント値は、第1ネットワークデバイスが非アクティブになる(例えば、オフに切り替わる、又は外部から解消されることができない動作状態にはまり込む)場合に、リセットされ得る。他の随意の実施例においては、ネットワーク・ブリッジ200が、第1カウント値をリセットする(例えば、第1カウント値をゼロ又は別の所定の値になるよう調節する)ためにリセットメッセージを第1ネットワークデバイス100に送信するよう適応される。
それ故、第1カウント値は、第1ネットワークデバイスが非アクティブになるとリセットされるが、第1ネットワークデバイスが範囲外に出てもリセットされないことは明らかであるだろう。これは、ネットワークデバイスが到達不可能になっている原因を明確に決定する(即ち、障害の原因を識別する)ことを可能にする。
同様に、実施例においては、第2ネットワークデバイス(例えば、ネットワーク・ブリッジ)が非アクティブになると、第2カウント値がリセットされる。これは、ネットワークが、ネットワーク全体がオフに切り替えられる場合には、非アクティブネットワークデバイスの誤識別の可能性を減らすために各カウント値がリセットされることを確実にすることを可能にする。
幾つかの実施例においては、第1及び第2カウント値が(例えば、第1ネットワークデバイスの状態の周期的な決定に続いて)周期的にリセットされる。これは、プロセッサが、ネットワークにおける前のエラーを説明し、障害発生時間をより正確に決定することを可能にする。
幾つかの実施例においては、第1ネットワークデバイス100が非アクティブであるときには、第1ネットワークデバイス100は、第1カウント値をネットワーク・ブリッジ200に送ることができないかもしれない。このシナリオにおいては、ネットワーク・ブリッジのプロセッサ210が、第1カウント値はゼロであると推論し得る。このような実施例においては、プロセッサ210は、第1ネットワークデバイス100から適切なメッセージカウント値が受信されない限り、第1カウント値はゼロであると仮定し得る。
デバイス入力モジュール105は、第1ネットワークデバイスをオン及びオフに切り替える(即ち、電源オン/オフする)ことを可能にするために、第1ネットワークデバイスへの電力供給を制御するよう適応される。ユーザは、第1ネットワークデバイスをオン及びオフに切り替えるためにデバイス入力モジュールを制御することができ、例えば、スイッチであり得る。
第1ネットワークデバイスがネットワークの範囲内又は範囲外にあるという概念は、図3及び4を参照すれば理解されるだろう。図3及び4の両方とも、ネットワーク・ブリッジ200、第1ネットワークデバイス100及び第1の付加的なネットワークデバイス300を明らかにしている。
ネットワーク・ブリッジの第1通信範囲290が概念的に明らかにされており、第1範囲は、ネットワーク・ブリッジによって発せられた信号が任意のネットワークデバイスによって受信され得る範囲である。同様に、第1ネットワークデバイスの第2範囲190及び第1の付加的なネットワークデバイスの第3範囲390が明らかにされている。
各デバイス(例えば、ネットワーク・ブリッジ又はネットワークデバイス)は、別のデバイスが前記デバイスの関連する範囲内にあるときにだけ、その別のデバイスに確実な(即ち、受信成功の可能性の高い)メッセージの送信をし得る。例えば、第1ネットワークデバイス100は、第1ネットワークデバイスがネットワーク・ブリッジ200の第1範囲290内に位置するときにだけ、ネットワーク・ブリッジ200から確実にメッセージを受信するだろう。
各デバイスがルータの役割を果たし得るので、メッセージは、複数のデバイスを介して転送され得る。従って、ネットワークの範囲は、ネットワーク・ブリッジ200に少なくとも間接的に接続され得るデバイスの累積独立範囲であるとみなされ得る。換言すれば、ネットワークは、少なくともネットワーク・ブリッジを有する。例えば、図3においては、第1ネットワークデバイス及び第1の付加的なネットワークデバイスが両方ともネットワーク・ブリッジの第1範囲290内であるので、ネットワークの範囲は、第1範囲290と、第2範囲290と、第3範囲390との組み合わせである。ネットワークの範囲は、図3及び4の破線としてより明確に識別される。
特に図3に関しては、第1ネットワークデバイスが、第1範囲290又は(第1の付加的なネットワークデバイスが第1範囲290内にあるので)第3範囲390のうちの1つの中に位置するので、第1ネットワークデバイスは、ネットワーク・ブリッジ及び第1の付加的なネットワークデバイスからメッセージを受信することができる。従って、第1ネットワークデバイスは、ネットワークの範囲内にあるとみなされ得る。
特に図4に関しては、第1ネットワークデバイス100が、ネットワーク・ブリッジ及び第1の付加的なネットワークデバイスのいずれの範囲内にも位置していないので、第1ネットワークデバイス100は、ネットワーク・ブリッジ又は第1の付加的なネットワークデバイスからメッセージを受信することができないように移動されている。換言すれば、第1ネットワークデバイス100は、もはや、ネットワークの範囲内にない。
従って、図3と同様に位置するときには、第1ネットワークデバイスは、ネットワーク・ブリッジからメッセージを受信することができ、それ故、メッセージカウント値をインクリメントすることができる。図4と同様に位置するときには、第1ネットワークデバイスは、ネットワーク・ブリッジからメッセージを受信しないかもしれず、それ故、メッセージカウント値をインクリメントすることができない。
従って、範囲外ネットワークデバイスは、メッセージを正しく受信又は転送する能力があるが、ネットワークに接続することができないことから、そうすることができないものであると理解されることは明らかであるだろう。
第1ネットワークデバイスが、ネットワーク範囲のちょうど端に位置するとき、第1ネットワークデバイスは、第1ネットワークデバイスがネットワークの範囲内とネットワークの範囲外との間で揺れるように、散発的にしかネットワークの範囲内にないとみなされ得る。これは、第1ネットワークデバイスが完全にネットワークの範囲内にある場合ほど増加させないために、メッセージカウント値のインクリメントにも影響を及ぼし得る。
ここで図5を参照すると、第1ネットワークデバイスの状態を決定する動作の実施例が明らかになるだろう。図5は、第1ネットワークデバイスによって生成される例示的なメッセージカウント値を明らかにする概念チャートを図示している。垂直軸400は、メッセージ数を表しており、水平軸401は、時間経過を表している。
第1の線410は、第1ネットワークデバイスに供給するためにネットワーク・ブリッジによって送信されるメッセージを表しており、これは、さもなければ、第2カウント値であると理解され得る。第2の線420は、第1ネットワークデバイスが、時間toutの間、一時的にネットワークの範囲外に移動される第1シナリオにおける、第1ネットワークデバイスによって受信されるメッセージ(即ち、第1カウント値)を表している。
説明のために、時間t0において、第1カウント値(メッセージカウント値)及び第2カウント値(送信メッセージ)がゼロにリセットされる。
(例えば、t0からtendまでの)期間中、ネットワーク・ブリッジ200によって送信されるメッセージ数は、メッセージ送信値mtまで増加する。メッセージ送信値は、時間tendにおける第2カウント値の例であると理解され得る。
しかしながら、第1ネットワークデバイス100によって受信されるメッセージ数は、より低い第1メッセージカウント値m1までしか増加しない。これは、第1ネットワークデバイスが一時的に(期間toutの間)第1ネットワークの範囲外にあるためである。
換言すれば、期間toutの間、第1ネットワークデバイスはネットワークの範囲外にあるので、メッセージカウント値はインクリメントされない。第1ネットワークデバイスがネットワークの範囲内に戻されるとき、メッセージカウント値は再びインクリメントされる。しかしながら、期間toutの間、第1ネットワークデバイスはアクティブな(即ち、メッセージを受信することが可能な)ままであるので、メッセージカウント値はリセットされない。
この第1メッセージカウント値m1は、(例えば、時間tendにおいて)ネットワーク・ブリッジ200のプロセッサ210に送られる。プロセッサは、少なくとも期間t0乃至tendにおいて第1ネットワークデバイスがネットワークの範囲外にあったことから到達不可能であったと第1ネットワークデバイスの状態を決定する。これは、第1メッセージカウント値m1が第1の所定の範囲R1内にあるという事実のためである。
従って、時間tendにプロセッサ210によって第1メッセージカウント値m1が確認され、この第1メッセージカウント値に基づいて第1ネットワークデバイスの状態が決定されることは容易に分かる。第1メッセージカウント値が、値の第1の所定の範囲R1内にあるので、第1ネットワークデバイスは、ネットワークの範囲外にあったことから到達不可能であったと正しく決定される。
換言すれば、実施例においては、プロセッサ210は、メッセージカウント値に基づいて第1ネットワークデバイスがネットワークの範囲外にあったことを検出することができる。
第3の線430は、第1ネットワークデバイスが、時間terr1において、オフに切り替えられる、又はスリープモードに入る、又は外部から解消されることができない若しくは外部デバイスによって修正されることができない(即ち、非アクティブ)状態にはまり込む第2シナリオにおける、第1ネットワークデバイスによって受信されるメッセージ(即ち、第1カウント値)を表している。ネットワーク・ブリッジによって送信されるメッセージ数は、第1シナリオのものと同じである(即ち、mtは同じままである)。(第2シナリオにおいては)前記期間中、第1ネットワークデバイス100によって受信されるメッセージ数は第2メッセージカウント値m2である。
第2メッセージカウント値m2は、第1ネットワークデバイスの非アクティブ状態のために、非常に低く、ほぼゼロである。
例えば、最初のうちは、第1ネットワークデバイス100は、ネットワーク・ブリッジからメッセージを正しく受信する。時間terr1において、第1ネットワークデバイスは、前記期間の残りの間(少なくともtendまで)、第1ネットワークデバイスが、もはやネットワーク・ブリッジからメッセージを受信することができない(即ち、非アクティブになっている)回復不能エラー状態に入る。このシナリオにおいては、メッセージカウント値は、リセットされ、もはやインクリメントされることができず、故に、第3メッセージカウント値はほぼゼロである。
プロセッサが、第2メッセージカウントm2に基づいて第1ネットワークデバイスが非アクティブになっていると決定することができることは、容易に分かるだろう。
第2メッセージカウント値m2は、ネットワーク・ブリッジ200のプロセッサ210に送られる。プロセッサは、第2メッセージカウント値m2に基づいて第1ネットワークデバイスの状態を決定するよう適応される。プロセッサは、第2メッセージカウント値が第2の所定の範囲R2内にあると決定し、それによって、第1ネットワークデバイスが非アクティブであったことから到達不可能であったと正しく決定する。従って、第1ネットワークデバイスが、オフに切り替えられているか、又はさもなければ、非アクティブであるという理由で、到達不可能であるかどうかを決定するために、更に、所定の範囲を基準として、第1ネットワークデバイスの状態が決定され得ることは明らかであるだろう。
第4の線440は、第1ネットワークデバイスが、時間terr2において、非アクティブになる第3シナリオにおける、第1ネットワークデバイスによって受信されるメッセージを表している。例えば、デバイスは、メッセージカウント値がもはやインクリメントされないような、デバイスがもはやメッセージを受信若しくは送信することができない、又はデバイスが単にオフに切り替えられる状態に入り得る。
従って、(この第3シナリオの間、時間tendにおいて第1カウント値を示す)第3メッセージカウント値m3は、第2の所定の範囲内にしかない。それ故、デバイスは、第1カウント値の最後のリセット以降の少なくとも前記期間において非アクティブになったと決定される。
期間t0乃至tendが十分に長い場合、非アクティブなデバイスに関連するカウント値は、第1の所定の範囲に入ることができないだろうが、(第1シナリオにおける第1ネットワークデバイスのような)一時的に範囲外のデバイスに関連するカウント値は、第2の所定の範囲に入ることができるだろうことは、明らかであるだろう。従って、非アクティブなデバイスは、(範囲外のデバイスは、再び範囲内になると、再び前記デバイスのカウント値を増加させるだろうことから)一時的に範囲外のデバイスと容易に区別され得る。従って、第3シナリオの場合は、第1ネットワークデバイスが非アクティブになったことが容易に決定され得る。
期間t0乃至tend全体の間非アクティブであるデバイスも第2の所定の範囲R2内の(時間tendにおける)メッセージカウントを持つことは容易に分かるだろう。
第1ネットワークデバイスがリセットされるときにメッセージカウント値がリセットされる少なくとも1つの実施例において、メッセージカウント値は、期間t0乃至tend内に値の第2の所定の範囲に到達することができないかもしれない。それによって、ネットワーク・ブリッジは、第1ネットワークデバイスが、前記期間の少なくとも或る時点の間、非アクティブであった、又はオフに切り替えられていたことを検出することができるだろう。
第5の線450は、第1ネットワークデバイスが、アクティブであり、正しく動作可能である第4シナリオにおける、第1ネットワークデバイスによって受信されるメッセージ(即ち、第1カウント値)を表している。ネットワーク・ブリッジによって送信されるメッセージ数は、第1シナリオのものと同じである。第4シナリオにおける前記期間後、第1ネットワークデバイス100によって受信されるメッセージ数は、第4メッセージカウント値m4である。
第4メッセージカウント値m4は、非常に高く、メッセージ送信値mtに近い又は実質的に等しい。第1ネットワークデバイスは、現在、アクティブであり、ネットワークの範囲内にあるが、(例えば、ノイズのために)第1ネットワークデバイスによってメッセージの全ては受信されないかもしれないことは明らかである。
第4メッセージカウント値m4がネットワーク・ブリッジのプロセッサ210に送られるとき、プロセッサは、第4メッセージカウント値が、第3の所定の範囲R3内であると決定し、それによって、第1ネットワークデバイスが、少なくとも期間t0乃至tendにおいては到達可能であったと決定する。
従って、少なくとも1つの実施例において、第1ネットワークデバイスが、到達可能であるかどうかを決定するために、更に、第3の所定の範囲を基準として、第1ネットワークデバイスの状態が決定され得ることは明らかであるだろう。
第1メッセージカウント値m1、第2メッセージカウント値m2、第3メッセージカウント値m3及び第4メッセージカウント値は、単に、異なるシナリオ又はバージョンにおける期間(t0乃至tend)後の最終メッセージカウント値を表しているに過ぎないことは明らかであるだろう。換言すれば、それらは、時間tendにおける第1カウント値の異なる例を表している。
幾つかの実施例においては、第1ネットワークデバイスに供給するためのメッセージは、ネットワーク・ブリッジによって周期的にしか送信されず、メッセージカウント値は、周期的な間隔でプロセッサ210に送られる。このような実施例においては、ネットワーク・ブリッジによって常に既知の数のメッセージが送信されるだろうことから、第1、第2及び/又は第3の所定の範囲は、絶対的なもの(例えば、一定)であり得る。
実施例においては、ネットワーク・ブリッジ200は、第1ネットワークデバイスに供給するためにブロードキャストされるメッセージ数を示すメッセージ送信値(即ち、時間tendにおける第2カウント値)を、例えば、ブリッジメモリ220に記憶し得る。プロセッサ210は、メッセージカウント値を受信し次第、少なくとも値の第1の所定の範囲を動的に決定するために、このメッセージ送信値を用い得る。
従って、所定の範囲は、所定の期間においてネットワーク・ブリッジによって第1ネットワークデバイスに供給するためにブロードキャストされるメッセージのパーセント値であり得る。
例えば、第1の所定の範囲は、ネットワーク・ブリッジによって第1ネットワークデバイスに供給するために送信されるメッセージの10%と90%との間であり得る。換言すれば、メッセージカウント値mcが、メッセージ送信値の10分の1(即ち、0.1 × mt)とメッセージ送信値の10分の9(即ち、0.9 × mt)との間である場合には、第1ネットワークデバイスは、ネットワークの範囲外にあることから到達不可能であると決定される。
他の実施例においては、第1の所定の範囲は、メッセージ送信値の15%と85%との間、又はメッセージ送信値の20%と80%との間である。メッセージ送信値を基準とした他のあり得る範囲は、容易に分かるだろう、例えば、30%と80%との間、20%と90%との間、5%と95%との間などである。
第2の所定の範囲は、例えば、メッセージ送信値mtの0%と10%との間であり得る。(メッセージ送信値を基準とした)第2の所定の範囲の他のあり得る範囲は、当然、容易に分かるだろう、例えば、0%と5%との間、0%と15%との間、0%と20%との間である。好ましくは、第2の所定の範囲の下方境界は0%である。なぜなら、このことは、反応しない(即ち、非アクティブである)デバイスをより正確に識別するだろうからである。上方境界は、ネットワークデバイスの特性に基づいて決定されることができ、例えば、「スリープ状態」のデバイスは、依然として、限られた数のメッセージを受信することができるかもしれないが、それでも、非アクティブとみなされ得る。
第3の所定の範囲は、例えば、メッセージ送信値mtの90%と100%との間であり得る。(メッセージ送信値を基準とした)第3の所定の範囲の他のあり得る範囲は、当然、容易に分かるだろう、例えば、80%と100%との間、85%と100%との間、95%と100%との間である。
第3の所定の範囲の上方境界は、好ましくは、100%である。なぜなら、これは、メッセージを受信することに完全に成功するデバイスに相当するだろうからである。第3の所定の範囲の下方境界は、例えば、チャネルのノイズに依存し得る。なぜなら、デバイスは、正しく動作可能であり、単に、一時的にノイズが多いチャネル内にあるに過ぎないかもしれないからである。下方境界は、実施例においては、更に、受信されるメッセージ数のカウントにおけるわずかなエラー、及びメッセージの受信におけるごくわずかなエラーから成り得る。
所定の期間は、最後のリセットメッセージがデバイスに送られたときからの時間の長さ、又は絶対的な期間(例えば、直前の5分)であり得る。幾つかの実施例においては、所定の期間は、第1ネットワークデバイスの最後のリセット以降の(例えば、第1ネットワークデバイスが最後にオンに切り替えられたときからの)、又はネットワーク・ブリッジの最後のリセット以降の、時間の長さである。
それ故、本発明による実施例は、第1ネットワークデバイスの状態を、メッセージカウント値(即ち、第1カウント値)及びメッセージ送信値(即ち、第2カウント値)を基準として容易に決定することを可能にする。とりわけ、プロセッサは、有利なことには、高い確率の正確度で、第1ネットワークデバイスの障害の原因、例えば、第1ネットワークデバイスがネットワークの範囲外にあったかどうか、又はデバイスが非アクティブであったかどうかを検出し得る。
第1ネットワークデバイスがネットワークの範囲外にあるかどうかの検出を有する他の実施例は、有利なことには、第1ネットワークデバイスの障害の原因の検出において付加的な機能を可能にする。
メッセージカウント値は、(例えば、第1ネットワークデバイスを介して転送されるメッセージを含む)第1ネットワークデバイスが受信するメッセージの総数を示してもよく、又は単に、受信される第1ネットワークデバイス用のメッセージの数(即ち、第1ネットワークデバイスを対象としたデータの量又はメッセージだけのカウント)を示してもよい。
本発明の第2実施例によるプロセッサは、第2実施例によるプロセッサを有するネットワーク・ブリッジ200、第1ネットワークデバイス100及び第2ネットワークデバイス150を明らかにしている図6を参照すれば理解されるだろう。
第1ネットワークデバイス100は、ここでも、発光素子104、デバイスプロセッサ101、デバイスメモリ102、デバイス入力モジュール105及びデバイス送受信機103を備える無線接続可能なランプとして実施される。
ネットワーク・ブリッジ200は、本発明の第1実施例のようなプロセッサ210、ブリッジメモリ220及びブリッジ送受信機230を有する。
第2ネットワークデバイスも、第1ネットワークデバイスと同様に実施され、即ち、第2ネットワークデバイスは、関連するデバイス送受信機153、デバイスプロセッサ151、デバイスメモリ152及び発光素子154を有する。第2ネットワークデバイスは、第1ネットワークデバイスにメッセージを送る又は転送するよう適応される。
第1及び第2ネットワークデバイスは、両方とも、各々の時間値の最後のリセットから過ぎた時間(即ち、最後のリセットからの時間)を示す各々のカウント値を生成するよう適応される。即ち、カウント値は、カウント値が最後にリセットされたときから過ぎた時間を測定する。
換言すれば、第1ネットワークデバイスは、第1カウント値の最後のリセットから過ぎた時間を表す第1カウント値と関連する。第2ネットワークデバイスは、第2カウント値の最後のリセットから過ぎた時間を表す第2カウント値と関連する。
第1カウント値は、第1ネットワークデバイスが非アクティブになるとリセットされるが、デバイスがネットワークの範囲外に出てもリセットされない。同様に、第2カウント値は、第2ネットワークデバイスが非アクティブになるとリセットされるが、ネットワークの範囲外に出てもリセットされない。
カウント値は、特定のクロックにおいて動作するカウンタによって決定され得る。他の実施例においては、カウント値をリセットすると、絶対的な時間(即ち、時刻を基準としたもの)が記憶されてもよく、カウント値は、この記憶された絶対的な時間及び現在の絶対的な時間を基準として決定される。
第2ネットワークデバイスによって第1ネットワークデバイスにメッセージが送信される(例えば、転送される)ときはいつも、メッセージの送信時の第2カウント値のサンプルがメッセージに付加される。このような時間値は、メッセージのための相対タイムスタンプを表すと理解され得る。
第1ネットワークデバイスによってメッセージが受信されるときはいつも、メッセージの受信時の第1カウント値のサンプルが、メッセージに含まれる第2カウント値(即ち、送信側のタイムスタンプ)のサンプルと一緒に記憶される。
換言すれば、第2ネットワークデバイスから第1ネットワークデバイスにメッセージが送信されるときは、(送信時間における)第2カウント値が第1ネットワークデバイスに送られ、第1ネットワークデバイスは、(受信時間における)第1カウント値も記憶する。
第1ネットワークデバイスは、少なくとも2つの連続する送信/受信メッセージのための各々のサンプリングされたカウント値を記憶するよう適応される。従って、第2ネットワークデバイスには、少なくとも、第1時間値t1(第1メッセージの送信時間値)、第2時間値t2(第1メッセージの受信時間値)、第3時間値t3(第2メッセージの送信時間値)、及び第4時間値t4(第2メッセージの受信時間値)が記憶される。
第1及び第3時間値は、第2カウント値の異なるサンプルであるとみなされ得る。第2及び第4時間値は、第1カウント値の異なるサンプルであるとみなされ得る。第1、第2、第3及び第4時間値の各々は、ネットワーク・ブリッジのブリッジメモリに記憶され得る。
記憶された時間値に基づいて差分値sdiffが算出される。これは例えば以下の式を用いることによってなされ得る。
Δtt = t3 - t1 (1)
Δtr = t4 - t2 (2)
sdiff = Δtt - Δtr = (t3 - t1) - (t4 - t2) = (t3 - t4) - (t1 - t2) (3)
Δttは、第2メッセージの送信時の第2カウント値と、第1メッセージの送信時の第2カウント値との間の差である。Δtrは、第2メッセージの受信時の第1カウント値と、第1メッセージの受信時の第1カウント値との間の差である。
第1及び第2ネットワークデバイスは、各々、受信差分値Δtr及び送信差分値Δttと関連し得る。受信差分値は、第2メッセージの受信時の第1ネットワークデバイスの最後のリセットからの時間と、第1メッセージの受信時の第1ネットワークデバイスの最後のリセットからの時間との間の差である。送信差分値は、第1メッセージの送信時の第2ネットワークデバイスの最後のリセットからの時間と、第2メッセージの送信時の第2ネットワークデバイスの最後のリセットからの時間との間の差である。
差分値は、送信差分値Δttと受信差分値Δtrとの間の差であるよう決定される。
換言すれば、式3においても確認できるだろうように、差分値はまた、第1算出差(t1 - t2)及び第2算出差(t3 - t4)と関連する。第1算出差は、第1メッセージの送信時の送信機のリセットからの時間と、第1メッセージの受信時の受信機のリセットからの時間との間の差である。第2算出差は、第2メッセージの送信時の送信機のリセットからの時間と、第2メッセージの受信時の受信機のリセットからの時間との間の差である。
それによって、差分値は、第2算出差と第1算出差との間の差であるよう別のやり方で決定され得る。
差分値に基づいて、第1ネットワークデバイスの状態が決定されることができ、随意に、第2ネットワークデバイスの状態が決定されることができる。
例えば、差分値がゼロである場合には、両方のデバイスが、正しく動作しており、リセットされていないと決定される。これは、メッセージの間でリセットされているデバイスがなく、メッセージの(送信機を基準とした)2つの送信の間の時間差と、メッセージの(受信機を基準とした)2つの受信の間の時間差とが同じであるからである。
差分値がゼロより大きい場合には、第1ネットワークデバイスが、メッセージの間にリセットされたと決定される。これは、第2メッセージの受信時の(受信機を基準とした)リセットからの時間と、第1メッセージの受信時の(受信機を基準とした)リセットからの時間との間の差が、第2メッセージの送信時の(送信機を基準とした)リセットからの時間と、第1メッセージの送信時の(送信機を基準とした)リセットからの時間との間の差より少ないからである。
第1ネットワークデバイスがリセットされたときには、第1ネットワークデバイスのための第1カウント値が、第1メッセージの受信時間と第2メッセージの受信時間との間にリセットされているので、第4時間値と第2時間値との間の差は、第3時間値と第1時間値との間の差より少ないだろうことは、明らかである。
差分値がゼロ未満である場合には、第2ネットワークデバイスが、メッセージの間にリセットされたと決定される。これは、第2メッセージの送信時の(送信機を基準とした)リセットからの時間と、第1メッセージの送信時の(送信機を基準とした)リセットからの時間との間の差が、第2メッセージの受信時の(受信機を基準とした)リセットからの時間と、第1メッセージの受信時の(受信機を基準とした)リセットからの時間との間の差より少ないからである。
更に、差分値がゼロより大きい場合には、第1ネットワークデバイスが、ネットワークパフォーマンス低下の原因であると決定される。更に、差分値がゼロ未満である場合には、第1ネットワークデバイスが、少なくとも部分的に第2ネットワークデバイスと正しく通信することができないと決定される。
このようにして、第1ネットワークデバイスの状態を決定すること、及び随意に、第2ネットワークデバイスの状態を決定することは、有利なことには、第1/第2ネットワークデバイスのリセットを容易に認識することを可能にする。
簡略化された実施例においては、差分値は、単に、第1算出差又は第2算出差のうちの一方だけであり得る。換言すれば、差分値は、第1ネットワークデバイスへの第1メッセージの送信時の第2ネットワークデバイスのリセットからの時間と、第1メッセージの受信時の第1ネットワークデバイスのリセットからの時間との差(例えば、t1 - t2)であり得る。
この簡略化された実施例は、有利なことには、より少ないメモリの使用しか必要とせず、それによって、使用中により少ない電力しか消費しない。しかしながら、それは、第1及び/又は第2ネットワークデバイスのリセットの時間を決定する精度は低い。
少なくとも1つの実施例において、ネットワーク・ブリッジは、第2ネットワークデバイスの役割を果たしてもよく、ネットワーク・ブリッジは、第1ネットワークデバイスから及び第1ネットワークデバイスにメッセージを送るよう適応されることは明らかであるだろう。
第1ネットワークデバイスの状態の決定、及び随意の第2ネットワークデバイスの状態の決定は、本発明の実施例によるプロセッサによって実施される。このようなプロセッサは、例えば、第1ネットワークデバイス100又はネットワーク・ブリッジ200内に配置され得る。ネットワーク・ブリッジ内に配置される場合、ネットワーク・ブリッジは、第1ネットワークデバイスから差分値を受信するよう適応されてもよく、又は差分値を算出するために、第1及び第2ネットワークデバイスから、第1及び第2時間値、並びに随意に、第3及び第4時間値を個々に受信するよう適応されてもよい。
少なくとも1つの実施例においては、デバイスの状態を決定するための、ゼロを基準とした誤差マージンがあり、故に、比較のための絶対値としてゼロが用いられる必要がない。差分値が、ほぼゼロ(例えば、-x ≦ 差分値 ≦ x)であり、ここで、xが、適切な範囲を与える適切な値であるとき、デバイスの状態は、正しく動作可能であると決定され得る。これは、有利なことには、第1ネットワークデバイス、及び随意に、第2ネットワークデバイスの状態の誤った決定の確率が減らされるので、ネットワークの信頼性を確保する。例として、差分値がゼロにかなり近い(例えば、ゼロ未満である)ときには、第1及び第2ネットワークデバイスは、正しく動作可能であると決定される。
少なくとも1つの他の実施例においては、ネットワーク・ブリッジ200は、カウント値を、ゼロ又はネットワークにおいて既知の別の値にリセットするために、第1ネットワークデバイス100及び第2ネットワークデバイス150に第2リセット信号を送信するよう適応される。これは、有利なことには、デバイスが同期されたカウント値を持つことを可能にし、それによって、第1ネットワークデバイス、及び随意に、第2ネットワークデバイスの状態の誤った決定の確率を減らす。
幾つかの他の実施例においては、ネットワークデバイスの適切な同期を確実にするために、第1ネットワークデバイス100及び第2ネットワークデバイス150が最初に使用可能にされるときに、ネットワーク・ブリッジ200によって第2リセット信号がブロードキャストされ得る。
ネットワーク・ブリッジ200は、随意に、ユーザ入力に応じて第2リセット信号を送信するよう適応され得る。このメカニズムは、有利なことには、(例えば、既知の及び/又は制御されたアクションに起因する)既知のエラーであって、前記既知のエラーの結果が更に広められる必要がない既知のエラーをユーザが「クリアする」ことを可能にする。
随意に、各デバイスは、前記デバイスが、オフライン又はスリープモードであったと決定することができる場合には、前記デバイス自身のカウント値をリセットし得る。これは、デバイスが、能動的にネットワークにおける前記デバイスの役割を果たすことを可能にする。
幾つかの実施例においては、メッセージの送信及び/又は受信後にカウント値がリセットされる。
プロセッサ210は、決定された、第1ネットワークデバイス、及び随意に、第2ネットワークデバイスの状態に基づいて、ユーザのための情報を生成するよう適応され得る。この情報は、情報のビジュアル表現を表示するよう適応されるビジュアル出力デバイスに送られ得る。幾つかの実施例においては、情報は、更に又はさもなければ、第1ネットワークデバイスの状態の(例えば、音声合成を用いる)音声指示を出力することが可能であるよう適応されるオーディオ出力デバイスに送られる。他の又は更なる実施例においては、情報は、同様に/更に、第1ネットワークデバイスの状態に関する機械的警報を出力するよう適応される機械的フィードバックデバイス(例えば、機械振動子)に送られる。ビジュアル出力デバイス及び/又はオーディオ出力デバイス及び/又は機械的フィードバックデバイスは、例えば、ネットワーク・ブリッジ又は別の外部デバイス(例えば、ネットワークに接続されるネットワークデバイス)内に配置され得る。
本発明の実施例によるプロセッサは、メッセージカウント値と、第1ネットワークデバイスに関連する差分値との両方を確認するよう適応され得る。第1ネットワークデバイスの状態は、メッセージカウント値と差分値との両方に基づいて決定され得る。或る例示的な実施例においては、第1ネットワークデバイスは、(メッセージカウント値が第1の所定の範囲内にある場合には)ネットワークの範囲外にあるが、(差分値がゼロである場合には)メッセージの間にリセットされていないと決定され得る。
プロセッサ210は、更に、第1ネットワークデバイス100のリセットの回数を示すリセット値をカウントするよう適応され得る。例えば、プロセッサは、第1デバイスがメッセージの間にリセットされたと決定される回数をカウントしてもよく、即ち、差分値がゼロより大きい回数を累積的にカウントしてもよい。他の実施例においては、第1ネットワークデバイスは、電源をオンにされる(例えば、リセットされる)のに応じてプロセッサに指示を供給するよう適応され得る。第1ネットワークデバイスによって送られる指示の数は、第1ネットワークデバイスがリセットされた回数を算出し、それによって、リセット値を確認するために、プロセッサによってカウントされ得る。幾つかの実施例においては、プロセッサは、メッセージカウント値が値の第2の所定の範囲内にあると決定される回数をカウントし得る。
他のこのような実施例においては、プロセッサは、第1ネットワークデバイスのリセット値に基づいて第1ネットワークデバイスの状態を決定するよう適応され得る。例えば、所定の期間(例えば、1時間)内の第1ネットワークデバイスのリセット値が非常に高い(例えば、少なくとも20回より多くのリセット、例えば、40回より多くのリセットを示す)場合には、プロセッサは、第1ネットワークデバイスは正常に機能していないと決定し得る。代わりに又は更に、プロセッサは、第1ネットワークデバイスのユーザが、第1ネットワークデバイスを周期的にオン及びオフにさせることを望んでいると決定し得る。
リセット値に基づく第1ネットワークデバイスの状態の決定は、有利なことには、状態決定の信頼性を高めるだけでなく、第1ネットワークデバイスの状態についての更なる情報を供給するだろう。
ここで図7を参照すると、本発明の実施例によるプロセッサ210を有するネットワーク・ブリッジの他の実施例が記載されている。
ネットワーク・ブリッジ200は、更に、モバイルデバイス700と通信するよう適応される。モバイルデバイス700は、モバイルアンテナ710と、ビジュアル出力ディスプレイ720とを有する。ビジュアル出力ディスプレイは、例えば、タッチスクリーンディスプレイ又はLEDのアレイを含み得る。
モバイルデバイス700は、ネットワーク・ブリッジに、少なくとも1つの接続されたネットワークデバイスのためのメッセージを生成させるために、ネットワーク・ブリッジ200に(例えば、ネットワークを介して)命令を送るよう適応される。モバイルデバイスは、それによって、前記少なくとも1つの接続されたネットワークデバイスを制御するよう適応される。
モバイルデバイスはまた、決定された第1ネットワークデバイスの状態に基づくユーザのための情報をプロセッサ210から受信するよう適応される。
モバイルデバイス700は、ユーザのための情報、及び随意に、第1ネットワークデバイスの状態のビジュアル表現をビジュアル出力ディスプレイ720においてユーザに表示するよう適応される。
例えば、第1ネットワークデバイスの状態が、第1ネットワークデバイスが非アクティブである(即ち、オフに切り替えられている)ことから到達不可能であると決定される場合、ビジュアル出力ディスプレイが、このことを示すものをユーザに供給する。
或る実施例においては、モバイルネットワークデバイスは、ネットワーク1を制御するためのアプリケーションを実行するために命令を実行するよう適応されるコンピューティングデバイス(例えば、スマートフォン、タブレット又はスマートウォッチ)である。モバイルネットワークデバイスは、アプリケーションが、ユーザに表示されることができ、ユーザが前記アプリケーションと対話することを可能にするようなユーザインタラクティブディスプレイ(例えば、タッチスクリーンディスプレイ)を含み得る。
このような実施例の第1シナリオにおいては、ユーザは、(任意のネットワークデバイスを制御する意図で)アプリケーションを開き、第1ネットワークデバイスが使用不可にされていることを示す通知(例えば、感嘆符)を見るかもしれないユーザが通知をクリックするとき、モバイルネットワークデバイスは、第1ネットワークデバイスが、オフにされ、それによって、第1ネットワークデバイスを使用不可にしている可能性があることを、ユーザに知らせ得る。
別のシナリオにおいては、ユーザは、第1ネットワークデバイス100をネットワーク1の範囲外に移動させ得る。第1ネットワークデバイスが範囲外に移動されるとき、アプリケーションは、コンフリクトがあるころを示す通知を示す。ユーザは、例えば、前記ユーザのネットワークの範囲を拡大するために(例えば、ネットワークの範囲内にあり、且つ第1ネットワークデバイスに対してより近い)別のネットワークデバイスをオンに切り替えるよう指示され得る。指示に従うと、第1ネットワークデバイスは、このより近いデバイスに接続し、それによって、ネットワークとの接続を再確立し得る
幾つかの実施例においては、モバイルデバイスは、ビジュアル出力ディスプレイ720に加えて又はビジュアル出力ディスプレイ720の代わりに、オーディオ出力デバイスを含み得る。モバイルデバイスは、第1ネットワークデバイスの状態の(例えば、音声合成を用いる)音声指示を出力するよう適応され得る。
他の又は更なる実施例においては、モバイルデバイスは、第1ネットワークデバイスの状態に関する機械的警報を出力するよう適応される機械的フィードバックデバイス(例えば、機械振動子)を有する。例えば、第1ネットワークデバイスがネットワークの範囲外に持ち出される場合には、モバイルデバイスは1回振動し得るのに対して、第1ネットワークデバイスが非アクティブにされる場合には、モバイルデバイスは2回振動し得る。
他の又は更なる実施例においては、プロセッサは、決定された第1ネットワークデバイスの状態に基づいて或る特定のアクションを自動的に実施するよう適応され得る。例えば、第1ネットワークデバイスが、非アクティブである(例えば、オフに切り替えられている)ことから到達不可能であることが決定される場合、プロセッサは、第1ネットワークデバイスに接続することが可能な第2ネットワークデバイスに信号を転送しようとする際に第1ネットワークデバイスを使用しないよう決定し得る。
上記の実施例は、ネットワーク・ブリッジの態様であるので、概してプロセッサについて記述しているが、他の実施例においては、第1ネットワークデバイスが範囲外に出たときに第1ネットワークデバイスが自動的に検出し得るように第1ネットワークデバイスにプロセッサが組み込まれ得ることは容易に分かるだろう。
例えば、このようなプロセッサを有する第1ネットワークデバイスは、(例えば、メッセージは周期的にしか受信されないので)特定の期間内に100個のメッセージを受信するはずであることを知っていてもよい。デバイスが範囲外にあったかもしれないことを示す値の第1の所定の範囲は、約10乃至90個のメッセージ、約15乃至85個のメッセージ、約20乃至80個のメッセージなどのうちの1つであり得る。例えば、60個しかメッセージを受信しないと、プロセッサは、第1ネットワークデバイスは範囲外に持ち出されたと決定することができ、それによって、ユーザに通知し得る。第1ネットワークデバイスは、ビジュアル出力デバイスを有してもよく、前記情報の表現をビジュアル出力デバイスにおいてユーザに表示してもよい。他の実施例においては、第1ネットワークデバイスの状態の指示は、オーディオ出力デバイス(例えば、スピーカ)又は機械的フィードバックデバイス(例えば、機械振動子)を通して供給される。
本発明による少なくとも1つの実施例においては、プロセッサ210は、複数のデバイス(例えば、第1の付加的なネットワークデバイス、第2の付加的なネットワークデバイスなど)の状態を上記のように決定するよう適応される。このような実施例においては、プロセッサは、それによって、任意のネットワークデバイスをどのように制御すべきかを考慮する際に複数のネットワークデバイスの各々の状態を明らかにし得る。
例として、単一の部屋の中に位置する第1、第2及び第3ネットワークデバイス、並びに本発明の実施例によるプロセッサを含むネットワーク・ブリッジを有するネットワークを考える。各ネットワークデバイスは、各々の発光素子を有する。ユーザは、典型的には、例えば、第1、第2及び第3ネットワークデバイスの各々が(それらの発光素子から)それらの最大輝度の特定のパーセント値(例えば、60%)において光を出力することを必要とし得る、その部屋の特定の平均輝度(例えば、約500lux)を望み得る。ネットワーク・ブリッジが、第1及び第2ネットワークデバイスは、正しく動作可能である(即ち、到達可能である)が、第3ネットワークデバイスは、ネットワークの範囲外に持ち出された又はリセットされた/非アクティブになったと決定するシナリオがあり得る。ネットワーク・ブリッジは、それに応じて、自動的に、部屋の所望の平均輝度を維持するよう第1及び第2ネットワークデバイスにそれらの最大輝度のより高いパーセント値(例えば、90%)において光を出力させ得る。
プロセッサは、他の情報に依存して第1ネットワークデバイスの状態を決定するよう適応されてもよく、これは、例えば、第1ネットワークデバイスの位置、ネットワークにおける第1ネットワークデバイスの信号強度、ネットワーク内のネットワークデバイスの数、第1ネットワークデバイスの寿命、第1ネットワークデバイスの使用周波数、ネットワークのチャネル特性(例えば、周波数又はチャネル符号化であって、デバイスが前記周波数又はチャネル符号化を用いて通信する周波数又はチャネル符号化)、第1ネットワークデバイスとネットワーク・ブリッジとの間のネットワークデバイスの数、及び第1ネットワークデバイスのネットワーク・ブリッジからの距離のうちの少なくとも1つを含み得る。付加的な情報のこれらの例の各々が、例えば、より高い精度及び/又は成功確率で第1ネットワークデバイスの状態を決定することを可能にし得る。
図8を参照すると、ネットワークにおける第1ネットワークデバイスの状態を決定する第1の方法8が記載されている。
方法8は、第1ネットワークデバイスに関連するメッセージカウント値を確認するステップ810と、メッセージカウント値に基づいて第1ネットワークデバイスの状態を決定するステップ815とを有し、ステップ820において、メッセージカウント値が第1の所定の範囲内にあると決定される場合には、ステップ825において、第1ネットワークデバイスは、ネットワークの範囲外にあったことから到達不可能であったと決定される。
随意に、ステップ830において、第1カウント値が第2の所定の範囲内にあると決定される場合には、ステップ835において、第1ネットワークデバイスは、非アクティブであることから到達不可能であると決定される。
他の実施例においては、ステップ840において、第1カウント値が第3の所定の範囲内にあると決定される場合には、ステップ845において、第1ネットワークデバイスは、到達可能であると決定される。
図9を参照すると、ネットワークにおける第1ネットワークデバイスの状態を決定する第2の方法9が記載されている。
方法9は、ネットワークの第1ネットワークデバイスの第1カウント値と第2ネットワークデバイスの第2カウント値との間の差に関連する差分値を確認するステップ910と、更に差分値に基づいて第1ネットワークデバイスの状態を決定するステップ915とを有する。
第1カウント値は、第1ネットワークデバイスによって第2ネットワークデバイスから受信される少なくとも1つのメッセージ(例えば、受信されるメッセージ数のカウント、又は2つのメッセージ受信の間の「リセットからの時間」における差)と関連し得る。第2カウント値は、第2ネットワークデバイスによって第1ネットワークデバイスのために送信される少なくとも1つのメッセージ(例えば、送信されるメッセージ数のカウント、又は2つのメッセージ送信の間の「リセットからの時間」における差)と関連し得る。
幾つかの他の実施例においては、差分値は、第1ネットワークデバイスによって第2ネットワークデバイスに送信されるメッセージ数と、第2ネットワークデバイスによって受信されるメッセージ数との間の差の測定値である。換言すれば、第1カウント値は、第1ネットワークデバイスによって第2ネットワークデバイスに送信されるメッセージ数であってもよく、第2カウント値は、第2ネットワークデバイスによって受信されるメッセージ数であってもよい。
幾つかの実施例においては、第1カウント値は、第1メッセージの受信時の第1ネットワークデバイスの最後のリセットからの時間と、第2メッセージの受信時の第1ネットワークデバイスの最後のリセットからの時間との間の差であってもよく、第1ネットワークデバイスは、第2ネットワークデバイスから第1及び第2メッセージを受信する。第2カウント値は、第1メッセージの送信時の第2ネットワークデバイスの最後のリセットからの時間と、第2メッセージの送信時の第2ネットワークデバイスの最後のリセットからの時間との間の差であってもよく、第2ネットワークデバイスは、第1ネットワークデバイスに第1及び第2メッセージを送る。
典型的には、ステップ920において、差分値がゼロより大きいと決定される場合には、ステップ925において、第1ネットワークデバイスが、ネットワークパフォーマンス低下の原因であると決定され、ステップ930において、差分値がゼロ未満であると決定される場合には、ステップ935において、第1ネットワークデバイスは、少なくとも部分的に第2ネットワークデバイスと通信することができないと決定され、ステップ940において、差分値がゼロであると決定される場合には、ステップ945において、第1ネットワークデバイスは、正しく動作していると決定される。
考えられる実施例においては、メッセージカウント値及び差分値の両方を確認するステップと、メッセージカウント値及び差分値に基づいて第1ネットワークデバイスの状態を決定するステップとを有する方法が提供される。例えば、第1ネットワークデバイスの状態は、(メッセージカウント値が第3の所定の範囲内にある場合には)アクティブであるが、(差分値がゼロ未満である場合には)第2ネットワークデバイスと通信することができないと決定され得る。
少なくとも1つの実施例においては、コンピュータプログラム製品であって、前記プログラムがプロセッサを有するコンピューティングデバイスにおいて実行されるときには図8を参照して記載したような方法のステップの全てを実施するよう適応されるコンピュータプログラムコード手段を有するコンピュータプログラム製品が提供される。
少なくとも1つの実施例においては、コンピュータプログラム製品であって、前記プログラムがプロセッサを有するコンピューティングデバイスにおいて実行されるときには図9を参照して記載したような方法のステップの全てを実施するよう適応されるコンピュータプログラムコード手段を有するコンピュータプログラム製品が提供される。
プロセッサは、必要とされる様々な機能を実施するよう、ソフトウェア及び/又はハードウェアを用いる多くの方法で実施され得る。プロセッサは、例えば、必要とされる機能を実施するようソフトウェア(例えば、マイクロコード)を用いてプログラムされ得る1つ以上のマイクロプロセッサを用いる。しかしながら、プロセッサを用いて又は用いずに実施されるコントローラが用いられてもよく、コントローラはまた、幾つかの機能を実施する専用のハードウェア、及び他の機能を実施するプロセッサ(例えば、1つ以上のプログラムされたマイクロプロセッサ及び関連回路)の組み合わせとして実施されてもよい。
本開示の様々な実施例において用いられ得るコントローラ構成要素の例は、従来のマイクロプロセッサ、特定用途向け集積回路(ASIC)、及びフィールド・プログラマブル・ゲート・アレイ(FPGA)を含むが、これらに限定されない。
様々な実施例において、プロセッサ又はコントローラは、RAM、PROM、EPROM及びEEPROMのような揮発性及び不揮発性コンピュータメモリなどの1つ以上の記憶媒体と関連づけられ得る。記憶媒体は、1つ以上のプロセッサ及び/又はコントローラにおいて実行されるときに必要とされる機能を実施する1つ以上のプログラムでコード化され得る。様々な記憶媒体は、記憶媒体に記憶されている1つ以上のプログラムがプロセッサ又はコントローラにロードされ得るように、プロセッサ若しくはコントローラ内に取り付けられ得る、又は可搬型であり得る。
請求項に記載の発明を実施する当業者は、図面、明細及び添付の請求項の研究から、開示されている実施例に対する他の変形を、理解し、達成し得る。請求項において、「有する」という用語は、他の要素又はステップを除外せず、単数形表記は、複数の存在を除外しない。単に、特定の手段が、相互に異なる従属請求項において引用されているという事実は、これらの手段の組み合わせが有利になるように用いられることができないことを示すものではない。請求項におけるいかなる参照符号も、範囲を限定するものとして解釈されてはならない。