通信装置
【課題】被制御ノードの遠隔制御のための制御IDのビット長を通信システム全体の効率を考慮して割り当てる。
【解決手段】通信装置100は、対象被制御ノードを含む複数の被制御ノードを制御する。通信装置100は、取得部103及び生成部104を含む。取得部103は、対象被制御ノードの制御要求の発生頻度を示す第1の評価値及び対象被制御ノードにおける通信エラーの発生頻度を示す第2の評価値の少なくとも一方を取得する。生成部104は、対象被制御ノードを制御するために割り当てる識別情報を、第1の評価値及び第2の評価値の少なくとも一方が高くなるほど識別情報のビット長が短くなるように生成する。
【解決手段】通信装置100は、対象被制御ノードを含む複数の被制御ノードを制御する。通信装置100は、取得部103及び生成部104を含む。取得部103は、対象被制御ノードの制御要求の発生頻度を示す第1の評価値及び対象被制御ノードにおける通信エラーの発生頻度を示す第2の評価値の少なくとも一方を取得する。生成部104は、対象被制御ノードを制御するために割り当てる識別情報を、第1の評価値及び第2の評価値の少なくとも一方が高くなるほど識別情報のビット長が短くなるように生成する。
【発明の詳細な説明】
【技術分野】
【0001】
実施形態は、ノードの遠隔制御に関する。
【背景技術】
【0002】
通信システムにおいて、あるノード(即ち、制御要求ノード)が離れて配置された別のノード(被制御ノード)を遠隔制御することのニーズが存在する。例えば、制御要求ノードが被制御ノードを遠隔起動することが可能であるならば、当該被制御ノードを基本的に起動待機状態(非起動状態)にさせておくことで消費電力を削減できる。係る遠隔起動は、例えば無線信号を用いたアウトオブバンド方式によって実現可能である。アウトオブバンド方式とは、通常の通信リンクとは異なる通信リンク(代替経路)を通じて信号を送受信する手法を指す。
【0003】
通信システムにおいて多数のノードが存在することを想定すると、(1)種々の制御信号を被制御ノードに送信する機能、(2)被制御ノードの状態(例えば、起動状態/非起動状態)を管理する機能などは、個別のノードではなくプロキシノードに一元的に備えられることが望ましい。係る構成によれば、通信システムを簡略化することができる。係る構成において、制御要求ノードは、プロキシノードと同一視することもできる。
【0004】
被制御ノードの遠隔制御には、個別の被制御ノードを指定する制御IDを利用することができる。ここで、係る制御IDのサイズ(サイズ)に関して以下のトレードオフが存在する。具体的には、通信システムにおいて、より多くの被制御ノードに制御IDを一意に割り当ててこれらを個別に遠隔制御するためには、より多くの制御IDが必要となる。即ち、制御IDのビット長をより大きくする必要がある。一方、制御IDのビット長が大きくなると、制御IDの無線伝送においてデータエラーが発生(即ち、遠隔制御が失敗)しやすくなったり、被制御ノードが制御IDを待機及び受信するための電力量が大きくなったり、制御ノードが制御IDを送信するための電力量が大きくなったりする。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−60515号公報
【特許文献2】特開2002−165281号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
実施形態は、被制御ノードの遠隔制御のための制御IDのビット長を通信システム全体の効率を考慮して割り当てることを目的の1つとする。また、実施形態は、被制御ノードの数が割り当て可能な制御IDの数を超える場合にも被制御ノードを個別に遠隔制御することを目的とする。
【課題を解決するための手段】
【0007】
実施形態によれば、通信装置は、対象被制御ノードを含む複数の被制御ノードを制御する。通信装置は、取得部及び生成部を含む。取得部は、対象被制御ノードの制御要求の発生頻度を示す第1の評価値及び対象被制御ノードにおける通信エラーの発生頻度を示す第2の評価値の少なくとも一方を取得する。生成部は、対象被制御ノードを制御するために割り当てる識別情報を、第1の評価値及び第2の評価値の少なくとも一方が高くなるほど識別情報のビット長が短くなるように生成する。
【図面の簡単な説明】
【0008】
【図1】第1の実施形態に係る起動要求ノードを例示するブロック図。
【図2】第1の実施形態に係る被起動ノードを例示するブロック図。
【図3】通信システムの一例の説明図。
【図4】被起動ノードの追加に関するシーケンスを例示する図。
【図5】被起動ノードの起動に関するシーケンスを例示する図。
【図6】起動関連情報の更新に関するシーケンスを例示する図。
【図7】起動IDの決定アルゴリズムの一部を例示するフローチャート。
【図8A】マンチェスター符号化の信号フォーマットの説明図。
【図8B】起動IDのビット長を2ビット以上のステップで増加させることの効果の一例の説明図。
【図8C】パリティビットを付加することの効果の一例の説明図。
【図9A】12ビットの起動IDに対するパリティビット付加の一例の説明図。
【図9B】18ビットの起動IDに対するパリティビット付加の一例の説明図。
【図10】第2の実施形態に係る制御要求ノードを例示するブロック図。
【図11】第2の実施形態に係る被制御ノードを例示するブロック図。
【図12】制御可能電波強度を測定する処理を例示するフローチャート。
【図13】制御可能ノードリストを例示する図。
【図14】制御IDを割り当てる処理を例示するフローチャート。
【図15】被制御ノードを個別に遠隔制御する処理を例示するフローチャート。
【発明を実施するための形態】
【0009】
以下、図面を参照して実施形態について説明する。
尚、各実施形態において、図3に例示される通信システムを仮定する。即ち、複数の被制御ノード(Rx)を制御するために、一元的な制御要求ノードS(例えば、プロキシノード)が用意される。複数の被制御ノード及び制御要求ノードは、ネットワークを介して互いに接続される。尚、以降の説明では、制御要求ノード及び被制御ノードは、単にノードまたは通信装置と称されることもある。
【0010】
ネットワークとは、各ノードが通信インターフェースを介して互いに通信することを可能にするためのネットワークインフラである。ネットワークは、複数のスイッチなどを含む。スイッチとは、各ノードの通信インターフェースと、ネットワークとの間を相互に接続し、ノード間の通信を仲介するものである。ここで、各ノードとスイッチとの間の接続方式は、有線LAN(Local Area Network)に限らず無線LANなどであってもよい。接続方式が無線LANである場合には、スイッチは一般にアクセスポイントと呼ばれる。しかしながら、ここではアクセスポイント及びスイッチを区別せずに、両者を単にスイッチと呼ぶこととする。
【0011】
制御要求ノードは、典型的には、ネットワークを利用する通信インターフェース(例えば無線LANインターフェース)と、制御要求信号を例えば近距離無線方式に従って送信するための送信インターフェースとを備える。制御要求ノードは、被制御ノードに割り当てられた制御IDを含む制御要求信号を例えばアプリケーションからの要求に応じて送信する。被制御ノードは、係る制御要求信号を受信し、これに基づいて動作する。
【0012】
被制御ノードは、典型的には、ネットワークを利用する通信インターフェース(例えば無線LANインターフェース)と、制御要求信号を例えば近距離無線方式に従って受信するための受信インターフェースとを備える。被制御ノードは、割り当てられた制御IDと一致する制御IDを含む制御要求信号を受信すると、当該制御要求信号の種別に応じて動作する。例えば、被制御ノードは、制御要求信号が起動を要求するものであれば、起動処理を実行し、起動状態に遷移する(例えば、ネットワーク通信のための機能部の電源がONとなる)。
【0013】
図3において、複数の制御要求ノードからの依頼を受けて制御要求信号を一元的に送信するプロキシノードが存在する通信システムが想定されているので、制御要求ノードは1つであるかのように描かれている。しかしながら、各実施形態は、図3の通信システムに制限されず、複数の制御要求ノードが独立して制御要求信号を送信可能な通信システムに適用されてもよい。例えば、図3に示される被制御ノードが、被制御ノードとしての機能だけでなく制御要求ノードとしての機能を兼ねていてもよい。
【0014】
(第1の実施形態)
第1の実施形態に係る制御要求ノードは、主に被制御ノードの遠隔制御に利用される制御IDのビット長を通信システム全体の効率を考慮して割り当てることを目的の1つとする。尚、本実施形態において、「制御」の具体例として「起動」を想定し、これを中心に説明が展開される。しかしながら、本実施形態は、「起動」以外の「制御」にも一般化して適用可能である。即ち、本実施形態の説明における「起動」という用語は「制御」という用語として適宜読み替えられてよい。
【0015】
図1に示されるように、第1の実施形態に係る起動要求ノード100は、通信インターフェース101、起動信号送信インターフェース102、起動関連情報収集部103、起動ID生成部104及び起動ID送信部105を含む。本実施形態に係る起動要求ノード100は、後述のように、本実施形態に係る被起動ノード(例えば、被起動ノード200)を遠隔起動できる。
【0016】
通信インターフェース101は、図3に例示されるネットワークを介した通信を行う。通信インターフェース101は、無線LANインターフェースであってもよいし、その他の通信方式をサポートするインターフェースであってもよい。例えば、通信インターフェース101は、後述される起動IDを被起動ノードへ通知(送信)したり、後述される起動関連情報を被起動ノードから収集(受信)したりするために利用される。
【0017】
起動信号送信インターフェース102は、後述される起動要求信号を被起動ノードへ送信するために主に利用される。典型的には、起動信号送信インターフェース102は何らかの無線通信方式をサポートするインターフェースであり、以降の説明では起動要求信号は無線伝送されるものとする。但し、起動信号送信インターフェース102は、有線通信用インターフェースであってもよい。ここで重要なことは、起動信号送信インターフェース102が通信インターフェース101とは異なるものであって、アウトオブバンド方式のためのものである点である。尚、起動信号送信インターフェース102は、後述されるように、起動要求信号の電波強度を確認するために利用されてもよい。
【0018】
起動関連情報収集部103は、後述される種々の起動関連情報を収集し、これを保持する。起動関連情報収集部103は、収集した起動関連情報を保持するためのデータベース(DB)を含んでもよいし、外部のDBに起動関連情報を保持させてもよい。起動関連情報は、被起動ノードから送信されるものと、そうでないものとを含み得る。尚、起動関連情報の具体例は後述される。
【0019】
起動ID生成部104は、起動関連情報収集部103によって収集された起動関連情報に基づいて、被起動ノードの各々に割り当てる起動IDを生成する。起動IDは、個別の被起動ノードを識別する情報であって、起動要求信号に含められる。被起動ノードに割り当てられる起動IDは一意であることが望ましい。しかしながら、起動IDの体系次第では、後述される第2の実施形態のように複数の被起動ノードに同一の起動IDを割り当てざるを得ないことも想定される。起動IDは、通信インターフェース101が通信相手をアドレッシングするための識別情報(例えば、IPアドレス)とは独立して例えば図4に示されるシーケンスによって動的に決定される。また、所与の被起動ノードに割り当てられた起動IDは、他の被起動ノードの通信システムへの追加、電波状況の変化などに応じて、通信システムの運用中に例えば図6に示されるシーケンスによって変更されることもあり得る。尚、起動IDを決定するために起動ID生成部104によって実行されるアルゴリズムの詳細は後述される。
【0020】
起動ID送信部105は、所望の被起動ノードに割り当てられた起動IDを含む起動要求信号を生成し、起動信号送信インターフェース102を用いてこれを送信する。尚、起動要求信号を送信するための処理(例えば、パリティビットの付加、無線符号化(変調)など)の詳細は後述される。
【0021】
起動要求ノード100は、図1に示されていない構成要素を含み得る。例えば、起動要求ノード100は、特定の被起動ノードへ起動要求信号を送信することの依頼を他のノードから受理するための機能部(例えば、依頼受理部と名付けることができる)、起動済みの被起動ノードのアプリケーションをネットワーク経由で利用するための機能部(例えば、アプリケーション実行部と名付けることができる)を含んでもよい。また、起動要求ノード100は、起動関連情報の収集に関して、通信エラー発生回数(或いは、再送回数)を管理するための機能部、被起動ノード毎にシステム追加からの経過時間を管理するための機能部などを含んでもよい。
【0022】
図2に示されるように、本実施形態に係る被起動ノード200は、通信インターフェース201、起動信号受信インターフェース202、起動関連情報送信部203、起動処理部204及び起動ID受信部205を含む。被起動ノード200は、割り当てられた起動IDを含む起動要求信号を受信すると起動待機状態(非起動状態)から起動状態へと遷移する。以降の説明において、「起動すること」とは、「起動待機状態(非起動状態)から起動状態へと遷移すること」を意味するものとする。尚、通信システムにおいて、被起動ノード200の他の被起動ノードもまた、被起動ノード200と同一または類似の構成を備える。
【0023】
通信インターフェース201は、図3に例示されるネットワークを介した通信を行う。通信インターフェース201は、無線LANインターフェースであってもよいし、その他の通信方式をサポートするインターフェースであってもよい。例えば、通信インターフェース201は、起動IDの通知を起動要求ノードから受けたり、起動関連情報を起動要求ノードへ送信したりするために利用される。
【0024】
起動信号受信インターフェース202は、起動要求信号を起動要求ノード100から受信するために主に利用される。典型的には、起動信号受信インターフェース202は何らかの無線通信方式をサポートするインターフェースである。但し、起動信号受信インターフェース202が、有線通信用インターフェースであってもよい。尚、起動信号受信インターフェース202は、後述のように、起動要求信号の電波強度を確認するために利用されてもよい。起動関連情報送信部203は、例えば通信インターフェース201を用いて、起動関連情報を起動要求ノード100へ送信する。
【0025】
起動ID受信部205は、被起動ノード200が非起動状態であるときに、当該被起動ノード200に割り当てられた起動IDを含む起動要求信号を待ち受ける。具体的には、起動ID受信部205は、起動信号受信インターフェース202を用いて、係る起動要求信号を起動要求ノード100から受信する。起動ID受信部205は、係る起動要求信号を受信すると、被起動ノード200の起動を起動処理部204に依頼する。被起動ノード200に割り当てられた起動IDは、例えば、通信インターフェース201を用いて受信され、被起動ノード200において保持されている。
【0026】
起動処理部204は、被起動ノード200の起動処理、後述されるネットワーク初期設定処理などを実行する。具体的には、起動処理部204は、起動ID受信部205から被起動ノード200の起動を依頼されると、起動処理を実行して被起動ノード200を起動させる。
【0027】
被起動ノード200は、図2に示されていない構成要素を含み得る。例えば、被起動ノード200は、ローカルのアプリケーションをネットワーク経由で他のノードに利用させるための機能部(例えば、アプリケーション実行部と名付けることができる)を含んでもよい。
【0028】
起動要求ノード100が被起動ノード200の遠隔起動を可能とするための準備段階として、被起動ノード200の追加に関するシーケンスが実行される。係るシーケンスによって、被起動ノード200に割り当てられる起動IDが決定され、当該被起動ノード200に通知される。係るシーケンスは、図4に例示される。尚、図4ならびに後述される図5、図6において、ノード間の実線矢印は通信インターフェース101,201を用いた通信を示しており、ノード間の破線矢印は起動信号送信インターフェース102及び起動信号受信インターフェース202を用いた通信を示している。
【0029】
図4のシーケンスの初期状態において、起動要求ノード100はネットワークに接続されており、通信インターフェース101を用いて当該ネットワーク上で通信することができる。尚、図4に示されていない他の被起動ノードが係るシーケンスによって既に通信システムに追加されていてもよい。
【0030】
まず、被起動ノード200の起動処理部204は、ネットワークの初期設定を実行する(手順301)。手順301において、起動処理部204が例えばネットワーク上のDHCP(Dynamic Host Configuration Protocol)サーバからIP(Internet Protocol)アドレスの割り当てを受けたり、人間(例えば、管理者)が起動処理部204を通じて被起動ノード200のIPアドレスを手動設定したりする。また、手順301は、例示していない他の手法によって実現されてもよい。手順301の結果、被起動ノード200は通信インターフェース201を用いたネットワーク上での通信が可能となる。
【0031】
手順301の終了後に、被起動ノード200の起動関連情報送信部203は、通信インターフェース201を用いて、起動関連情報を起動要求ノード100へ送信する(手順302)。手順302において送信される起動関連情報には、被起動ノードの種別、想定される起動頻度、起動信号受信インターフェース202における受信感度情報、ノードの物理位置情報などの要素が含まれ得る。そして、起動要求ノード100の起動関連情報収集部103は、通信インターフェース101を用いて、起動関連情報を受信する。起動関連情報収集部103は、受信した起動関連情報を被起動ノード200に関連付けて保持する(手順303−5)。
【0032】
尚、起動要求ノード100のIPアドレスは、任意の方法で取得されてよい。典型的には、前述の手順301において、起動処理部204が例えばネットワーク上のDHCPサーバから起動要求ノード100のIPアドレスを取得したり、人間が起動処理部204を通じて起動要求ノード100のIPアドレスを手動設定したりする。
【0033】
また、手順302の前後に随意的な手順303を設けることができる。手順303は、省略されてもよい。手順303によれば、起動信号受信インターフェース202における起動要求信号の電波強度(受信強度)が測定され、起動要求ノード100によって確認される。即ち、手順303において、起動信号送信インターフェース102及び起動信号受信インターフェース202を機能させる必要がある。以下に手順303の具体的な実現例が示されるものの、手順303は係る電波強度を確認可能な任意の手順に置き換えられてもよい。
【0034】
まず、起動要求ノード100は、通信インターフェース101を用いて、何らかの符号情報を被起動ノード200へ送信する(手順303−1)。被起動ノード200は、通信インターフェース201を用いて、手順303−1において送信された符号情報を受信し、応答信号を起動要求ノードに返信する(手順303−2)。起動要求ノード100は、通信インターフェース101を用いて、手順303−2において送信された応答信号を受信する。
【0035】
続いて、起動要求ノード100は、起動信号送信インターフェース102を用いて、手順303−1において送信したものと同じ符号情報を被起動ノード200へ送信する(手順303−3)。被起動ノード200は、起動信号受信インターフェース202を用いて、手順303−3において送信された符号情報を受信し、その受信強度を測定する。被起動ノード200は、通信インターフェース201を用いて、測定した受信強度を起動要求ノード100に通知する(手順303−4)。
【0036】
起動要求ノード100と被起動ノード200との間で、上記手順303−1,・・・,303−4が複数回に亘って繰り返される。そして、起動要求ノード100の起動関連情報収集部103は、収集した受信強度に基づいて、被起動ノード200の電波強度情報(例えば、収集した受信強度の統計値)を作成し、これを起動関連情報の一要素として被起動ノード200に関連付けて保持する(手順303−5)。
【0037】
起動要求ノード100の起動ID生成部104は、手順302(及び手順303)において収集された起動関連情報に基づいて、被起動ノード200に割り当てる起動IDを決定する(手順304)。後述されるように、他の被起動ノードに既に起動IDが割り当てられている場合には、被起動ノード200の起動IDの決定においてもこれらの起動関連情報が考慮される。起動ID生成部104は、決定した起動IDを被起動ノード200に関連付けて保持する。起動IDは、例えば、起動ID送信部105がアクセス可能なDBに保持される。尚、手順304において起動ID生成部104が実行するアルゴリズムの詳細は、後述される。
【0038】
起動要求ノード100は、通信インターフェース101を用いて、手順304において決定された起動IDを被起動ノード200に通知する(手順305)。被起動ノード200は、通信インターフェース201を用いて、起動IDを起動要求ノード100から受信する。起動IDは、例えば起動ID受信部205がアクセス可能なDBに保持される。手順305の終了を以て図4のシーケンスは終了する。図4のシーケンスの終了後の非起動状態において、被起動ノード200の起動ID受信部205は割り当てられた起動IDを待ち受ける。
【0039】
尚、図4のシーケンスの終了後に、被起動ノード200は即座に非起動状態に遷移してもよい。被起動ノード200を即座に非起動状態に遷移させることによって、当該被起動ノード200の消費電力が低減する。特に、被起動ノード200がバッテリによって駆動される場合には、消費電力の低減が被起動ノード200の長寿命化(稼働時間の延長)に直結する。
【0040】
図4のシーケンスが終了すると、起動要求ノード100は、所望のタイミングで被起動ノード200を遠隔起動することができる。例えば図5に示されるような被起動ノード200の起動に関するシーケンスを経て、起動要求ノード100は被起動ノード200を遠隔起動する。
【0041】
図5のシーケンスの初期状態において、被起動ノード200は既に図4のシーケンスなどを経て起動IDが割り当てられている。また、被起動ノード200は、非起動状態である。
【0042】
起動要求ノード100において、被起動ノード200の起動要求が発生する(手順401)。例えば、起動要求ノード100が被起動ノード200の提供するサービス、情報などを利用する必要のある状況において、係る起動要求が発生する。また、他のノードにおいて起動要求が発生し、当該他のノードが被起動ノード200の起動を起動要求ノード100に依頼することも想定される。起動要求において、被起動ノード200の起動IDが指定されている必要はなく、例えば被起動ノードのIPアドレスなどの識別情報が指定されていればよい。起動要求ノード100は、DBを利用してIPアドレスを対応する起動IDに変換することができる。尚、起動要求ノード100は、通信システムに含まれる全ての被起動ノードが起動状態であるか否かを把握している。起動要求ノード100は、起動要求の対象となる被起動ノード200が起動状態であることを検知した場合に、図5のシーケンスの続行をキャンセルしてもよい。
【0043】
起動要求ノード100の起動ID送信部105は、起動信号送信インターフェース102を用いて、手順401において発生した起動要求の対象となる被起動ノード200の起動IDを少なくとも含む起動要求信号を当該被起動ノード200へ送信する(手順402)。起動要求信号は、起動IDのみを搬送してもよいし、起動IDに加えて他の情報(例えば、起動のために必要なパラメータ情報、起動後の動作を規定する制御情報等)を搬送してもよい。尚、起動要求信号を送信したにも関わらず被起動ノード200が起動しない場合には、起動ID送信部105は起動要求信号を再送してもよい(即ち、手順402を再度実行してもよい)。
【0044】
被起動ノード200の起動ID受信部205は、起動信号受信インターフェース202を用いて、手順402において送信された起動要求信号を受信し、被起動ノード200の起動を起動処理部204に依頼する(手順403)。起動処理部204は、被起動ノード200の起動の過程において、ネットワークの初期設定を実行してもよいし、しなくてもよい。ネットワークの初期設定を実行しない場合には、起動処理部204は例えば最後の(例えば、現行の非起動状態に遷移する時点における)設定を適用すればよい。ネットワークの初期設定を実行する場合には、起動処理部204は例えば図4の手順301と同一または類似の処理を実行すればよい。手順403の終了を以て被起動ノード200の遠隔起動が実現する。
【0045】
手順403の終了後に、随意的な手順404及び手順405の一方または両方を設けることができる。尚、手順404及び手順405の両方が設けられる場合には、手順404の終了後に手順405を実行する必要がある。即ち、手順403,404または405のいずれかの終了を以て図5のシーケンスは終了する。
【0046】
手順404において、起動要求ノード100(或いは、他のノード)は、通信インターフェース101を用いて、被起動ノード200が提供するサービス、情報などを利用する。手順404の内容は、被起動ノード200によって実行されるアプリケーション次第で異なる。
【0047】
手順405において、被起動ノード200の起動処理部204は、当該被起動ノード200を停止する(即ち、起動状態から非起動状態に遷移させる)。手順405によれば、被起動ノード200の消費電力が低減する。
【0048】
手順405における被起動ノード200の停止動作は、起動要求ノード100(或いは、他のノード)による指示を契機に実施されてもよい。この場合のシーケンス(起動要求ノード100が被起動ノード200を遠隔停止するシーケンス)は、図5のシーケンスに示されるシーケンス(起動要求ノード100が被起動ノード200を遠隔起動するシーケンス)と同様のものとなる。例えば、図5のシーケンスにおいて、「起動」を「停止」に置き換えて、「停止」を「起動」に置き換えることにより、図5と同様の動作の流れで停止動作を説明できる。
【0049】
手順405の前に手順404が設けられる場合には、手順405の実行タイミングは手順404の終了タイミングに依存する。尚、前述の通り、手順404の内容(例えば、終了タイミング)は、当該手順404において被起動ノード200によって実行されるアプリケーション次第で異なる。
【0050】
前述のように、各被起動ノードに割り当てられる起動IDは、起動関連情報に基づいて決定される。即ち、起動関連情報の内容が変化すると、これに伴って起動IDを変更することが必要となるかもしれない。従って、起動要求ノード100は、図6に例示されるシーケンスを実行することによって、起動関連情報を更新し、必要に応じて各被起動ノードに割り当てられる起動IDを変更する。但し、図6のシーケンスは随意的であって、全く実行されなくてもよい。例えば、通信システムの運用環境が固定的である場合には、起動関連情報が変化に乏しく、係るシーケンスを実行する意義は薄いかもしれない。
【0051】
図6のシーケンスの初期状態において、被起動ノード200(図6の被起動ノード1)及び他の被起動ノード(図6の被起動ノード2,・・・)は既に図4のシーケンスなどを経て起動IDが割り当てられている。また、被起動ノード200は、起動状態である。
【0052】
被起動ノード200において、起動関連情報の修正要因が発生する(手順501)。例えば、被起動ノード200の物理位置が移動されると、物理位置情報に変化が生じるし、電波強度情報に変化が生じるかもしれない。また、被起動ノード200について想定される利用形態が変更された(例えば、被起動ノード200が何らかのサービスのマスターからセカンダリになった)場合、何らかのサービスの提供を新たに開始した場合などには、被起動ノード200の起動頻度に変化が生じるかもしれない。また、被起動ノード200の起動頻度の実測値が過去のものから大きく変化するかもしれない。更に、被起動ノード200の起動回数またはシステム追加からの経過時間が何らかの閾値を超えた場合に、修正要因が発生したとみなすこともできる。
【0053】
被起動ノード200の起動関連情報送信部203は、通信インターフェース201を用いて、手順501において修正要因の生じた起動関連情報を起動要求ノード100に通知する(手順502)。尚、手順502において、起動関連情報送信部205は、必ずしも全ての起動関連情報を通知しなくてもよい。
【0054】
起動要求ノード100の起動関連情報収集部103は、通信インターフェース101を用いて、手順502において送信された起動関連情報を受信し、例えばDBに保持している起動関連情報を更新する(手順503)。
【0055】
手順503に伴って、起動ID生成部104は、図4の手順305と同一または類似の処理を実行して、起動IDを再決定してもよい。但し、係る処理は随意的であり、全く実行されなくてもよいし、何らかの条件に応じて選択的に実行されてもよい。係る処理を実行する場合には、1つまたは複数の被起動ノードの起動IDが変更される可能性がある。故に、起動要求ノード100は、通信インターフェース101を用いて、変更後の起動IDを対応する被起動ノードに夫々通知する(手順504)。例えば、被起動ノード200の起動IDが変更されたと仮定する。被起動ノード200は、通信インターフェース201を用いて、変更後の起動IDを起動要求ノード100から受信する。被起動ノード200は、変更後の起動IDを用いて、例えば起動ID受信部205がアクセス可能なDBに保持されている起動IDを更新する。手順503または手順504の終了を以て図6のシーケンスは終了する。
【0056】
尚、起動ID生成部104が起動IDを再決定した時点において、起動IDを変更された被起動ノードは非起動状態であるかもしれない。即ち、いくつかの被起動ノードに関して、変更後の起動IDを即座に通知することは困難であるかもしれない。従って、起動要求ノード100は、非起動状態の被起動ノードに関して、下記の方針(α)または(β)に従って手順504を実行してもよい。
【0057】
方針(α)は、変更後の起動IDを即座に通知するものである。即ち、起動要求ノード100は、従前の起動IDを用いて所望の被起動ノードを遠隔起動し、変更後の起動IDを通知する。方針(β)は、変更後の起動IDの通知を一時的に留保するものである。即ち、起動要求ノード100は、起動IDの変更のみを理由に被起動ノードを遠隔起動させず、代わりに起動IDの変更を通知する必要のある被起動ノードと変更後の起動IDとを例えばDBに一時的に保持しておく。そして、起動要求ノード100は、例えば図5のシーケンスの実行などによって所望の被起動ノードを従前の起動IDを用いて起動した場合に、当該所望の被起動ノードに変更後の起動IDを通知する。本実施形態において、方針(α),(β)或いは他の方針のいずれが採用されても構わない。但し、方針(β)は、方針(α)に比べて被起動ノードの起動回数を抑えることができるので、通信システムの効率性において優れる。
【0058】
尚、上記方針(β)は、変更後の起動IDの通知を一時的に留保するので、起動IDの衝突が一時的に生じる可能性がある。即ち、第1の被起動ノードの従前の起動IDが、第2の被起動ノードの変更後の起動IDと一致するかもしれない。起動IDの衝突を回避するために、上記方針(β)を修正することも可能である。具体的には、第1の被起動ノードに変更後の起動IDを通知するまで、第2の被起動ノードへの変更後の起動IDの通知を留保すれば、起動IDの衝突を回避できる。尚、第1の被起動ノードが頻繁に起動されるものであれば、第2の被起動ノードへ変更後の起動IDの通知を留保することの悪影響は小さくなる。
【0059】
以下、起動IDの決定アルゴリズムの詳細が述べられる。この決定アルゴリズムは、図4の手順304(及び図6の手順503)において、起動要求ノード100の起動ID生成部104によって実行される。
【0060】
この決定アルゴリズムにおいて、起動IDの基本的な割り当て方針は下記の通りである。第1の方針は、起動要求の発生頻度が高いと評価される被起動ノードほど短い起動IDを割り当てることである。第2の方針は、通信エラーの発生頻度が高いと評価される被起動ノードほど短い起動IDを割り当てることである。第1の方針及び第2の方針によれば、起動IDのビット長が通信システム全体で最適化される。即ち、頻繁に起動される被起動ノードが短い起動IDを使用するので、通信システム全体で消費電力を低減できる。また、通信エラーの発生しやすい被起動ノードが短い起動IDを使用するので、通信システム全体で通信エラーに起因する起動失敗を回避し易くなる。また、第3の方針は、起動IDを構成するビット値(「1」,「0」)の並びを特段考慮しないことである。
【0061】
この決定アルゴリズムは、下記の第1乃至第4のステップを通じて実現される。第1のステップにおいて、起動要求ノード100の起動ID生成部104は、起動関連情報収集部103によって収集された起動関連情報を入力する。起動関連情報は、例えば起動関連情報収集部103及び起動ID生成部104がアクセス可能なDBに保持されている。起動ID生成部104は、第1のステップにおいて入力した起動関連情報に基づいて、各被起動ノードの割り当て優先度を算出する(第2のステップ)。尚、割り当て優先度の詳細は後述される。起動ID生成部104は、後述されるステップ増加パラメータと、第2のステップにおいて算出した割り当て優先度とに基づいて、各被起動ノードに割り当てる起動IDのビット長を決定する(第3のステップ)。起動ID生成部104は、第3のステップにおいて決定されたビット長に従って、各被起動ノードに割り当てる起動IDの値を決定する(第4のステップ)。
【0062】
以下、第1のステップに関して、起動関連情報の詳細が述べられる。第1のステップにおいて入力される起動関連情報は、被起動ノードに対する起動要求の発生頻度に関する情報と、被起動ノードにおける通信エラーの発生頻度に関する情報とに大別できる。尚、第1のステップにおいて、一方の情報のみが入力されてもよい。起動要求の発生頻度に関する情報は、例えば、想定される起動頻度情報、被起動ノードの種別情報、過去の起動回数などを含み得る。通信エラーの発生頻度に関する情報は、電波強度情報、物理位置情報、起動信号受信インターフェースにおける受信感度情報、過去の通信エラー発生回数などを含み得る。勿論、起動ID生成部104は、ここで例示した一部の種別の起動関連情報に限って入力してもよいし、ここで例示しない他の種別の起動関連情報を組み合わせて入力してもよい。
【0063】
想定される起動頻度情報は、被起動ノードの起動頻度の予測値を直接的に示す。通信システムとしてホームネットワークを想定するならば、被起動ノードの機器メーカが固定的に設定してもよいし、被起動ノードの購入後にユーザが手動で設定してもよい。
【0064】
被起動ノードの種別は、被起動ノードの起動頻度を推定するために利用することができる。通信システムとしてホームネットワークを想定するならば、被起動ノードの種別として、テレビ、ビデオレコーダ、パーソナルコンピュータなどが指定される。被起動ノードの種別がテレビであれば、当該被起動ノードは一日に数回程度起動されると推定できる。一方、被起動ノードの種別がDVD記録用ドライブであれば、当該被起動ノードは稀にしか起動されないと推定できる。即ち、被起動ノードの種別を想定される起動頻度情報(例えば、年間起動回数)に変換することが可能である。係る変換は、例えばインターネット上にマッピングのためのデータベースを構築し、起動ID生成部104が当該データベースを参照することで実現されてもよい。また、被起動ノードの種別の変換結果は、前述の想定される起動頻度情報と独立して扱われてもよいし、平均化などを経て統合されてもよい。
【0065】
過去の起動回数は、被起動ノードの過去の起動頻度を評価するために利用することができる。例えば、起動要求ノード100の起動関連情報収集部103は、被起動ノードの起動履歴を管理することによって、過去の起動回数を収集することができる。尚、過去の起動回数は、被起動ノードが通信システムに追加されてからの経過時間が長いほど増大する。例えば、過去の起動回数をシステム追加からの経過時間で除算すれば、より妥当な値を評価し易くなる。
【0066】
電波強度情報は、例えば、図4の手順303において、起動要求ノード100の起動関連情報収集部103によって収集される。電波強度が大きいほど、被起動ノードにおける通信エラーの発生頻度は低いと推定できる。
【0067】
物理位置情報は、起動要求ノード100と被起動ノードとの間の物理相対距離を示す。物理相対距離が長いほど、被起動ノードにおける通信エラーの発生頻度は高いと推定できる。尚、物理位置情報は、起動要求ノード100または被起動ノードに備えられる位置センサなどによって検出されてもよいし、両ノードの設置後にユーザが手動で設定してもよい。
【0068】
起動信号受信インターフェースにおける受信感度は、被起動ノードの起動信号受信インターフェースの受信能力の一指標である。具体的には、受信感度が低いほど、被起動ノードにおける通信エラーの発生頻度は高いと推定できる。
【0069】
過去の通信エラー発生回数は、被起動ノードにおける過去の通信エラー発生頻度を評価するために利用することができる。例えば、起動要求ノード100の起動関連情報収集部103は、起動ID送信部105が起動信号送信インターフェース102から起動要求信号を送信したにも関わらず被起動ノードが起動しなかった回数をカウントすることによって、過去の通信エラー発生回数を収集することができる。或いは、起動関連情報収集部103は、通信インターフェース101を用いた通信における通信エラーの発生回数を過去の通信エラー発生回数として収集してもよい。また、起動関連情報収集部103は、過去の起動要求信号の再送回数をカウントし、これを通信エラーの発生回数として収集することもできる。尚、過去の起動要求信号の再送回数は、過去の起動要求の発生回数が大きいほど増大する。例えば、過去の起動要求信号の再送回数を過去の起動要求の発生回数で除算すれば、より妥当な値を評価し易くなる。
【0070】
以下、第2のステップに関して、割り当て優先度の詳細が述べられる。前述のように、第1のステップにおいて入力された起動関連情報は、被起動ノードに対する起動要求の発生頻度に関する情報と、被起動ノードにおける通信エラーの発生頻度に関する情報とに大別できる。そこで、起動ID生成部104は、起動関連情報を起動頻度情報とエラー頻度情報とに集約し、両者を合成して割り当て優先度を算出する。尚、起動頻度情報及びエラー頻度情報の一方に関する情報が収集されていなければ、起動ID生成部104は他方のみに基づいて割り当て優先度を算出してもよい。起動頻度情報は、被起動ノードに対する起動要求の発生頻度の評価値である。エラー頻度情報は、被起動ノードにおける通信エラーの発生頻度の評価値である。
【0071】
起動頻度情報は、例えば複数の観点から評価された起動頻度の統計値である。例えば、起動ID生成部104は、起動頻度情報を下記の数式(1)によって計算できる。
【数1】
【0072】
数式(1)において、Aは起動頻度情報を表す。Bはシステム追加からの経過時間を表し、Cは過去の起動回数を表す。即ち、C/Bは、被起動ノードの過去の起動頻度の測定値に相当する。また、数式(1)において、Dは想定される起動頻度を表す。即ち、Dは被起動ノードの起動頻度の推定値に相当する。尚、数式(1)では、起動頻度の測定値及び推定値の算術平均を計算しているが、これらの重み付き平均を代わりに計算してもよい。重みは、例えばシステム追加からの経過時間が長いほど測定値が重視されるようにしてもよいし、その他の方針で決定されてもよい。
【0073】
エラー頻度情報は、例えば複数の観点から評価されたエラー頻度の統計値である。例えば、起動ID生成部104は、エラー頻度情報を下記の数式(2)によって計算できる。
【数2】
【0074】
数式(2)において、Eはエラー頻度情報を表す。Fは電波強度情報を表し、Gは起動信号受信インターフェース202における受信感度情報を表し、Hは物理位置情報を表す。即ち、1/F,1/G及びHは、被起動ノードにおけるエラー発生頻度の推定値に相当する。また、数式(2)において、Iは過去の起動要求の発生回数を表し、Jは過去の起動要求信号の再送回数を表す。即ち、J/Iは被起動ノードにおける過去のエラー頻度の測定値に相当する。数式(2)によれば、エラー頻度情報Eは、電波強度情報Fが小さいほど、受信感度情報Gが低いほど、物理位置情報Hが大きいほど、及び、過去のエラー頻度が高いほど、より大きな値となる。
【0075】
起動ID生成部104は、起動頻度情報A及びエラー頻度情報Eの少なくとも一方に基づいて起動指標値を計算する。典型的には、起動ID生成部104は、起動頻度情報A及びエラー頻度情報Eを合成して起動指標値を算出する。例えば、起動ID生成部104は、起動指標値を下記の数式(3)によって計算できる。
【数3】
【0076】
数式(3)において、Kは起動指標値を表す。数式(3)によれば、起動指標値Kは、起動頻度情報Aが大きいほど、及び、エラー頻度情報Eが大きいほど、より大きな値となる。起動ID生成部104は、起動指標値Kを割り当て優先度として扱ってよい。或いは、起動ID生成部104は、起動指標値Kを正規化して得られる確率値(以降の説明において、起動確率情報と称される)を割り当て優先度として扱ってよい。例えば、起動ID生成部104は、下記の数式(4)に従って起動確率情報を算出することができる。
【数4】
【0077】
数式(4)において、P(x)は被起動ノードxの起動確率情報を表す。xは被起動ノードを識別する変数であり、数式(4)によれば0からn(=被起動ノードの総数−1)までのいずれかの整数値を持つ。Kxは被起動ノードxの起動指標値を表す。尚、全ての被起動ノードの起動確率情報の総和は1となる。尚、起動確率情報は、ハフマン符号化における出現頻度情報に相当するとみなすこともできる。
【0078】
以下、第3のステップに関して、図7を用いて決定アルゴリズムのうち各被起動ノードに割り当てる起動IDのビット長の決定に関する部分を説明する。具体的には、起動ID生成部104は、起動確率情報をハフマン符号化における出現頻度情報とみなして、各被起動ノードに割り当てる起動IDのビット長(サイズ)を決定する。ステップ増加パラメータSは、可変の設定値であって、起動IDビット長を増加させる単位(ビット長)を示す。一般的なハフマン符号化においてステップ増加パラメータS=1ビットであるが、後述されるように本実施形態においてステップ増加パラメータS=2ビット以上であってもよい。換言すれば、一般的なハフマン符号化において2(=21)分ハフマン木が採用されるが、本実施形態においてN(=2S)分ハフマン木が採用される。
【0079】
処理はステップS601から開始する。ステップS601において、起動ID生成部104は、初期化処理を実行する。具体的には、起動ID生成部104は、変数Lcに0を代入し、集合Tuに全ての被起動ノードを所属させ、集合Ta,Tsを夫々空集合に設定する。ここで、変数Lcは、起動IDのビット長を表す。集合Tuは、起動IDが割り当てられていない被起動ノードを包含する。集合Taは、起動IDが割り当て済みの被起動ノードを包含する。集合Tsは、起動IDを割り当てるために選択された被起動ノードを包含する。尚、集合Ta及び集合Tuの和集合は、全ての被起動ノードの集合に等しい。ステップS601の終了後に処理はステップS602に進む。
【0080】
ステップS602において、起動ID生成部104は、集合Tuに属している被起動ノードから2S−1個を選択し、集合Tsに所属させる。具体的には、起動ID生成部104は、集合Tuに属している被起動ノードを起動確率情報(即ち、割り当て優先度)の降順に2S−1個選択する。但し、集合Tuに属している被起動ノードの数が2S−1個未満であれば、起動ID生成部104は集合Tuに属している全ての被起動ノードを選択すればよい。
【0081】
続いて、起動ID生成部104は、変数LcをSだけインクリメントし、ステップS602において集合Tsに所属させた全ての被起動ノードxに関してL(x)=Lcを割り当てる(ステップS603)。ここで、L(x)は、被起動ノードxに割り当てられた起動IDのビット長を表す。即ち、ステップS603において、最大2S−1個の被起動ノードに共通のビット長(=Lc)が割り当てられる。
【0082】
ステップS603の終了後に、起動ID生成部104は、集合Tsに属する全ての被起動ノードを集合Tuから取り除くと共に、これらを全て集合Taに所属させる(ステップS604)。ステップS604の結果、集合Tuが空集合になれば処理は終了し、そうでなければ処理はステップS602に戻る(ステップS605)。
【0083】
以下、第4のステップに関して、各被起動ノードに割り当てる起動IDの値の詳細が述べられる。尚、前述の第3の方針から明らかなように、起動IDの値は任意の方法で割り当てることができる。例えば、ビット長が共通の起動IDを持つ被起動ノード同士で起動確率情報(即ち、割り当て優先度)の降順に小さなビット値が割り当られてもよい。尚、各起動ノードに割り当てる起動IDの値は、上記ステップ増加パラメータSの値に応じて異なる。
【0084】
例えば、ステップ増加パラメータS=1ビットであれば、起動IDの最小ビット長は1ビットであり、共通のビット長を持つ起動IDの最大数は1(=21−1)である。起動IDの値は、例えば、「0」,「10」,「110」・・・などとなる。
【0085】
ステップ増加パラメータS=2ビットであれば、起動IDの最小ビット長は2ビットであり、共通のビット長を持つ起動IDの最大数は3(=22−1)である。起動IDの値は、例えば、「00」,「10」,「11」,「1100」,「1101」,「1110」,「111100」,「111101」,「111110」・・・などとなる。
【0086】
ステップ増加パラメータS=3ビットであれば、起動IDの最小ビット長は3ビットであり、共通のビット長を持つ起動IDの最大数は7(=23−1)である。起動IDの値は、例えば、「000」,「001」,「010」,「011」,「100」,「101」,「110」,「111000」,「111001」,「111010」,「111011」,「111100」,「111101」,「111110」・・・などとなる。
【0087】
ステップ増加パラメータS=4ビットであれば、起動IDの最小ビット長は4ビットであり、共通のビット長を持つ起動IDの最大数は15(=24−1)である。起動IDの値は、例えば、「0000」,「0001」,「0010」,「0011」,「0100」,「0101」,「0110」,「0111」,「1000」,「1001」,「1010」,「1011」,「1100」,「1101」,「1110」,「11110000」,「11110001」,「11110010」,「11110011」,「11110100」,「11110101」,「11110110」,「11110111」,「11111000」,「11111001」,「11111010」,「11111011」,「11111100」,「11111101」,「11111110」・・・などとなる。
【0088】
前述の決定アルゴリズムによれば、起動要求の発生頻度が高いと評価される被起動ノードほど短い起動IDを割り当てられ、かつ、通信エラーの発生頻度が高いと評価される被起動ノードほど短い起動IDを割り当てられる。従って、起動IDのビット長が通信システム全体で最適化される。即ち、頻繁に起動される被起動ノードが短い起動IDを使用するので、通信システム全体で消費電力を低減できる。また、通信エラーの発生しやすい被起動ノードが短い起動IDを使用するので、通信システム全体で通信エラーに起因する起動失敗を回避し易くなる。更に、この決定アルゴリズムは、原理上、割り当て可能な起動IDの数を制限しない(即ち、起動IDのビット長を制限しない)。従って、この決定アルゴリズムは、通信システムに含まれる被起動ノードの多寡に関わらず適用可能である。
【0089】
以下、起動要求信号を送信するための処理の詳細が述べられる。前述のように、起動要求信号は可変長符号語である起動IDを含み、かつ、無線伝送されることが想定されている。故に、起動要求ノード100の起動信号送信部105は、下記の点を考慮した処理を適用し、通信エラーの発生頻度を抑えることが望まれる。具体的には、(1)無信号状態の区別が容易な無線符号化を採用することと、(2)無線干渉などに起因するビットエラー(またはビット消失)の対策と、(3)起動要求信号の末尾(或いは先頭)へのノイズ付加の対策とが考慮されるべきである。
【0090】
(1)に関して、無信号状態を区別できなければ、被起動ノードにおいて受信起動IDのビット長が不明となり、起動の失敗または誤起動が生じるかもしれない。受信側において、無信号状態と、ビット「1」送信状態と、ビット「0」送信状態とを区別可能な無線符号化方式として、例えばマンチェスター符号化(2値PPM(Pulse Position Modulation))が知られている。図8Aに示されるように、マンチェスター符号化は、ビット「1」送信状態においてパルスをローからハイに遷移させる。更に、マンチェスター符号化は、ビット「0」送信状態においてパルスをハイからローに遷移させる。図8Aから明らかなように、マンチェスター符号化によれば、無信号状態と、ビット「1」送信状態と、ビット「0」送信状態とを区別することが可能である。勿論、起動信号送信部105は、マンチェスター符号化以外の適切な無線符号化方式を採用してもよいし、(1)を考慮せずに無線符号化方式を選択してもよい。
【0091】
(2)に関して、エラービット(または消失ビット)を訂正できなければ、被起動ノードにおいて誤った起動IDが検出され、起動の失敗または誤起動が生じるかもしれない。エラー訂正のために、例えばパリティビットを付加することができる。尚、前述のマンチェスター符号化は、原理上ビット誤りは発生しないが、無線干渉などに起因するビット消失は発生し得る。1ビットのパリティ付加によれば、1ビットまでのビット消失を訂正することができる。例えば、起動IDに1ビットの偶数パリティを付加してマンチェスター符号化すると、図8Cに示されるように、1ビットまでの消失ビットの訂正が可能である。即ち、消失ビットを除く他のビットの総和が奇数であれば消失ビットはビット「1」に訂正され、消失ビットを除く他のビットの総和が偶数であれば消失ビットはビット「0」に訂正される。
【0092】
更に、(2)に関して、1ビットよりも多くの消失ビットへの対策を講じることも可能である。具体的には、インタリーブ方式を採用し、より多くのパリティビットを付加することによって複数の消失ビットを訂正することができる。例えば、図9Aに示されるように、12ビットの起動IDを4ビット単位でインタリーブして1ビットのパリティを夫々付加すれば、インタリーブされた4ビットのグループ毎に1ビットまでの消失ビットの訂正が可能である。尚、図9A及び図9Bにおいて、数字はビットの送信順を示しており、パリティビット(例えば、図9Aの5,10,15)が実線で囲われている。
【0093】
尚、起動IDのビット長に一定割合のパリティビットを付加すると、当該起動IDのビット長が増大するほど通信エラーの発生頻度が増大することが実測結果より判明している。即ち、起動IDのビット長が増大するほど、より高い割合でパリティビットを付加することが望ましい。従って、起動ID送信部105は、起動IDのビット長が増大するほどより小さなインタリーブ単位を採用し、通信エラーの発生頻度の増大を抑制する。例えば、起動ID送信部105は、12ビットの起動IDを4ビット単位でインタリーブし(図9A参照)、18ビットの起動IDを3ビット単位でインタリーブする(図9B参照)。図9A及び図9Bの例によれば、12ビットの起動IDに対して3ビットのパリティが付加され、18ビットの起動IDに対して6ビットのパリティが付加される。即ち、起動IDのビット長が増大するほど、起動要求信号においてパリティビットの占める割合が高くなるので、通信エラーの発生頻度の増大を効果的に抑制できる。
【0094】
(3)に関して、起動要求信号の末尾(或いは先頭)へのノイズが付加されると、(1)と同じく被起動ノードにおいて受信起動IDのビット長が不明となり、起動の失敗または誤起動が生じるかもしれない。起動IDのビット長を例えば1ビットのステップで増加させると、例えば図8Bに示されるように、起動要求信号の末尾(或いは先頭)の1ビットにノイズが付加されるだけで受信起動IDのビット長が不明となる。一方、起動IDのビット長を例えば2ビット以上のステップで増加させる(即ち、前述のステップ増加パラメータSを2ビット以上に設定する)と、受信起動IDにおいて当該ステップよりも短い先頭または末尾のビットにノイズが付加されたとしても当該起動IDのビット長を正しく検出することが可能である。
【0095】
上記(1),(2),(3)を考慮した処理を適用すれば、受信起動IDのビット長を正確に検出できると共にエラービット或いは消失ビットを訂正できる。即ち、通信エラーの発生頻度が効果的に抑制され、ひいては通信エラーに起因する起動の失敗及び誤起動が回避されやすくなる。
【0096】
以上説明したように、第1の実施形態に係る起動要求ノードは、起動要求の発生頻度及び通信エラーの発生頻度の少なくとも一方が高い被起動ノードほどより短い起動IDのビット長が割り当てられるように、起動IDを割り当てる。従って、本実施形態に係る起動要求ノードによれば、起動IDのビット長が通信システム全体で最適化される。即ち、頻繁に起動される被起動ノードに短い起動IDを割り当てれば、通信システム全体で消費電力を低減できる。また、通信エラーの発生しやすい被起動ノードに短い起動IDを割り当てれば、通信システム全体で通信エラーに起因する起動失敗を回避し易くなる。
【0097】
また、本実施形態に係る起動要求ノードは、割り当て可能な起動IDの数を制限しない(即ち、起動IDのビット長を制限しない)。従って、本実施形態に係る起動要求ノードによれば、通信システムに含まれる被起動ノードの多寡に関わらず個別の遠隔起動が可能である。
【0098】
更に、本実施形態に係る起動要求ノードは、マンチェスター符号化などの無信号状態を区別できる無線符号化方式を採用したり、起動IDのビット長を2ビット以上のステップで増加させたりする。従って、本実施形態に係る起動要求ノードによれば、被起動ノードは、可変長符号語である起動IDを含み、かつ、無線伝送される起動要求信号のビット長を正しく検出できる。また、本実施形態に係る起動要求ノードは、誤り訂正のために、例えば起動IDをインタリーブし、インタリーブされたビットグループ毎にパリティビットを付加する。より詳細には、本実施形態に係る起動要求ノードは、起動IDのビット長が長いほどインタリーブ単位を小さくし、起動要求信号においてパリティビットの占める割合を高くする。従って、本実施形態に係る起動要求ノードによれば、起動IDのビット長の増大に伴う通信エラーの発生頻度の増大を効果的に抑制できる。
【0099】
更に、図1の起動要求ノード100は、機能分割によって2以上の通信装置として実装することもできる。例えば、図1の起動要求ノード100を第1の通信装置及び第2の通信装置として実装することができる。第1の通信装置及び第2の通信装置は、互いに情報のやり取りが可能である。具体的には、第1の通信装置は、起動ID生成部104を少なくとも含み、例えば図4の手順304(及び図6の手順503)において、起動関連情報を入力し、これに基づいて起動IDを生成する。尚、第1の通信装置が入力する起動関連情報は、第2の通信装置または他の外部の通信装置によって収集されたものであってもよいし、当該第1の通信装置が収集したものであってもよい。第2の通信装置は、起動信号送信インターフェース102を少なくとも含み、第1の通信装置によって生成された起動IDを含む起動要求信号を送信することによって被起動ノードを遠隔起動する。
【0100】
(第2の実施形態)
前述の第1の実施形態の説明は、被制御ノードの遠隔起動を中心に展開された。一方、第2の実施形態は、具体的な遠隔制御の種別に言及することなく一般化して述べられる。即ち、本実施形態は、制御IDを指定して実行される種々の遠隔制御(遠隔起動を含む)に適用可能である。
【0101】
本実施形態においては、前述の第1の実施形態と異なり、割り当て可能な制御IDの総数は限られているものとする。即ち、本実施形態において、通信システムに含まれる被制御ノードの総数が割り当て可能な制御IDの総数を超える場合には、共通の制御IDを複数の被制御ノードに割り当てざるを得ない。そこで、本実施形態に係る制御要求ノードは、後述される制御可能電波強度を制御IDと組み合わせて用いることによって、共通の制御IDが複数の被制御ノードに割り当てられている場合においても、所望の被制御ノードを個別に遠隔制御する。
【0102】
本実施形態に係る制御要求ノード及び被制御ノードは、第1の実施形態と同様に図3に例示されるネットワークに接続されてもよいし、されなくてもよい。即ち、本実施形態に係る制御要求ノード及び被制御ノードは例えばIP網を利用することなく情報をやり取りしてもよい。
【0103】
図10に示されるように、本実施形態に係る制御要求ノード700は、制御信号インターフェース701、制御可能電波強度測定部702、制御信号送信部703、制御部704及び通信インターフェース705を含む。本実施形態に係る制御要求ノード700は、後述のように、本実施形態に係る被制御ノード(例えば、被制御ノード800)を遠隔制御することができる。
【0104】
制御信号インターフェース701は、制御IDを用いた無線通信を行う。具体的には、制御信号インターフェース701は、後述される探索信号、無視要求信号、制御要求信号などを送信するために利用される。また、制御信号インターフェース701は、後述される制御可能電波強度の測定にも利用される。更に、制御信号インターフェース701は、種々の応答信号の一部または全部を被制御ノードから受信したり、後述されるID割り当て開始信号を被制御ノードに送信したり、後述される制御ID割り当て信号を被制御ノードに送信したりするために利用されてもよい。
【0105】
制御可能電波強度測定部702は、制御可能電波強度を測定する。具体的には、制御可能電波強度測定部702は、制御信号インターフェース701、制御信号送信部703及び通信インターフェース705を利用して各被制御ノードの制御可能電波強度を測定し、制御可能電波強度と対応する被制御ノードとを関連付けた制御可能ノードリストを作成し、これを例えばDBに保持する。
【0106】
制御信号送信部703は、制御信号インターフェース701を用いて、被制御ノードに種々の制御信号を送信する。制御信号送信部703の動作は、制御部704及び制御可能電波強度測定部702によって制御される。
【0107】
制御部704は、後述のように、被制御ノードに制御IDを割り当てたり、制御ID及び制御可能電波強度に基づいて被制御ノードを遠隔制御したり、制御要求ノード700の全体を制御したりする。
【0108】
通信インターフェース705は、図1の通信インターフェース101と同様に、無線LANインターフェースであってもよいし、その他の通信方式をサポートするインターフェースであってもよい。例えば、通信インターフェース705は、IPアドレス或いはMAC(Media Access Control)アドレスを用いた通信を行う。通信インターフェース705は、種々の応答信号の一部または全部を被制御ノードから受信したり、ID割り当て開始信号を被制御ノードに送信したり、制御ID割り当て信号を被制御ノードに送信したりするために利用されてもよい。但し、通信インターフェース705は、制御要求ノード700において随意的に設けられる。即ち、通信インターフェース705は、制御要求ノード700から除去されてもよい。
【0109】
制御要求ノード700は、図10に示されていない構成要素を含み得る。例えば、制御要求ノード700は、特定の被制御ノードへ制御要求信号を送信することの依頼を他のノードから受理するための機能部(例えば、依頼受理部と名付けることができる)、制御要求信号を介して被制御ノードのアプリケーションをネットワーク経由で利用するための機能部(例えば、アプリケーション実行部と名付けることができる)を含んでもよい。
【0110】
図11に示されるように、本実施形態に係る被制御ノード800は、制御信号インターフェース801、測定応答部802、制御信号受信部803、制御部804及び通信インターフェース805を含む。被制御ノード800は、制御要求ノード700から種々の制御信号を受信し、これに応じて動作する。尚、通信システムにおいて、被制御ノード800の他の被制御ノードもまた、被制御ノード800と同一または類似の構成を備える。
【0111】
制御信号インターフェース801は、制御IDを用いた無線通信を行う。具体的には、制御信号インターフェース801は、探索信号、無視要求信号、制御要求信号などを受信するために利用される。また、制御信号インターフェース801は、後述される制御可能電波強度の測定にも利用される。更に、制御信号インターフェース801は、種々の応答信号の一部または全部を制御要求ノード700に送信したりID割り当て開始信号を制御要求ノード700から受信したり、制御ID割り当て信号を制御要求ノード700から受信したりするために利用されてもよい。
【0112】
測定応答部802は、制御要求ノード700が実行する制御可能電波強度の測定に対して応答する。具体的には、測定応答部802は、制御信号インターフェース801、制御信号受信部803及び通信インターフェース805を利用して、制御要求ノード700からの探索信号を受信し、応答信号を返信する。
【0113】
制御信号受信部803は、制御信号インターフェース801を用いて、制御要求ノード700から種々の制御信号を受信する。制御信号受信部803の動作は、制御部804及び測定応答部802によって制御される。制御信号受信部803は、受信した制御信号を測定応答部802或いは制御部804に供給する。
制御部804は、制御要求ノード700からの種々の制御信号に応じて、被制御ノード800の動作を制御する。
【0114】
通信インターフェース805は、図2のインターフェース201と同様に、無線LANインターフェースであってもよいし、その他の通信方式をサポートするインターフェースであってもよい。例えば、通信インターフェース805は、IPアドレス或いはMACアドレスを用いた通信を行う。通信インターフェース805は、種々の応答信号の一部または全部を制御要求ノード700に送信したりID割り当て開始信号を制御要求ノード700から受信したり、制御ID割り当て信号を制御要求ノード700から受信したりするために利用されてもよい。但し、通信インターフェース805は、被制御ノード800において随意的に設けられる。即ち、通信インターフェース805は、被制御ノード800から除去されてもよい。
【0115】
被制御ノード800は、図11に示されていない構成要素を含み得る。例えば、被制御ノード800は、ローカルのアプリケーションをネットワーク経由で他のノードに利用させるための機能部(例えば、アプリケーション実行部と名付けることができる)を含んでもよい。
【0116】
制御要求ノード700が被制御ノードの遠隔制御を可能とするための準備段階として、各被制御ノードの制御可能電波強度が測定され、この制御可能電波強度に基づいて各被制御ノードに制御IDが割り当てられる。尚、これらの処理は、通信システムの初期化時に限って実行されてもよいし、制御可能電波強度及び制御IDを更新するために再実行されてもよい。
【0117】
制御可能電波強度の測定は、例えば図12に示されるように実行される。図12の処理は、ステップS901から開始する。ステップS901において、制御要求ノード700の制御可能電波強度測定部702は初期化処理を実行する。具体的には、制御可能電波強度測定部702は、変数Wcに最小値を設定し、集合Taを空集合に設定する。変数Wcは、電波強度を表す。変数Wcの最小値とは、通信システムにおいて設定可能な最小値であってもよいし、ユーザによる設定値であってもよい。集合Taは、制御可能電波強度が測定済みの被制御ノードを包含する。ステップS901の終了後に処理はステップS902に進む。
【0118】
ステップS902において、制御可能電波強度測定部702は制御信号送信部703の電波強度=Wcに設定し、制御信号送信部703は制御信号インターフェース701を用いて探索信号を送信する。そして、制御要求ノード700は、ステップS902において送信した探索信号に対する被制御ノードからの応答信号を一定時間待ち受ける(ステップS903)。即ち、被制御ノードは、探索信号を受信した場合には応答信号を送信するように構成されている。尚、探索信号に対する応答信号は、制御信号インタフェース701を用いて受信されてもよいし、通信インターフェース805を用いて受信されてもよい。応答信号には、送信元の被制御ノードの識別情報(例えば、MACアドレス、IPアドレスなど)が含まれる。更に、応答信号には、ステップS902において送信された探索信号とのマッチングを行うためのパスフレーズ情報、当該探索信号の受信強度情報などが含まれていてもよい。ステップS903の待ち受けの結果、いずれかの被制御ノードから応答があれば処理はステップS905に進み、そうでなければ処理はステップS907に進む。
【0119】
ステップS905において、制御電波強度測定部702は、受信応答信号に含まれる識別情報を参照し、送信元の被制御ノードを特定する。制御電波強度測定部702は、特定された被制御ノードのうち集合Taに所属していないものを全て集合T(Wc)に所属させる。集合T(W)は、制御可能電波強度=Wの被制御ノードを包含する。そして、制御電波強度測定部702は、特定された被制御ノードのうち集合Taに所属していないものを全て集合Tuから取り除くと共に、これらを全て集合Taに所属させて(ステップS906)、処理はステップS907に進む。集合Tuは、制御可能電波強度が未測定の被制御ノードを包含する。
【0120】
ステップS907において、制御電波強度測定部702は、変数Wcが最大値であるか否かを判定する。尚、変数Wcの最大値とは、最小値と同様に、通信システムにおいて設定可能な最大値であってもよいし、ユーザによる設定値であってもよい。変数Wcが最大値であれば処理は終了し、そうでなければ処理はステップS908に進む。尚、図12の処理の終了時に、通信システムに存在する全ての被制御ノードが集合Taに所属している(換言すれば、集合Taが空集合である)とは限らない。即ち、いくつかの被制御ノードの制御可能電波強度の測定が終了していない可能性がある。制御可能電波強度の測定が終了していない被制御ノードは、制御要求ノード700から制御することができない。制御要求ノード700は、係る被制御ノードが通信システム内に存在するか否かに関わらず、制御可能な被制御ノード(即ち、後述の制御可能ノードリストに列挙された被制御ノード)を対象に遠隔制御を実行すればよい。
【0121】
ステップS908において、制御電波強度測定部702は変数Wcを一段階増加させて、処理はステップS902に戻る。ステップS902における、変数Wcの増加量は、通信システムにおいて制御可能な最小単位であってもよいし、ユーザによる設定値であってもよい。
【0122】
図12の処理の結果、各被制御ノードを制御可能な最小の電波強度が制御可能電波強度として測定される。但し、制御可能電波強度は、ステップS908における変数Wcの増加幅によって量子化されている。制御可能電波強度測定部702は、図13に示されるような、制御可能ノードリストを作成する。図13の制御可能ノードリストにおいて、制御可能電波強度のレベル(1,2,3,4)と、対応する被制御ノードの識別情報(R0,・・・,R9)とが関連付けられている。尚、識別情報Rxとして、典型的には、MACアドレスなどが記載される。
【0123】
尚、図12の処理では、電波強度を最小値から最大値まで段階的に増加させることによって制御可能電波強度を測定している。しかしながら、電波強度を最大値から最小値まで段階的に減少させることによって制御可能電波強度を測定することもできる。係る手法は、各被制御ノードについて応答信号が受信できない最大の電波強度に基づいて制御可能電波強度を測定する。
【0124】
制御可能電波強度の測定の後に、制御IDの割り当てが例えば図14に示されるように実行される。尚、制御IDの割り当ては、典型的には、制御可能電波強度の測定に連続して実行されるが、アプリケーションなどの指示次第で両者が別々に実行されても構わない。
【0125】
図14の処理は、ステップS1001から開始する。制御要求ノード700の制御部704は、初期化処理を実行する。具体的には、制御部704は、集合Tuを集合Tと一致させ、集合Taを空集合に設定する。集合Tは、制御可能ノードリストに列挙された被制御ノードを包含する。集合Tuは、集合Tに属する被制御ノードのうち制御IDが未割り当てのものを包含する。集合Taは、集合Tに属する被制御ノードのうち制御IDが割り当て済みのものを包含する。尚、集合Tu及び集合Taの和集合は集合Tに等しい。ステップS1001の終了後に処理はステップS1002に進む。尚、ステップS1002は、随意的であり、省略可能である。従って、ステップS1001の終了後に処理はステップS1003に進んでもよい。
【0126】
ステップS1002において、制御部704は、集合Tに属する被制御ノードに対してID割り当て開始信号を送信する。ID割り当て開始信号は、制御信号インターフェース701及び通信インターフェース705のいずれを用いて送信されてもよい。但し、制御信号インターフェース701を用いてID割り当て開始信号を送信する場合には、集合Tに属する被制御ノードに到達可能な電波強度(例えば、制御可能ノードリストにおける制御可能電波強度の最大値)を設定する必要がある。通信インターフェース705を用いてID割り当て開始信号を送信する場合には、ブロードキャスト或いはマルチキャストが利用可能である。ステップS1002の終了後に処理はステップS1003に進む。
【0127】
尚、被制御ノードは、ID割り当て開始信号を受信すると、これに応じて動作するものとする。例えば、被制御ノードは、制御IDを設定するための準備(動作モードの変更など)を行う。更に、被制御ノードは、上記準備の後に制御ID割り当て信号を受信した場合には、当該制御ID割り当て信号に従って制御IDを設定する。
【0128】
ステップS1003において、制御部704は制御IDの割り当てを行う。具体的には、制御部704は、集合Tuから制御可能電波強度の昇順にlm個の被制御ノードを選択する。lmは、割り当て可能な制御IDの総数と等しい。尚、集合Tuに属する被制御ノードの総数がlm未満であれば、制御部704は集合Tuに属する全ての被制御ノードを選択すればよい。そして、制御部704は、選択した被制御ノードに制御IDを割り当てる。ここで、制御IDが固定長であるならば、制御部704は任意の方法で制御IDを割り当ててよい。制御IDが可変長であるならば、制御部704は第1の実施形態を利用して制御IDを割り当ててもよいし、第1の実施形態を利用せずに制御IDを割り当ててもよい。制御部704は、制御IDと被制御ノードとを関連付けて例えばDBに保持する。
【0129】
制御部704は、ステップS1003において選択した被制御ノードに対して制御ID割り当て信号を送信する。制御ID割り当て信号は、各被制御ノードに割り当てた制御IDを通知するためのものである。制御ID割り当て信号は、制御信号インターフェース701及び通信インターフェース705のいずれを用いて送信されてもよい。但し、制御信号インターフェース701を用いて制御ID割り当て信号を送信する場合には、送信先の被制御ノードに到達可能な電波強度(例えば、送信先の被制御ノードに対応する制御可能電波強度)を設定する必要がある。通信インターフェース705を用いて制御ID割り当て信号を送信する場合には、送信先の被制御ノードのMACアドレス或いはIPアドレスなどを指定してもよい。尚、被制御ノードは、制御ID割り当て信号を受信すると制御IDを設定するように構成される。ステップS1004の終了後に処理はステップS1005に進む。
【0130】
ステップS1005において、制御部704は、ステップS1003において選択した全ての被制御ノードを集合Tuから取り除くと共に、これらを全て集合Taに所属させる。ステップS1005の結果、集合Tuが空集合となれば処理は終了し、そうでなければ処理はステップS1007に進む。
【0131】
ステップS1007において、制御部704は、制御IDの再利用を許容する。即ち、先行するステップS1003において割り当てた制御IDの一部または全部を、制御IDが未割り当ての被制御ノードに割り当てるために、処理はステップS1003に戻る。尚、図14の例では、制御IDの再利用をステップS1003の繰り返しによって実現している。ステップS1003を繰り返し実行すれば、共通の制御IDを使用する被制御ノード間の制御可能電波強度の差を大きくする効果が得られる。即ち、後述されるように、共通の制御IDを利用する被制御ノード間における制御可能電波強度の差異を利用して個別の遠隔制御を実現することが容易となる。但し、ステップS1003以外の図示しない処理によって制御IDの再利用を実行してもよい。
【0132】
図14の処理の結果、制御可能ノードリストに列挙された全ての被制御ノードに制御IDが割り当てられる。但し、前述のように、制御可能ノードリストに列挙された被制御ノードの総数がlmを超える場合には、制御IDの一部または全部が再利用されるので制御IDの衝突が生じる。そこで、制御要求ノード700は、図15に示されるように、制御ID及び制御可能電波強度に基づいて、所望の被制御ノードを個別に遠隔制御する。典型的には、制御要求ノード700が例えばアプリケーションから特定の被制御ノード(以降、対象被制御ノードと称される)の制御依頼を受理すると、図15の処理は開始される。制御依頼は、対象被制御ノードの識別情報(例えば、MACアドレス)と制御命令とを含む。制御命令は、例えば制御の種別、制御の内容などの情報を含むことができる。
【0133】
図15の処理は、ステップS1101から開始する。ステップS1101において、制御部704は、対象被制御ノードの制御ID(It)を取得する。制御ID(It)は、例えば、図14の処理を経て事前に対象被制御ノードに割り当てられ、DBに保持されている。典型的には、制御部704は、対象被制御ノードの識別情報をキーとしてDBを参照することによって、当該対象被制御ノードの制御ID(It)を取得する。
【0134】
制御部704は、対象被制御ノードの制御可能電波強度Wtを取得する(ステップS1102)。制御可能電波強度Wtは、例えば、図12の処理を経て事前に測定され、制御可能ノードリストに記載されている。典型的には、制御部704は、対象被制御ノードの識別情報をキーとして制御可能ノードリストを参照することによって、当該対象被制御ノードの制御可能電波強度Wtを取得する。
【0135】
ステップS1101及びステップS1102の終了後に、制御部704は、被制御ノードと制御IDとの対応関係を保持するDBと、制御可能ノードリストとを更に参照し、集合Tを作成する(ステップS1103)。具体的には、制御部704は、Wt以下の制御可能電波強度を持ち、かつ、制御ID(It)を割り当てられている、全ての被制御ノード(対象被制御ノードを除く)を集合Tに所属させる。
【0136】
集合Tが空集合であれば処理はステップS1106に進み、そうでなければ処理はステップS1105に進む(ステップS1104)。仮に、集合Tが空集合であれば、制御可能電波強度Wtを設定し、制御ID(It)を含む制御要求信号を送信したとしても、対象被制御ノード以外の被制御ノードがこれに応じることはない。即ち、理論上、この制御要求信号が到達する全ての被制御ノード(対象被制御ノードを除く)には、制御ID(It)と異なる制御IDが割り当てられている。また、理論上、この制御要求信号は、制御ID(It)が割り当てられた被制御ノード(対象被制御ノードを除く)には到達しない。一方、集合Tが空集合でないことは、理論上、この制御要求信号が到達する被制御ノード(対象被制御ノードを除く)のいくつかには、制御ID(It)が割り当てられていることを意味する。従って、不要な被制御ノードが制御要求信号に応じることを阻止するために、以下のステップS1105が必要となる。
【0137】
ステップS1105において、制御部704は、制御信号送信部703に制御信号インターフェース701を用いて後述される無視要求信号を送信させる。具体的には、制御部704は、集合Tに属する全ての被制御ノードの制御可能電波強度の最大値以上であって、かつ、制御可能電波強度Wtよりも小さい電波強度を無視要求信号のために設定する。係る電波強度を設定することにより、無視要求信号が集合Tに属する全ての被制御ノードに到達すると共に、当該無視要求信号が対象被制御ノードには到達しない。また、制御部704は、無視要求信号の宛先として制御ID(It)を設定する。
【0138】
無視要求信号は、制御IDによって指定される被制御ノードに、制御要求信号の無視を条件付きで要求するものである。即ち、無視要求信号を受信した被制御ノードは、条件を満たす制御要求信号に応じた動作を省略するように構成されている。また、無視要求信号は、以下の種々の条件を指定することができる。
【0139】
例えば、無視要求信号は、後続して受信される制御要求信号を1回無視することを要求してもよい。即ち、被制御ノードは、係る無視要求信号を受信すると、当該被制御ノードと同じ制御IDを宛先とする制御要求信号を1回だけ無視する。
【0140】
また、無視要求信号は、後続して受信される制御要求信号を指定回数無視することを要求してもよい。即ち、被制御ノードは、係る無視要求信号を受信すると、当該被制御ノードと同じ制御IDを宛先とする制御要求信号を指定回数だけ無視する。
【0141】
また、無視要求信号は、後続して受信される制御要求信号を指定期間無視することを要求してもよい。即ち、被制御ノードは、係る無視要求信号を受信すると、当該被制御ノードと同じ制御IDを宛先とする制御要求信号を指定期間に亘って無視する。
【0142】
更に、無視要求信号は、後続して受信される制御要求信号を指定種別の制御命令に限って無視することを要求してもよい。即ち、被制御ノードは、係る無視要求信号を受信すると、当該被制御ノードと同じ制御IDを宛先とする制御要求信号に指定種別の制御命令が含まれていれば、これを無視する。
【0143】
無視要求信号は、前述の具体例に限らず種々の条件を指定してもよい。また、無視要求信号は1つに限らず複数の条件(例えば、指定回数及び指定期間の論理和など)を組み合わせて指定してもよい。無視要求信号には、前述の指定回数、指定期間、制御命令の指定種別などの情報の一部または全部が含まれていてもよいが、これらが被制御ノードにおいて既知であるならばこれらの情報を全く含まなくてもよい。
【0144】
ステップS1105によれば、ステップS1106において送信される制御要求信号に対して不要な被制御ノードが応じることを阻止できる。ステップS1105の終了後に処理はステップS1106に進む。
【0145】
ステップS1106において、制御部704は制御信号送信部703に制御信号インターフェース701を用いて制御要求信号を送信させて、処理は終了する。具体的には、制御部704は、ステップS1101において取得した制御ID(It)を制御要求信号の宛先として設定する。また、制御部704は、ステップS1102において取得した制御可能電波強度Wtを制御要求信号のために設定する。更に、制御部704は、制御要求に応じた制御命令を制御要求信号に設定してもよい。
【0146】
図15の処理によれば、共通の制御IDを持つ複数の被制御ノードが通信システムに存在するとしても、これらの間の制御可能電波強度の相違を利用してこれらを個別に遠隔制御することが可能である。即ち、図15の処理によれば、結果的に、割り当て可能な制御IDの数よりも多くの被制御ノードを個別に遠隔制御することが可能である。
【0147】
以上説明したように、第2の実施形態に係る制御要求ノードは、相異なる被制御ノードに共通の制御IDを割り当てることを許容しつつ、係る被制御ノード間の制御可能電波強度の相違を利用して所望の被制御ノードを個別に制御する。具体的には、所望の被制御ノードと共通の制御IDを持ち、かつ、所望の被制御ノードよりも制御可能電波強度の小さい被制御ノードに対して、制御要求ノードは前述の無視要求信号を送信し、係る被制御ノードが後続する制御要求信号に応じることを阻止する。その後に、制御要求ノードは、所望の被制御ノードの制御可能電波強度を設定して制御要求信号を送信することによって、当該所望の被制御ノードを個別に遠隔制御できる。また、本実施形態に係る制御要求ノードは、制御IDを再利用するので、割り当て可能な制御IDの数よりも多くの被制御ノードを個別に遠隔制御できる。
【0148】
尚、第2の実施形態に関して、以下に述べる変形例を想定することができる。具体的には、前述の図15の処理の一部を変更することによって、共通の制御IDを持つ複数の被制御ノードに対して共通の遠隔制御を一括で実行できる。
【0149】
但し、一括して遠隔制御できる被制御ノード群(以降、対象被制御ノード群と称される。)には制約がある。具体的には、共通の制御IDを持つ複数のノードを制御可能電波強度の昇順または降順でソートした場合に、対象被制御ノード群は連続している必要がある。即ち、対象被制御ノード群の並びの途中に制御対象でない被制御ノードが存在する場合には、当該被制御ノードを制御対象から選択排除することができないので、対象被制御ノード群のみを一括して遠隔制御することはできない。
【0150】
図15のステップS1102,S1103,S1105,S1106を下記のステップS1202,S1203,S1205,S1206に置き換えることにより、前述の一括遠隔制御が可能となる。
【0151】
ステップS1202において、制御部704は、対象被制御ノード群に含まれるn個の(nは2以上の整数)被制御ノードの制御可能電波強度Wt1,Wt2,・・・,Wtnを取得する。典型的には、制御部704は、n個の被制御ノードの識別情報をキーとして、制御可能ノードリストを参照することによって、当該n個の被制御ノードの制御可能電波強度Wt1,Wt2,・・・,Wtnを取得する。尚、n個の被制御ノードの識別情報は、例えばアプリケーションからの制御依頼によって指定される。更に、制御部704は、取得した制御可能電波強度Wt1,Wt2,・・・,Wtnの最小値Wtmin及び最大値Wtmaxを夫々計算する。
【0152】
ステップS1101及びステップS1202の終了後に、制御部704は、被制御ノードと制御IDとの対応関係を保持するDBと、制御可能ノードリストとを更に参照し、集合Tを作成する(ステップS1203)。具体的には、制御部704は、Wtmin以下の制御可能電波強度を持ち、かつ、制御ID(It)を割り当てられている、全ての被制御ノード(対象被制御ノード群を除く)を集合Tに所属させる。
【0153】
ステップS1205において、制御部704は、制御信号送信部703に制御信号インターフェース701を用いて前述の無視要求信号を送信させる。具体的には、制御部704は、集合Tに属する全ての被制御ノードの制御可能電波強度の最大値以上であって、かつ、制御可能電波強度Wtminよりも小さい電波強度を無視要求信号のために設定する。係る電波強度を設定することにより、無視要求信号が集合Tに属する全ての被制御ノードに到達すると共に、当該無視要求信号が対象被制御ノード群に到達しない。また、制御部704は、無視要求信号の宛先として制御ID(It)を設定する。
【0154】
ステップS1206において、制御部704は制御信号送信部703に制御信号インターフェース701を用いて制御要求信号を送信させて、処理は終了する。具体的には、制御部704は、ステップS1101において取得した制御ID(It)を制御要求信号の宛先として設定する。また、制御部704は、ステップS1202において計算した制御可能電波強度Wtmaxを制御要求信号のために設定する。更に、制御部704は、制御要求に応じた制御命令を制御要求信号に設定してもよい。
【0155】
上記各実施形態の処理は、汎用のコンピュータを基本ハードウェアとして用いることで実現可能である。上記各実施形態の処理を実現するプログラムは、コンピュータで読み取り可能な記憶媒体に格納して提供されてもよい。プログラムは、インストール可能な形式のファイルまたは実行可能な形式のファイルとして記憶媒体に記憶される。記憶媒体としては、磁気ディスク、光ディスク(CD−ROM、CD−R、DVD等)、光磁気ディスク(MO等)、半導体メモリなど、プログラムを記憶でき、かつ、コンピュータが読み取り可能な記憶媒体であれば、何れであってもよい。また、上記各実施形態の処理を実現するプログラムを、インターネットなどのネットワークに接続されたコンピュータ(サーバ)上に格納し、ネットワーク経由でコンピュータ(クライアント)にダウンロードさせてもよい。
【0156】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0157】
100・・・起動要求ノード
101・・・通信インターフェース
102・・・起動信号送信インターフェース
103・・・起動関連情報収集部
104・・・起動ID生成部
105・・・起動ID送信部
200・・・被起動ノード
201・・・通信インターフェース
202・・・起動信号受信インターフェース
203・・・起動関連情報送信部
204・・・起動処理部
205・・・起動ID受信部
700・・・制御要求ノード
701・・・制御信号インターフェース
702・・・制御可能電波強度測定部
703・・・制御信号送信部
704・・・制御部
705・・・通信インターフェース
800・・・被制御ノード
801・・・制御信号インターフェース
802・・・測定応答部
803・・・制御信号受信部
804・・・制御部
805・・・通信インターフェース
【技術分野】
【0001】
実施形態は、ノードの遠隔制御に関する。
【背景技術】
【0002】
通信システムにおいて、あるノード(即ち、制御要求ノード)が離れて配置された別のノード(被制御ノード)を遠隔制御することのニーズが存在する。例えば、制御要求ノードが被制御ノードを遠隔起動することが可能であるならば、当該被制御ノードを基本的に起動待機状態(非起動状態)にさせておくことで消費電力を削減できる。係る遠隔起動は、例えば無線信号を用いたアウトオブバンド方式によって実現可能である。アウトオブバンド方式とは、通常の通信リンクとは異なる通信リンク(代替経路)を通じて信号を送受信する手法を指す。
【0003】
通信システムにおいて多数のノードが存在することを想定すると、(1)種々の制御信号を被制御ノードに送信する機能、(2)被制御ノードの状態(例えば、起動状態/非起動状態)を管理する機能などは、個別のノードではなくプロキシノードに一元的に備えられることが望ましい。係る構成によれば、通信システムを簡略化することができる。係る構成において、制御要求ノードは、プロキシノードと同一視することもできる。
【0004】
被制御ノードの遠隔制御には、個別の被制御ノードを指定する制御IDを利用することができる。ここで、係る制御IDのサイズ(サイズ)に関して以下のトレードオフが存在する。具体的には、通信システムにおいて、より多くの被制御ノードに制御IDを一意に割り当ててこれらを個別に遠隔制御するためには、より多くの制御IDが必要となる。即ち、制御IDのビット長をより大きくする必要がある。一方、制御IDのビット長が大きくなると、制御IDの無線伝送においてデータエラーが発生(即ち、遠隔制御が失敗)しやすくなったり、被制御ノードが制御IDを待機及び受信するための電力量が大きくなったり、制御ノードが制御IDを送信するための電力量が大きくなったりする。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−60515号公報
【特許文献2】特開2002−165281号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
実施形態は、被制御ノードの遠隔制御のための制御IDのビット長を通信システム全体の効率を考慮して割り当てることを目的の1つとする。また、実施形態は、被制御ノードの数が割り当て可能な制御IDの数を超える場合にも被制御ノードを個別に遠隔制御することを目的とする。
【課題を解決するための手段】
【0007】
実施形態によれば、通信装置は、対象被制御ノードを含む複数の被制御ノードを制御する。通信装置は、取得部及び生成部を含む。取得部は、対象被制御ノードの制御要求の発生頻度を示す第1の評価値及び対象被制御ノードにおける通信エラーの発生頻度を示す第2の評価値の少なくとも一方を取得する。生成部は、対象被制御ノードを制御するために割り当てる識別情報を、第1の評価値及び第2の評価値の少なくとも一方が高くなるほど識別情報のビット長が短くなるように生成する。
【図面の簡単な説明】
【0008】
【図1】第1の実施形態に係る起動要求ノードを例示するブロック図。
【図2】第1の実施形態に係る被起動ノードを例示するブロック図。
【図3】通信システムの一例の説明図。
【図4】被起動ノードの追加に関するシーケンスを例示する図。
【図5】被起動ノードの起動に関するシーケンスを例示する図。
【図6】起動関連情報の更新に関するシーケンスを例示する図。
【図7】起動IDの決定アルゴリズムの一部を例示するフローチャート。
【図8A】マンチェスター符号化の信号フォーマットの説明図。
【図8B】起動IDのビット長を2ビット以上のステップで増加させることの効果の一例の説明図。
【図8C】パリティビットを付加することの効果の一例の説明図。
【図9A】12ビットの起動IDに対するパリティビット付加の一例の説明図。
【図9B】18ビットの起動IDに対するパリティビット付加の一例の説明図。
【図10】第2の実施形態に係る制御要求ノードを例示するブロック図。
【図11】第2の実施形態に係る被制御ノードを例示するブロック図。
【図12】制御可能電波強度を測定する処理を例示するフローチャート。
【図13】制御可能ノードリストを例示する図。
【図14】制御IDを割り当てる処理を例示するフローチャート。
【図15】被制御ノードを個別に遠隔制御する処理を例示するフローチャート。
【発明を実施するための形態】
【0009】
以下、図面を参照して実施形態について説明する。
尚、各実施形態において、図3に例示される通信システムを仮定する。即ち、複数の被制御ノード(Rx)を制御するために、一元的な制御要求ノードS(例えば、プロキシノード)が用意される。複数の被制御ノード及び制御要求ノードは、ネットワークを介して互いに接続される。尚、以降の説明では、制御要求ノード及び被制御ノードは、単にノードまたは通信装置と称されることもある。
【0010】
ネットワークとは、各ノードが通信インターフェースを介して互いに通信することを可能にするためのネットワークインフラである。ネットワークは、複数のスイッチなどを含む。スイッチとは、各ノードの通信インターフェースと、ネットワークとの間を相互に接続し、ノード間の通信を仲介するものである。ここで、各ノードとスイッチとの間の接続方式は、有線LAN(Local Area Network)に限らず無線LANなどであってもよい。接続方式が無線LANである場合には、スイッチは一般にアクセスポイントと呼ばれる。しかしながら、ここではアクセスポイント及びスイッチを区別せずに、両者を単にスイッチと呼ぶこととする。
【0011】
制御要求ノードは、典型的には、ネットワークを利用する通信インターフェース(例えば無線LANインターフェース)と、制御要求信号を例えば近距離無線方式に従って送信するための送信インターフェースとを備える。制御要求ノードは、被制御ノードに割り当てられた制御IDを含む制御要求信号を例えばアプリケーションからの要求に応じて送信する。被制御ノードは、係る制御要求信号を受信し、これに基づいて動作する。
【0012】
被制御ノードは、典型的には、ネットワークを利用する通信インターフェース(例えば無線LANインターフェース)と、制御要求信号を例えば近距離無線方式に従って受信するための受信インターフェースとを備える。被制御ノードは、割り当てられた制御IDと一致する制御IDを含む制御要求信号を受信すると、当該制御要求信号の種別に応じて動作する。例えば、被制御ノードは、制御要求信号が起動を要求するものであれば、起動処理を実行し、起動状態に遷移する(例えば、ネットワーク通信のための機能部の電源がONとなる)。
【0013】
図3において、複数の制御要求ノードからの依頼を受けて制御要求信号を一元的に送信するプロキシノードが存在する通信システムが想定されているので、制御要求ノードは1つであるかのように描かれている。しかしながら、各実施形態は、図3の通信システムに制限されず、複数の制御要求ノードが独立して制御要求信号を送信可能な通信システムに適用されてもよい。例えば、図3に示される被制御ノードが、被制御ノードとしての機能だけでなく制御要求ノードとしての機能を兼ねていてもよい。
【0014】
(第1の実施形態)
第1の実施形態に係る制御要求ノードは、主に被制御ノードの遠隔制御に利用される制御IDのビット長を通信システム全体の効率を考慮して割り当てることを目的の1つとする。尚、本実施形態において、「制御」の具体例として「起動」を想定し、これを中心に説明が展開される。しかしながら、本実施形態は、「起動」以外の「制御」にも一般化して適用可能である。即ち、本実施形態の説明における「起動」という用語は「制御」という用語として適宜読み替えられてよい。
【0015】
図1に示されるように、第1の実施形態に係る起動要求ノード100は、通信インターフェース101、起動信号送信インターフェース102、起動関連情報収集部103、起動ID生成部104及び起動ID送信部105を含む。本実施形態に係る起動要求ノード100は、後述のように、本実施形態に係る被起動ノード(例えば、被起動ノード200)を遠隔起動できる。
【0016】
通信インターフェース101は、図3に例示されるネットワークを介した通信を行う。通信インターフェース101は、無線LANインターフェースであってもよいし、その他の通信方式をサポートするインターフェースであってもよい。例えば、通信インターフェース101は、後述される起動IDを被起動ノードへ通知(送信)したり、後述される起動関連情報を被起動ノードから収集(受信)したりするために利用される。
【0017】
起動信号送信インターフェース102は、後述される起動要求信号を被起動ノードへ送信するために主に利用される。典型的には、起動信号送信インターフェース102は何らかの無線通信方式をサポートするインターフェースであり、以降の説明では起動要求信号は無線伝送されるものとする。但し、起動信号送信インターフェース102は、有線通信用インターフェースであってもよい。ここで重要なことは、起動信号送信インターフェース102が通信インターフェース101とは異なるものであって、アウトオブバンド方式のためのものである点である。尚、起動信号送信インターフェース102は、後述されるように、起動要求信号の電波強度を確認するために利用されてもよい。
【0018】
起動関連情報収集部103は、後述される種々の起動関連情報を収集し、これを保持する。起動関連情報収集部103は、収集した起動関連情報を保持するためのデータベース(DB)を含んでもよいし、外部のDBに起動関連情報を保持させてもよい。起動関連情報は、被起動ノードから送信されるものと、そうでないものとを含み得る。尚、起動関連情報の具体例は後述される。
【0019】
起動ID生成部104は、起動関連情報収集部103によって収集された起動関連情報に基づいて、被起動ノードの各々に割り当てる起動IDを生成する。起動IDは、個別の被起動ノードを識別する情報であって、起動要求信号に含められる。被起動ノードに割り当てられる起動IDは一意であることが望ましい。しかしながら、起動IDの体系次第では、後述される第2の実施形態のように複数の被起動ノードに同一の起動IDを割り当てざるを得ないことも想定される。起動IDは、通信インターフェース101が通信相手をアドレッシングするための識別情報(例えば、IPアドレス)とは独立して例えば図4に示されるシーケンスによって動的に決定される。また、所与の被起動ノードに割り当てられた起動IDは、他の被起動ノードの通信システムへの追加、電波状況の変化などに応じて、通信システムの運用中に例えば図6に示されるシーケンスによって変更されることもあり得る。尚、起動IDを決定するために起動ID生成部104によって実行されるアルゴリズムの詳細は後述される。
【0020】
起動ID送信部105は、所望の被起動ノードに割り当てられた起動IDを含む起動要求信号を生成し、起動信号送信インターフェース102を用いてこれを送信する。尚、起動要求信号を送信するための処理(例えば、パリティビットの付加、無線符号化(変調)など)の詳細は後述される。
【0021】
起動要求ノード100は、図1に示されていない構成要素を含み得る。例えば、起動要求ノード100は、特定の被起動ノードへ起動要求信号を送信することの依頼を他のノードから受理するための機能部(例えば、依頼受理部と名付けることができる)、起動済みの被起動ノードのアプリケーションをネットワーク経由で利用するための機能部(例えば、アプリケーション実行部と名付けることができる)を含んでもよい。また、起動要求ノード100は、起動関連情報の収集に関して、通信エラー発生回数(或いは、再送回数)を管理するための機能部、被起動ノード毎にシステム追加からの経過時間を管理するための機能部などを含んでもよい。
【0022】
図2に示されるように、本実施形態に係る被起動ノード200は、通信インターフェース201、起動信号受信インターフェース202、起動関連情報送信部203、起動処理部204及び起動ID受信部205を含む。被起動ノード200は、割り当てられた起動IDを含む起動要求信号を受信すると起動待機状態(非起動状態)から起動状態へと遷移する。以降の説明において、「起動すること」とは、「起動待機状態(非起動状態)から起動状態へと遷移すること」を意味するものとする。尚、通信システムにおいて、被起動ノード200の他の被起動ノードもまた、被起動ノード200と同一または類似の構成を備える。
【0023】
通信インターフェース201は、図3に例示されるネットワークを介した通信を行う。通信インターフェース201は、無線LANインターフェースであってもよいし、その他の通信方式をサポートするインターフェースであってもよい。例えば、通信インターフェース201は、起動IDの通知を起動要求ノードから受けたり、起動関連情報を起動要求ノードへ送信したりするために利用される。
【0024】
起動信号受信インターフェース202は、起動要求信号を起動要求ノード100から受信するために主に利用される。典型的には、起動信号受信インターフェース202は何らかの無線通信方式をサポートするインターフェースである。但し、起動信号受信インターフェース202が、有線通信用インターフェースであってもよい。尚、起動信号受信インターフェース202は、後述のように、起動要求信号の電波強度を確認するために利用されてもよい。起動関連情報送信部203は、例えば通信インターフェース201を用いて、起動関連情報を起動要求ノード100へ送信する。
【0025】
起動ID受信部205は、被起動ノード200が非起動状態であるときに、当該被起動ノード200に割り当てられた起動IDを含む起動要求信号を待ち受ける。具体的には、起動ID受信部205は、起動信号受信インターフェース202を用いて、係る起動要求信号を起動要求ノード100から受信する。起動ID受信部205は、係る起動要求信号を受信すると、被起動ノード200の起動を起動処理部204に依頼する。被起動ノード200に割り当てられた起動IDは、例えば、通信インターフェース201を用いて受信され、被起動ノード200において保持されている。
【0026】
起動処理部204は、被起動ノード200の起動処理、後述されるネットワーク初期設定処理などを実行する。具体的には、起動処理部204は、起動ID受信部205から被起動ノード200の起動を依頼されると、起動処理を実行して被起動ノード200を起動させる。
【0027】
被起動ノード200は、図2に示されていない構成要素を含み得る。例えば、被起動ノード200は、ローカルのアプリケーションをネットワーク経由で他のノードに利用させるための機能部(例えば、アプリケーション実行部と名付けることができる)を含んでもよい。
【0028】
起動要求ノード100が被起動ノード200の遠隔起動を可能とするための準備段階として、被起動ノード200の追加に関するシーケンスが実行される。係るシーケンスによって、被起動ノード200に割り当てられる起動IDが決定され、当該被起動ノード200に通知される。係るシーケンスは、図4に例示される。尚、図4ならびに後述される図5、図6において、ノード間の実線矢印は通信インターフェース101,201を用いた通信を示しており、ノード間の破線矢印は起動信号送信インターフェース102及び起動信号受信インターフェース202を用いた通信を示している。
【0029】
図4のシーケンスの初期状態において、起動要求ノード100はネットワークに接続されており、通信インターフェース101を用いて当該ネットワーク上で通信することができる。尚、図4に示されていない他の被起動ノードが係るシーケンスによって既に通信システムに追加されていてもよい。
【0030】
まず、被起動ノード200の起動処理部204は、ネットワークの初期設定を実行する(手順301)。手順301において、起動処理部204が例えばネットワーク上のDHCP(Dynamic Host Configuration Protocol)サーバからIP(Internet Protocol)アドレスの割り当てを受けたり、人間(例えば、管理者)が起動処理部204を通じて被起動ノード200のIPアドレスを手動設定したりする。また、手順301は、例示していない他の手法によって実現されてもよい。手順301の結果、被起動ノード200は通信インターフェース201を用いたネットワーク上での通信が可能となる。
【0031】
手順301の終了後に、被起動ノード200の起動関連情報送信部203は、通信インターフェース201を用いて、起動関連情報を起動要求ノード100へ送信する(手順302)。手順302において送信される起動関連情報には、被起動ノードの種別、想定される起動頻度、起動信号受信インターフェース202における受信感度情報、ノードの物理位置情報などの要素が含まれ得る。そして、起動要求ノード100の起動関連情報収集部103は、通信インターフェース101を用いて、起動関連情報を受信する。起動関連情報収集部103は、受信した起動関連情報を被起動ノード200に関連付けて保持する(手順303−5)。
【0032】
尚、起動要求ノード100のIPアドレスは、任意の方法で取得されてよい。典型的には、前述の手順301において、起動処理部204が例えばネットワーク上のDHCPサーバから起動要求ノード100のIPアドレスを取得したり、人間が起動処理部204を通じて起動要求ノード100のIPアドレスを手動設定したりする。
【0033】
また、手順302の前後に随意的な手順303を設けることができる。手順303は、省略されてもよい。手順303によれば、起動信号受信インターフェース202における起動要求信号の電波強度(受信強度)が測定され、起動要求ノード100によって確認される。即ち、手順303において、起動信号送信インターフェース102及び起動信号受信インターフェース202を機能させる必要がある。以下に手順303の具体的な実現例が示されるものの、手順303は係る電波強度を確認可能な任意の手順に置き換えられてもよい。
【0034】
まず、起動要求ノード100は、通信インターフェース101を用いて、何らかの符号情報を被起動ノード200へ送信する(手順303−1)。被起動ノード200は、通信インターフェース201を用いて、手順303−1において送信された符号情報を受信し、応答信号を起動要求ノードに返信する(手順303−2)。起動要求ノード100は、通信インターフェース101を用いて、手順303−2において送信された応答信号を受信する。
【0035】
続いて、起動要求ノード100は、起動信号送信インターフェース102を用いて、手順303−1において送信したものと同じ符号情報を被起動ノード200へ送信する(手順303−3)。被起動ノード200は、起動信号受信インターフェース202を用いて、手順303−3において送信された符号情報を受信し、その受信強度を測定する。被起動ノード200は、通信インターフェース201を用いて、測定した受信強度を起動要求ノード100に通知する(手順303−4)。
【0036】
起動要求ノード100と被起動ノード200との間で、上記手順303−1,・・・,303−4が複数回に亘って繰り返される。そして、起動要求ノード100の起動関連情報収集部103は、収集した受信強度に基づいて、被起動ノード200の電波強度情報(例えば、収集した受信強度の統計値)を作成し、これを起動関連情報の一要素として被起動ノード200に関連付けて保持する(手順303−5)。
【0037】
起動要求ノード100の起動ID生成部104は、手順302(及び手順303)において収集された起動関連情報に基づいて、被起動ノード200に割り当てる起動IDを決定する(手順304)。後述されるように、他の被起動ノードに既に起動IDが割り当てられている場合には、被起動ノード200の起動IDの決定においてもこれらの起動関連情報が考慮される。起動ID生成部104は、決定した起動IDを被起動ノード200に関連付けて保持する。起動IDは、例えば、起動ID送信部105がアクセス可能なDBに保持される。尚、手順304において起動ID生成部104が実行するアルゴリズムの詳細は、後述される。
【0038】
起動要求ノード100は、通信インターフェース101を用いて、手順304において決定された起動IDを被起動ノード200に通知する(手順305)。被起動ノード200は、通信インターフェース201を用いて、起動IDを起動要求ノード100から受信する。起動IDは、例えば起動ID受信部205がアクセス可能なDBに保持される。手順305の終了を以て図4のシーケンスは終了する。図4のシーケンスの終了後の非起動状態において、被起動ノード200の起動ID受信部205は割り当てられた起動IDを待ち受ける。
【0039】
尚、図4のシーケンスの終了後に、被起動ノード200は即座に非起動状態に遷移してもよい。被起動ノード200を即座に非起動状態に遷移させることによって、当該被起動ノード200の消費電力が低減する。特に、被起動ノード200がバッテリによって駆動される場合には、消費電力の低減が被起動ノード200の長寿命化(稼働時間の延長)に直結する。
【0040】
図4のシーケンスが終了すると、起動要求ノード100は、所望のタイミングで被起動ノード200を遠隔起動することができる。例えば図5に示されるような被起動ノード200の起動に関するシーケンスを経て、起動要求ノード100は被起動ノード200を遠隔起動する。
【0041】
図5のシーケンスの初期状態において、被起動ノード200は既に図4のシーケンスなどを経て起動IDが割り当てられている。また、被起動ノード200は、非起動状態である。
【0042】
起動要求ノード100において、被起動ノード200の起動要求が発生する(手順401)。例えば、起動要求ノード100が被起動ノード200の提供するサービス、情報などを利用する必要のある状況において、係る起動要求が発生する。また、他のノードにおいて起動要求が発生し、当該他のノードが被起動ノード200の起動を起動要求ノード100に依頼することも想定される。起動要求において、被起動ノード200の起動IDが指定されている必要はなく、例えば被起動ノードのIPアドレスなどの識別情報が指定されていればよい。起動要求ノード100は、DBを利用してIPアドレスを対応する起動IDに変換することができる。尚、起動要求ノード100は、通信システムに含まれる全ての被起動ノードが起動状態であるか否かを把握している。起動要求ノード100は、起動要求の対象となる被起動ノード200が起動状態であることを検知した場合に、図5のシーケンスの続行をキャンセルしてもよい。
【0043】
起動要求ノード100の起動ID送信部105は、起動信号送信インターフェース102を用いて、手順401において発生した起動要求の対象となる被起動ノード200の起動IDを少なくとも含む起動要求信号を当該被起動ノード200へ送信する(手順402)。起動要求信号は、起動IDのみを搬送してもよいし、起動IDに加えて他の情報(例えば、起動のために必要なパラメータ情報、起動後の動作を規定する制御情報等)を搬送してもよい。尚、起動要求信号を送信したにも関わらず被起動ノード200が起動しない場合には、起動ID送信部105は起動要求信号を再送してもよい(即ち、手順402を再度実行してもよい)。
【0044】
被起動ノード200の起動ID受信部205は、起動信号受信インターフェース202を用いて、手順402において送信された起動要求信号を受信し、被起動ノード200の起動を起動処理部204に依頼する(手順403)。起動処理部204は、被起動ノード200の起動の過程において、ネットワークの初期設定を実行してもよいし、しなくてもよい。ネットワークの初期設定を実行しない場合には、起動処理部204は例えば最後の(例えば、現行の非起動状態に遷移する時点における)設定を適用すればよい。ネットワークの初期設定を実行する場合には、起動処理部204は例えば図4の手順301と同一または類似の処理を実行すればよい。手順403の終了を以て被起動ノード200の遠隔起動が実現する。
【0045】
手順403の終了後に、随意的な手順404及び手順405の一方または両方を設けることができる。尚、手順404及び手順405の両方が設けられる場合には、手順404の終了後に手順405を実行する必要がある。即ち、手順403,404または405のいずれかの終了を以て図5のシーケンスは終了する。
【0046】
手順404において、起動要求ノード100(或いは、他のノード)は、通信インターフェース101を用いて、被起動ノード200が提供するサービス、情報などを利用する。手順404の内容は、被起動ノード200によって実行されるアプリケーション次第で異なる。
【0047】
手順405において、被起動ノード200の起動処理部204は、当該被起動ノード200を停止する(即ち、起動状態から非起動状態に遷移させる)。手順405によれば、被起動ノード200の消費電力が低減する。
【0048】
手順405における被起動ノード200の停止動作は、起動要求ノード100(或いは、他のノード)による指示を契機に実施されてもよい。この場合のシーケンス(起動要求ノード100が被起動ノード200を遠隔停止するシーケンス)は、図5のシーケンスに示されるシーケンス(起動要求ノード100が被起動ノード200を遠隔起動するシーケンス)と同様のものとなる。例えば、図5のシーケンスにおいて、「起動」を「停止」に置き換えて、「停止」を「起動」に置き換えることにより、図5と同様の動作の流れで停止動作を説明できる。
【0049】
手順405の前に手順404が設けられる場合には、手順405の実行タイミングは手順404の終了タイミングに依存する。尚、前述の通り、手順404の内容(例えば、終了タイミング)は、当該手順404において被起動ノード200によって実行されるアプリケーション次第で異なる。
【0050】
前述のように、各被起動ノードに割り当てられる起動IDは、起動関連情報に基づいて決定される。即ち、起動関連情報の内容が変化すると、これに伴って起動IDを変更することが必要となるかもしれない。従って、起動要求ノード100は、図6に例示されるシーケンスを実行することによって、起動関連情報を更新し、必要に応じて各被起動ノードに割り当てられる起動IDを変更する。但し、図6のシーケンスは随意的であって、全く実行されなくてもよい。例えば、通信システムの運用環境が固定的である場合には、起動関連情報が変化に乏しく、係るシーケンスを実行する意義は薄いかもしれない。
【0051】
図6のシーケンスの初期状態において、被起動ノード200(図6の被起動ノード1)及び他の被起動ノード(図6の被起動ノード2,・・・)は既に図4のシーケンスなどを経て起動IDが割り当てられている。また、被起動ノード200は、起動状態である。
【0052】
被起動ノード200において、起動関連情報の修正要因が発生する(手順501)。例えば、被起動ノード200の物理位置が移動されると、物理位置情報に変化が生じるし、電波強度情報に変化が生じるかもしれない。また、被起動ノード200について想定される利用形態が変更された(例えば、被起動ノード200が何らかのサービスのマスターからセカンダリになった)場合、何らかのサービスの提供を新たに開始した場合などには、被起動ノード200の起動頻度に変化が生じるかもしれない。また、被起動ノード200の起動頻度の実測値が過去のものから大きく変化するかもしれない。更に、被起動ノード200の起動回数またはシステム追加からの経過時間が何らかの閾値を超えた場合に、修正要因が発生したとみなすこともできる。
【0053】
被起動ノード200の起動関連情報送信部203は、通信インターフェース201を用いて、手順501において修正要因の生じた起動関連情報を起動要求ノード100に通知する(手順502)。尚、手順502において、起動関連情報送信部205は、必ずしも全ての起動関連情報を通知しなくてもよい。
【0054】
起動要求ノード100の起動関連情報収集部103は、通信インターフェース101を用いて、手順502において送信された起動関連情報を受信し、例えばDBに保持している起動関連情報を更新する(手順503)。
【0055】
手順503に伴って、起動ID生成部104は、図4の手順305と同一または類似の処理を実行して、起動IDを再決定してもよい。但し、係る処理は随意的であり、全く実行されなくてもよいし、何らかの条件に応じて選択的に実行されてもよい。係る処理を実行する場合には、1つまたは複数の被起動ノードの起動IDが変更される可能性がある。故に、起動要求ノード100は、通信インターフェース101を用いて、変更後の起動IDを対応する被起動ノードに夫々通知する(手順504)。例えば、被起動ノード200の起動IDが変更されたと仮定する。被起動ノード200は、通信インターフェース201を用いて、変更後の起動IDを起動要求ノード100から受信する。被起動ノード200は、変更後の起動IDを用いて、例えば起動ID受信部205がアクセス可能なDBに保持されている起動IDを更新する。手順503または手順504の終了を以て図6のシーケンスは終了する。
【0056】
尚、起動ID生成部104が起動IDを再決定した時点において、起動IDを変更された被起動ノードは非起動状態であるかもしれない。即ち、いくつかの被起動ノードに関して、変更後の起動IDを即座に通知することは困難であるかもしれない。従って、起動要求ノード100は、非起動状態の被起動ノードに関して、下記の方針(α)または(β)に従って手順504を実行してもよい。
【0057】
方針(α)は、変更後の起動IDを即座に通知するものである。即ち、起動要求ノード100は、従前の起動IDを用いて所望の被起動ノードを遠隔起動し、変更後の起動IDを通知する。方針(β)は、変更後の起動IDの通知を一時的に留保するものである。即ち、起動要求ノード100は、起動IDの変更のみを理由に被起動ノードを遠隔起動させず、代わりに起動IDの変更を通知する必要のある被起動ノードと変更後の起動IDとを例えばDBに一時的に保持しておく。そして、起動要求ノード100は、例えば図5のシーケンスの実行などによって所望の被起動ノードを従前の起動IDを用いて起動した場合に、当該所望の被起動ノードに変更後の起動IDを通知する。本実施形態において、方針(α),(β)或いは他の方針のいずれが採用されても構わない。但し、方針(β)は、方針(α)に比べて被起動ノードの起動回数を抑えることができるので、通信システムの効率性において優れる。
【0058】
尚、上記方針(β)は、変更後の起動IDの通知を一時的に留保するので、起動IDの衝突が一時的に生じる可能性がある。即ち、第1の被起動ノードの従前の起動IDが、第2の被起動ノードの変更後の起動IDと一致するかもしれない。起動IDの衝突を回避するために、上記方針(β)を修正することも可能である。具体的には、第1の被起動ノードに変更後の起動IDを通知するまで、第2の被起動ノードへの変更後の起動IDの通知を留保すれば、起動IDの衝突を回避できる。尚、第1の被起動ノードが頻繁に起動されるものであれば、第2の被起動ノードへ変更後の起動IDの通知を留保することの悪影響は小さくなる。
【0059】
以下、起動IDの決定アルゴリズムの詳細が述べられる。この決定アルゴリズムは、図4の手順304(及び図6の手順503)において、起動要求ノード100の起動ID生成部104によって実行される。
【0060】
この決定アルゴリズムにおいて、起動IDの基本的な割り当て方針は下記の通りである。第1の方針は、起動要求の発生頻度が高いと評価される被起動ノードほど短い起動IDを割り当てることである。第2の方針は、通信エラーの発生頻度が高いと評価される被起動ノードほど短い起動IDを割り当てることである。第1の方針及び第2の方針によれば、起動IDのビット長が通信システム全体で最適化される。即ち、頻繁に起動される被起動ノードが短い起動IDを使用するので、通信システム全体で消費電力を低減できる。また、通信エラーの発生しやすい被起動ノードが短い起動IDを使用するので、通信システム全体で通信エラーに起因する起動失敗を回避し易くなる。また、第3の方針は、起動IDを構成するビット値(「1」,「0」)の並びを特段考慮しないことである。
【0061】
この決定アルゴリズムは、下記の第1乃至第4のステップを通じて実現される。第1のステップにおいて、起動要求ノード100の起動ID生成部104は、起動関連情報収集部103によって収集された起動関連情報を入力する。起動関連情報は、例えば起動関連情報収集部103及び起動ID生成部104がアクセス可能なDBに保持されている。起動ID生成部104は、第1のステップにおいて入力した起動関連情報に基づいて、各被起動ノードの割り当て優先度を算出する(第2のステップ)。尚、割り当て優先度の詳細は後述される。起動ID生成部104は、後述されるステップ増加パラメータと、第2のステップにおいて算出した割り当て優先度とに基づいて、各被起動ノードに割り当てる起動IDのビット長を決定する(第3のステップ)。起動ID生成部104は、第3のステップにおいて決定されたビット長に従って、各被起動ノードに割り当てる起動IDの値を決定する(第4のステップ)。
【0062】
以下、第1のステップに関して、起動関連情報の詳細が述べられる。第1のステップにおいて入力される起動関連情報は、被起動ノードに対する起動要求の発生頻度に関する情報と、被起動ノードにおける通信エラーの発生頻度に関する情報とに大別できる。尚、第1のステップにおいて、一方の情報のみが入力されてもよい。起動要求の発生頻度に関する情報は、例えば、想定される起動頻度情報、被起動ノードの種別情報、過去の起動回数などを含み得る。通信エラーの発生頻度に関する情報は、電波強度情報、物理位置情報、起動信号受信インターフェースにおける受信感度情報、過去の通信エラー発生回数などを含み得る。勿論、起動ID生成部104は、ここで例示した一部の種別の起動関連情報に限って入力してもよいし、ここで例示しない他の種別の起動関連情報を組み合わせて入力してもよい。
【0063】
想定される起動頻度情報は、被起動ノードの起動頻度の予測値を直接的に示す。通信システムとしてホームネットワークを想定するならば、被起動ノードの機器メーカが固定的に設定してもよいし、被起動ノードの購入後にユーザが手動で設定してもよい。
【0064】
被起動ノードの種別は、被起動ノードの起動頻度を推定するために利用することができる。通信システムとしてホームネットワークを想定するならば、被起動ノードの種別として、テレビ、ビデオレコーダ、パーソナルコンピュータなどが指定される。被起動ノードの種別がテレビであれば、当該被起動ノードは一日に数回程度起動されると推定できる。一方、被起動ノードの種別がDVD記録用ドライブであれば、当該被起動ノードは稀にしか起動されないと推定できる。即ち、被起動ノードの種別を想定される起動頻度情報(例えば、年間起動回数)に変換することが可能である。係る変換は、例えばインターネット上にマッピングのためのデータベースを構築し、起動ID生成部104が当該データベースを参照することで実現されてもよい。また、被起動ノードの種別の変換結果は、前述の想定される起動頻度情報と独立して扱われてもよいし、平均化などを経て統合されてもよい。
【0065】
過去の起動回数は、被起動ノードの過去の起動頻度を評価するために利用することができる。例えば、起動要求ノード100の起動関連情報収集部103は、被起動ノードの起動履歴を管理することによって、過去の起動回数を収集することができる。尚、過去の起動回数は、被起動ノードが通信システムに追加されてからの経過時間が長いほど増大する。例えば、過去の起動回数をシステム追加からの経過時間で除算すれば、より妥当な値を評価し易くなる。
【0066】
電波強度情報は、例えば、図4の手順303において、起動要求ノード100の起動関連情報収集部103によって収集される。電波強度が大きいほど、被起動ノードにおける通信エラーの発生頻度は低いと推定できる。
【0067】
物理位置情報は、起動要求ノード100と被起動ノードとの間の物理相対距離を示す。物理相対距離が長いほど、被起動ノードにおける通信エラーの発生頻度は高いと推定できる。尚、物理位置情報は、起動要求ノード100または被起動ノードに備えられる位置センサなどによって検出されてもよいし、両ノードの設置後にユーザが手動で設定してもよい。
【0068】
起動信号受信インターフェースにおける受信感度は、被起動ノードの起動信号受信インターフェースの受信能力の一指標である。具体的には、受信感度が低いほど、被起動ノードにおける通信エラーの発生頻度は高いと推定できる。
【0069】
過去の通信エラー発生回数は、被起動ノードにおける過去の通信エラー発生頻度を評価するために利用することができる。例えば、起動要求ノード100の起動関連情報収集部103は、起動ID送信部105が起動信号送信インターフェース102から起動要求信号を送信したにも関わらず被起動ノードが起動しなかった回数をカウントすることによって、過去の通信エラー発生回数を収集することができる。或いは、起動関連情報収集部103は、通信インターフェース101を用いた通信における通信エラーの発生回数を過去の通信エラー発生回数として収集してもよい。また、起動関連情報収集部103は、過去の起動要求信号の再送回数をカウントし、これを通信エラーの発生回数として収集することもできる。尚、過去の起動要求信号の再送回数は、過去の起動要求の発生回数が大きいほど増大する。例えば、過去の起動要求信号の再送回数を過去の起動要求の発生回数で除算すれば、より妥当な値を評価し易くなる。
【0070】
以下、第2のステップに関して、割り当て優先度の詳細が述べられる。前述のように、第1のステップにおいて入力された起動関連情報は、被起動ノードに対する起動要求の発生頻度に関する情報と、被起動ノードにおける通信エラーの発生頻度に関する情報とに大別できる。そこで、起動ID生成部104は、起動関連情報を起動頻度情報とエラー頻度情報とに集約し、両者を合成して割り当て優先度を算出する。尚、起動頻度情報及びエラー頻度情報の一方に関する情報が収集されていなければ、起動ID生成部104は他方のみに基づいて割り当て優先度を算出してもよい。起動頻度情報は、被起動ノードに対する起動要求の発生頻度の評価値である。エラー頻度情報は、被起動ノードにおける通信エラーの発生頻度の評価値である。
【0071】
起動頻度情報は、例えば複数の観点から評価された起動頻度の統計値である。例えば、起動ID生成部104は、起動頻度情報を下記の数式(1)によって計算できる。
【数1】
【0072】
数式(1)において、Aは起動頻度情報を表す。Bはシステム追加からの経過時間を表し、Cは過去の起動回数を表す。即ち、C/Bは、被起動ノードの過去の起動頻度の測定値に相当する。また、数式(1)において、Dは想定される起動頻度を表す。即ち、Dは被起動ノードの起動頻度の推定値に相当する。尚、数式(1)では、起動頻度の測定値及び推定値の算術平均を計算しているが、これらの重み付き平均を代わりに計算してもよい。重みは、例えばシステム追加からの経過時間が長いほど測定値が重視されるようにしてもよいし、その他の方針で決定されてもよい。
【0073】
エラー頻度情報は、例えば複数の観点から評価されたエラー頻度の統計値である。例えば、起動ID生成部104は、エラー頻度情報を下記の数式(2)によって計算できる。
【数2】
【0074】
数式(2)において、Eはエラー頻度情報を表す。Fは電波強度情報を表し、Gは起動信号受信インターフェース202における受信感度情報を表し、Hは物理位置情報を表す。即ち、1/F,1/G及びHは、被起動ノードにおけるエラー発生頻度の推定値に相当する。また、数式(2)において、Iは過去の起動要求の発生回数を表し、Jは過去の起動要求信号の再送回数を表す。即ち、J/Iは被起動ノードにおける過去のエラー頻度の測定値に相当する。数式(2)によれば、エラー頻度情報Eは、電波強度情報Fが小さいほど、受信感度情報Gが低いほど、物理位置情報Hが大きいほど、及び、過去のエラー頻度が高いほど、より大きな値となる。
【0075】
起動ID生成部104は、起動頻度情報A及びエラー頻度情報Eの少なくとも一方に基づいて起動指標値を計算する。典型的には、起動ID生成部104は、起動頻度情報A及びエラー頻度情報Eを合成して起動指標値を算出する。例えば、起動ID生成部104は、起動指標値を下記の数式(3)によって計算できる。
【数3】
【0076】
数式(3)において、Kは起動指標値を表す。数式(3)によれば、起動指標値Kは、起動頻度情報Aが大きいほど、及び、エラー頻度情報Eが大きいほど、より大きな値となる。起動ID生成部104は、起動指標値Kを割り当て優先度として扱ってよい。或いは、起動ID生成部104は、起動指標値Kを正規化して得られる確率値(以降の説明において、起動確率情報と称される)を割り当て優先度として扱ってよい。例えば、起動ID生成部104は、下記の数式(4)に従って起動確率情報を算出することができる。
【数4】
【0077】
数式(4)において、P(x)は被起動ノードxの起動確率情報を表す。xは被起動ノードを識別する変数であり、数式(4)によれば0からn(=被起動ノードの総数−1)までのいずれかの整数値を持つ。Kxは被起動ノードxの起動指標値を表す。尚、全ての被起動ノードの起動確率情報の総和は1となる。尚、起動確率情報は、ハフマン符号化における出現頻度情報に相当するとみなすこともできる。
【0078】
以下、第3のステップに関して、図7を用いて決定アルゴリズムのうち各被起動ノードに割り当てる起動IDのビット長の決定に関する部分を説明する。具体的には、起動ID生成部104は、起動確率情報をハフマン符号化における出現頻度情報とみなして、各被起動ノードに割り当てる起動IDのビット長(サイズ)を決定する。ステップ増加パラメータSは、可変の設定値であって、起動IDビット長を増加させる単位(ビット長)を示す。一般的なハフマン符号化においてステップ増加パラメータS=1ビットであるが、後述されるように本実施形態においてステップ増加パラメータS=2ビット以上であってもよい。換言すれば、一般的なハフマン符号化において2(=21)分ハフマン木が採用されるが、本実施形態においてN(=2S)分ハフマン木が採用される。
【0079】
処理はステップS601から開始する。ステップS601において、起動ID生成部104は、初期化処理を実行する。具体的には、起動ID生成部104は、変数Lcに0を代入し、集合Tuに全ての被起動ノードを所属させ、集合Ta,Tsを夫々空集合に設定する。ここで、変数Lcは、起動IDのビット長を表す。集合Tuは、起動IDが割り当てられていない被起動ノードを包含する。集合Taは、起動IDが割り当て済みの被起動ノードを包含する。集合Tsは、起動IDを割り当てるために選択された被起動ノードを包含する。尚、集合Ta及び集合Tuの和集合は、全ての被起動ノードの集合に等しい。ステップS601の終了後に処理はステップS602に進む。
【0080】
ステップS602において、起動ID生成部104は、集合Tuに属している被起動ノードから2S−1個を選択し、集合Tsに所属させる。具体的には、起動ID生成部104は、集合Tuに属している被起動ノードを起動確率情報(即ち、割り当て優先度)の降順に2S−1個選択する。但し、集合Tuに属している被起動ノードの数が2S−1個未満であれば、起動ID生成部104は集合Tuに属している全ての被起動ノードを選択すればよい。
【0081】
続いて、起動ID生成部104は、変数LcをSだけインクリメントし、ステップS602において集合Tsに所属させた全ての被起動ノードxに関してL(x)=Lcを割り当てる(ステップS603)。ここで、L(x)は、被起動ノードxに割り当てられた起動IDのビット長を表す。即ち、ステップS603において、最大2S−1個の被起動ノードに共通のビット長(=Lc)が割り当てられる。
【0082】
ステップS603の終了後に、起動ID生成部104は、集合Tsに属する全ての被起動ノードを集合Tuから取り除くと共に、これらを全て集合Taに所属させる(ステップS604)。ステップS604の結果、集合Tuが空集合になれば処理は終了し、そうでなければ処理はステップS602に戻る(ステップS605)。
【0083】
以下、第4のステップに関して、各被起動ノードに割り当てる起動IDの値の詳細が述べられる。尚、前述の第3の方針から明らかなように、起動IDの値は任意の方法で割り当てることができる。例えば、ビット長が共通の起動IDを持つ被起動ノード同士で起動確率情報(即ち、割り当て優先度)の降順に小さなビット値が割り当られてもよい。尚、各起動ノードに割り当てる起動IDの値は、上記ステップ増加パラメータSの値に応じて異なる。
【0084】
例えば、ステップ増加パラメータS=1ビットであれば、起動IDの最小ビット長は1ビットであり、共通のビット長を持つ起動IDの最大数は1(=21−1)である。起動IDの値は、例えば、「0」,「10」,「110」・・・などとなる。
【0085】
ステップ増加パラメータS=2ビットであれば、起動IDの最小ビット長は2ビットであり、共通のビット長を持つ起動IDの最大数は3(=22−1)である。起動IDの値は、例えば、「00」,「10」,「11」,「1100」,「1101」,「1110」,「111100」,「111101」,「111110」・・・などとなる。
【0086】
ステップ増加パラメータS=3ビットであれば、起動IDの最小ビット長は3ビットであり、共通のビット長を持つ起動IDの最大数は7(=23−1)である。起動IDの値は、例えば、「000」,「001」,「010」,「011」,「100」,「101」,「110」,「111000」,「111001」,「111010」,「111011」,「111100」,「111101」,「111110」・・・などとなる。
【0087】
ステップ増加パラメータS=4ビットであれば、起動IDの最小ビット長は4ビットであり、共通のビット長を持つ起動IDの最大数は15(=24−1)である。起動IDの値は、例えば、「0000」,「0001」,「0010」,「0011」,「0100」,「0101」,「0110」,「0111」,「1000」,「1001」,「1010」,「1011」,「1100」,「1101」,「1110」,「11110000」,「11110001」,「11110010」,「11110011」,「11110100」,「11110101」,「11110110」,「11110111」,「11111000」,「11111001」,「11111010」,「11111011」,「11111100」,「11111101」,「11111110」・・・などとなる。
【0088】
前述の決定アルゴリズムによれば、起動要求の発生頻度が高いと評価される被起動ノードほど短い起動IDを割り当てられ、かつ、通信エラーの発生頻度が高いと評価される被起動ノードほど短い起動IDを割り当てられる。従って、起動IDのビット長が通信システム全体で最適化される。即ち、頻繁に起動される被起動ノードが短い起動IDを使用するので、通信システム全体で消費電力を低減できる。また、通信エラーの発生しやすい被起動ノードが短い起動IDを使用するので、通信システム全体で通信エラーに起因する起動失敗を回避し易くなる。更に、この決定アルゴリズムは、原理上、割り当て可能な起動IDの数を制限しない(即ち、起動IDのビット長を制限しない)。従って、この決定アルゴリズムは、通信システムに含まれる被起動ノードの多寡に関わらず適用可能である。
【0089】
以下、起動要求信号を送信するための処理の詳細が述べられる。前述のように、起動要求信号は可変長符号語である起動IDを含み、かつ、無線伝送されることが想定されている。故に、起動要求ノード100の起動信号送信部105は、下記の点を考慮した処理を適用し、通信エラーの発生頻度を抑えることが望まれる。具体的には、(1)無信号状態の区別が容易な無線符号化を採用することと、(2)無線干渉などに起因するビットエラー(またはビット消失)の対策と、(3)起動要求信号の末尾(或いは先頭)へのノイズ付加の対策とが考慮されるべきである。
【0090】
(1)に関して、無信号状態を区別できなければ、被起動ノードにおいて受信起動IDのビット長が不明となり、起動の失敗または誤起動が生じるかもしれない。受信側において、無信号状態と、ビット「1」送信状態と、ビット「0」送信状態とを区別可能な無線符号化方式として、例えばマンチェスター符号化(2値PPM(Pulse Position Modulation))が知られている。図8Aに示されるように、マンチェスター符号化は、ビット「1」送信状態においてパルスをローからハイに遷移させる。更に、マンチェスター符号化は、ビット「0」送信状態においてパルスをハイからローに遷移させる。図8Aから明らかなように、マンチェスター符号化によれば、無信号状態と、ビット「1」送信状態と、ビット「0」送信状態とを区別することが可能である。勿論、起動信号送信部105は、マンチェスター符号化以外の適切な無線符号化方式を採用してもよいし、(1)を考慮せずに無線符号化方式を選択してもよい。
【0091】
(2)に関して、エラービット(または消失ビット)を訂正できなければ、被起動ノードにおいて誤った起動IDが検出され、起動の失敗または誤起動が生じるかもしれない。エラー訂正のために、例えばパリティビットを付加することができる。尚、前述のマンチェスター符号化は、原理上ビット誤りは発生しないが、無線干渉などに起因するビット消失は発生し得る。1ビットのパリティ付加によれば、1ビットまでのビット消失を訂正することができる。例えば、起動IDに1ビットの偶数パリティを付加してマンチェスター符号化すると、図8Cに示されるように、1ビットまでの消失ビットの訂正が可能である。即ち、消失ビットを除く他のビットの総和が奇数であれば消失ビットはビット「1」に訂正され、消失ビットを除く他のビットの総和が偶数であれば消失ビットはビット「0」に訂正される。
【0092】
更に、(2)に関して、1ビットよりも多くの消失ビットへの対策を講じることも可能である。具体的には、インタリーブ方式を採用し、より多くのパリティビットを付加することによって複数の消失ビットを訂正することができる。例えば、図9Aに示されるように、12ビットの起動IDを4ビット単位でインタリーブして1ビットのパリティを夫々付加すれば、インタリーブされた4ビットのグループ毎に1ビットまでの消失ビットの訂正が可能である。尚、図9A及び図9Bにおいて、数字はビットの送信順を示しており、パリティビット(例えば、図9Aの5,10,15)が実線で囲われている。
【0093】
尚、起動IDのビット長に一定割合のパリティビットを付加すると、当該起動IDのビット長が増大するほど通信エラーの発生頻度が増大することが実測結果より判明している。即ち、起動IDのビット長が増大するほど、より高い割合でパリティビットを付加することが望ましい。従って、起動ID送信部105は、起動IDのビット長が増大するほどより小さなインタリーブ単位を採用し、通信エラーの発生頻度の増大を抑制する。例えば、起動ID送信部105は、12ビットの起動IDを4ビット単位でインタリーブし(図9A参照)、18ビットの起動IDを3ビット単位でインタリーブする(図9B参照)。図9A及び図9Bの例によれば、12ビットの起動IDに対して3ビットのパリティが付加され、18ビットの起動IDに対して6ビットのパリティが付加される。即ち、起動IDのビット長が増大するほど、起動要求信号においてパリティビットの占める割合が高くなるので、通信エラーの発生頻度の増大を効果的に抑制できる。
【0094】
(3)に関して、起動要求信号の末尾(或いは先頭)へのノイズが付加されると、(1)と同じく被起動ノードにおいて受信起動IDのビット長が不明となり、起動の失敗または誤起動が生じるかもしれない。起動IDのビット長を例えば1ビットのステップで増加させると、例えば図8Bに示されるように、起動要求信号の末尾(或いは先頭)の1ビットにノイズが付加されるだけで受信起動IDのビット長が不明となる。一方、起動IDのビット長を例えば2ビット以上のステップで増加させる(即ち、前述のステップ増加パラメータSを2ビット以上に設定する)と、受信起動IDにおいて当該ステップよりも短い先頭または末尾のビットにノイズが付加されたとしても当該起動IDのビット長を正しく検出することが可能である。
【0095】
上記(1),(2),(3)を考慮した処理を適用すれば、受信起動IDのビット長を正確に検出できると共にエラービット或いは消失ビットを訂正できる。即ち、通信エラーの発生頻度が効果的に抑制され、ひいては通信エラーに起因する起動の失敗及び誤起動が回避されやすくなる。
【0096】
以上説明したように、第1の実施形態に係る起動要求ノードは、起動要求の発生頻度及び通信エラーの発生頻度の少なくとも一方が高い被起動ノードほどより短い起動IDのビット長が割り当てられるように、起動IDを割り当てる。従って、本実施形態に係る起動要求ノードによれば、起動IDのビット長が通信システム全体で最適化される。即ち、頻繁に起動される被起動ノードに短い起動IDを割り当てれば、通信システム全体で消費電力を低減できる。また、通信エラーの発生しやすい被起動ノードに短い起動IDを割り当てれば、通信システム全体で通信エラーに起因する起動失敗を回避し易くなる。
【0097】
また、本実施形態に係る起動要求ノードは、割り当て可能な起動IDの数を制限しない(即ち、起動IDのビット長を制限しない)。従って、本実施形態に係る起動要求ノードによれば、通信システムに含まれる被起動ノードの多寡に関わらず個別の遠隔起動が可能である。
【0098】
更に、本実施形態に係る起動要求ノードは、マンチェスター符号化などの無信号状態を区別できる無線符号化方式を採用したり、起動IDのビット長を2ビット以上のステップで増加させたりする。従って、本実施形態に係る起動要求ノードによれば、被起動ノードは、可変長符号語である起動IDを含み、かつ、無線伝送される起動要求信号のビット長を正しく検出できる。また、本実施形態に係る起動要求ノードは、誤り訂正のために、例えば起動IDをインタリーブし、インタリーブされたビットグループ毎にパリティビットを付加する。より詳細には、本実施形態に係る起動要求ノードは、起動IDのビット長が長いほどインタリーブ単位を小さくし、起動要求信号においてパリティビットの占める割合を高くする。従って、本実施形態に係る起動要求ノードによれば、起動IDのビット長の増大に伴う通信エラーの発生頻度の増大を効果的に抑制できる。
【0099】
更に、図1の起動要求ノード100は、機能分割によって2以上の通信装置として実装することもできる。例えば、図1の起動要求ノード100を第1の通信装置及び第2の通信装置として実装することができる。第1の通信装置及び第2の通信装置は、互いに情報のやり取りが可能である。具体的には、第1の通信装置は、起動ID生成部104を少なくとも含み、例えば図4の手順304(及び図6の手順503)において、起動関連情報を入力し、これに基づいて起動IDを生成する。尚、第1の通信装置が入力する起動関連情報は、第2の通信装置または他の外部の通信装置によって収集されたものであってもよいし、当該第1の通信装置が収集したものであってもよい。第2の通信装置は、起動信号送信インターフェース102を少なくとも含み、第1の通信装置によって生成された起動IDを含む起動要求信号を送信することによって被起動ノードを遠隔起動する。
【0100】
(第2の実施形態)
前述の第1の実施形態の説明は、被制御ノードの遠隔起動を中心に展開された。一方、第2の実施形態は、具体的な遠隔制御の種別に言及することなく一般化して述べられる。即ち、本実施形態は、制御IDを指定して実行される種々の遠隔制御(遠隔起動を含む)に適用可能である。
【0101】
本実施形態においては、前述の第1の実施形態と異なり、割り当て可能な制御IDの総数は限られているものとする。即ち、本実施形態において、通信システムに含まれる被制御ノードの総数が割り当て可能な制御IDの総数を超える場合には、共通の制御IDを複数の被制御ノードに割り当てざるを得ない。そこで、本実施形態に係る制御要求ノードは、後述される制御可能電波強度を制御IDと組み合わせて用いることによって、共通の制御IDが複数の被制御ノードに割り当てられている場合においても、所望の被制御ノードを個別に遠隔制御する。
【0102】
本実施形態に係る制御要求ノード及び被制御ノードは、第1の実施形態と同様に図3に例示されるネットワークに接続されてもよいし、されなくてもよい。即ち、本実施形態に係る制御要求ノード及び被制御ノードは例えばIP網を利用することなく情報をやり取りしてもよい。
【0103】
図10に示されるように、本実施形態に係る制御要求ノード700は、制御信号インターフェース701、制御可能電波強度測定部702、制御信号送信部703、制御部704及び通信インターフェース705を含む。本実施形態に係る制御要求ノード700は、後述のように、本実施形態に係る被制御ノード(例えば、被制御ノード800)を遠隔制御することができる。
【0104】
制御信号インターフェース701は、制御IDを用いた無線通信を行う。具体的には、制御信号インターフェース701は、後述される探索信号、無視要求信号、制御要求信号などを送信するために利用される。また、制御信号インターフェース701は、後述される制御可能電波強度の測定にも利用される。更に、制御信号インターフェース701は、種々の応答信号の一部または全部を被制御ノードから受信したり、後述されるID割り当て開始信号を被制御ノードに送信したり、後述される制御ID割り当て信号を被制御ノードに送信したりするために利用されてもよい。
【0105】
制御可能電波強度測定部702は、制御可能電波強度を測定する。具体的には、制御可能電波強度測定部702は、制御信号インターフェース701、制御信号送信部703及び通信インターフェース705を利用して各被制御ノードの制御可能電波強度を測定し、制御可能電波強度と対応する被制御ノードとを関連付けた制御可能ノードリストを作成し、これを例えばDBに保持する。
【0106】
制御信号送信部703は、制御信号インターフェース701を用いて、被制御ノードに種々の制御信号を送信する。制御信号送信部703の動作は、制御部704及び制御可能電波強度測定部702によって制御される。
【0107】
制御部704は、後述のように、被制御ノードに制御IDを割り当てたり、制御ID及び制御可能電波強度に基づいて被制御ノードを遠隔制御したり、制御要求ノード700の全体を制御したりする。
【0108】
通信インターフェース705は、図1の通信インターフェース101と同様に、無線LANインターフェースであってもよいし、その他の通信方式をサポートするインターフェースであってもよい。例えば、通信インターフェース705は、IPアドレス或いはMAC(Media Access Control)アドレスを用いた通信を行う。通信インターフェース705は、種々の応答信号の一部または全部を被制御ノードから受信したり、ID割り当て開始信号を被制御ノードに送信したり、制御ID割り当て信号を被制御ノードに送信したりするために利用されてもよい。但し、通信インターフェース705は、制御要求ノード700において随意的に設けられる。即ち、通信インターフェース705は、制御要求ノード700から除去されてもよい。
【0109】
制御要求ノード700は、図10に示されていない構成要素を含み得る。例えば、制御要求ノード700は、特定の被制御ノードへ制御要求信号を送信することの依頼を他のノードから受理するための機能部(例えば、依頼受理部と名付けることができる)、制御要求信号を介して被制御ノードのアプリケーションをネットワーク経由で利用するための機能部(例えば、アプリケーション実行部と名付けることができる)を含んでもよい。
【0110】
図11に示されるように、本実施形態に係る被制御ノード800は、制御信号インターフェース801、測定応答部802、制御信号受信部803、制御部804及び通信インターフェース805を含む。被制御ノード800は、制御要求ノード700から種々の制御信号を受信し、これに応じて動作する。尚、通信システムにおいて、被制御ノード800の他の被制御ノードもまた、被制御ノード800と同一または類似の構成を備える。
【0111】
制御信号インターフェース801は、制御IDを用いた無線通信を行う。具体的には、制御信号インターフェース801は、探索信号、無視要求信号、制御要求信号などを受信するために利用される。また、制御信号インターフェース801は、後述される制御可能電波強度の測定にも利用される。更に、制御信号インターフェース801は、種々の応答信号の一部または全部を制御要求ノード700に送信したりID割り当て開始信号を制御要求ノード700から受信したり、制御ID割り当て信号を制御要求ノード700から受信したりするために利用されてもよい。
【0112】
測定応答部802は、制御要求ノード700が実行する制御可能電波強度の測定に対して応答する。具体的には、測定応答部802は、制御信号インターフェース801、制御信号受信部803及び通信インターフェース805を利用して、制御要求ノード700からの探索信号を受信し、応答信号を返信する。
【0113】
制御信号受信部803は、制御信号インターフェース801を用いて、制御要求ノード700から種々の制御信号を受信する。制御信号受信部803の動作は、制御部804及び測定応答部802によって制御される。制御信号受信部803は、受信した制御信号を測定応答部802或いは制御部804に供給する。
制御部804は、制御要求ノード700からの種々の制御信号に応じて、被制御ノード800の動作を制御する。
【0114】
通信インターフェース805は、図2のインターフェース201と同様に、無線LANインターフェースであってもよいし、その他の通信方式をサポートするインターフェースであってもよい。例えば、通信インターフェース805は、IPアドレス或いはMACアドレスを用いた通信を行う。通信インターフェース805は、種々の応答信号の一部または全部を制御要求ノード700に送信したりID割り当て開始信号を制御要求ノード700から受信したり、制御ID割り当て信号を制御要求ノード700から受信したりするために利用されてもよい。但し、通信インターフェース805は、被制御ノード800において随意的に設けられる。即ち、通信インターフェース805は、被制御ノード800から除去されてもよい。
【0115】
被制御ノード800は、図11に示されていない構成要素を含み得る。例えば、被制御ノード800は、ローカルのアプリケーションをネットワーク経由で他のノードに利用させるための機能部(例えば、アプリケーション実行部と名付けることができる)を含んでもよい。
【0116】
制御要求ノード700が被制御ノードの遠隔制御を可能とするための準備段階として、各被制御ノードの制御可能電波強度が測定され、この制御可能電波強度に基づいて各被制御ノードに制御IDが割り当てられる。尚、これらの処理は、通信システムの初期化時に限って実行されてもよいし、制御可能電波強度及び制御IDを更新するために再実行されてもよい。
【0117】
制御可能電波強度の測定は、例えば図12に示されるように実行される。図12の処理は、ステップS901から開始する。ステップS901において、制御要求ノード700の制御可能電波強度測定部702は初期化処理を実行する。具体的には、制御可能電波強度測定部702は、変数Wcに最小値を設定し、集合Taを空集合に設定する。変数Wcは、電波強度を表す。変数Wcの最小値とは、通信システムにおいて設定可能な最小値であってもよいし、ユーザによる設定値であってもよい。集合Taは、制御可能電波強度が測定済みの被制御ノードを包含する。ステップS901の終了後に処理はステップS902に進む。
【0118】
ステップS902において、制御可能電波強度測定部702は制御信号送信部703の電波強度=Wcに設定し、制御信号送信部703は制御信号インターフェース701を用いて探索信号を送信する。そして、制御要求ノード700は、ステップS902において送信した探索信号に対する被制御ノードからの応答信号を一定時間待ち受ける(ステップS903)。即ち、被制御ノードは、探索信号を受信した場合には応答信号を送信するように構成されている。尚、探索信号に対する応答信号は、制御信号インタフェース701を用いて受信されてもよいし、通信インターフェース805を用いて受信されてもよい。応答信号には、送信元の被制御ノードの識別情報(例えば、MACアドレス、IPアドレスなど)が含まれる。更に、応答信号には、ステップS902において送信された探索信号とのマッチングを行うためのパスフレーズ情報、当該探索信号の受信強度情報などが含まれていてもよい。ステップS903の待ち受けの結果、いずれかの被制御ノードから応答があれば処理はステップS905に進み、そうでなければ処理はステップS907に進む。
【0119】
ステップS905において、制御電波強度測定部702は、受信応答信号に含まれる識別情報を参照し、送信元の被制御ノードを特定する。制御電波強度測定部702は、特定された被制御ノードのうち集合Taに所属していないものを全て集合T(Wc)に所属させる。集合T(W)は、制御可能電波強度=Wの被制御ノードを包含する。そして、制御電波強度測定部702は、特定された被制御ノードのうち集合Taに所属していないものを全て集合Tuから取り除くと共に、これらを全て集合Taに所属させて(ステップS906)、処理はステップS907に進む。集合Tuは、制御可能電波強度が未測定の被制御ノードを包含する。
【0120】
ステップS907において、制御電波強度測定部702は、変数Wcが最大値であるか否かを判定する。尚、変数Wcの最大値とは、最小値と同様に、通信システムにおいて設定可能な最大値であってもよいし、ユーザによる設定値であってもよい。変数Wcが最大値であれば処理は終了し、そうでなければ処理はステップS908に進む。尚、図12の処理の終了時に、通信システムに存在する全ての被制御ノードが集合Taに所属している(換言すれば、集合Taが空集合である)とは限らない。即ち、いくつかの被制御ノードの制御可能電波強度の測定が終了していない可能性がある。制御可能電波強度の測定が終了していない被制御ノードは、制御要求ノード700から制御することができない。制御要求ノード700は、係る被制御ノードが通信システム内に存在するか否かに関わらず、制御可能な被制御ノード(即ち、後述の制御可能ノードリストに列挙された被制御ノード)を対象に遠隔制御を実行すればよい。
【0121】
ステップS908において、制御電波強度測定部702は変数Wcを一段階増加させて、処理はステップS902に戻る。ステップS902における、変数Wcの増加量は、通信システムにおいて制御可能な最小単位であってもよいし、ユーザによる設定値であってもよい。
【0122】
図12の処理の結果、各被制御ノードを制御可能な最小の電波強度が制御可能電波強度として測定される。但し、制御可能電波強度は、ステップS908における変数Wcの増加幅によって量子化されている。制御可能電波強度測定部702は、図13に示されるような、制御可能ノードリストを作成する。図13の制御可能ノードリストにおいて、制御可能電波強度のレベル(1,2,3,4)と、対応する被制御ノードの識別情報(R0,・・・,R9)とが関連付けられている。尚、識別情報Rxとして、典型的には、MACアドレスなどが記載される。
【0123】
尚、図12の処理では、電波強度を最小値から最大値まで段階的に増加させることによって制御可能電波強度を測定している。しかしながら、電波強度を最大値から最小値まで段階的に減少させることによって制御可能電波強度を測定することもできる。係る手法は、各被制御ノードについて応答信号が受信できない最大の電波強度に基づいて制御可能電波強度を測定する。
【0124】
制御可能電波強度の測定の後に、制御IDの割り当てが例えば図14に示されるように実行される。尚、制御IDの割り当ては、典型的には、制御可能電波強度の測定に連続して実行されるが、アプリケーションなどの指示次第で両者が別々に実行されても構わない。
【0125】
図14の処理は、ステップS1001から開始する。制御要求ノード700の制御部704は、初期化処理を実行する。具体的には、制御部704は、集合Tuを集合Tと一致させ、集合Taを空集合に設定する。集合Tは、制御可能ノードリストに列挙された被制御ノードを包含する。集合Tuは、集合Tに属する被制御ノードのうち制御IDが未割り当てのものを包含する。集合Taは、集合Tに属する被制御ノードのうち制御IDが割り当て済みのものを包含する。尚、集合Tu及び集合Taの和集合は集合Tに等しい。ステップS1001の終了後に処理はステップS1002に進む。尚、ステップS1002は、随意的であり、省略可能である。従って、ステップS1001の終了後に処理はステップS1003に進んでもよい。
【0126】
ステップS1002において、制御部704は、集合Tに属する被制御ノードに対してID割り当て開始信号を送信する。ID割り当て開始信号は、制御信号インターフェース701及び通信インターフェース705のいずれを用いて送信されてもよい。但し、制御信号インターフェース701を用いてID割り当て開始信号を送信する場合には、集合Tに属する被制御ノードに到達可能な電波強度(例えば、制御可能ノードリストにおける制御可能電波強度の最大値)を設定する必要がある。通信インターフェース705を用いてID割り当て開始信号を送信する場合には、ブロードキャスト或いはマルチキャストが利用可能である。ステップS1002の終了後に処理はステップS1003に進む。
【0127】
尚、被制御ノードは、ID割り当て開始信号を受信すると、これに応じて動作するものとする。例えば、被制御ノードは、制御IDを設定するための準備(動作モードの変更など)を行う。更に、被制御ノードは、上記準備の後に制御ID割り当て信号を受信した場合には、当該制御ID割り当て信号に従って制御IDを設定する。
【0128】
ステップS1003において、制御部704は制御IDの割り当てを行う。具体的には、制御部704は、集合Tuから制御可能電波強度の昇順にlm個の被制御ノードを選択する。lmは、割り当て可能な制御IDの総数と等しい。尚、集合Tuに属する被制御ノードの総数がlm未満であれば、制御部704は集合Tuに属する全ての被制御ノードを選択すればよい。そして、制御部704は、選択した被制御ノードに制御IDを割り当てる。ここで、制御IDが固定長であるならば、制御部704は任意の方法で制御IDを割り当ててよい。制御IDが可変長であるならば、制御部704は第1の実施形態を利用して制御IDを割り当ててもよいし、第1の実施形態を利用せずに制御IDを割り当ててもよい。制御部704は、制御IDと被制御ノードとを関連付けて例えばDBに保持する。
【0129】
制御部704は、ステップS1003において選択した被制御ノードに対して制御ID割り当て信号を送信する。制御ID割り当て信号は、各被制御ノードに割り当てた制御IDを通知するためのものである。制御ID割り当て信号は、制御信号インターフェース701及び通信インターフェース705のいずれを用いて送信されてもよい。但し、制御信号インターフェース701を用いて制御ID割り当て信号を送信する場合には、送信先の被制御ノードに到達可能な電波強度(例えば、送信先の被制御ノードに対応する制御可能電波強度)を設定する必要がある。通信インターフェース705を用いて制御ID割り当て信号を送信する場合には、送信先の被制御ノードのMACアドレス或いはIPアドレスなどを指定してもよい。尚、被制御ノードは、制御ID割り当て信号を受信すると制御IDを設定するように構成される。ステップS1004の終了後に処理はステップS1005に進む。
【0130】
ステップS1005において、制御部704は、ステップS1003において選択した全ての被制御ノードを集合Tuから取り除くと共に、これらを全て集合Taに所属させる。ステップS1005の結果、集合Tuが空集合となれば処理は終了し、そうでなければ処理はステップS1007に進む。
【0131】
ステップS1007において、制御部704は、制御IDの再利用を許容する。即ち、先行するステップS1003において割り当てた制御IDの一部または全部を、制御IDが未割り当ての被制御ノードに割り当てるために、処理はステップS1003に戻る。尚、図14の例では、制御IDの再利用をステップS1003の繰り返しによって実現している。ステップS1003を繰り返し実行すれば、共通の制御IDを使用する被制御ノード間の制御可能電波強度の差を大きくする効果が得られる。即ち、後述されるように、共通の制御IDを利用する被制御ノード間における制御可能電波強度の差異を利用して個別の遠隔制御を実現することが容易となる。但し、ステップS1003以外の図示しない処理によって制御IDの再利用を実行してもよい。
【0132】
図14の処理の結果、制御可能ノードリストに列挙された全ての被制御ノードに制御IDが割り当てられる。但し、前述のように、制御可能ノードリストに列挙された被制御ノードの総数がlmを超える場合には、制御IDの一部または全部が再利用されるので制御IDの衝突が生じる。そこで、制御要求ノード700は、図15に示されるように、制御ID及び制御可能電波強度に基づいて、所望の被制御ノードを個別に遠隔制御する。典型的には、制御要求ノード700が例えばアプリケーションから特定の被制御ノード(以降、対象被制御ノードと称される)の制御依頼を受理すると、図15の処理は開始される。制御依頼は、対象被制御ノードの識別情報(例えば、MACアドレス)と制御命令とを含む。制御命令は、例えば制御の種別、制御の内容などの情報を含むことができる。
【0133】
図15の処理は、ステップS1101から開始する。ステップS1101において、制御部704は、対象被制御ノードの制御ID(It)を取得する。制御ID(It)は、例えば、図14の処理を経て事前に対象被制御ノードに割り当てられ、DBに保持されている。典型的には、制御部704は、対象被制御ノードの識別情報をキーとしてDBを参照することによって、当該対象被制御ノードの制御ID(It)を取得する。
【0134】
制御部704は、対象被制御ノードの制御可能電波強度Wtを取得する(ステップS1102)。制御可能電波強度Wtは、例えば、図12の処理を経て事前に測定され、制御可能ノードリストに記載されている。典型的には、制御部704は、対象被制御ノードの識別情報をキーとして制御可能ノードリストを参照することによって、当該対象被制御ノードの制御可能電波強度Wtを取得する。
【0135】
ステップS1101及びステップS1102の終了後に、制御部704は、被制御ノードと制御IDとの対応関係を保持するDBと、制御可能ノードリストとを更に参照し、集合Tを作成する(ステップS1103)。具体的には、制御部704は、Wt以下の制御可能電波強度を持ち、かつ、制御ID(It)を割り当てられている、全ての被制御ノード(対象被制御ノードを除く)を集合Tに所属させる。
【0136】
集合Tが空集合であれば処理はステップS1106に進み、そうでなければ処理はステップS1105に進む(ステップS1104)。仮に、集合Tが空集合であれば、制御可能電波強度Wtを設定し、制御ID(It)を含む制御要求信号を送信したとしても、対象被制御ノード以外の被制御ノードがこれに応じることはない。即ち、理論上、この制御要求信号が到達する全ての被制御ノード(対象被制御ノードを除く)には、制御ID(It)と異なる制御IDが割り当てられている。また、理論上、この制御要求信号は、制御ID(It)が割り当てられた被制御ノード(対象被制御ノードを除く)には到達しない。一方、集合Tが空集合でないことは、理論上、この制御要求信号が到達する被制御ノード(対象被制御ノードを除く)のいくつかには、制御ID(It)が割り当てられていることを意味する。従って、不要な被制御ノードが制御要求信号に応じることを阻止するために、以下のステップS1105が必要となる。
【0137】
ステップS1105において、制御部704は、制御信号送信部703に制御信号インターフェース701を用いて後述される無視要求信号を送信させる。具体的には、制御部704は、集合Tに属する全ての被制御ノードの制御可能電波強度の最大値以上であって、かつ、制御可能電波強度Wtよりも小さい電波強度を無視要求信号のために設定する。係る電波強度を設定することにより、無視要求信号が集合Tに属する全ての被制御ノードに到達すると共に、当該無視要求信号が対象被制御ノードには到達しない。また、制御部704は、無視要求信号の宛先として制御ID(It)を設定する。
【0138】
無視要求信号は、制御IDによって指定される被制御ノードに、制御要求信号の無視を条件付きで要求するものである。即ち、無視要求信号を受信した被制御ノードは、条件を満たす制御要求信号に応じた動作を省略するように構成されている。また、無視要求信号は、以下の種々の条件を指定することができる。
【0139】
例えば、無視要求信号は、後続して受信される制御要求信号を1回無視することを要求してもよい。即ち、被制御ノードは、係る無視要求信号を受信すると、当該被制御ノードと同じ制御IDを宛先とする制御要求信号を1回だけ無視する。
【0140】
また、無視要求信号は、後続して受信される制御要求信号を指定回数無視することを要求してもよい。即ち、被制御ノードは、係る無視要求信号を受信すると、当該被制御ノードと同じ制御IDを宛先とする制御要求信号を指定回数だけ無視する。
【0141】
また、無視要求信号は、後続して受信される制御要求信号を指定期間無視することを要求してもよい。即ち、被制御ノードは、係る無視要求信号を受信すると、当該被制御ノードと同じ制御IDを宛先とする制御要求信号を指定期間に亘って無視する。
【0142】
更に、無視要求信号は、後続して受信される制御要求信号を指定種別の制御命令に限って無視することを要求してもよい。即ち、被制御ノードは、係る無視要求信号を受信すると、当該被制御ノードと同じ制御IDを宛先とする制御要求信号に指定種別の制御命令が含まれていれば、これを無視する。
【0143】
無視要求信号は、前述の具体例に限らず種々の条件を指定してもよい。また、無視要求信号は1つに限らず複数の条件(例えば、指定回数及び指定期間の論理和など)を組み合わせて指定してもよい。無視要求信号には、前述の指定回数、指定期間、制御命令の指定種別などの情報の一部または全部が含まれていてもよいが、これらが被制御ノードにおいて既知であるならばこれらの情報を全く含まなくてもよい。
【0144】
ステップS1105によれば、ステップS1106において送信される制御要求信号に対して不要な被制御ノードが応じることを阻止できる。ステップS1105の終了後に処理はステップS1106に進む。
【0145】
ステップS1106において、制御部704は制御信号送信部703に制御信号インターフェース701を用いて制御要求信号を送信させて、処理は終了する。具体的には、制御部704は、ステップS1101において取得した制御ID(It)を制御要求信号の宛先として設定する。また、制御部704は、ステップS1102において取得した制御可能電波強度Wtを制御要求信号のために設定する。更に、制御部704は、制御要求に応じた制御命令を制御要求信号に設定してもよい。
【0146】
図15の処理によれば、共通の制御IDを持つ複数の被制御ノードが通信システムに存在するとしても、これらの間の制御可能電波強度の相違を利用してこれらを個別に遠隔制御することが可能である。即ち、図15の処理によれば、結果的に、割り当て可能な制御IDの数よりも多くの被制御ノードを個別に遠隔制御することが可能である。
【0147】
以上説明したように、第2の実施形態に係る制御要求ノードは、相異なる被制御ノードに共通の制御IDを割り当てることを許容しつつ、係る被制御ノード間の制御可能電波強度の相違を利用して所望の被制御ノードを個別に制御する。具体的には、所望の被制御ノードと共通の制御IDを持ち、かつ、所望の被制御ノードよりも制御可能電波強度の小さい被制御ノードに対して、制御要求ノードは前述の無視要求信号を送信し、係る被制御ノードが後続する制御要求信号に応じることを阻止する。その後に、制御要求ノードは、所望の被制御ノードの制御可能電波強度を設定して制御要求信号を送信することによって、当該所望の被制御ノードを個別に遠隔制御できる。また、本実施形態に係る制御要求ノードは、制御IDを再利用するので、割り当て可能な制御IDの数よりも多くの被制御ノードを個別に遠隔制御できる。
【0148】
尚、第2の実施形態に関して、以下に述べる変形例を想定することができる。具体的には、前述の図15の処理の一部を変更することによって、共通の制御IDを持つ複数の被制御ノードに対して共通の遠隔制御を一括で実行できる。
【0149】
但し、一括して遠隔制御できる被制御ノード群(以降、対象被制御ノード群と称される。)には制約がある。具体的には、共通の制御IDを持つ複数のノードを制御可能電波強度の昇順または降順でソートした場合に、対象被制御ノード群は連続している必要がある。即ち、対象被制御ノード群の並びの途中に制御対象でない被制御ノードが存在する場合には、当該被制御ノードを制御対象から選択排除することができないので、対象被制御ノード群のみを一括して遠隔制御することはできない。
【0150】
図15のステップS1102,S1103,S1105,S1106を下記のステップS1202,S1203,S1205,S1206に置き換えることにより、前述の一括遠隔制御が可能となる。
【0151】
ステップS1202において、制御部704は、対象被制御ノード群に含まれるn個の(nは2以上の整数)被制御ノードの制御可能電波強度Wt1,Wt2,・・・,Wtnを取得する。典型的には、制御部704は、n個の被制御ノードの識別情報をキーとして、制御可能ノードリストを参照することによって、当該n個の被制御ノードの制御可能電波強度Wt1,Wt2,・・・,Wtnを取得する。尚、n個の被制御ノードの識別情報は、例えばアプリケーションからの制御依頼によって指定される。更に、制御部704は、取得した制御可能電波強度Wt1,Wt2,・・・,Wtnの最小値Wtmin及び最大値Wtmaxを夫々計算する。
【0152】
ステップS1101及びステップS1202の終了後に、制御部704は、被制御ノードと制御IDとの対応関係を保持するDBと、制御可能ノードリストとを更に参照し、集合Tを作成する(ステップS1203)。具体的には、制御部704は、Wtmin以下の制御可能電波強度を持ち、かつ、制御ID(It)を割り当てられている、全ての被制御ノード(対象被制御ノード群を除く)を集合Tに所属させる。
【0153】
ステップS1205において、制御部704は、制御信号送信部703に制御信号インターフェース701を用いて前述の無視要求信号を送信させる。具体的には、制御部704は、集合Tに属する全ての被制御ノードの制御可能電波強度の最大値以上であって、かつ、制御可能電波強度Wtminよりも小さい電波強度を無視要求信号のために設定する。係る電波強度を設定することにより、無視要求信号が集合Tに属する全ての被制御ノードに到達すると共に、当該無視要求信号が対象被制御ノード群に到達しない。また、制御部704は、無視要求信号の宛先として制御ID(It)を設定する。
【0154】
ステップS1206において、制御部704は制御信号送信部703に制御信号インターフェース701を用いて制御要求信号を送信させて、処理は終了する。具体的には、制御部704は、ステップS1101において取得した制御ID(It)を制御要求信号の宛先として設定する。また、制御部704は、ステップS1202において計算した制御可能電波強度Wtmaxを制御要求信号のために設定する。更に、制御部704は、制御要求に応じた制御命令を制御要求信号に設定してもよい。
【0155】
上記各実施形態の処理は、汎用のコンピュータを基本ハードウェアとして用いることで実現可能である。上記各実施形態の処理を実現するプログラムは、コンピュータで読み取り可能な記憶媒体に格納して提供されてもよい。プログラムは、インストール可能な形式のファイルまたは実行可能な形式のファイルとして記憶媒体に記憶される。記憶媒体としては、磁気ディスク、光ディスク(CD−ROM、CD−R、DVD等)、光磁気ディスク(MO等)、半導体メモリなど、プログラムを記憶でき、かつ、コンピュータが読み取り可能な記憶媒体であれば、何れであってもよい。また、上記各実施形態の処理を実現するプログラムを、インターネットなどのネットワークに接続されたコンピュータ(サーバ)上に格納し、ネットワーク経由でコンピュータ(クライアント)にダウンロードさせてもよい。
【0156】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0157】
100・・・起動要求ノード
101・・・通信インターフェース
102・・・起動信号送信インターフェース
103・・・起動関連情報収集部
104・・・起動ID生成部
105・・・起動ID送信部
200・・・被起動ノード
201・・・通信インターフェース
202・・・起動信号受信インターフェース
203・・・起動関連情報送信部
204・・・起動処理部
205・・・起動ID受信部
700・・・制御要求ノード
701・・・制御信号インターフェース
702・・・制御可能電波強度測定部
703・・・制御信号送信部
704・・・制御部
705・・・通信インターフェース
800・・・被制御ノード
801・・・制御信号インターフェース
802・・・測定応答部
803・・・制御信号受信部
804・・・制御部
805・・・通信インターフェース
【特許請求の範囲】
【請求項1】
対象被制御ノードを含む複数の被制御ノードを制御する通信装置において、
前記対象被制御ノードの制御要求の発生頻度を示す第1の評価値及び前記対象被制御ノードにおける通信エラーの発生頻度を示す第2の評価値の少なくとも一方を取得する取得部と、
前記対象被制御ノードを制御するために割り当てる識別情報を、前記第1の評価値及び前記第2の評価値の少なくとも一方が高くなるほど当該識別情報のビット長が短くなるように生成する生成部と
を具備する、通信装置。
【請求項2】
前記生成部は、前記第1の評価値及び前記第2の評価値の少なくとも一方に基づくハフマン符号化を実行することによって、前記識別情報を生成する、請求項1の通信装置。
【請求項3】
前記生成部は、N(Nは2より大きい整数)分ハフマン木を採用して前記ハフマン符号化を実行する、請求項2の通信装置。
【請求項4】
前記識別情報を含む制御要求信号を前記対象被制御ノードに送信する送信部を更に具備する、請求項1の通信装置。
【請求項5】
前記送信部は、前記識別情報にパリティビットを付加する、請求項4の通信装置。
【請求項6】
前記送信部は、前記識別情報のビット長が長いほど小さい単位で前記識別情報をインタリーブし、インタリーブされたビットグループ毎に前記パリティビットを付加する、請求項5の通信装置。
【請求項7】
前記第1の評価値は、前記対象被制御ノードの過去の起動回数及び前記対象被制御ノードのノード種別情報の少なくとも一方に基づいて評価される、請求項1の通信装置。
【請求項8】
前記第2の評価値は、(a)前記対象被制御ノードにおける過去の通信エラー発生回数、(b)前記対象被制御ノードにおける電波強度情報、及び、(c)前記対象被制御ノードの物理位置情報の少なくとも1つに基づいて評価される、請求項1の通信装置。
【請求項9】
対象被制御ノードを含む複数の被制御ノードを制御する通信装置において、
前記複数の被制御ノードの各々について無線信号の到達する最小の電波強度を示す制御可能電波強度を測定する測定部と、
前記制御可能電波強度の昇順或いは降順に、有限個の識別情報を前記複数の被制御ノードの各々に再利用を許容しながら割り当てる制御部と、
(A)前記対象被制御ノードと同一の第1の識別情報が割り当てられ、かつ、前記対象被制御ノードよりも前記制御可能電波強度の小さい第2の被制御ノード群が存在すれば、前記第1の識別情報を宛先とする制御要求信号の無視を要求する無視要求信号を、前記第1の識別情報を宛先として前記第2の被制御ノード群の最大の前記制御可能電波強度に従って送信し、(B)(A)の後に、前記制御要求信号を前記第1の識別情報を宛先として前記対象被制御ノードの制御可能電波強度に従って送信する、送信部と
を具備する、通信装置。
【請求項10】
前記無視要求信号は、(a)前記制御要求信号を無視する期間、(b)前記制御要求信号を無視する回数、及び、(c)前記制御要求信号のうち無視する制御命令の種別のうち少なくとも1つを示す情報を含む、請求項9の通信装置。
【請求項1】
対象被制御ノードを含む複数の被制御ノードを制御する通信装置において、
前記対象被制御ノードの制御要求の発生頻度を示す第1の評価値及び前記対象被制御ノードにおける通信エラーの発生頻度を示す第2の評価値の少なくとも一方を取得する取得部と、
前記対象被制御ノードを制御するために割り当てる識別情報を、前記第1の評価値及び前記第2の評価値の少なくとも一方が高くなるほど当該識別情報のビット長が短くなるように生成する生成部と
を具備する、通信装置。
【請求項2】
前記生成部は、前記第1の評価値及び前記第2の評価値の少なくとも一方に基づくハフマン符号化を実行することによって、前記識別情報を生成する、請求項1の通信装置。
【請求項3】
前記生成部は、N(Nは2より大きい整数)分ハフマン木を採用して前記ハフマン符号化を実行する、請求項2の通信装置。
【請求項4】
前記識別情報を含む制御要求信号を前記対象被制御ノードに送信する送信部を更に具備する、請求項1の通信装置。
【請求項5】
前記送信部は、前記識別情報にパリティビットを付加する、請求項4の通信装置。
【請求項6】
前記送信部は、前記識別情報のビット長が長いほど小さい単位で前記識別情報をインタリーブし、インタリーブされたビットグループ毎に前記パリティビットを付加する、請求項5の通信装置。
【請求項7】
前記第1の評価値は、前記対象被制御ノードの過去の起動回数及び前記対象被制御ノードのノード種別情報の少なくとも一方に基づいて評価される、請求項1の通信装置。
【請求項8】
前記第2の評価値は、(a)前記対象被制御ノードにおける過去の通信エラー発生回数、(b)前記対象被制御ノードにおける電波強度情報、及び、(c)前記対象被制御ノードの物理位置情報の少なくとも1つに基づいて評価される、請求項1の通信装置。
【請求項9】
対象被制御ノードを含む複数の被制御ノードを制御する通信装置において、
前記複数の被制御ノードの各々について無線信号の到達する最小の電波強度を示す制御可能電波強度を測定する測定部と、
前記制御可能電波強度の昇順或いは降順に、有限個の識別情報を前記複数の被制御ノードの各々に再利用を許容しながら割り当てる制御部と、
(A)前記対象被制御ノードと同一の第1の識別情報が割り当てられ、かつ、前記対象被制御ノードよりも前記制御可能電波強度の小さい第2の被制御ノード群が存在すれば、前記第1の識別情報を宛先とする制御要求信号の無視を要求する無視要求信号を、前記第1の識別情報を宛先として前記第2の被制御ノード群の最大の前記制御可能電波強度に従って送信し、(B)(A)の後に、前記制御要求信号を前記第1の識別情報を宛先として前記対象被制御ノードの制御可能電波強度に従って送信する、送信部と
を具備する、通信装置。
【請求項10】
前記無視要求信号は、(a)前記制御要求信号を無視する期間、(b)前記制御要求信号を無視する回数、及び、(c)前記制御要求信号のうち無視する制御命令の種別のうち少なくとも1つを示す情報を含む、請求項9の通信装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8A】
【図8B】
【図8C】
【図9A】
【図9B】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8A】
【図8B】
【図8C】
【図9A】
【図9B】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2012−205131(P2012−205131A)
【公開日】平成24年10月22日(2012.10.22)
【国際特許分類】
【出願番号】特願2011−68669(P2011−68669)
【出願日】平成23年3月25日(2011.3.25)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成24年10月22日(2012.10.22)
【国際特許分類】
【出願日】平成23年3月25日(2011.3.25)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]