以下、本発明の一実施の形態について、図面を参照して説明する。尚、各図において同一箇所については同一の符号を付し、重複した説明は省略する。
<第1の実施形態>
図1に、本発明の第1の実施形態に係る通信システムの構成を示す。通信システムは、起動ノード130と第1スイッチ150と起動ノード側アダプタ110と被起動ノード側アダプタ120と第2スイッチ160と被起動ノード140とを備えるシステムである。
第1スイッチ150と起動ノード側アダプタ110との間、起動ノード側アダプタ110と被起動ノード側アダプタ120との間、及び被起動ノード側アダプタ120と第2スイッチ160との間は、PoE(Power over Ethenet)を備えたイーサネット(登録商標)で接続されている。起動ノード130と第1スイッチ150との間と、第2スイッチ160と被起動ノード140との間とは、イーサネット(登録商標)170で接続される等していても良いし、接続されていなくても良い。図1では、イーサネット(登録商標)170で接続されている例を示した。
なお、図1には、起動ノード130、被起動ノード140それぞれ1つを示しているが、起動ノード130、被起動ノード140いずれも台数に制限は無い。
起動ノード130は、後述するように、被起動ノード140を起動させるために、被起動ノード140の、ノードアドレスを指定した起動信号(無線信号)を、近距離無線送信インタフェースを用いて送信する。被起動ノードは、自身のノードアドレスを指定された起動信号を受信すると、起動する。図1の点線の円180Aには、起動ノード130の近距離無線送信インタフェースによる起動信号到達範囲を示している。起動信号は、利用する近距離無線の仕様によってその到達範囲が物理距離によって制限される(例えば1メートルや10メートル等)。図1に示すように、起動ノード130が送信した起動信号の到達範囲内に、被起動ノード140が存在しない。
本実施形態では、起動ノード130が送信した起動信号を、起動ノード側アダプタ110とイーサネット(登録商標)170と被起動ノード側アダプタ120を介して、被起動ノード140に送信し、被起動ノード140を起動させるものである。すなわち、起動ノード130が送信した起動信号を、起動信号到達範囲内にある起動ノード側アダプタ110に送信し、起動ノード側アダプタ110が、その起動信号のパターンに応じた電力信号を生成して、PoE機能を備えたイーサネット(登録商標)で被起動ノード側アダプタ120に送信する。そして、起動電力信号を受け取った被起動ノード側アダプタ120が、起動電力信号のパターンに応じた起動信号(起動ノード130が送信した起動信号と同一パターンの信号)を生成し、近距離無線送信インタフェースにより被起動ノード140に送信する。尚、図1の点線の円180Bで示したように、被起動ノード側アダプタ120の近距離無線送信インタフェースによる起動信号到達範囲の中には、被起動ノード140の近距離無線受信インタフェースが、存在している。このため、 被起動ノード側アダプタ120の近距離無線送信インタフェースから、被起動ノード140に対して被起動ノード140のノードアドレスを指定した起動信号を送信すると、被起動ノード140は起動する。
図2、図3、図4には、通信システムの各装置の構成を示す。
図2(a)、(b)、(c)、(d)は、それぞれ、起動ノード130、被起動ノード140、第1スイッチ150、第2スイッチ160それぞれの概略構成を示すブロック図である。
起動ノード130は、データ通信用のデータ通信インタフェース131と、起動信号を送信するための近距離無線送信インタフェースである起動信号送信部132とを有するノードである。起動ノード130は、起動信号送信部132を用いて、被起動ノード140のノードアドレスを指定した起動信号(無線信号)を送出し、後述する起動ノード側アダプタ110と被起動ノード側アダプタ120を介して、起動信号を被起動ノード140に受信させることで、遠隔から被起動ノード140を起動させる。
次に、被起動ノード140の構成を説明する。
被起動ノード140は、データ通信用のデータ通信インタフェース141と、起動信号(無線信号)を受信するための近距離無線受信インタフェースである起動信号受信部142を有するノードである。被起動ノード140は、起動ノード130から起動信号を受信し、検出し、起動信号で指定されたノードアドレスと、自身のノードアドレスとが一致すると、起動処理を実行し、起動する(電源オンとなる)。尚、起動信号受信部142は、高感度整流器を備え、受信した起動信号を電力に変換し、被起動ノード140の初期起動の開始指示を行なうために利用する。このような機能を備えることで、被起動ノード140は、起動信号待ち受け時に、起動信号受信部142の電力を消費しない。
次に、第1スイッチ150の説明をする。
第1スイッチ150は、接続された機器(図示しない機器も含む。)間のデータの転送処理を行なう。例えば、第1スイッチ150は、起動ノード130と起動ノード側アダプタ110との間のデータの転送処理を行なう。
第1イーサネット(登録商標)インタフェース151は、接続された機器(図示しない機器も含む。)との間でデータを送受信する。第1イーサネット(登録商標)インタフェース151は、起動ノード130と接続していてもよいし、図示しないその他のノードと接続していても良い。
PoE電力供給部154は、PoEを用いて電力を、第2イーサネット(登録商標)インタフェース152を介して供給する。以下では、PoEを用いて供給、若しくは受け取る電力をPoE電力と称する。
第2イーサネット(登録商標)インタフェース152は、イーサネット(登録商標)を介して起動ノード側アダプタ110との間でデータを送受信するとともに、PoE電力を送信する。
スイッチ処理部153は、第1イーサネット(登録商標)インタフェース151で受信したデータを、第2イーサネット(登録商標)インタフェース152で転送させる制御を行う。若しくは、第2イーサネット(登録商標)インタフェース152で受信したデータを、第1イーサネット(登録商標)インタフェース151で転送させる。
次に、第2スイッチ160の構成を説明する。
第2スイッチ160は、第2スイッチ160に接続された機器(図示しない機器も含む。)間のデータの転送処理を行なう。第2スイッチ160は、例えば、被起動ノード140と被起動ノード側アダプタ120との間のデータの転送処理を行なう。
第1イーサネット(登録商標)インタフェース161は、イーサネット(登録商標)を介して被起動ノード側アダプタ120との間でデータを送受信するとともに、被起動ノード側アダプタ120に対して、PoE電力を送信する。
PoE電力供給部164は、PoE電力を第1イーサネット(登録商標)インタフェース161を介して供給する。
第2イーサネット(登録商標)インタフェース162は、接続されたノードとの間でデータの送受信をする。例えば、被起動ノード140と接続していても良い、図示しないその他のノードと接続していても良い。
スイッチ処理部163は、第1イーサネット(登録商標)インタフェース161で受信したデータを、第2イーサネット(登録商標)インタフェース162で転送させる。また、第2イーサネット(登録商標)インタフェース162で受信したデータを、第1イーサネット(登録商標)インタフェース161で転送させる。
図3は、本発明の第1の実施形態にかかる起動ノード側アダプタ110の構成を示すブロック図である。
起動ノード側アダプタ110の構成を説明する。
起動信号受信部118は、近距離無線通信により起動信号を受信するものである。起動信号受信部118は、起動信号を受信すると、受信した起動信号の信号パターンを、PoE制御部114に通知する。尚、起動信号受信部118は、高感度整流器を備え、起動信号を電力に変換し、起動ノード側アダプタ110の一部、若しくは全体を起動させる機能を備えていても良い。
第1インタフェース111、第2インタフェース117、はそれぞれ、第1スイッチ150及び 被起動ノード側アダプタ120とイーサネット(登録商標)170を介して直接接続して、データ及びPoE電力を受け渡しする通信インタフェースである。
第1データ伝送部112と第2データ伝送部116は、第1インタフェース111、第2インタフェース117を介したデータの送受信を行い、直接接続される第1スイッチ150と 被起動ノード側アダプタ120との間のデータの転送を行うものである。単に結線されているだけで何ら特別な処理は行わないため、これらのデータ転送は起動ノード側アダプタ110が電源OFF状態であっても行われる。
電力受電部113は、PoEにおける受電機能(Powered Device)を備え、第1スイッチ150からPoE電力を受けとる。
PoE制御部114は、起動信号受信部118から起動信号のパターンを受信し、又、電力受電部113が受電したPoE電力を受け取る。そして、起動信号の信号パターン(信号強度等)に応じた電力値の電力(以下、起動電力信号と称する。)を、電力送電部115へと供給する。例えば、PoE制御部114は、起動信号の信号パターンに応じて、電力受電部113が受電したPoE電力(若しくは、受電したPoE電力の電力値を変化させた値)を電力送電部115に供給する場合と供給しない場合とで切り替える。その結果、PoE制御部114は、起動信号の信号パターンに応じて、電力値が0と電力受電部113が受電したPoE電力(若しくは、受電したPoE電力の電力値を変化させた値)とのパターンからなる起動電力信号を生成する。または、PoE制御部114は、起動信号の信号パターンに応じて、電力送電部115に供給する電力値を変化させる。その結果、PoE制御部114は、起動信号の信号パターンに応じて、電力値を変化させたパターンの起動電力信号を生成する。
電力送電部115は、PoEにおける電力供給機能(PSE(Power Sourcing equipment))を備え、 被起動ノード側アダプタ120へPoE電力を供給する。例えば、PoE制御部114から受け取った起動電力信号を送電する。
なお、図示しないがこの他、起動ノード側アダプタ110を管理するための管理部や、これらを動作させるための電源部があってもよい。
次に、図4を用いて、 被起動ノード側アダプタ120について説明する。図4は、本発明の第1の実施形態にかかる被起動ノード側アダプタ120の構成を示すブロック図である。被起動ノードアダプタ120の構成を説明する。
第2インタフェース127、第1インタフェース121、はそれぞれ、第2スイッチ160及び起動ノード側アダプタ110とイーサネット(登録商標)170を介して直接接続して、データ及びPoE電力を受け渡しする通信インタフェースである。
第2データ伝送部126と第1データ伝送部122は、第2インタフェース127、第1インタフェース121を介したデータの送受信を行い、直接接続される第2スイッチ160と起動ノード側アダプタ110との間のデータの転送を行うものである。単に結線されているだけで何ら特別な処理は行わないため、これらのデータ転送は 被起動ノード側アダプタ120が電源OFF状態であっても行われる。
第2電力受電部125は、PoEにおける受電機能(PD(Powered Device))を備え、第2スイッチ160からPoE電力の供給を受ける機能を持つ。受電したPoE電力は、起動信号送信部128やPoE変換部124の動作に利用してもよい。このための電力が不要な場合は、第2電力受電部125は無くても良い(オプションである)。
第1電力受電部123は、PoEにおける受電機能(PD)を備え、起動ノード側アダプタ110からPoE電力(例えば、起動電力電力信号)の供給を受ける。受電する電力はPoE変換部124へと渡す。また、受電する電力は、起動信号送信部128やPoE変換部124の動作に利用してもよい。
PoE変換部124は、第1電力受電部123から起動電力信号を受け取り、起動電力信号の電力の大きさに応じた信号パターンの起動信号を、起動信号送信部128に対して送信指示する。例えば、PoE変換部124は、起動電力信号の電力の大きさに応じて起動信号の信号強度を変化させた起動信号の送信指示をする。例えば、PoE変換部124は、受電した起動電力信号のうち、値が大きい電力に対応して強い信号強度とし、値が小さい電力の値に対応して、弱い信号強度とする起動信号の信号パターンを指示する。あるいは、受電した起動電力信号のうち、閾値以上の電力に対応して、ある値の信号強度とし、閾値以下の電力に対応して、別の値の信号強度とする起動信号の信号パターンを指示する。ここで、PoE変換部124が、送信指示する起動信号の信号パターンは、起動ノード130が送信した起動信号の信号パターンと同一であるようにする。
起動信号送信部128は、近距離無線による起動信号を送信する。起動信号は、時系列に変化する無線信号のパターンで表現されるが、起動信号送信部128はそのパターンを記憶しているわけではなく、PoE変換部124が指示する信号パターン(信号強度の変化、 若しくはオンオフ("1" or "0"))の起動信号を送信する。
なお、図示しないがこの他、 被起動ノード側アダプタ120を管理するための管理部や、これらを動作させるための電源部があってもよい。
図5は、本発明の第1の実施形態にかかる通信システムの動作を示す図である。図6は、本発明の第1の実施形態にかかる通信システムの動作を示すシーケンス図である。次に、図5及び図6を参照して、本発明の第1実施形態にかかるシステムのシーケンス概要を説明する。
本発明の第1実施形態にかかるシステムのシーケンスは、起動ノード130が起動信号を送信し、起動ノード側アダプタ110及び 被起動ノード側アダプタ120を利用しつつ、起動ノード130における起動信号到達範囲180A外に存在する被起動ノード140を起動させるものである。
まず、初期状態における、第1スイッチ150、起動ノード側アダプタ110、被起動ノード側アダプタ120、第2スイッチ160、被起動ノード140の状態を説明する。
初期状態において、第1スイッチ150は、起動ノード側アダプタ110に対するPoEによる電力供給機能 (PSE)を有効にしている。一方、起動ノード側アダプタ110は、PoEによる受電機能(PD)を有効にしていない。この場合、第1スイッチ150は、起動ノード側アダプタ110に対して、電力供給を行なっていない。
初期状態において、起動ノード側アダプタ110は、PoEによる受電機能(PD)を有効にしていない状態である。すなわち、起動ノード側アダプタ110は、第1スイッチ150と、被起動ノード側アダプタ120との間で、単にデータを転送する機能を有する状態である。これは、単にイーサネット(登録商標)ケーブルを接続しているだけの状態である。すなわち、この状態では、起動ノード側アダプタ110は、電力を消費していない。尚、起動ノード側アダプタ110は、初期状態において、PoEによる受電機能(PD)を有効にしていても良い。この場合、起動ノード側アダプタ110は、第1スイッチ150のPSE機能による給電を受け、PoEによる受電機能(PD)によって受電し、近距離無線受信インタフェース(起動信号受信部118)を起動していてもよい。
初期状態において、被起動ノード側アダプタ120は、通信用インタフェースを介して、起動ノード側アダプタ110と、第2スイッチ160との間で、単にデータを転送する状態である。これは、単にイーサネット(登録商標)ケーブルを接続しているだけの状態であり、電力を消費しない。また、起動ノード側アダプタ110と接続される側の通信インタフェースは、PoEによる受電機能(PD)が有効となっている。しかしながら、初期状態においては、起動ノード側アダプタ110から、PoEによる電力供給がないため、起動状態にならず、電力を消費しない。また、被起動ノード側アダプタ120は、初期状態において、第2スイッチ160と接続される側の通信インタフェースのPoEによる受電機能は有効であっても良い。この場合に、第2スイッチ160のインタフェースにおける電力供給機能(PSE)が有効になっていれば、起動ノード側アダプタ110は、スイッチに直接接続される通信用インタフェースにおけるPoEによる受電機能(PD)によって受電することができる。
また、初期状態においては、第2スイッチ160は、 被起動ノード側アダプタ120に対して、PoEによる電力供給機能 (PSE)を有効にしていてもよいし、有効にしていなくてもいずれでも良い。
また、初期状態においては、被起動ノード140は、電源オフ状態である。
次に、初期状態からのシステムの動作を説明する。
まず、起動ノード130が、起動信号送信部132から、被起動ノード140のノードアドレスを指定した起動信号を送出する(S101)。起動信号は、時系列に変化する無線信号の(例えばデジタル("1" or "0")の)パターンで表現される。例えば、無線信号のパターンは、信号強度で表す。
送出された起動信号は、起動ノード側アダプタ110の起動信号受信部118が受信する。起動ノード側アダプタ110は、起動信号を受信すると、起動信号を高感度整流器によって電力に変換して、起動ノード側アダプタ110を起動する(S102)。このとき、起動ノード側アダプタ110のPoEによる電力受電機能(PD)が有効となる。起動側アダプタ110は、電力受電機能(PD)が有効となると、第1スイッチ150からPoEによる電力供給を受ける。そして、起動ノード側アダプタ110は、受信した起動信号の信号パターンに応じた電力値の電力である起動電力信号を生成し、被起動ノード側アダプタ120に対して、電力供給機能(PSE)で送電する(S103)。
ここで、起動電力信号は、例えば、起動信号のうち、強い信号強度に対して、電力をある値(例えば、第1電力受電部123が受電した電力をそのまま送信。)とし、弱い信号強度に対して、電力を0(即ち、電力を送信しない。)とする。また、起動電力信号は、例えば、起動信号のうち、強い信号強度に対して、大きい電力(送電電圧)、弱い信号強度に対して、小さい電力(送信電圧)として、電力値を変化させる信号でもよい。また、起動電力信号は、閾値以上の信号強度に対して、ある値の電力(送信電圧)とし、閾値以下の信号強度に対して、別の値の電力(送信電圧)とした電力値を変化させるパターンであっても良い。
次に、被起動ノード側アダプタ120は、起動ノード側アダプタ110から送電された起動電力信号によって起動する(S104)。あるいは、第2スイッチ160から供給されるPoEによって既に起動していても良い。この場合、S104はスキップされる。
次に、起動ノード側アダプタ120は、受電した起動電力信号の電力(電圧)のパターン(大きさ)に応じたパターン(強度)の起動信号を生成し、起動信号送信部128により送信する(S105)。
ここで、例えば、受信した起動電力信号が、電力の値がある値と0からなるパターンである場合、起動信号は、ある値の電力に対して、強い信号強度とし、電力0に対して、弱い信号強度の無線信号とする。また、受信した起動電力信号が、電力の値が大きい電力と小さい電力とで電力値を変化させた信号である場合、起動信号は、大きい電力(受電電圧)に対して強い信号強度とし、小さい電力(受電電圧)に対して弱い信号強度の無線信号とする。また、受信した起動電力信号が、閾値以上の電力(受電電圧)と閾値以下の電力(受電電圧)とで電力値を変化させた信号である場合、閾値以上の電力(受電電圧)に対してある値の信号強度とし、閾値以下の電力(受電電圧)に対して、別の値の信号強度の無線信号とする。尚、起動信号アダプタ120が送信する起動信号は、起動ノード130が送信した起動信号と同一のパターンを持つ起動信号となるようにする。
被起動ノード140は、この起動信号を受信し、この信号に含まれるノードアドレスが自身宛であることを検出して起動する(S106)。
次に、起動ノード側アダプタ110の動作と被起動ノード側アダプタ120の動作の詳細を説明する。図7〜図12を用いて説明する。より具体的には、起動ノード側アダプタ110の動作としては、起動信号を受信して、その信号パターンから起動電力信号に変換し、 被起動ノード側アダプタ120へと送信する動作を説明する。また、被起動ノード側アダプタ120の動作としては、起動電力信号を受電し、そのパターンを元に起動信号を送信する動作を説明する。
図7は、本発明の第1の実施形態にかかる起動ノード側アダプタ110の動作を示すフローチャートである。また、図8は、本発明の第1の実施形態にかかる被起動ノード側アダプタ120の動作を示すフローチャートである。また、図9は、起動ノード側アダプタ110の起動信号の受信信号強度と起動電力信号の電圧値の対応関係の第1例を示す図である。また、図10は、被起動ノード側アダプタ120が受電する起動電力信号の電圧値と起動信号の送信強度の対応関係の第1例を示す図である。図11は、起動ノード側アダプタ110起動信号の受信信号強度と起動電力信号の電圧値の対応関係の第2例を示す図である。図12は、被起動ノード側アダプタ120が受電する起動電力信号の強度と起動信号の送信強度の対応関係の第2例を示す図である。
まず、図7に示すように、起動ノード側アダプタ110の起動信号受信部118は、起動信号を受信する(S301)。ここで、起動ノード側アダプタ110は、例えば、初期起動を指示するのための電力を、起動信号受信部118が受信した起動信号を高感度整流器によって電力に変換する方法で取得することができる。また、起動ノード側アダプタ110は、起動信号を受信したことをトリガーとして、電力受電部113のPoEによる受電機能(PD)をONとして、第1スイッチ150から供給される電力(PoE)で、起動信号受信のための最低限の電力を取得して、起動信号を受信することができるようにしても良い。いずれにしても、起動信号を受信したことをトリガーとして、起動信号受信のための電力を取得することができるため、起動ノード側アダプタ110単体では電源設備は不要であり、待機時に電力を消費しなくて済む。
尚、この時、電力受電部113は、PoEにおける電力受電機能(PD)を有効にしており、第1スイッチ150からPoE電力の給電を受ける準備ができているとする。尚、本説明では、電力受電部113は、まだ、受電を開始していないものとするが、受電を開始していても良い。
次に、起動信号受信部118は、起動信号を受信すると、その起動信号のパターンを、PoE制御部114に伝える(S302)。また、起動信号受信部118は、電力受電部113に対して、PoE受電(PD)機能の有効化を指示する(S303)。また、起動信号受信部118は、 PoE制御部114の起動も指示する。
なお、起動ノード側アダプタ110は、起動信号の受信強度がある閾値以下である場合は動作せず、起動信号受信開始後に、この閾値を下回る受信信号強度となった場合、初期状態に戻っても良い。これにより、起動ノード側アダプタ110は一切ステートを持たないようにでき、また、伝えるべき起動信号が"0"である場合の消費電力を節約することもできる。
次に、PoE制御部114は、電力受電部113からPoE電力を受け取り(S302)、起動信号受信部118から起動信号のパターンの通知を受けると(S303)、起動信号のパターンに対応したパターンの電力である起動電力信号の送電指示を、PSE機能を備える電力送電部115へと伝える。
起動信号のパターンと起動電力信号のパターンとの変換の第1例を図9に示す。
信号強度がある値と0からなるパターンである起動信号に対して、起動電力信号のパターンは、例えば、0でないある値の信号強度に対して、電圧47V、信号強度0に対して、電圧0とする。この変換は、起動信号のうち、ある閾値以上の信号強度に対しては、電力をある値とし、ある閾値以下の信号強度に対しては、電力を0とする起動電力信号への変換を実行することで実現できる。尚、この場合、PoE制御部124は、例えば、第1電力受電部123から伝えられた起動電力信号の電力(若しくは、電力の値を変化させた値)を電力送電部115に供給する場合と、供給しない場合とで切り替える。
起動信号のパターンと起動電力信号のパターンとの変換の第2例を図11に示す。
信号強度がある値と0からなるパターンである起動信号に対して、起動電力信号のパターンは、例えば、0でないある値の信号強度に対して、電圧を45V、信号強度0に対して、電圧を49Vとする。この変換は、起動信号のうち、ある閾値以上の信号強度に対しては、電力をある値とし、ある閾値以下の信号強度に対しては、電力をある値とする起動電力信号への変換を実行することで実現できる。尚、この場合、PoE制御部114は、例えば、電力受電部113から伝えられた起動電力信号の電力を変化させて異なる電力値の電力を電力送電部115に供給する。
また、図示はしていないが、起動信号と起動電力信号のパターンの変換の第3例として、起動信号の信号強度の値をアナログ値として、そのまま起動電力信号の電力値としてマッピングした電力を送電しても良い。
次に、電力送電部115は、PoE制御部114から、起動電力信号の送電開始指示を受けると、起動電力信号を、PoEにおける送電機能(PSE)にて、第2インタフェース117を介して 被起動ノード側アダプタ120へと供給する(S304)。
次に、図8を用いて、被起動ノード側アダプタ120の動作を説明する。
図8に示すように、被起動ノード側アダプタ120は、第1インタフェース121を介して第1電力受電部123のPD機能にてPoEの電力の受電を行うことで(S401)、起動動作を開始する。したがって、起動ノード側アダプタ110単体では電源設備は不要である。
なお、被起動ノード側アダプタ120は、第1電力受電部123によって、PoEの電力の受電を行う際、起動電力信号の電力だけを受信してもよいし、起動電力信号の電力とは別に 被起動ノード側アダプタ120を動作するために必要な電力供給を受けてもよい。また、第2電力受電部125によって、第2スイッチ160から被起動ノード側アダプタ120が動作するために必要な電力供給を受けることもできる。
第1電力受電部123のPDの機能にて電力の受電を開始し、起動電力信号を受け取ると、PoE変換部124に対して、起動電力信号の電力(電圧値)の情報を伝える(S402)。またこのとき、第1電力受電部123は、PoE変換部124の起動も指示する。
なお、被起動ノード側アダプタ120は、受電する電力がある閾値以下である場合は動作せず、受電開始後に、この閾値を下回る受電電力値となった場合、初期状態に戻っても良い。これにより、 被起動ノード側アダプタ120は一切ステートを持たないようにでき、また、伝えるべき起動信号が"0"である場合の消費電力を節約することもできる。
PoE変換部124は、第1電力受電部123から伝えられた起動電力信号の電力(電圧値)に応じて、起動信号送信部128へ送信指示する起動信号の信号パターンを決定する。
起動電力信号のパターンと起動信号のパターンとの変換の第1例を図10に示す。
電圧値が47Vと0Vとからなるパターンである起動電力信号に対して、起動信号のパターンは、例えば、電圧値47Vに対して、信号強度をある値とし、電圧値0Vに対して、信号強度を0とする。この変換は、起動電力信号のうち、ある閾値以上の信号強度に対しては、信号強度をある値とし、ある閾値以下の信号強度に対しては、信号強度を0とする起動信号への変換を実行することで実現できる。尚、この場合、PoE変換部124は、例えば、ある信号強度の信号の送信を指示する場合と送信動作の停止の指示とを切り替える指示を起動信号送信部128に対して行なう。
起動電力信号のパターンと起動信号のパターンとの変換の第2例を図12に示す。
電圧値が49Vと45Vとからなる起動電力信号に対して、起動信号のパターンは、例えば、電圧値49Vに対して、信号強度を0とし、電圧値45に対して、信号強度をある値とする。この変換は、起動電力信号のうち、ある閾値以上の信号強度に対しては、信号強度をある値とし、ある閾値以下の信号強度に対しては、信号強度を別の値とする起動信号への変換を実行することで実現できる。尚、この場合、PoE変換部124は、例えば、ある信号強度の信号の送信を指示する場合と別の信号強度の信号の送信を指示する場合とで切り替える指示を起動信号送信部128に対して行なう。
また、図示はしていないが、起動信号の信号パターンの第3例として、起動電力信号の電力の値をアナログ値としてそのまま起動信号の送信信号強度にマッピングしても良い。
次に、起動信号送信部128は、PoE変換部124から、起動信号のパターンを含む起動信号の送信開始指示を受けると、指示を受けた通りの信号パターンで起動信号(無線信号)を送信する(S403)。このとき送信される起動信号(無線信号)のパターンは、イーサネット(登録商標)170を介して遠隔に配置された、起動ノード側アダプタ110が受信した起動信号と同一のパターンとなるようにする。同一のパターンとするには、例えば、起動ノード側アダプタ110のPoE制御部114が、起動信号を、図9の変換方法で変換して起動電力信号を生成した場合、被起動ノード側アダプタ120のPoE変換部124は、図10の変換方法で変換して起動信号の信号パターンを生成するようにすれば良い。例えば、起動ノード側アダプタ110のPoE制御部114が、起動信号を、図11の変換方法で変換して起動電力信号を生成した場合、被起動ノード側アダプタ120のPoE変換部124は、図12の変換方法で変換して起動信号の信号パターンを生成するようにしても良い。いずれにしても、図9と図10の組み合わせ、図11と図12に組み合わせのように、起動信号から起動電力信号へと変換する方法と起動電力信号から起動信号へと変換する方法とが対応するようにする。
実施形態に係る起動ノード側アダプタ110及び被起動ノード側アダプタ120によれば、起動ノード130が、近距離無線方式を用いて被起動ノード140を遠隔起動する際に、起動ノード130から被起動ノード140からの物理的距離の制限を克服し、近距離無線到達範囲外に存在する被起動ノード140を遠隔起動させることができ、かつ被起動ノード140の待機消費電力を低減できる。
また、本発明の実施形態にかかる起動ノード側アダプタ110及び被起動ノード側アダプタ120によれば、既存のネットワーク環境(起動ノード130と被起動ノード140と第1スイッチ150と第2スイッチ160等からなるシステム)に、起動ノード側アダプタ110及び 被起動ノード側アダプタ120を追加するだけで、上記効果を達成することができる。よって、従来のネットワーク環境を大幅に変えずに、安価にかつ容易に起動信号の到達範囲を延長することができる。
次に、本発明の実施形態につき、いくつかの変形例を説明する。
<変形例1>
第1の実施形態では、起動ノード側アダプタ110は、PoE制御部114の制御により、起動信号の受信強度に応じて異なる値の電力の起動電力信号を生成した。しかしながら、起動ノード側アダプタ110は、装置の動作と停止を繰り返すことによって、ある値の電力と電力0の起動電力信号を生成する装置であっても良い。すなわち、起動ノード側アダプタ110は、起動信号受信開始後に、起動信号の受信強度閾値を下回る受信信号強度となった場合、初期状態に戻るような構成とし、起動信号の受信強度閾値を上回る受信信号強度となった場合に、ある値の電力を送電する装置とする。これにより、起動ノード側アダプタ110は、動作時にある値の電力を送電する機能だけを備えていればよい。また、伝えるべき起動信号が"0"である場合、動作を停止しているため消費電力を節約することもできる。
また、被起動ノード側アダプタ120は、PoE変換部124の制御により、起動電力信号の電力値により、異なる値の強度の起動信号を生成した。しかしながら、被起動ノード側アダプタ120は、装置の動作と停止を繰り返すことによって、ある信号強度と信号強度0の起動信号を生成する装置であっても良い。すなわち、被起動ノード側アダプタ120は、起動電力信号受信開始後に、起動電力信号の電力がある閾値以下である場合は、初期状態に戻るような構成とし、起動電力信号の電力がある閾値を上回る値となった場合に、ある値の信号を送信する装置とする。これにより、 被起動ノード側アダプタ120は、動作時にある値の信号を送信する機能だけを備えていればよい。また、伝えるべき起動信号が"0"である場合、動作を停止しているため、消費電力を節約することもできる。本変形例は、既に第一の実施形態にて一部説明している内容を補足するものである。
<変形例2>
第1の実施形態の変形例2のシステムは、被起動ノード側アダプタ120をCLASS 4(予約)に分類している点と起動ノード側アダプタ110は、起動電力信号を送信する前に、Detectフェーズ及びCLASSIFICATION フェーズを実行し、起動電力信号を送信しようとする送信宛の装置のPDがCLASS 4であるかを確認し、送信宛の装置のPDがCLASS 4であった場合のみ、起動電力信号を送信することが第1の実施形態のシステムにかかる起動ノード側アダプタ110と被起動ノード側アダプタ120と異なる。尚、被起動ノード側アダプタ120以外の装置は、CLASS 4以外に分類しているものとする。
以下では、このような構成とする理由を説明する。
起動ノード側アダプタ110が起動電力信号送信の際に利用するPoEは、一般的なPoEと異なり、その電圧値が時間的に変化し、その変化に意味を持たせるものである。したがって、起動ノード側アダプタ110の起動電力信号の送信宛の装置は、このようなPoEの電圧値が時間的に変化するものを受電可能で、かつ検知可能な装置である必要がある。一方、このような装置以外とは、相互接続性は無い。したがって、本変形例では、起動ノード側アダプタ110が、誤って、PoEの電圧値の変化に対応しない装置に接続してしまった場合でも、起動電力信号を送信する前(若しくは、起動ノード側アダプタ110と装置との接続時)に、PoEで規定されているDetectフェーズおよびCLASSIFICATIONフェーズを実行し、接続先の装置が、CLASS 4であるか否かにより、接続される装置のPDが、PoEの電圧値の変化に対応可能であるか否かを判定し、対応可能であれば、起動電力信号を送信し、対応不可能であれば、起動電力信号を送信しないものとした。
以下では、本変形例のシステムの動作を説明する。
起動ノード側アダプタ110は、ある装置と接続する際、(若しくは起動電力信号送信前に、)Detectフェーズ及びCLASSIFICATIONフェーズを実行する。例えば、CLASSIFICATIONフェーズにおいて、起動ノード側アダプタ110は、ある一定の電圧を一定時間かけ、そのとき流れる電流の値によって、接続した装置のPDのクラス分けを行う。起動ノード側アダプタ110は、このときの測定電流値が35〜45mAである場合、CLASS 4と判定する。一方、測定電流値が35〜45mA以外である場合は、CLASS 4ではないと判定する。前述したように、被起動ノード側アダプタ120(POEの電圧値の変化に対応可能な装置)をCLASS 4に分類し、それ以外の装置をCLASS 4以外に分類すると説明した。したがって、起動ノード側アダプタ110が、接続先の装置がCLASS 4と判定した場合には、接続先の装置が、PoEの電圧値の変化に対応可能な装置(即ち、被起動ノード側アダプタ120)であると判断し、起動電力信号を送信する。一方、起動ノード側アダプタ110が、接続先の装置がCLASS 4でないと判定した場合には、接続先の装置が、PoEの電圧値の変化に対応可能な装置(即ち、被起動ノード側アダプタ120)でないと判断し、起動電力信号を送信しない。
以上、本変形例にかかる被起動ノード側アダプタ120によれば、誤って、PoEの電圧値の変化に対応不可能な装置を接続した場合には、起動電力信号を送信することを防ぐことができるため、接続先の装置が故障することを防ぐことができる。
<変形例3>
第1の実施形態の変形例3のシステムについて説明する。
変形例3のシステムにおいては、被起動ノード側アダプタ120が、起動電力信号を受電する際に、安定した動作をするための方法を4つ説明する。
第1の実施形態のシステムにおいては、起動ノード側アダプタ110は、起動信号の信号パターンをPoE電力(電圧)に変換した起動電力信号を被起動ノード側アダプタ120に対して送信するものである。すなわち、従来技術では、PoEの電力が一定であったのに対して、PoEの電力に変化がある。本変形例では、このように、PoEの電力に変化がある起動電力信号を用いる場合においても、起動電力信号を受信する被起動ノード側アダプタ120が安定した動作をするための方法を説明する。
第1の方法は、起動ノード130が送信する起動信号のビットレートを、被起動ノード側アダプタ120が安定して動作をできる程度の遅いレートにすることである。より具体的には、起動信号のパターンに応じて生成される起動電力信号を受信した起動ノード側アダプタ110が安定した動作をできる程度のビットレートにすることである。例えば、起動信号として、高速なビットレートで"0"と"1" が繰り返される信号を用いる場合、そのパターンを電力に変換した起動電力信号を受け取る被起動ノード側アダプタ120が、PoEの電圧安定に時間が必要となる場合がある。このようなことを防ぐために、起動信号のビットレートを調整することが好ましい。
第2の方法は、起動ノード130が、起動信号を送信する前に、第1スイッチ150から、起動ノード側アダプタ110に対して、イーサネット(登録商標)170を用いてPoE電力を供給しておくか、若しくは、第2スイッチ160から、被起動ノード側アダプタ120に対して、イーサネット(登録商標)170を用いてPoE電力を供給しておくことである。PoE電力としては、起動ノード側アダプタ110と被起動ノード側アダプタ120とが、安定動作に必要な電力を供給し、起動ノード側アダプタ110と被起動ノード側アダプタ120とが、初期状態で電圧安定状態としておくことが好ましい。
第3の方法は、起動ノード側アダプタ110が、 被起動ノード側アダプタ120に対し起動電力信号を供給する前に、プリアンブルとなる電圧を加えて、被起動ノード側アダプタ120に電力を供給する方法である。ここで、プリアンブルとなる電圧としては、被起動ノード側アダプタ120が、起動電力信号を受ける前に、動作を安定させることができ、また、一定の長さを持つ起動信号の伝送が完了するまで動作するのに十分な電力を供給できるような電圧とする。本方法は、既に第一の実施形態にて一部説明している内容を補足するものである。
第4の方法としては、起動ノード側アダプタ110が、起動信号では"0"と"1"とで表される情報を、起動電力信号では、電力値の変化として表現して、伝送する方法である。すなわち、起動信号が"1"の場合、電力あり、起動信号が"0"の場合、電力なしとせず、起動信号が、"0"であっても"1"であっても、電力を送電し続ける。より詳細には、所定の基準電圧値(例えば、47V)を基準として、起動信号"1"の情報を、基準電圧値+2V(49V)とし、起動信号"0"の情報を、基準電圧値−2V(45V)として、マッピングした起動電力信号を生成する。PoEでは、47V の電圧をかける場合であっても、プラスマイナス2Vの差は許容している。したがって、起動信号"1"の情報を49Vへ、起動信号"0"の情報を45V へ、マッピングすれば、起動ノード側アダプタ110及び 被起動ノード側アダプタ120を常にON の状態に維持しつづけることができ、ON/OFFが繰り返されることによる動作の不安定化は避けられる。本方法は、既に第一の実施形態にて一部説明している内容を補足するものである。
<変形例4>
次に、第1の実施形態の変形例4のシステムについて説明する。
変形例4のシステムでは、スイッチに起動ノード側アダプタ110、被起動ノード側アダプタ120の機能を備えた起動ノード側スイッチ2150と被起動ノード側スイッチ2160とを備える。
図13に示すように、第1の実施形態の変形例4のシステムは、起動ノード130と、起動ノード側スイッチ2150と、被起動ノード側スイッチ2160と、被起動ノード140とを備える構成である。起動ノード側スイッチ2150と被起動ノード側スイッチ2160との間はイーサネット(登録商標)170で接続されている。起動ノード130と起動ノード側スイッチ2150との間と、被起動ノード側スイッチ2160と被起動ノード140との間と、は、イーサネット(登録商標)170で接続される等しており、起動ノード130と被起動ノード140とがネットワークを介して通信可能であっても良い。起動ノード130が送信する起動信号の到達範囲180A内に起動ノード側スイッチ2150が存在し、被起動ノード側スイッチ2160が送信する起動信号の到達範囲180B内に被起動ノード140が存在する。
図14、図15それぞれに起動ノード側スイッチ2150、被起動ノード側スイッチ2160のブロック図を示す。
起動ノード側スイッチ2150は、図3に示した起動ノード側アダプタ110の構成とほぼ同様である。起動ノード側アダプタ110の構成と異なる点は、スイッチ処理部2153とPoE電力供給部2154とを備えていること、POE電力を受電する電力受電部113を備えていないことである。また、図示しないインタフェースを更に備えていても良い。スイッチ処理部2153は、接続された機器(図示しない機器も含む。)間のデータの転送処理を行なう。例えば、起動ノード130とその他の装置(例えば、被起動ノード側スイッチ2160)との間でデータを、転送する。PoE電力供給部2154は、PoE制御部114にPoE電力を供給する。PoE制御部114は、スイッチから受電した電力でなく、PoE電力供給部2154から供給をうけたPoE電力をもとに起動電力信号を生成する。
被起動ノード側スイッチ2160は、図4に示した被起動ノード側アダプタ120の構成とほぼ同様である。被起動ノード側アダプタ120の構成と異なる点は、スイッチ処理部2163を備えていること、第2電力受電部125を備えていないことである。また、図示しないインタフェースを更に備えていても良い。スイッチ処理部2163は、接続された機器(図示しない機器も含む。)間のデータの転送処理を行なう。例えば、起動ノード側アダプタ110や被起動ノード140の送受信データを、その他の装置との間で転送する。
第1の実施形態で説明したシステムは、既存のネットワーク環境に対して、アダプタ(起動ノード側アダプタ110と被起動ノード側アダプタ120)を追加するだけで、安価に起動信号の到達範囲を延長することが可能である例を説明した。これは、既存システムへの追加導入に適する構成である。一方、本変形例では、新規のシステム導入に適した構成である。すなわち、スイッチそのものの構成を変更したシステムを新規導入する例である。すなわち、従来の通常のスイッチと起動ノード側アダプタ110を一体化した起動ノード側スイッチ2150と、従来の通常のスイッチと起動ノード側信アダプタ110を一体化した被起動ノード側スイッチ2160とをシステムに設ける例である
尚、起動ノード側アダプタ110は、例えば、第1インタフェース111に相当するインタフェース及び第2インタフェース117に相当するインタフェース、を備える汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち、第1データ伝送部112、電力受電部113、PoE制御部114、電力送電部115、第2データ伝送部116、起動信号受信部118、は、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、起動ノード側アダプタ110は、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、CD−ROMなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。
また、 被起動ノード側アダプタ120は、例えば、第1インタフェース121に相当するインタフェース及び第2インタフェース127に相当するインタフェース、を備える汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち、第1データ伝送部122、第1電力受電部123、PoE制変換部124、第2電力受電部125、第2データ伝送部126、起動信号送信部128は、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、 被起動ノード側アダプタ120は、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、CD−ROMなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。
<第2の実施形態>
次に、本発明の第2の実施形態にかかる通信システムついて説明する。
遠隔起動を行う際、一つの起動ノードが、複数の被起動ノードから構成されるノードグループを起動させたいケースがある。このように、複数の被起動ノードから構成されるノードグループを起動させる方法として、例えば、ノードグループを構成する被起動ノードに、共通のノードグループのアドレスを保持させる方法がある(特開2006-325046号公報)。この技術では、被起動ノード240は、起動ノード230が送信したグループアドレスを含む起動信号を受け取ると、起動信号に含まれるグループアドレスと、自身が保持するグループアドレスと比較し、一致した場合に起動処理を行う。
この従来技術では、一つの起動信号で複数の被起動ノードから構成されるノードグループを起動させることができる。
しかしながら、この従来技術では、被起動ノード240が、複数のノードグループに所属する場合、所属するノードグループごとに、グループアドレスを記憶する必要があり、所属するノードグループが増えるごとに、記憶容量が、線形に増加してしまう課題がある。
被起動ノード240の記憶容量が線形に増加する課題を克服する方法として、ハッシュ関数を用いる技術が開示されている(特開2006-352806号公報)。この従来技術では、グループアドレスを、そのグループに所属するノードのアドレスのハッシュ値の論理和によって作成する。起動ノード230は、このように作成されたグループアドレス(を含む起動信号)を送信する。被起動ノード240が、グループアドレスを受信すると、受信したグループアドレスと、自身のノードアドレスのハッシュ値とを比較し、一致した場合に起動処理を行う。この従来技術によれば、起動処理のために被機能ノードが保持すべき記憶容量は、ノードグループの数に依らず一定とすることができる。
しかしながら、この従来技術では、ハッシュ関数を利用することに起因して、被起動ノード240の誤起動が発生しうる。ハッシュ関数では、ハッシュ関数に入力されるデータが異なっていても、ハッシュ関数によって演算された出力が同じ場合(ハッシュ値の衝突)がある。したがって、この従来技術では、実際には自身が所属していないグループアドレスを含む起動信号を受信したのにも係わらず、ハッシュ値がたまたま一致したため、起動処理を行ってしまうことがある。誤起動が起こることは、システムの挙動として不安定となるだけでなく、不要な起動にともなう不要な電力消費につながる。
本実施形態にかかる起動ノードは、一つの起動ノードが、複数の被起動ノードから構成されるノードグループを起動させるシステムにおいて、ハッシュ関数を用いることにより被起動ノードの記憶容量を一定とするメリットを享受しつつ、かつ誤起動を発生させないことを目的とした技術である。
図16は、第2の実施形態にかかる通信システムを示す図である。
第2の実施形態に係る通信システムは、ネットワーク250を介して、起動ノード230と複数の被起動ノード240S1〜240S10が相互に接続されている。尚、以下では。被起動ノード240S1〜240S10を区別せずに呼ぶ場合、被起動ノード240と称することとする。
尚、図16では、起動ノード230は単数であるが、複数存在していても良い。
また、ここでは、起動ノード230から送信される起動信号は、全ての被起動ノード240まで到達するとし、到達範囲は問題とならないとする。本実施形態のシステムにおける通信は、通常の通信リンクを用いても良いし、近距離無線通信リンクを用いても良い。近距離無線通信リンクを用いる場合、第1の実施形態に示す方法で、PoEを使って延長することにより起動信号を到達させていても良い。被起動ノード240S1〜240S10それぞれは、単数若しくは複数のグループにグルーピングされる。グループは、グループアドレスによって一意に識別される。尚、グループアドレスの決定方法は、後述する。起動ノード230は、このうち一つのグループアドレスを指定した起動信号を送信し、そのグループに属する全ての被起動ノード240を起動させる。
次に、図17、図18を用いて、起動ノード230と被起動ノード240の構成について説明する。
図17は、本発明の第2の実施形態にかかる起動ノード230の構成を示すブロック図である。
信号送受信部231は、信号の送受信を実行する。
アプリケーション部232は、アプリケーションを実行する。
アドレス確認部233は、後述する被起動ノード検索フェーズにて、被起動ノードのアドレスを問い合わせる。
グループアドレス決定部234は、後述するグループアドレス決定フェーズにて、グループアドレス決定手順を実行し、グループアドレスを作成する。
グループアドレス判定情報作成部235は、後述するグループアドレス決定フェーズにて、グループアドレス判定情報を作成する。
一括起動信号作成部236は、後述するグループ指定起動フェーズにて、一括起動信号を作成する。
図18は、本発明の第2の実施形態にかかる被起動ノード240の構成を示すブロック図である。
信号送受信部241は、信号の送受信を実行する。
アプリケーション部242は、アプリケーションを実行する。
アドレス確認信号応答部243は、後述する被起動ノード検索フェーズにて、被起動ノードアドレス確認信号に応答する。
グループアドレス判定フィルタ処理部244は、後述するグループアドレス決定フェーズにて、グループアドレス判定情報を受信し、グループアドレス判定フィルタを格納する。
起動要否判定部245は、後述するグループ指定起動フェーズにて、一括起動信号を受信し、起動要否判定を実行する。
起動処理部246は、起動要否判定部245の指示に従って起動処理を実行する。
次に、図19から図21を用いて、本実施形態にかかるシステムの動作を説明する。図19は、本発明の第2の実施形態にかかる通信システムにおける被起動ノード検索フェーズの動作を示すシーケンス図である。図20は、本発明の第2の実施形態にかかる通信システムにおけるグループアドレス決定フェーズの動作を示すシーケンス図である。図21は、本発明の第2の実施形態にかかる通信システムにおけるグループ指定起動フェーズの動作を示すシーケンス図である。尚、図19〜図21において、被起動ノード240は2つ(被起動ノード240S1、240S2)示されているが、被起動ノード240の数はこれに限らない。以下の説明では、被起動ノード240S1と240S2とを区別せずに扱い、被起動ノード240と称する。
本実施形態における、起動ノード230が被起動ノード240を一括に起動する方法は以下の3つのフェーズを備える。(A) 「被起動ノード240検索フェーズ」、 (B) 「グループアドレス決定フェーズ」、(C) 「グループ指定起動フェーズ」 である。尚、(A),(B),(C)は、この順序で実行される。
(A) 被起動ノード240検索フェーズは、起動ノード230が、システム(ネットワーク)に存在する全ての被起動ノード240のノードアドレスを把握するフェーズである。
(B) グループアドレス決定フェーズは、起動ノード230が、被起動ノード240かのうち、起動対象とするグループを定義し、そのグループに割り当てるグループアドレスを決定するフェーズである。尚、起動ノード230は、被起動ノード240のうち、起動対象とするグループを複数定義できる。例えば、図16では、被起動ノード240S1から被起動ノード240S6を起動対象とする第1グループと、ノードS1からノードS8を第2グループと指定する方法がある。複数のグループを定義した場合、グループ毎のグループアドレスを作成する。
(C) グループ指定起動フェーズは、起動ノード230が、(B)で決定したグループアドレスを指定した起動信号を送信し、そのグループに属する全ての被起動ノード240を起動させるフェーズである。尚、(B)グループアドレス決定フェーズで複数のグループを定義した場合、複数のグループアドレスを作成することとなる。したがって、この(C)グループ指定起動フェーズでは、複数のグループのうち、どのグループの被起動ノード240を起動させるかを決定し、そのグループに属する被起動ノード240を起動させるフェーズである。
尚、(A)及び(B)はシステムの初期化手順として実行される。このため、(A), (B)が一度実行された後は、 (C)のみが連続して実行されてもよい。
次に、上記3つのフェーズについて、順に詳細を説明する。
まず、(A)被起動ノード検索フェーズについて、図19を用いて説明する。
被起動ノード検索フェーズにおける操作(S501)時点で、システムを構成する全ての被起動ノード240のアドレス(MACアドレス)が分かっている場合、(A)起動ノード検索フェーズを実行しなくてもよい。
まず、起動ノード230が操作され(S501)、一括起動したい被起動ノード240の種類を決定する。これはアプリケーションに依存するフェーズである。
次に、起動ノード230は、「アドレス確認信号」を送信する(S502)。アドレス確認信号は、例えば、全ての被起動ノード240に送信するいわゆるブロードキャスト通信で送信する。
次に、被起動ノード240は、アドレス確認信号を受信する(S503)。アドレス確認信号を受信した被起動ノード240は、自身のノードアドレス(例えば、MACアドレス)を含む応答信号を作成し、アドレス確認信号送信元の起動ノード230に対して送信する(S504)。
起動ノード230は、この応答信号を受信し(S505)、受信した被起動ノード240のアドレスから、被起動ノード240全てのアドレスを全て取得する。例えば、図16の被起動ノード240S1〜240S10のノードアドレスを取得する。
次に、(B)グループアドレス決定フェーズについて、図20を用いて説明する。図20は、本発明の第2の実施形態にかかる通信システムにおけるグループアドレス決定フェーズの動作を示すシーケンス図である。
まず、起動ノード230は、(A)で取得した被起動ノード240全てのアドレスをもとに、その被起動ノード240のうち、グループに属する被起動ノード240を一括して起動させる際に指定するグループアドレスと被起動ノード240に通知するシードを決定する(601)。被起動ノード240のアドレス群から、グループアドレスを決定するこの手順を、「グループアドレス決定手順」と 呼ぶ。「グループアドレス決定手順」の詳細は後述する。
起動ノード230は、「グループアドレス決定手順」を実行後、グループアドレス(尚、以下では、グループアドレスのビット幅をグループアドレス長と称する。)と、被起動ノード240に通知する、ハッシュ値算出の際に用いるシードを決定する。このシードは、後述するように、被起動ノード240が、グループアドレスに対応するグループに自身が含まれるか否かを判断するために用いる。
起動ノード230は、(S601)で決定したシードを含むグループアドレス判定情報を被起動ノード240に対して送信する(S602)。
被起動ノード240は、グループアドレス判定情報を受信する。次に、被起動ノード240は、グループアドレスに含まれるシードと、自身のノードアドレス(MACアドレス)とを、事前に起動ノード230との間で共有されているハッシュアルゴリズムに入力し、ハッシュ値を得る。ここで、算出されるハッシュ値は、"0"から"グループアドレス長-1"までの値である。
被起動ノード240は、このハッシュ値を「グループアドレス判定フィルタ」として保持格納する(S603)。
次に、(C)グループ指定起動フェーズについて、図21を用いて説明する。図21は、本発明の第2の実施形態にかかる通信システムにおけるグループ指定起動フェーズの動作を示すシーケンス図である。
起動ノード230が操作され、あるグループアドレスを指定した一括 起動要求を実行することを決定する。ここで一括起動対象のグループアドレスを決定する(S701)。ここで、起動ノード230は、(B) グループアドレス決定フェーズにて、複数のグループを定義している場合、どのグループを起動させるかをグループアドレスを指定することで決定する。例えば、被起動ノード240S1から被起動ノード240S6を起動対象とする第1グループと、被起動ノード240S1から被起動ノード240S8を起動対象とする第2グループとで、いずれを起動させるかをグループアドレスを指定することにより決定する。
次に、起動ノード230は、S701で決定したグループアドレスを含む「一括起動信号」を送信する(S702)。
被起動ノード240は、「一括起動信号」を受信し、これに含まれるグループアドレスを取り出す。被起動ノード240は、ここで、「起動要否判定」を実施する(S703)。被起動ノード240は、具体的には、自身が保持する「グループアドレス判定フィルタ」と、「一括起動信号」から取り出したグループアドレスとを比較する。このとき、グループアドレス判定フィルタ(MACアドレスのハッシュ値の値)と、グループアドレスで"1"となっているビット位置とが一致している場合に、この被起動ノード240は自身を起動する。
以上、本実施形態における、3つのフェーズについてシーケンスを説明した。
次に、(B)グループアドレス決定フェーズにて実施される、「グループアドレス決定手順」について説明する。「グループアドレス決定手順」は、起動対象とするノードグループを新たに定義する際に実施される手順である。グループアドレス決定手順においては、システムを構成する被起動ノード240のうち、ノードグループに所属させる被起動ノード240のノードアドレスの組(所属集合)と、ノードグループに所属させない被起動ノード240のノードアドレスの組(非所属集合)と、のペアから、そのノードグループの1つのグループアドレスと、グループアドレス判定情報として利用する、1つのハッシュ関数のシード、を求める。尚、ノードグループが、複数定義される場合、複数の所属集合と被所属集合のペアから、複数のグループアドレスと1つのハッシュ関数のシードを求める。
以下、図22を用いて、より具体的に説明する。図22は、本発明の第2の実施形態にかかる起動ノード230のグループアドレス決定フェーズの動作を示すフローチャートである。
まず、被起動ノード240のノードアドレスうち、ノードグループに所属させるノードアドレスの 集合(所属集合)と、ノードグループに所属させないノードアドレスの集合(非所属集合)と、を作成する(S801)。ここで、複数のノードグループを定義する場合は、複数の(所属集合, 非所属集合)のペアを作成する。
次に、ハッシュアルゴリズムに入力するシードの初期値を決定し、ハッシュ関数Hを定義する(S802)。
ここで、ハッシュアルゴリズムへの入力は、被起動ノード240のノードアドレス(ビット幅m)と、シードである。このハッシュアルゴリズムの出力は、整数(ただし、"0"から"グループアドレス長-1"までの値)である。ハッシュアルゴリズムは、シードを特定すると、ハッシュ関数Hが決定する。シードとして与えられる値を変えることによって、異なるハッシュ関数を決定できる。
ここで、ハッシュアルゴリズムは、起動ノード230だけでなく、全ての被起動ノード240でも共通して保持しているものであり、同一のシードを与えさえすれば、全ての起動ノード230及び被起動ノード240にて、全ての入力に対して全く同じ出力を与えるハッシュ関数Hを共有することができる。
次に、所属集合と非所属集合に関わらず全ての被起動ノード240のノードアドレスから、ハッシュ関数Hによりハッシュ値を取得する(S803)。
次に、所属集合の被起動ノード240のノードアドレスから得られたハッシュ値の集合(所属ハッシュ集合と称する。)と、非所属集合のノードアドレスから得られたハッシュ値の集合(非所属ハッシュ集合と称する。)と、が互いに素であるか否かを確認する(S804)。ここで、複数のノードグループを定義した場合は、複数の(所属集合, 非所属集合) ペアの全てについて、互いに素であるか否かを確認する。全てのペアについて素であれば(S804YES)、(S805)へ進む。一方、そうでない場合(すなわち、少なくとも一つのペアについては素でない場合) (S804NO)、ハッシュアルゴリズムに与えるシードを変更してハッシュ関数Hを変更し(S802)へ戻る。
次に、所属ハッシュ集合と、非所属ハッシュ集合と、が互いに素となるハッシュ関数H(つまりシード)が決定したら(S804 YES)、そのときのシードをグループアドレス判定情報として利用するシードとする。また、このとき、以下の式(1)で決定される値をグループアドレスとする(S805)。
Σ2^(ハッシュ関数H(所属集合のアドレス))・・・・・・・・(1)
(1)式は、所属集合のアドレスを全てハッシュ関数Hにかけ、得られたハッシュ値("0"から"グループアドレス長-1"の値)の位置のビットを1に、それ以外の位置のビットを0にした、nビット長の値を、グループアドレスであることを示す。尚、複数のグループを定義している場合、そのグループごとに、所属ハッシュ集合のハッシュ値の位置のビットを1、その他を0としたものを作成する。このようにすることで、グループ毎に異なるグループアドレスを作成できる。
以上が、「グループアドレス決定手順」である。
本実施形態においては、(S804)において、所属ハッシュ集合と、非所属ハッシュ集合と、が互いに素であるか否かを確認し、互いに素でなければハッシュ関数(つまりシード)を修正することで、所属ハッシュ集合と、非所属ハッシュ集合とが互いに素となるハッシュ関数(シード)を決定している(S802〜S804の処理の繰り返し。)。このように、所属ハッシュ集合と被所属ハッシュ集合とを互いに素とすることで、生成したグループアドレスを使って一括起動を行う場合、従来技術に見られるような誤起動は発生しない。つまり、所属ハッシュ集合と被所属ハッシュ集合とを互いに素とするまで、ハッシュ関数を修正することで、誤起動が発生するようなグループアドレスを除外する操作を行っている。
ここで、グループアドレス決定フェーズの実例を図23及び図24を用いて説明する。図23は、本発明の第2の実施形態にかかる通信システムにおけるグループアドレス決定手順の1例におけるパラメータを示す図である。図24は、本発明の第2の実施形態にかかる通信システムにおけるグループアドレス決定手順における計算結果を示す図である。
図23(a)には、ハッシュアルゴリズムとグループアドレス長、シードを示している。グループアドレス長(n)は、8bit であるとする。図23(b)には、被起動ノード240のノードアドレス(MACアドレス)と各被起動ノード240のノードアドレスが、所属集合(つまり、起動対象とするグループのノードのノードアドレス)に属するか、非所属集合に属するかを示している。図23(b)の第1グループでは、所属集合は、被起動ノード240S1〜S6のノードアドレスとし、非所属集合は、被起動ノード240S7〜S10のノードアドレスである例を示している。
図24(a)には、シードを1, 1.1, 1.2, 1.3, ・・・と変化させたハッシュ関数Hに、被起動ノード240S7〜S10の各ノードのノードアドレスを入力した結果得られるハッシュ値を示す。図24(a)からわかるように、シードを1及び1.1とすることで得られるハッシュ関数では、所属ハッシュ集合と、非所属ハッシュ集合と、が互いに素とならない。一方、シードを1.2とすることで得られるハッシュ関数を利用するとき、初めて所属ハッシュ集合と、非所属ハッシュ集合と、が互いに素となる。そして、図24(b)に示すように、第1のグループに対応するグループアドレスは、8bitのうち、所属ハッシュ集合の値の位置のビットを1、その他を0 とした値、すなわち"10001110"と決定する。また、被起動ノード240に通知するシードは1.2と決定できる。
尚、複数のノードグループを定義した場合、複数の所属ハッシュ集合と非所属ハッシュ集合とのペア全てが互いに素である必要がある。例えば、2つのノードグループがある場合を説明する。起動対象のグループとして、第1グループが、前述した起動対象のノードが、被起動ノード240S1〜S6であり、第2グループが、起動対象のノードが、被起動ノード240S1〜S8である場合を説明する。この場合、第1グループにかかる所属ハッシュ集合と非所属ハッシュ集合のペアと、第2グループにかかる所属ハッシュ集合と被所属ハッシュ集合のペアいずれについても、互いに素である必要がある。図24の例においては、シードが1.2の場合、第1グループにかかる所属ハッシュ集合と非所属ハッシュ集合のペアは、前述の説明通り互いに素である。一方で、図24において、シードが1.2の場合、第2グループにかかる所属ハッシュ集合と非所属ハッシュ集合のペアについても、互いに素であることがわかる。
そして、第1グループに対応するグループアドレスは、"10001110"と決定できる。また、第2グループに対応するグループアドレスは、"10011110"と決定できる。このように、第2グループのグループアドレス作成の際、所属ハッシュ集合の値の位置のビットを1、その他を0としたものを作成することで、第1グループのグループアドレスと異なるグループアドレスを定義でき、複数のグループに対する異なるグループアドレスを容易に作成できる。また、シードは、1.2と決定できる。
以上得られたシードは、(B)グループアドレス決定フェーズにて、グループアドレス判定情報として、被起動ノード240へと送信される(S806)。各被起動ノード240では、シードを受け取ると、シードと自身のノードアドレスを入力として、事前に定められたハッシュアルゴリズムを実行し、得られたハッシュ値を「グループアドレス判定フィルタ」として保持格納する。具体的には、被起動ノード240S1〜S10における「グループアドレス判定フィルタ」の値は、図24におけるシード1.2の欄に示す、被起動ノード240S1〜S10のMACアドレスのハッシュ値と同一となる。
次に、起動ノード230は、(C)グループ指定起動フェーズにて、グループアドレスとして、例えば、第1グループを選択する場合、"10001110"を指定した一括起動信号を送信する。各被起動ノード240は、一括起動信号を受信すると、起動要否判定を実施する。ここで、前述したように、グループアドレスは、所属ハッシュ集合の値の位置のビットを1、その他を0とする様に作成している。グループアドレスを受け取った各被起動ノード240は、グループアドレスのビットの位置の値と自身のノードアドレスのハッシュ値の値とを比較する。そして、グループアドレスのビット位置のうち、ノードアドレスのハッシュ値の位置の値が1である場合、起動し、0である場合、起動しない。このようにすることで、所属集合の被起動ノード240が全て起動し、それ以外の被起動ノード240は起動しないこととすることができる。例えば、図24(a)から、所属集合の被起動ノード240S1のノードアドレスのハッシュ値は3であり、グループアドレスのうち、3に対応するビット位置は右から4番目の位置である(ビット位置は、右から0、1、2、3、4・・・とカウントするため。)。その値は1である。したがって、被起動ノード240S1は、起動することができる。一方、所属集合の被起動ノード240S7のノードアドレスのハッシュ値は4である。そして、グループアドレスのうち、4に対応するビット位置は右から5番目の位置である。その値は0である。したがって、被起動ノード240S7は、起動しない。
以上、本実施形態にかかる起動ノード230は、一つの起動ノード230が、複数の被起動ノード240から構成されるノードグループを起動させるシステムにおいて、ハッシュ関数を用いることにより被起動ノード240の記憶容量を一定とするメリットを享受することができる。また、所属ハッシュ集合と非所属ハッシュ集合とが互いに素となるように、ハッシュ関数(シード)を設定することで、被起動ノード240が誤起動を発生することを防ぐことができる。
また、起動ノード230は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち、信号送受信部231、アプリケーション部232、アドレス確認部233、グループアドレス決定部234、グループアドレス判定情報作成部235、一括起動信号作成部236は、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、起動ノード230は、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、CD−ROMなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することを意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。