説明

通信装置、通信装置の起動方法及びプログラム

【課題】遠隔起動を速やかに実行し、消費電力を低減できる通信装置を提供する。
【解決手段】通信装置100は、起動指示メッセージのフォーマット情報を生成する生成部107と、前記フォーマット情報を記憶するメモリ113と、ネットワークを介した前記フォーマット情報の送信及び起動指示メッセージの受信を行う通信部111と、前記受信した起動指示メッセージが、メモリ113に記憶されている前記フォーマット情報に対応しているか否かを検出し、対応している場合はこの起動指示メッセージの内容に基づいて起動処理及び初期化処理を行う制御部112と、を備えて、遠隔起動を速やかに実行し、消費電力を低減する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信装置、通信装置の起動方法及びプログラムに関するものである。
【背景技術】
【0002】
ネットワークを介してスリープモード(待機状態)にある通信装置を遠隔起動する技術が知られている。このような技術では、まず利用者は通信装置に起動指示を与える。通信装置は起動指示を受信すると、すべての構成要素の電源を投入し、初期化処理を行う。初期化処理が完了すると、通信装置はネットワークを介した遠隔操作指示を待ち受ける状態になる。これにより、利用者は、ネットワークを介して通信装置を操作できるようになる。すべての構成要素について初期化処理が行われるため、利用者は所望のサービスを利用できるようになるまで、長時間待たなければならなかった。また、サービス提供に必要無い構成要素の電源も投入されるため、通信装置の消費電力が増大するという問題があった。
【0003】
これに対し、通常モードでは動作し、省エネルギーモードで停止するメインプロセッサと、メインプロセッサより消費電力が低く、通常モードでは停止し、省エネルギーモードで動作するサブプロセッサと、を備えた装置が提案されている(例えば特許文献1参照)。サブプロセッサは、省エネルギーモードにおいて、計算量が少ない処理を実行し、計算量が多い処理を実行する必要がある場合はメインプロセッサを稼働させ、通常モードに移行する。このような装置を用いることで、消費電力が抑えられる。また、一部の処理をサブプロセッサに代行させるため、メインプロセッサ停止時の応答性が向上する。
【0004】
しかし、上記のような装置を用いても、利用者が希望するサービスがメインプロセッサによる処理が必要な場合は、メインプロセッサの起動を待たなければならず、待ち時間を短くできない。また、メインプロセッサを起動する際には、装置全体が起動する必要があり、消費電力を低減できない。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2005−267100号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、遠隔起動を速やかに実行し、消費電力を低減できる通信装置、通信装置の起動方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の一態様による通信装置は、起動指示メッセージのフォーマット情報を生成する生成部と、前記フォーマット情報を記憶するメモリと、ネットワークを介した前記フォーマット情報の送信及び起動指示メッセージの受信を行う通信部と、前記受信した起動指示メッセージが、前記メモリに記憶されている前記フォーマット情報に対応しているか否かを検出し、対応している場合はこの起動指示メッセージの内容に基づいて起動処理及び初期化処理を行う制御部と、を備えるものである。
【0008】
また、本発明は、上記通信装置を起動することができる方法およびプログラムである。
【発明の効果】
【0009】
本発明によれば、遠隔起動を速やかに実行し、消費電力を低減できる。
【図面の簡単な説明】
【0010】
【図1】本発明の第1の実施形態に係る通信装置の概略構成図である。
【図2】同第1の実施形態に係る通信装置を利用するネットワーク環境の模式図である。
【図3】同第1の実施形態に係る通信装置の動作を説明するシーケンス図である。
【図4】メッセージフォーマット及びパラメータの記憶形式の一例を示す図である。
【図5】起動指示メッセージの構成例を示す図である。
【図6】起動指示メッセージの構成例を示す図である。
【図7】通信装置のメッセージフォーマット生成時の動作例を説明するシーケンス図である。
【図8】通信装置のメッセージフォーマット生成時の動作例を説明するシーケンス図である。
【図9】通信装置のメッセージフォーマット生成時の動作例を説明するシーケンス図である。
【図10】起動フォーマット取得応答の記述例を示す図である。
【図11】本発明の第2の実施形態に係る通信方法を説明するシーケンス図である。
【図12】変形例による通信方法を説明するシーケンス図である。
【図13】メッセージフォーマット及びMACアドレスの記憶形式の一例を示す図である。
【図14】メッセージフォーマット、MACアドレス、及びパラメータの記憶形式の一例を示す図である。
【図15】本発明の第3の実施形態におけるメッセージフォーマット及びMACアドレスの記憶形式の一例を示す図である。
【図16】本発明の第4の実施形態に係る通信装置の概略構成図である。
【図17】同第4の実施形態に係る通信装置の動作を説明するシーケンス図である。
【図18】同第4の実施形態に係る通信装置の動作を説明するシーケンス図である。
【図19】本発明の第5の実施形態に係る通信装置を利用するネットワーク環境の模式図である。
【図20】同第5の実施形態に係る通信装置間の動作を説明するシーケンス図である。
【図21】起動指示メッセージの構成例を示す図である。
【図22】起動指示メッセージの構成例を示す図である。
【図23】同第5の実施形態に係る通信装置の動作の一例を説明するシーケンス図である。
【図24】同第5の実施形態に係る通信装置の動作の一例を説明するシーケンス図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施の形態を図面に基づいて説明する。
【0012】
(第1の実施形態)図1に本発明の第1の実施形態に係る通信装置の概略構成を示す。通信装置がネットワーク機能を有する放送録画装置である場合を例として説明する。
【0013】
通信装置100は、プロセッサ101、メモリ102、チューナー103、エンコーダ・デコーダ104、メモリコントローラ105、大容量メモリ106、フォーマット生成部107、及びネットワークインタフェースカード(以下、NICと称する)109を備える。NIC109は、ネットワークポート110、通信部111、起動制御部112、及びメモリ113を有する。通信装置100の各部はバス108により接続されている。
【0014】
プロセッサ101は、通信装置100の制御や、提供するサービスを実現するための様々なアプリケーションソフトウェアを動作させる。
【0015】
メモリ102は、プロセッサ101により実行されるアプリケーションが処理するデータ等を記憶する。メモリ102は例えばRAMである。
【0016】
チューナー103は、放送信号を受信する。
【0017】
エンコーダ・デコーダ104は、チューナー103が受信した放送信号のデコードや、大容量メモリ106の記録形式へのエンコードを行う。
【0018】
メモリコントローラ105は、大容量メモリ106の制御を行う。
【0019】
大容量メモリ106は、チューナー103が受信し、エンコーダ・デコーダ104により適切な形式に変換された放送信号を記憶する。大容量メモリ106は例えばハードディスクやフラッシュメモリである。
【0020】
フォーマット生成部107は、外部(遠隔)から通信装置100を起動するために必要なパケット(起動指示メッセージ)のフォーマットを生成する。フォーマットについては後述する。通信装置100は、このフォーマットを持つ起動指示メッセージでのみ遠隔起動できるものである。
【0021】
ネットワークポート110は、通信装置100と外部ネットワークとを物理的に接続する。外部ネットワークは有線ネットワークでも無線ネットワークでもよい。
【0022】
通信部111は、ネットワークを流れる信号と通信装置100との間の制御を行う。
【0023】
起動制御部112は、ネットワークポート110を介して受信した起動指示メッセージが、フォーマット生成部107により生成されたフォーマットに合致(対応)しているか否かを判定する。また、起動制御部112は、判定結果に基づいて、通信装置100の各構成要素に対する電源制御及び初期化を行う。
【0024】
メモリ113は、ネットワークポート110を介して受信した信号を一時的に記憶する。また、メモリ113は、フォーマット生成部107により生成されたフォーマットを記憶する。メモリ113は例えばRAMである。
【0025】
図2に、通信装置100を利用するネットワーク環境の模式図を示す。通信装置100はネットワーク200を介して起動指示装置201に接続される。ネットワーク200は、例えばイーサネット(登録商標)などのネットワークである。起動指示装置201は、通信装置100に対して起動指示メッセージを送信し、通信装置100の起動を要求する。
【0026】
図2に示すようなネットワーク環境における通信装置100の動作のシーケンス図を図3に示す。なお、図3において、四角枠で囲まれた部分は、当該構成要素の電源がオンの状態を示し、四角枠で囲まれていない部分は、当該構成要素の電源がオフの状態を示す。
【0027】
(ステップS301)起動指示装置201が、通信装置100に対して起動フォーマット取得要求を送信し、起動指示メッセージのフォーマットを要求する。通信装置100の通信部111がネットワークポート110を介して起動フォーマット取得要求を受信する。
【0028】
(ステップS302)通信部111が、受信した起動フォーマット取得要求をプロセッサ101に通知する。
【0029】
(ステップS303)プロセッサ101が、起動フォーマット取得要求を処理し、起動指示装置201から起動指示メッセージのフォーマットが要求されていることを確認する。
【0030】
(ステップS304)プロセッサ101が、フォーマット生成部107に対して、起動指示メッセージのフォーマットを生成するよう指示する。
【0031】
(ステップS305、S306)フォーマット生成指示を受け取ったフォーマット生成部107が、通信装置100を構成する各構成要素の構成や状態を確認する。ここでは、例えば、チューナー103が受信可能なチャンネルの情報、エンコーダ・デコーダ104がサポートする変換方式やビットレート、大容量メモリ106の数や空き容量などを確認する。大容量メモリ106の数とは、大容量メモリが追加されたり取り外されたりすることを考慮したものである。
【0032】
なお、ここで各構成要素の状態や構成を確認した際に、起動処理及びそれに続く初期化処理において、起動指示装置201に対して何らかの選択の余地が与えられる場合には、選択可能な値の範囲を調査してもよい。例えばチューナー103は、受信可能な放送の種類やチャンネルの範囲といったパラメータを持つ。これらのパラメータを起動指示メッセージの送信側に適切に選択させることで、起動指示装置201は、自らが望むサービスの内容を起動指示メッセージと共に伝えることができるようになる。
【0033】
なお、OSが持っている情報を使うことができれば、ステップS305、S306は省略することができる。
【0034】
(ステップS307)フォーマット生成部107が所定の生成規則に基づいて、起動指示メッセージのフォーマットを生成する。生成するフォーマットの詳細については後述する。
【0035】
(ステップS308)フォーマット生成部107が、生成したフォーマットをプロセッサ101に通知する。ここで、前述のように起動指示装置201に対して選択の余地が与えられる場合には、設定可能な値の範囲をあわせて通知しても良い。
【0036】
(ステップS309)プロセッサ101が、フォーマット生成部107から受け取ったフォーマットを通信部111に通知する。
【0037】
(ステップS310)通信部111が、プロセッサ101から受け取ったフォーマットを起動フォーマット取得応答として、ネットワークポート110を介して、起動指示装置201へ送信する。
【0038】
(ステップS311)プロセッサ101が、フォーマット生成部107から受け取ったフォーマットを起動制御部112に通知する。
【0039】
(ステップS312)起動制御部112が、プロセッサ101から受け取ったフォーマットをメモリ113に格納する。なお、起動指示装置201に対して選択の余地が与えられる場合には、選択可能な値の範囲を当該メッセージフォーマットと関連づけてメモリ113に格納するようにしてもよい。例えば、図4に示すように、フォーマットが保存されたアドレス401と、フォーマットに含まれる第1パラメータの範囲402及び第2パラメータの範囲403とが関連づけてメモリ113に格納される。
【0040】
また、選択の余地を与える場合であっても、選択可能な範囲が設計時に固定的に決定されるのであれば、格納しなくてもよい。
【0041】
ステップS312の終了後、通信装置100にて提供すべきサービスが無い場合、通信装置100は電源オフ状態(待機状態)になる。ここでは、NIC109以外の構成要素の電源がオフとなる。
【0042】
(ステップS313)起動指示装置201が、通信装置100の提供するサービスを利用するため、ステップS310にて受信したフォーマットに即した起動指示メッセージを通信装置100に対して送信する。
【0043】
起動指示装置201は、フォーマットを入手した際に、選択の余地が与えられていた場合は、適切な値を選択し、起動指示メッセージ中の所定の場所に選択した値を記載する。
【0044】
(ステップS314)通信部111が、ネットワークポート110を介して起動指示メッセージを受信し、受信した起動指示メッセージを起動制御部112に通知する。
【0045】
(ステップS315、S316)起動制御部112が、メモリ113からフォーマットを読み出す。
【0046】
(ステップS317)起動制御部112が、受信した起動指示メッセージが、メモリ113から読み出したフォーマットと合致するか否かを判定する。この判定処理については後述する。起動制御部112は起動指示メッセージがフォーマットに合致していれば以降の処理を行い、合致していなければ処理を終了する。ここでは合致しているものとして説明を行う。
【0047】
(ステップS318、S319)起動制御部112は、起動指示メッセージに記載された内容に基づいて、通信装置100を構成する構成要素のうち電源オンが指示されている構成要素に対して電源を投入して起動させるとともに、初期化を行う。これにより通信装置100のサービスが利用できるようになる。起動および初期化処理の詳細については後述する。
【0048】
なお、電源オンを行うか否かの判断処理の詳細は、事前に交換するメッセージフォーマットに依存する。すなわち、電源オンの指示をメッセージフォーマットに明示的に含む場合と、構成要素に対応するフィールドの有無により暗黙的に電源オンの指示を行う場合とがある。
【0049】
指示を明示的に含む場合には、当該フィールドの値に基づいて、オン/オフの判断が行われる。暗黙的に指示する場合には、初期化指示対象として含まれる構成要素に限って電源をオンする。
【0050】
ただし、電源制御に関しては機器の詳細な電源設計に依存する。例えば、1つの電源ラインの上に2つの構成要素が不可分に接続されている場合を考える。この場合、起動指示メッセージによって一方の電源をオンにするように指示されても、両方の電源をオンにせざるを得ない。このような設計上の制約については、フォーマット生成部107が制約を考慮してフォーマットを生成してもよいし、制約を考慮した上で起動指制御部112が電源制御を行ってもよいし、暗黙のうちに電源がオンになるようにしてもよい。
【0051】
以上が通信装置100の基本的な動作である。なお、前述の説明では、通信装置100がフォーマットをメモリ113に格納した後に、電源オフの状態に遷移する場合について説明したが、他の電源状態に遷移し、起動指示装置201からの起動指示メッセージよって復帰するようにしてもよい。他の電源状態としてはサスペンド状態(NIC109及びメモリ102が電源オン、それ以外は電源オフの状態)などが考えられる。
【0052】
次に、通信装置100と起動指示装置201との間で交換するパケットの形態について説明する。前述の通り、通信装置100と起動指示装置201との間で交換するパケットは、通信装置100の動作中に起動指示装置201が送信する起動フォーマット取得要求、起動フォーマット取得要求に応じて通信装置100が送信する起動フォーマット取得応答、及び起動指示装置201が通信装置100に対して電源オフ状態からの復帰を要求する起動指示メッセージの3つである。
【0053】
このうち前者の2つについては、任意のパケットフォーマットを採ることができる。例えば、プロセッサ101にてWebサーバが動作しているのであれば、HTTPをトランスポートとして用いて、その上で任意のフォーマットを交換できる。一例としては、マークアップ言語からなるテキストメッセージとして交換する事ができる。この際、Webサーバが暗号化をサポートしているのであれば、暗号処理を施した通信(HTTPS)を用いる事もできる。これは、HTTP以外のテキストベースのプロトコルを用いる場合も同様である。
【0054】
さらに、バイナリデータによりフォーマットを交換するプロトコルを規定し、それを使用しても良い。さらに、テキストベースでコマンドを指示し、生成されたメッセージフォーマットをバイナリベースで受信するようなプロトコルであっても良い。この起動指示メッセージのフォーマットを交換する為に使用するプロトコルは、任意のプロトコルを利用する事ができる。
【0055】
一方、起動指示メッセージは、通信装置100が指定するフォーマットを用いたものである。このフォーマットにより指定される範囲は、通信装置100を構成する通信部111や起動制御部112の能力に依存する。ただし、指定可能な範囲はデータリンク層よりも上位層に限られる。データリンク層については、通信装置100が接続するネットワークの通信メディアによって規定されたフォーマットでなければならない。例えば、有線イーサネットを用いている場合には、IEEE802.3で規定されるフレームフォーマットを用いなければならないし、無線LANを用いる場合にはIEEE802.11で規定されるフレームフォーマットを用いなければならない。
【0056】
通信部111や起動制御部112が、任意のフレームフォーマットを起動指示メッセージとして認識できる能力を具備している場合は、イーサネットヘッダよりも上位の部分ではどのようなフォーマットを使用しても良い。例えば、マジックパケット形式のデータ部(MACアドレスが6回繰り返された部分)の後に、構成要素に対応する電源指示や初期化情報を個別に格納する領域を定義してもよいし、マークアップ言語をベースとするテキスト形式のメッセージとしてもよい。通常のTCP/IPパケットとして起動指示メッセージを定めてもよい。
【0057】
図5及び図6に、通信装置100にて録画処理を実行させるための起動指示メッセージの例を示す。図5はバイナリ形式の例であり、図6はテキスト形式の例である。ここで両メッセージを構成する各フィールドに指定されている内容は一例であり、これに限定されない。
【0058】
図5(a)に示すように、起動指示メッセージには、マジックパケットに基づく起動識別子が採用されており、イーサネットヘッダ501の後に、起動すべきノードのMACアドレスが6回連続で繰り返されている(502)。
【0059】
MACアドレスの後に、フォーマット生成部107が生成したフォーマットに対応する領域が続く。この領域は、プロセッサ101用の起動・初期化指示503、チューナー103用の起動・初期化指示504、エンコーダ・デコーダ104用の初期化起動指示505、及びメモリコントローラ105用の初期化・起動指示506の4つの部分から構成される。
【0060】
なお、この図では、構成要素に対する電源オンの指示をフィールドの有無で暗黙的に示すと仮定している。すなわち、図5ではフォーマット生成部107に対する指示内容が含まれないことから、起動から初期化のシーケンス(ステップS318)において起動制御部112はフォーマット生成部107に対する処理は行わない。
【0061】
図5(b)に示すように、プロセッサ101用の起動・初期化指示503は、動作周波数の指示510及び動作させるアプリケーションの指示511からなる。動作周波数の指示510は直接数字を指定する形式でも良いし、特定の数字が特定の動作周波数に対応づけられる(例えば2進数で1111だったら1.0GHzのように)形式でもよい。
【0062】
同様に、アプリケーションの指示511も、特定のアプリケーションを表す値や対応するファイル名/プログラム名であっても良いし、プログラムカウンタとして直接使用可能なメモリの番地であってもよい。
【0063】
図5(c)に示すように、チューナー103用の起動・初期化指示504は、受信すべき放送の種別520及び当該種別の放送の中で受信すべきチャンネル521からなる。プロセッサ101に対する起動・初期化指示503と同様に、符号化された値を指定することもできるし、チャンネルの指定であれば直接チャンネル番号を指定するようにしても良い。
【0064】
図5(d)に示すように、エンコーダ・デコーダ104用の起動・初期化指示505は、入力をデコーダが解釈する為に必要なコーデックの指定530、エンコーダが使用するコーデックの指定531、及びエンコードのパラメータ532からなる。これらのフィールドも、先の場合と同様に、符号化された値でもよいし、直接使用可能な値を指定しても良い。例えばビットレートなどは直接使用する値を指定しても良い。
【0065】
図5(e)に示すように、メモリコントローラ105用の起動・初期化指示506は、接続している大容量メモリ106に対する動作指示540を含む。これは、例えばディスクのスピンアップ指示に相当する。
【0066】
一方、テキスト形式の起動指示メッセージには、図6(a)に示すように、イーサネットヘッダ601の後に、マジックパケットとは異なる起動識別子602が含まれる。この起動識別子602は、例えば、フォーマット生成部107にて生成された乱数やフォーマットが生成された時刻などを利用することが考えられる。起動識別子602の後のフィールド603は、テキスト形式にて起動・初期化に関するテキスト形式の情報を含む。
【0067】
図6(b)にテキスト形式の起動情報603の一例として、マークアップ言語を用いたものを示す。各タグの中身として示している設定情報は、図5に示したバイナリ形式の起動指示メッセージの例と同じである。
【0068】
なお、一連の起動指示メッセージのフォーマットに関する制約(テキスト形式、バイナリ形式のいずれにするか、設定可能なフィールドなど)は、フォーマット生成部107に設計時に規定されているとする。ただし、複数のメッセージフォーマットに対応するように設計してもよい。このような場合、ステップS301にて送信される起動フォーマット取得要求の中に、起動指示装置201が生成可能なパケットフォーマットに限定する情報を含め、フォーマット生成部107はその内容に基づいて送り返す起動指示メッセージのフォーマットを決定するようにしても良い。
【0069】
このように複数のフォーマットから利用できるものを一つ選択するといった過程が含まれる場合、図3にて述べた一連のステップでは処理が完結しない場合がある。例えば、起動指示装置201がステップS301で行う起動フォーマット取得要求にて要求した起動メッセージのフォーマットが、通信装置100で対応しないものだった場合が考えられる。このようなケースでは、複数回のメッセージ交換を行った上で処理を継続すればよい。
【0070】
次に、通信装置100が起動指示装置201に対して送信する起動フォーマット取得応答について説明する。この応答のプロトコルには任意のプロトコルが利用可能である。ここではフォーマットの記述方法について述べる。
【0071】
通信装置100と起動指示装置210との間でフォーマットを共有する手段としては、2つの方法が考えられる。第1の方法は、事前に共有されている複数のフォーマットの中から適切なものを一つ選択するという方法である。第2の方法は、XML文書などを用いて構造と意味を合わせて通知するという方法である。
【0072】
第1の方法は、通信装置100と起動指示装置201とが事前にフォーマットの候補を内部に保存している場合に採用できる。この場合、起動フォーマット取得応答としてステップS310で返すメッセージには、当該フォーマットを識別するための識別子を含めれば良い。
【0073】
例えば、図5及び図6に示すフォーマットを事前に内部に保存しているのであれば、起動フォーマット取得応答に識別子“1”が含まれていたら図5に示すフォーマットを使用し、識別子“2”が含まれていたら図6に示すフォーマットを使用する。但し、起動指示装置201に対して値を選択する余地を与える場合、その情報は別途通知しなければならない。
【0074】
図7に、このような方法を採った場合の、起動指示装置201と通信装置100との間における起動フォーマット取得要求の送受信から起動フォーマット取得応答の送受信までの簡略化したシーケンスを示す。
【0075】
第2の方法は、通信装置100と起動指示装置201とが事前に起動指示メッセージのフォーマット候補を共有していない場合であっても使用できる。ただし、どのような形で構造と意味を伝えるかという点については、両者で最低限合意していなければならない。例えばXMLを用いて通知するといった合意が必要である。
【0076】
さらに、この第2の方法を採用した場合、起動フォーマット取得応答としてステップS310で返信するメッセージに含める情報は2通り考えられる。
【0077】
第1は、フォーマット生成部107が、起動指示メッセージの構造及び意味を伝える文書そのものを生成するものである。この場合、フォーマット生成部107自体に十分な機能と処理能力が求められる可能性がある。
【0078】
図8に、このような方法を採った場合の、起動指示装置201と通信装置100との間における起動フォーマット取得要求の送受信から起動フォーマット取得応答の送受信までの簡略化したシーケンスを示す。
【0079】
第2は、フォーマット生成部107が、起動指示メッセージの構造及び意味を伝える文書そのものは生成せず、対応する情報の所在を記載するものである。例えば、通信装置100が現在の内部状態を通信装置100の開発元が提供するサーバ装置に通知し、それに基づいて、サーバ装置が構造と意味を伝える文書を生成し、蓄積する。通信装置100の内部状態とは、通信装置100を構成する各部の電源状態(例えば、電源オン/オフ、サスペンドなどの動作モード)、動作状態(チューナーであれば受信放送とチャンネルの設定、デコーダであればコーデックとパラメータ、ディスクコントローラであればディスクが回転中であるか否か)などの情報と、各構成要素が採りうるその他の状態に関する情報を指す。
【0080】
サーバ装置は、サーバ上に蓄積した文書を特定するURIを通信装置100に通知する。通信装置100は、受信した前記URIを起動フォーマット取得応答に記載する。このような方式では、フォーマット生成部107にフォーマット定義生成の高度な能力は要求されず、各構成要素の情報を収集する能力を具備していれば良いことになる。
【0081】
URIを含む起動フォーマット取得応答を受信した起動指示装置201は、当該URIにアクセスし、サーバ上に蓄積された起動指示メッセージのフォーマットを取得する。
【0082】
図9に、このような方法を採った場合の、起動指示装置201と通信装置100との間における起動フォーマット取得要求の送受信から起動フォーマット取得応答の送受信までの簡略化したシーケンスを示す。この場合、起動指示装置201は起動フォーマット取得応答を受信(S310)した後、開発元提供サーバにアクセスし、フォーマットを取得する(ステップS901、S902)。
【0083】
また、図10に、起動指示装置201に対して、起動指示メッセージのフォーマットをマークアップ言語で通知する場合の記述例を示す。
【0084】
続いて、ステップS317にて行われる、遠隔(起動指示装置201)より受信した起動指示メッセージが、フォーマット生成部107により生成されたフォーマットに合致しているか否かの確認処理について説明する。
【0085】
確認処理の内容は、起動指示メッセージのフォーマットや起動制御部112の処理能力に応じて変化する。
【0086】
例えば、バイナリ形式の起動指示メッセージを用いており、起動制御部112の処理能力が低い場合には、メッセージの長さに対する確認のみ行うようにしてもよい。起動制御部112の処理能力の増加に伴い、起動指示装置201が選択可能な構成要素に対する設定パラメータが所定の範囲に含まれるか否かの確認などを行うようにする。
【0087】
確認処理時の基準となる設定パラメータの範囲は、ステップS305、S306においてフォーマット生成部107によって行われる各構成要素の状態確認の結果としてメモリ113に記憶されているか、又は設計時に起動制御部112に対して固定的な範囲として設定されている。
【0088】
一方、マークアップ言語などのテキスト形式の起動指示メッセージが用いられる場合には、メッセージの長さを単純に比較しても意味をなさない。そのため、例えば、マークアップ言語を用いる場合は、必要なタグが全て含まれるか否か、タグによって指定される構成要素の設定パラメータが所定の範囲に含まれるか否かといったチェックを行うようにしても良い。基準となる設定パラメータの範囲は、前述のバイナリ形式の場合と同じである。
【0089】
続いて、起動制御部112による各構成要素の電源制御と初期化について説明する。起動制御部112の動作を説明するにあたり、図5に示した起動指示メッセージを用いる。この起動指示メッセージは、プロセッサ101に対する起動・初期化指示、チューナー103に対する起動・初期化指示、エンコーダ・デコーダ104に対する起動・初期化指示、及びメモリコントローラ105に対する起動・初期化指示を含む。
【0090】
起動制御部112は、メモリ113に保存されているフォーマットを参照することにより、受信したメッセージが図5に示すフォーマットであるとみなして処理を行う。
【0091】
この例では、4つの構成要素を含む起動指示メッセージであることが判明した時点で、それぞれの構成要素に対して電力を供給するように電源を制御する。
【0092】
続いて、起動指示メッセージの各フィールドに記載されている情報を対応する構成要素に対して設定する。例えば、起動制御部112は、プロセッサ101に対応する起動・初期化指示503に含まれる動作周波数のフィールド510から値を取り出し、プロセッサ101の所定のレジスタに値を書き込む処理を行う。
【0093】
同様に、起動制御部112は、アプリケーション指定のフィールド511から値を取り出して、プロセッサ101に対応するアプリケーションの実行を指示する。なお。この処理は、当該アプリケーションがロードされているメモリのアドレスを直接プログラムカウンタとして指定しても良いし、OSが参照できる特定の領域にアプリケーション識別子(例えばファイル名など)を記入し、OSの動作が再開されてからそのアプリケーションが動作を開始するなどの実装方法が考えられる。
【0094】
なお、本実施形態では、初期設定の順番に特別な制限を設けていない。しかし、実際のプロセッサには、例えば、動作周波数の変更が可能なタイミングが指定されるものもある。このような場合には、起動制御部112が行う起動処理に適切な順序づけが必要となる。この順序づけは先に述べたフォーマット生成部107により決定され、メモリ113にメッセージフォーマットとともに保存されているとする。フォーマット生成部107が順序の決定に用いる情報は、設計時に決定される既知の情報であるとする。
【0095】
起動制御部112は、その他のデバイスについても同様に初期化を行う。初期化プロセスは原則として、対象のデバイスの初期化完了を待つ事無く並行して行う。ただし、事前に設定された要素内および要素間の順序制約がある場合には、それに従う。順序制約は、プロセッサ101の初期化における順序制約として述べたように、フォーマット生成部107によって事前に決定され、メッセージフォーマットと共にメモリ113に記憶されているとする。
【0096】
さらに先の例では、プロセッサ101のレジスタに対応する値を書き込むという初期化・設定手法の例を述べたが、その他の設定手法を用いてもよい。例えば、ディスクリプターをメモリ上に構築しDMA(Direct Memory Access)で転送する手法を採用するデバイスも一般的に使われている。このような場合、メモリ102又はメモリ113に設定情報を構築し、DMAを用いて当該デバイスに転送する方法が利用できる。
【0097】
このように、本実施形態では、起動指示装置201と通信装置100との間で事前に起動指示メッセージのフォーマットを共有しておく。そして、起動指示装置201は、電源オフ状態の通信装置100のサービスを利用したい場合、当該サービスに対応するフォーマットに基づいて起動指示メッセージを作成し、通信装置100へ送信する。
【0098】
通信装置100は、受信した起動指示メッセージに記載された内容に基づいて、通信装置100を構成する構成要素のうち電源オンが指示されている構成要素に対して電源を投入して起動させるとともに、初期化を行う。サービス提供に不要な構成要素の起動及び初期化が行われないため、所望のサービスを利用できるようになるまでの待ち時間が短縮される。また、サービス提供に不要な構成要素に電源が投入されないため、消費電力を低減できる。
【0099】
このように、本実施形態により、遠隔起動を速やかに実行し、消費電力を低減できる。
【0100】
(第2の実施形態)本発明の第2の実施形態に係る通信装置は、図1に示す上記第1の実施形態に係る通信装置100と同様の構成であるため、説明を省略する。本実施形態に係る通信装置は、上記第1の実施の形態と比較して、内部で行う処理が一部異なる。従って、ここでは異なる部分について説明する。
【0101】
図11に、本実施形態に係る通信装置の動作シーケンスの一部を示す。図3に示す上記第1の実施形態と比較して、フォーマット生成部107による各構成要素の状態確認までの動作(ステップS301〜S306)は同様であるため図示しない。
【0102】
上記第1の実施形態では、プロセッサ101は、フォーマット生成部107が生成したフォーマットを通信部111及び起動制御部112に通知するだけであった。
【0103】
一方、本実施形態では、プロセッサ101は、フォーマット生成部107からフォーマットを受け取ると、このフォーマットに基づいて起動識別子を生成する(ステップS1101)。例えば、プロセッサ101は、受け取ったフォーマットに対してハッシュ値を計算し、所定の長さとすることで起動識別子を生成する。
【0104】
ステップS1101にて生成した起動識別子は、フォーマットと共に、起動指示装置201に通知される(ステップS309、S310)。同様に、起動識別子は、フォーマットと共に、起動制御部112に通知され(ステップS311)、メモリ113に格納される(ステップS312)。
【0105】
さらに、プロセッサ101は、起動識別子の全部又は一部をMACアドレスとして通信部111に通知する(ステップS1102)。通信部111は、通知された起動識別子を自身のMACアドレスとして設定する(ステップS1103)。
【0106】
このとき、通信部111が、従来から使用しているMACアドレスを継続して使用できるか否かは実装に依存する。継続して使用できる場合、通信部111は、両方のMACアドレスでパケットを受信する。
【0107】
一方、同時に1つのMACアドレスしか指定できない場合は、ステップS1102及びステップS1103の実行は電源状態が変化するまで延期する必要がある。例えば、起動識別子を一時的にメモリ102に格納しておき、電源状態が変化することをプロセッサ101が検出したらステップS1102及びステップS1103を実行するようにしてもよい。
【0108】
また、図12に示すように、起動制御部112が、プロセッサ101の電源状態の変化を検出し(ステップS1201)、メモリ113に格納された起動識別子を読み出し(ステップS1202)、読み出した起動識別子をMACアドレスとして通信部111に通知してもよい(ステップS1203)。通信部111は、起動制御部112から通知された起動識別子を自身のMACアドレスとして設定する(ステップS1204)。
【0109】
このように、起動指示パケットを待ち受けるMACアドレスが、メッセージフォーマットと1対1に対応するアドレスとなる。よって、ステップS312において、メモリ113に通知されたメッセージフォーマット及びMACアドレス(起動識別子)は、図13に示すように1対1に対応づけられて格納される。
【0110】
例えば、図13において、行1301は、AA:BB:CC:DD:EE:FFをMACアドレスとして持つ起動指示メッセージは、メモリ113のADDR_1に保存されたフォーマットに対応することを示す。
【0111】
同様に行1302は、11:22:33:44:55:66をMACアドレスとして持つ起動指示メッセージは、メモリ113のADDR_2に保存されたフォーマットに対応することを示す。
【0112】
なお、図14に示すように、起動指示装置201によって設定可能なパラメータを関連づけてメモリ113に格納しても良い。
【0113】
MACアドレスと起動指示メッセージが1対1に対応することから、起動指示メッセージを受信した場合の処理も拡張する。具体的には、図3に示したステップS315〜ステップS317の処理に変更が生じる。
【0114】
上記第1の実施形態では、MACアドレスとメッセージフォーマットとの間に特別な対応関係が存在しなかったため、ステップS315及びステップS316では、格納されている唯一のメッセージフォーマットをメモリ113から読み出し、受信したメッセージが当該メッセージフォーマットに一致しているか否かを確認していた。
【0115】
一方、本実施形態では、起動指示装置201が、起動フォーマット取得応答で受信した起動識別子を送信先MACアドレスとした起動指示メッセージを送信する。このような起動指示メッセージを受信した起動制御部112は、起動指示メッセージから送信先MACアドレスを抽出し、当該MACアドレスをキーとしてメモリ113に格納されたメッセージフォーマットを検索する。そして、検索により取得したメッセージフォーマットと、受信したメッセージとが一致しているか否かを確認する。
【0116】
このように、本実施形態によれば、メッセージフォーマットとMACアドレスとを1対1に対応させることができ、複数のメッセージフォーマットを使用することができる。また、上記第1の実施形態と同様に、遠隔起動を速やかに実行し、消費電力を低減できる。
【0117】
なお、複数のMACアドレスでの受信が可能であり、起動指示メッセージに由来する起動識別子/MACアドレスを利用しない起動指示メッセージを受信した場合の動作については、設計に依存する。すなわち、厳密に交換されたパケットフォーマットに基づく識別子に送られたメッセージでしか起動しないようにしてもよい。また、保存されていないMACアドレスについては、すべての構成要素について起動・初期化処理を行うようにしても良い。
【0118】
(第3の実施形態)本発明の第3の実施形態は、上記第2の実施形態を一部変更したものである。上記第2の実施形態では、メッセージフォーマットに由来する通信装置100が使用するMACアドレスと当該メッセージフォーマットとを関連づけてメモリ113に格納していた。そして、起動指示メッセージを受信した際には、起動指示メッセージに含まれる送信先MACアドレスをキーとしてメモリ113を検索し、対応するフォーマットを取得していた。
【0119】
一方、本実施形態では、図15に示すように、メッセージフォーマットに、起動フォーマット取得要求を送信した起動指示装置201のMACアドレスをさらに関連づけてメモリ112に格納する。そして、起動指示メッセージを受信した際には、送信先MACアドレスと送信元MACアドレスの2つのMACアドレスを用いて、適切なフォーマットを検索する。
【0120】
このようにする事で、起動指示メッセージのフォーマットを通知していない別のノードから起動指示メッセージを受信したとしても、送信元MACアドレスを用いることで、フォーマットを通知していないノードからの起動指示メッセージであることを早期に検出する事が可能となる。従って、上記第2の実施形態よりも効率的な処理が実現できる。また、事前にフォーマットを通知していないノードからの起動指示を拒否することができるため、起動処理に対する安全性を向上させることができる。
【0121】
上記第2及び第3の実施形態では、起動指示メッセージのフォーマットからハッシュアルゴリズムなどを用いて通信部111に設定するMACアドレスを導出するとした。このため、メッセージフォーマットが同一であれば、同じハッシュ値が何度も導出され得る。
【0122】
このため、正規の起動指示装置201が過去に送信した起動指示メッセージを再利用することで、不正な利用者が不正に通信装置100を起動できるおそれがある。
【0123】
このような問題を回避するため、MACアドレスの導出に際して、一定の長さの乱数や時刻情報などを加えた上でハッシュアルゴリズムを適用するようにしてもよい。
【0124】
また、上記第2及び第3の実施形態に係る通信装置が同一ネットワーク上に複数存在する場合、起動指示メッセージのフォーマットからハッシュアルゴリズムなどを用いて導出したMACアドレスが他の機器にて使用されている可能性がある。
【0125】
このような問題を回避するため、前述のステップS1101の後に、生成した起動識別子がMACアドレスとして使用できるかどうかをARP(Address Resolution Protocol)などのプロトコルを用いて確認しても良い。
【0126】
また、別の解決方法として、起動指示メッセージのフォーマットに由来するMACアドレスに対するARPの問い合わせには一切答えないようにしてもよい。図11で説明したように、通知されたメッセージフォーマットを用いて本通信装置100を起動する起動指示装置201は、事前の通信を通じて本通信装置100が待ち受けるMACアドレスを確実に入手している。従って、そのアドレスを決して無効にならないように起動指示端末201を実装する事でARPなどのアドレス解決プロトコルを利用する必要が無くなる。
【0127】
上記第2及び第3の実施形態では、起動指示メッセージのフォーマットに由来する起動識別子を通信装置100において導出し、それを本通信装置100のMACアドレスとして使用すると共に、起動指示装置201にも通知していたが、この処理を本通信装置100と起動指示装置201とで別々に実行しても良い。
【0128】
ただし、その場合には利用するハッシュアルゴリズムを合わせる必要がある。また、鍵付きハッシュアルゴリズムを用いる場合には、鍵の情報などを適切に交換する必要がある。さらに、前述の乱数や時刻情報を付加してハッシュ値を導出する場合には、それらの付加情報の交換もしくは同期を事前に行っておく必要がある。これらの交換は起動フォーマット取得要求、応答と共に行っても良いし、別の手段で交換してもよい。
【0129】
(第4の実施形態)図16に本発明の第4の実施形態に係る通信装置の概略構成を示す。本実施形態に係る通信装置1600は、図1に示す上記第1の実施形態に係る通信装置100に、さらに第2NIC1601を追加した構成となっている。第2NIC1601以外の構成要素は上記第1の実施形態と同様であるため、同じ参照番号を付して説明を省略する。
【0130】
第2NIC1601は、制御部1602、メモリ(第2メモリ)1603、及び第2ネットワークポート1604を有する。
【0131】
制御部1602は、第2NIC1601を制御すると共に、事前に指定された起動識別子に一致する信号を第2ネットワークポート1604を介して受信した場合に、第1NIC109を起動する処理を行う。
【0132】
メモリ1603は、制御部1302が判断に使用する起動識別子を格納する。メモリ1603は例えばRAMである。
【0133】
第2ネットワークポート1604は、外部とメッセージを交換するための物理的なポートである。
【0134】
ここで、第2NIC1601は、微弱な電力で動作できるが、高速な通信には適さないという特徴を持つものとする。微弱な電力とは、当該通信装置1600が装着された機器本体からの給電を受けない状態、例えば、小型の電池やキャパシタなどに蓄積された電力、もしくは外部から入力される電波などにより発生する電力によって動作できるレベルであり、第1NIC109より低電力で動作するレベルを指す。
【0135】
そのため、第2NIC1601は、本通信装置1600の電源がオフになった状態であっても、外部からの信号を受け取り適切な動作を行うことができる。なお、第2ネットワークポート1604は有線ネットワークに限定されず、電気的又は光学的な無線ネットワーク技術によって実現されていても良い。
【0136】
通信装置1600の動作シーケンスを図17及び図18に示す。基本的には図11に示す上記第2の実施形態の動作シーケンスと同様であるが、起動指示メッセージのフォーマットに由来する起動識別子をメモリ1603にも格納する点と、起動指示メッセージのフォーマットを通知する一連の処理の後に、通信装置1600の全ての構成要素の電源がオフになる点が異なる。
【0137】
上記第2の実施の形態と同様に、ステップS1101にて、起動指示メッセージのフォーマットに由来する起動識別子を生成する。上記第2及び第3の実施形態では、生成した起動識別子を起動指示装置201に通知し、MACアドレスとして設定し、起動制御部112を介してメモリ113に格納していた。
【0138】
本実施形態では、さらに、制御部1602を介してメモリ1603に起動識別子が格納される(ステップS1701、S1702)。
【0139】
ただし、第2NIC1601が、第1NIC109で利用可能な起動識別子(MACアドレス)とは異なるサイズの起動識別子を用いる場合には、ステップS1101にて適切な形に再変換したものが起動指示装置201に通知されると共に、メモリ1603に格納される。
【0140】
メモリ1603に前記起動識別子が格納されると、上述した第2NIC1601の特徴に従い、本通信装置1600の全ての電源をオフにする。
【0141】
引き続き、起動指示装置201から起動を指示された場合の動作について図18を用いて説明する。
【0142】
第2ネットワークポート1604が起動指示装置201から送信された起動要求を受信する(ステップS1801)。起動要求には、前述のステップS1702にてメモリ1603に格納された起動識別子が含まれる。この起動要求は即座に制御部1602に通知される(ステップS1802)。
【0143】
起動要求を通知された制御部1602は、メモリ1603から起動識別子を読み出す(ステップS1803)。そして、制御部1602は、前記起動要求に含まれる起動識別子と、読み出した起動識別子とが一致するか否かを検査する(ステップS1804)。一致していなければ、以降の処理は実行せずに終了する。ここでは一致していたものとして説明する。
【0144】
一致していた場合、制御部1602は、第1NIC109の電源をオンにする(ステップS1805)。その後、通信部111が、ネットワークポート110を介して起動指示メッセージを受信する(ステップS1806)。この起動指示メッセージは、上記第2及び第3の実施形態に係る通信装置が受信していた起動指示メッセージと同じである。従って、以降の処理は上記第2及び第3の実施形態と同様であるため説明を省略する。
【0145】
このように、通信装置1600は、起動指示装置201へ起動指示メッセージのフォーマットを通知した後、全ての構成要素の電源をオフにすることができる。従って、消費電力をさらに低減することができる。
【0146】
本実施形態に係る通信装置は、上記第1〜第3の実施形態と同様に遠隔起動を速やかに実行できる。また、消費電力をさらに低減できる。
【0147】
(第5の実施形態)本発明の第5の実施形態に係る通信装置は、図1に示す上記第2の実施形態に係る通信装置100と同様の構成を採る。ただし、プロセッサ101で動作するソフトウェアが異なる。
【0148】
上記第1〜第4の実施形態では、1つのノードからの遠隔起動指示を受け付ける1つの通信装置を例に説明を行った。本実施形態では、同時に利用することでサービスを受けられる複数の通信装置をグループとして扱い、複数の通信装置を一括して起動する。
【0149】
本実施形態は、上記第2の実施形態と比較して、起動フォーマットを生成するステップと、起動指示メッセージを送信するステップ、及び起動指示メッセージの受信に備えるステップが異なる。以下、これらの点について順に説明を行う。
【0150】
図19に、本実施形態に係るネットワーク環境の模式図を示す。通信装置1900、1901、及び1902がネットワーク1903を介して接続される。通信装置1900、1901は通信装置100と同様の構成の通信装置である。通信装置1902は、通信装置1900、1901が提供するサービスを利用する通信装置であり、通信装置1900、1901を遠隔から起動するメッセージを送信するノードである。
【0151】
図20に本実施形態に係る通信装置間の動作シーケンスを示す。本シーケンスは各装置の外部から観測できる動作と、装置間で交換するメッセージに着目したものである。
【0152】
ここで、各通信装置は動作状態にあるものとする。まず、通信装置1902(後に、起動指示メッセージを送信して遠隔起動を実行する通信装置)が、通信装置1900へ起動フォーマット取得要求をユニキャストで送信する(ステップS2001)。通信装置1900は、自身の内部状態に合わせた起動フォーマットを通信装置1902へ返す(ステップS2002)。
【0153】
通信装置1902は、起動フォーマット取得要求のユニキャスト送信、起動フォーマットの取得を、同時に起動させる全ての通信装置に対して順に行う。従って、通信装置1902は、通信装置1900から起動フォーマットを取得すると、通信装置1901に対して同様の処理を行う(ステップS2003、S2004)。
【0154】
起動フォーマット取得要求を受信した各通信装置が、自装置を起動させる起動指示メッセージのフォーマットを生成する手順については後述する。
【0155】
通信装置1902は、全ての通信装置との間でフォーマットの交換が完了したら、各通信装置から受信したフォーマットに基づいて、起動指示メッセージを生成する(ステップS2005)。そして、通信装置1902は、生成した起動指示メッセージを各通信装置1900、1901にユニキャストで通知する(ステップS2006)。
【0156】
起動指示メッセージを通知された各通信装置1900、1901は、通知された起動指示メッセージに基づくマルチキャストによる遠隔起動指示を受信できるように、自装置の受信設定を変更する(ステップS2007)。この時の通信装置1900、1901の内部動作については後述する。
【0157】
各通信装置1900、1901は、動作し続ける必要がなくなると、電源オフ状態(待機状態)になる。
【0158】
その後、通信装置1902が事前に交換した起動指示メッセージを、事前に設定したマルチキャストアドレスに向けて送信する(ステップS2008)。各通信装置1900、1901は、当該マルチキャストアドレスを受信できるように設定した状態になっているため、この起動指示メッセージを受信する。
【0159】
起動指示メッセージを受信した各通信装置1900、1901は、起動処理を開始し、自装置を電源オンの状態にする(ステップS2009)。
【0160】
以上が本実施形態に係る通信装置1900、1901を外部から見た場合の動作である。このように、各通信装置から集めた情報を用いて起動指示メッセージを生成し、マルチキャストメッセージによって通知することで、同時に動作することが求められる複数の通信装置を一括して起動することができる。この際、各通信装置に適した情報を合わせて送信しているので、起動処理時間の短縮という効果も得られる。
【0161】
続いて、通信装置1900、1901の動作の詳細を説明する。ここでは、通信装置1900の動作について説明するが、通信装置1901の動作も同様のものとなる。
【0162】
まず、通信装置1900が起動フォーマット取得要求を受信した際に行う処理(ステップS2001とステップS2002との間で行う処理)について説明する。
【0163】
本実施形態にて用いられる起動フォーマット取得要求は、上記第1〜第4の実施形態で用いる起動フォーマット取得要求とは一部異なる。上述した通り、本実施形態では、複数の通信装置から取得したフォーマットに基づいて、最終的な起動指示メッセージのフォーマットを決定する(ステップS2005)。そのため、同時に起動する通信装置が課す制約を満たすメッセージでなければならない。例えば、起動指示メッセージに使用できるパケットサイズには上限があるため、同時に起動する通信装置の数が増えると、通信装置1つあたりに使える情報量が減少する。このため、各通信装置が使用可能な情報量の上限を通知するなどの対応が必要となる。
【0164】
さらに、上記第1〜第4の実施形態では、起動フォーマット取得要求の応答として送信したフォーマットがそのまま起動指示メッセージとして使用されていた。しかし、本実施形態では、起動指示メッセージの送信側(通信装置1902)が、応答に基づいてメッセージを生成する。そのため、通信装置1900は、通信装置1902が生成したメッセージを受信し、その後の実際の起動指示に備える必要がある。起動フォーマット取得要求は、通信装置1900にこのような対応をとることを指示するものとなる。
【0165】
通信装置1900は、上記のような起動フォーマット取得要求を受信すると、図3と同じ手順でフォーマットを生成する。このとき生成するフォーマットは、最終的な起動指示メッセージの一部である。さらに、起動フォーマット取得要求で指定された条件(長さ、フォーマットなど)に一致したものとなる。
【0166】
フォーマットを送り返した通信装置1900の動作として、独立した2つの実現方法がある。第1は、起動フォーマット取得要求/応答と、その後の処理を独立した処理として扱う方法である。この場合、図23に示すように、フォーマットを送り返した後に特別な処理を行うことはなく、起動指示メッセージが通知されるのを待機すればよい。なお、起動識別子の生成(ステップS2303)は、通信装置1902から最終的な起動指示メッセージ(起動フォーマット設定)が通知された(ステップS2301)後に行われる。
【0167】
第2は、起動フォーマット取得要求/応答と、その後の処理を一体の処理として扱う方法である。この場合、図24に示すように、応答の内容や応答先の通信装置の情報(アドレス等)をメモリ102に保存して管理する。
【0168】
以上が、ステップS2001〜ステップS2004で示した処理が実行された際に、通信装置1900、1901の内部で行われる処理である。
【0169】
2つの通信装置から取得したフォーマットに基づいて、通信装置が生成する起動指示メッセージの例を図21に示す。本実施形態では、図19、図20で示したように、2つの通信装置を同時に起動すると仮定しているため、最終的な起動指示メッセージは大きく3つに分割される。1つはヘッダや起動IDなどの共通部分であり、1つは通信装置1900から得たフォーマットに従って生成された部分であり、もう1つは通信装置1901から得たフォーマットに従って生成された部分である。
【0170】
さらに通信装置1902は、起動指示メッセージを対象となる複数に機器に一括して送信するためのマルチキャストグループと対応するマルチキャストアドレスを決定する。このとき使用するマルチキャストアドレスは、起動指示メッセージによって特定される機能にあらかじめ対応づけられたマルチキャストグループ及びマルチキャストアドレスでも良いし、起動指示メッセージを生成する通信装置1902が一時的に使用できるアドレスを生成して利用してもよい。
【0171】
例えばグループとして「TV放送の視聴を目的とした遠隔起動のためのマルチキャストグループ」や「TV放送の録画を目的とした遠隔起動のためのマルチキャストグループ」などが考えられる。これらをIPv6を用いて実現する場合には、RFC4489で規定された方法を用いれば、例えば次のようなマルチキャストアドレスを対応させることができる。
TV放送視聴 ff32:ff:<通信装置1902のIID>::1/64
TV放送録画 ff32:ff:<通信装置1902のIID>::2/64
【0172】
ここで、IIDとはInterface IDの略である。末尾の1又は2は、グループIDであり、当該グループが起動した後に実行したい機能に対応している。なお、この他の適切なフォーマットに基づいてアドレスを生成してもよい。
【0173】
従って、このような方法でマルチキャストアドレスを生成する場合、対応関係が事前に決まっているとは、起動指示メッセージを生成及び送信する通信装置1902と起動される側の通信装置1900、1901との間で、事前に上記グループIDに関する情報が交換されている状態を指す。一方、対応関係が事前に決まっていない状態とは、グループIDが通信装置1900にて動的に決定される場合を指す。いずれの場合も、通信装置1900が起動指示メッセージを通知する際に適切なアドレスが選択されて、起動指示メッセージと共に通知される。
【0174】
なお、前述のような機能とマルチキャストアドレスの対応が確定している場合には、マルチキャストアドレスが判明した時点で、通信装置内で動作させるべき構成要素やパラメータが確定している場合がある。そのような場合は、個別の機器に対する起動・初期化指示を省略することができる(省略するようにフォーマットを規定して起動フォーマット取得要求の応答として返せばよい)。
【0175】
一方、機能との対応関係をいっさい考慮せずにマルチキャストグループ及びアドレスを設定することも可能である。先のIPv6を用いた形で具体例を示せば、グループIDの部分に各通信装置から取得したフォーマットに従った情報を格納する。グループID部分は32ビットの領域となっているため、この例では1つの通信装置あたり16ビットが使用できる。このようにマルチキャストグループ及びアドレスを生成すれば、起動指示メッセージを生成する側は特別な知識を要することなく決定できる。
【0176】
上述した方法で生成したマルチキャストアドレスの例を図22に示す。図22(a)が機能とグループの対応関係を明示的に用いる場合であり、図22(b)が用いない場合である。
【0177】
図22(a)に示すように、機能とグループの対応関係を明示的に用いる場合は、イーサネットヘッダ2201、IPv6ヘッダ2202、及び通信装置1900向け起動・初期化指示2203が含まれる。この形式では、機能とグループの対応関係が存在しているので、先の例と同様に、グループIDとして1が指定されている。また、点線で描かれた(遠隔起動対象である)通信装置1901向け起動・初期化指示2204は、通知されたフォーマットにて省略可能と指示されたと仮定して省略できることを示している。イーサネットヘッダ2201の宛先アドレスには、IPv6宛先アドレスに対応するMACアドレスが記載される。
【0178】
図22(b)に示すように、機能とグループの対応関係を明示的に用いない場合は、イーサネットヘッダ2205及びIPv6ヘッダ2206が含まれる。この形式では、機能とグループの対応関係が存在していないので、各通信装置から得られたフォーマットに基づいてIPv6宛先アドレスが生成される。この例では通信装置1900から通知された16ビットのフォーマットに基づいて起動・初期化指示を設定し、グループIDとしている。宛先MACアドレスは、IPv6宛先アドレスに対応するMACアドレスが格納されている。
【0179】
続いて、図20のステップS2006、S2007が実行された際に、通信装置1900、1901の内部で行われる処理について説明する。
【0180】
通信装置1902へ応答を返した後、通信装置1900は、通信装置1902から起動指示メッセージが通知されるまで待機する。上述したように、起動フォーマット取得要求/応答と、その後の起動指示メッセージ通知を独立した処理として実現する場合、受け取った起動指示メッセージをそのまま保存する。起動フォーマット取得要求/応答と、その後の起動指示メッセージ通知を一体化した処理として実現する場合、受け取った起動指示メッセージの送信元がメモリ102に保存された応答内容や応答送信先と一致しているか否かを確認する。ここで一致しなかった場合には、通知された起動指示メッセージを破棄する。
【0181】
通知された起動指示メッセージを受け付けた場合、当該メッセージは起動制御部112を介してメモリ113に保存される。この処理については、第1及び第2の実施形態で説明したステップS311、S312と同様である。
【0182】
一方、第2の実施形態におけるステップS1102、S1103に相当する処理は、マルチキャストによる起動指示メッセージを受信するために特別な対応が必要となる。すなわち、マルチキャストグループに対応するMACアドレスを受信できるように通信部111に設定する必要がある。なお、一般に、マルチキャストアドレスとそれに対応するMACアドレスは一意に導出できる。例えば図22で示したように、IPv6であればアドレスの下位32ビットから導出できる。
【0183】
従って、通信装置1900は、マルチキャストグループとアドレスの通知を受け取ったら、自装置の通信部111を介して前記マルチキャストグループに対応するMACアドレスを受信できるように設定を変更する。
【0184】
本実施形態によれば、同時に利用することでサービスを利用できる複数の通信装置に対して、一度に起動要求と初期化指示を送信できる。これにより、複数の通信装置を逐次起動する必要がなくなると共に、個々の通信装置に対する起動指示と初期化指示を同時に送信できるため、起動時間を短縮できる。
【0185】
なお、ここでは、第2の実施形態に基づいた例で第5の実施形態を説明したが、第3、第4の実施形態に対しても同様に適用できる。
【0186】
上述した実施形態で説明した通信装置の少なくとも一部は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、通信装置の少なくとも一部の機能を実現するプログラムをフレキシブルディスクやCD−ROM等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。
【0187】
また、通信装置の少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線(無線通信も含む)を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
【0188】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【0189】
100 通信装置
101 プロセッサ
102、113 メモリ
103 チューナー
104 エンコーダ・デコーダ
105 メモリコントローラ
106 大容量メモリ
107 フォーマット生成部
108 バス
109 ネットワークインタフェースカード
110 ネットワークポート
111 通信部
112 起動制御部

【特許請求の範囲】
【請求項1】
起動指示メッセージのフォーマット情報を生成する生成部と、
前記フォーマット情報を記憶するメモリと、
ネットワークを介した前記フォーマット情報の送信及び起動指示メッセージの受信を行う通信部と、
前記受信した起動指示メッセージが、前記メモリに記憶されている前記フォーマット情報に対応しているか否かを検出し、対応している場合はこの起動指示メッセージの内容に基づいて起動処理及び初期化処理を行う制御部と、
を備える通信装置。
【請求項2】
前記通信部は、前記ネットワークを介して当該通信装置の内部状態の情報を外部サーバへ通知し、前記内部状態の情報に基づいて前記外部サーバにより作成されたフォーマットのURIを前記外部サーバから受信し、
前記生成部は、前記URIを前記フォーマット情報に含めることを特徴とする請求項1に記載の通信装置。
【請求項3】
前記フォーマット情報に基づいて識別子を算出するプロセッサをさらに備え、
前記通信部はネットワークポートを有し、前記ネットワークポートに前記識別子をMACアドレスとして設定することを特徴とする請求項1に記載の通信装置。
【請求項4】
前記メモリは、前記フォーマット情報に前記識別子を関連付けて記憶することを特徴とする請求項3に記載の通信装置。
【請求項5】
前記通信部は、前記ネットワークを介して、他通信装置から前記フォーマット情報の生成指示を受信し、前記フォーマット情報を前記他通信装置へ送信し、
前記メモリは、前記フォーマット情報に前記他通信装置のMACアドレスを関連付けて記憶することを特徴とする請求項1に記載の通信装置。
【請求項6】
前記フォーマット情報に基づいて識別子を算出するプロセッサをさらに備え、
前記通信部はネットワークポートを有し、前記ネットワークポートに前記識別子をMACアドレスとして設定し、
前記メモリは、前記フォーマット情報に前記識別子及び前記他通信装置のMACアドレスを関連付けて記憶することを特徴とする請求項5に記載の通信装置。
【請求項7】
前記ネットワークポートより低電力で動作し、前記制御部、前記ネットワークポート、及び前記メモリの電源オフ時に起動要求を受信する第2ネットワークポートと、
前記メモリより低電力で動作し、前記識別子を記憶する第2メモリと、
前記制御部より低電力で動作し、前記起動要求に含まれる識別子と、前記第2メモリに記憶されている前記識別子とが一致しているか否かを検出し、一致している場合は、前記制御部、前記ネットワークポート、及び前記メモリの電源をオンにする第2制御部と、
をさらに備えることを特徴とする請求項3に記載の通信装置。
【請求項8】
プロセッサをさらに備え、
前記通信部はネットワークポートを有し、前記ネットワークを介して、他通信装置から前記フォーマット情報の生成指示を受信し、前記フォーマット情報を前記他通信装置へ送信し、前記フォーマット情報に基づいて前記他通信装置により生成された第2のフォーマット情報を受信し、
前記プロセッサは、前記第2のフォーマット情報に基づいて、前記ネットワークポートにMACアドレスとして設定される識別子を算出することを特徴とする請求項1に記載の通信装置。
【請求項9】
通信部が起動指示メッセージのフォーマット取得要求を受信し、
生成部が内部状態に基づいてフォーマットを生成し、
前記通信部が前記フォーマットを通知し、
前記通信部が前記フォーマットに対応した起動指示メッセージを受信し、
複数の構成要素のうち、前記受信した起動指示メッセージに指示されている構成要素に対してのみ、制御部が起動処理及び初期化処理を行う通信装置の起動方法。
【請求項10】
通信部が起動指示メッセージのフォーマット取得要求を受信するステップと、
生成部が内部状態に基づいてフォーマットを生成するステップと、
前記通信部が前記フォーマットを通知するステップと、
前記通信部が前記フォーマットに対応した起動指示メッセージを受信するステップと、
複数の構成要素のうち、前記受信した起動指示メッセージに指示されている構成要素に対してのみ、制御部が起動処理及び初期化処理を行うステップと、
をコンピュータに実行させる通信装置の起動プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate


【公開番号】特開2010−226422(P2010−226422A)
【公開日】平成22年10月7日(2010.10.7)
【国際特許分類】
【出願番号】特願2009−71400(P2009−71400)
【出願日】平成21年3月24日(2009.3.24)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】