(57)【要約】      （修正有）【課題】遠隔起動を速やかに実行し、消費電力を低減できる通信装置を提供する。【解決手段】通信装置１００は、起動指示メッセージのフォーマット情報を生成する生成部１０７と、前記フォーマット情報を記憶するメモリ１１３と、ネットワークを介した前記フォーマット情報の送信及び起動指示メッセージの受信を行う通信部１１１と、前記受信した起動指示メッセージが、メモリ１１３に記憶されている前記フォーマット情報に対応しているか否かを検出し、対応している場合はこの起動指示メッセージの内容に基づいて起動処理及び初期化処理を行う制御部１１２と、を備えて、遠隔起動を速やかに実行し、消費電力を低減する。【選択図】図１
2010226422.tif 000002
【特許請求の範囲】
【請求項１】
起動指示メッセージのフォーマット情報を生成する生成部と、
前記フォーマット情報を記憶するメモリと、
ネットワークを介した前記フォーマット情報の送信及び起動指示メッセージの受信を行う通信部と、
前記受信した起動指示メッセージが、前記メモリに記憶されている前記フォーマット情報に対応しているか否かを検出し、対応している場合はこの起動指示メッセージの内容に基づいて起動処理及び初期化処理を行う制御部と、
を備える通信装置。
【請求項２】
前記通信部は、前記ネットワークを介して当該通信装置の内部状態の情報を外部サーバへ通知し、前記内部状態の情報に基づいて前記外部サーバにより作成されたフォーマットのＵＲＩを前記外部サーバから受信し、
前記生成部は、前記ＵＲＩを前記フォーマット情報に含めることを特徴とする請求項１に記載の通信装置。
【請求項３】
前記フォーマット情報に基づいて識別子を算出するプロセッサをさらに備え、
前記通信部はネットワークポートを有し、前記ネットワークポートに前記識別子をＭＡＣアドレスとして設定することを特徴とする請求項１に記載の通信装置。
【請求項４】
前記メモリは、前記フォーマット情報に前記識別子を関連付けて記憶することを特徴とする請求項３に記載の通信装置。
【請求項５】
前記通信部は、前記ネットワークを介して、他通信装置から前記フォーマット情報の生成指示を受信し、前記フォーマット情報を前記他通信装置へ送信し、
前記メモリは、前記フォーマット情報に前記他通信装置のＭＡＣアドレスを関連付けて記憶することを特徴とする請求項１に記載の通信装置。
【請求項６】
前記フォーマット情報に基づいて識別子を算出するプロセッサをさらに備え、
前記通信部はネットワークポートを有し、前記ネットワークポートに前記識別子をＭＡＣアドレスとして設定し、
前記メモリは、前記フォーマット情報に前記識別子及び前記他通信装置のＭＡＣアドレスを関連付けて記憶することを特徴とする請求項５に記載の通信装置。
【請求項７】
前記ネットワークポートより低電力で動作し、前記制御部、前記ネットワークポート、及び前記メモリの電源オフ時に起動要求を受信する第２ネットワークポートと、
前記メモリより低電力で動作し、前記識別子を記憶する第２メモリと、
前記制御部より低電力で動作し、前記起動要求に含まれる識別子と、前記第２メモリに記憶されている前記識別子とが一致しているか否かを検出し、一致している場合は、前記制御部、前記ネットワークポート、及び前記メモリの電源をオンにする第２制御部と、
をさらに備えることを特徴とする請求項３に記載の通信装置。
【請求項８】
プロセッサをさらに備え、
前記通信部はネットワークポートを有し、前記ネットワークを介して、他通信装置から前記フォーマット情報の生成指示を受信し、前記フォーマット情報を前記他通信装置へ送信し、前記フォーマット情報に基づいて前記他通信装置により生成された第２のフォーマット情報を受信し、
前記プロセッサは、前記第２のフォーマット情報に基づいて、前記ネットワークポートにＭＡＣアドレスとして設定される識別子を算出することを特徴とする請求項１に記載の通信装置。
【請求項９】
通信部が起動指示メッセージのフォーマット取得要求を受信し、
生成部が内部状態に基づいてフォーマットを生成し、
前記通信部が前記フォーマットを通知し、
前記通信部が前記フォーマットに対応した起動指示メッセージを受信し、
複数の構成要素のうち、前記受信した起動指示メッセージに指示されている構成要素に対してのみ、制御部が起動処理及び初期化処理を行う通信装置の起動方法。
【請求項１０】
通信部が起動指示メッセージのフォーマット取得要求を受信するステップと、
生成部が内部状態に基づいてフォーマットを生成するステップと、
前記通信部が前記フォーマットを通知するステップと、
前記通信部が前記フォーマットに対応した起動指示メッセージを受信するステップと、
複数の構成要素のうち、前記受信した起動指示メッセージに指示されている構成要素に対してのみ、制御部が起動処理及び初期化処理を行うステップと、
をコンピュータに実行させる通信装置の起動プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信装置の起動方法及びプログラムに関するものである。
【背景技術】
【０００２】
ネットワークを介してスリープモード（待機状態）にある通信装置を遠隔起動する技術が知られている。このような技術では、まず利用者は通信装置に起動指示を与える。通信装置は起動指示を受信すると、すべての構成要素の電源を投入し、初期化処理を行う。初期化処理が完了すると、通信装置はネットワークを介した遠隔操作指示を待ち受ける状態になる。これにより、利用者は、ネットワークを介して通信装置を操作できるようになる。すべての構成要素について初期化処理が行われるため、利用者は所望のサービスを利用できるようになるまで、長時間待たなければならなかった。また、サービス提供に必要無い構成要素の電源も投入されるため、通信装置の消費電力が増大するという問題があった。
【０００３】
これに対し、通常モードでは動作し、省エネルギーモードで停止するメインプロセッサと、メインプロセッサより消費電力が低く、通常モードでは停止し、省エネルギーモードで動作するサブプロセッサと、を備えた装置が提案されている（例えば特許文献１参照）。サブプロセッサは、省エネルギーモードにおいて、計算量が少ない処理を実行し、計算量が多い処理を実行する必要がある場合はメインプロセッサを稼働させ、通常モードに移行する。このような装置を用いることで、消費電力が抑えられる。また、一部の処理をサブプロセッサに代行させるため、メインプロセッサ停止時の応答性が向上する。
【０００４】
しかし、上記のような装置を用いても、利用者が希望するサービスがメインプロセッサによる処理が必要な場合は、メインプロセッサの起動を待たなければならず、待ち時間を短くできない。また、メインプロセッサを起動する際には、装置全体が起動する必要があり、消費電力を低減できない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−２６７１００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、遠隔起動を速やかに実行し、消費電力を低減できる通信装置、通信装置の起動方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様による通信装置は、起動指示メッセージのフォーマット情報を生成する生成部と、前記フォーマット情報を記憶するメモリと、ネットワークを介した前記フォーマット情報の送信及び起動指示メッセージの受信を行う通信部と、前記受信した起動指示メッセージが、前記メモリに記憶されている前記フォーマット情報に対応しているか否かを検出し、対応している場合はこの起動指示メッセージの内容に基づいて起動処理及び初期化処理を行う制御部と、を備えるものである。
【０００８】
また、本発明は、上記通信装置を起動することができる方法およびプログラムである。
【発明の効果】
【０００９】
本発明によれば、遠隔起動を速やかに実行し、消費電力を低減できる。
【図面の簡単な説明】
【００１０】
【図１】本発明の第１の実施形態に係る通信装置の概略構成図である。
【図２】同第１の実施形態に係る通信装置を利用するネットワーク環境の模式図である。
【図３】同第１の実施形態に係る通信装置の動作を説明するシーケンス図である。
【図４】メッセージフォーマット及びパラメータの記憶形式の一例を示す図である。
【図５】起動指示メッセージの構成例を示す図である。
【図６】起動指示メッセージの構成例を示す図である。
【図７】通信装置のメッセージフォーマット生成時の動作例を説明するシーケンス図である。
【図８】通信装置のメッセージフォーマット生成時の動作例を説明するシーケンス図である。
【図９】通信装置のメッセージフォーマット生成時の動作例を説明するシーケンス図である。
【図１０】起動フォーマット取得応答の記述例を示す図である。
【図１１】本発明の第２の実施形態に係る通信方法を説明するシーケンス図である。
【図１２】変形例による通信方法を説明するシーケンス図である。
【図１３】メッセージフォーマット及びＭＡＣアドレスの記憶形式の一例を示す図である。
【図１４】メッセージフォーマット、ＭＡＣアドレス、及びパラメータの記憶形式の一例を示す図である。
【図１５】本発明の第３の実施形態におけるメッセージフォーマット及びＭＡＣアドレスの記憶形式の一例を示す図である。
【図１６】本発明の第４の実施形態に係る通信装置の概略構成図である。
【図１７】同第４の実施形態に係る通信装置の動作を説明するシーケンス図である。
【図１８】同第４の実施形態に係る通信装置の動作を説明するシーケンス図である。
【図１９】本発明の第５の実施形態に係る通信装置を利用するネットワーク環境の模式図である。
【図２０】同第５の実施形態に係る通信装置間の動作を説明するシーケンス図である。
【図２１】起動指示メッセージの構成例を示す図である。
【図２２】起動指示メッセージの構成例を示す図である。
【図２３】同第５の実施形態に係る通信装置の動作の一例を説明するシーケンス図である。
【図２４】同第５の実施形態に係る通信装置の動作の一例を説明するシーケンス図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態を図面に基づいて説明する。
【００１２】
（第１の実施形態）図１に本発明の第１の実施形態に係る通信装置の概略構成を示す。通信装置がネットワーク機能を有する放送録画装置である場合を例として説明する。
【００１３】
通信装置１００は、プロセッサ１０１、メモリ１０２、チューナー１０３、エンコーダ・デコーダ１０４、メモリコントローラ１０５、大容量メモリ１０６、フォーマット生成部１０７、及びネットワークインタフェースカード（以下、ＮＩＣと称する）１０９を備える。ＮＩＣ１０９は、ネットワークポート１１０、通信部１１１、起動制御部１１２、及びメモリ１１３を有する。通信装置１００の各部はバス１０８により接続されている。
【００１４】
プロセッサ１０１は、通信装置１００の制御や、提供するサービスを実現するための様々なアプリケーションソフトウェアを動作させる。
【００１５】
メモリ１０２は、プロセッサ１０１により実行されるアプリケーションが処理するデータ等を記憶する。メモリ１０２は例えばＲＡＭである。
【００１６】
チューナー１０３は、放送信号を受信する。
【００１７】
エンコーダ・デコーダ１０４は、チューナー１０３が受信した放送信号のデコードや、大容量メモリ１０６の記録形式へのエンコードを行う。
【００１８】
メモリコントローラ１０５は、大容量メモリ１０６の制御を行う。
【００１９】
大容量メモリ１０６は、チューナー１０３が受信し、エンコーダ・デコーダ１０４により適切な形式に変換された放送信号を記憶する。大容量メモリ１０６は例えばハードディスクやフラッシュメモリである。
【００２０】
フォーマット生成部１０７は、外部（遠隔）から通信装置１００を起動するために必要なパケット（起動指示メッセージ）のフォーマットを生成する。フォーマットについては後述する。通信装置１００は、このフォーマットを持つ起動指示メッセージでのみ遠隔起動できるものである。
【００２１】
ネットワークポート１１０は、通信装置１００と外部ネットワークとを物理的に接続する。外部ネットワークは有線ネットワークでも無線ネットワークでもよい。
【００２２】
通信部１１１は、ネットワークを流れる信号と通信装置１００との間の制御を行う。
【００２３】
起動制御部１１２は、ネットワークポート１１０を介して受信した起動指示メッセージが、フォーマット生成部１０７により生成されたフォーマットに合致（対応）しているか否かを判定する。また、起動制御部１１２は、判定結果に基づいて、通信装置１００の各構成要素に対する電源制御及び初期化を行う。
【００２４】
メモリ１１３は、ネットワークポート１１０を介して受信した信号を一時的に記憶する。また、メモリ１１３は、フォーマット生成部１０７により生成されたフォーマットを記憶する。メモリ１１３は例えばＲＡＭである。
【００２５】
図２に、通信装置１００を利用するネットワーク環境の模式図を示す。通信装置１００はネットワーク２００を介して起動指示装置２０１に接続される。ネットワーク２００は、例えばイーサネット（登録商標）などのネットワークである。起動指示装置２０１は、通信装置１００に対して起動指示メッセージを送信し、通信装置１００の起動を要求する。
【００２６】
図２に示すようなネットワーク環境における通信装置１００の動作のシーケンス図を図３に示す。なお、図３において、四角枠で囲まれた部分は、当該構成要素の電源がオンの状態を示し、四角枠で囲まれていない部分は、当該構成要素の電源がオフの状態を示す。
【００２７】
（ステップＳ３０１）起動指示装置２０１が、通信装置１００に対して起動フォーマット取得要求を送信し、起動指示メッセージのフォーマットを要求する。通信装置１００の通信部１１１がネットワークポート１１０を介して起動フォーマット取得要求を受信する。
【００２８】
（ステップＳ３０２）通信部１１１が、受信した起動フォーマット取得要求をプロセッサ１０１に通知する。
【００２９】
（ステップＳ３０３）プロセッサ１０１が、起動フォーマット取得要求を処理し、起動指示装置２０１から起動指示メッセージのフォーマットが要求されていることを確認する。
【００３０】
（ステップＳ３０４）プロセッサ１０１が、フォーマット生成部１０７に対して、起動指示メッセージのフォーマットを生成するよう指示する。
【００３１】
（ステップＳ３０５、Ｓ３０６）フォーマット生成指示を受け取ったフォーマット生成部１０７が、通信装置１００を構成する各構成要素の構成や状態を確認する。ここでは、例えば、チューナー１０３が受信可能なチャンネルの情報、エンコーダ・デコーダ１０４がサポートする変換方式やビットレート、大容量メモリ１０６の数や空き容量などを確認する。大容量メモリ１０６の数とは、大容量メモリが追加されたり取り外されたりすることを考慮したものである。
【００３２】
なお、ここで各構成要素の状態や構成を確認した際に、起動処理及びそれに続く初期化処理において、起動指示装置２０１に対して何らかの選択の余地が与えられる場合には、選択可能な値の範囲を調査してもよい。例えばチューナー１０３は、受信可能な放送の種類やチャンネルの範囲といったパラメータを持つ。これらのパラメータを起動指示メッセージの送信側に適切に選択させることで、起動指示装置２０１は、自らが望むサービスの内容を起動指示メッセージと共に伝えることができるようになる。
【００３３】
なお、ＯＳが持っている情報を使うことができれば、ステップＳ３０５、Ｓ３０６は省略することができる。
【００３４】
（ステップＳ３０７）フォーマット生成部１０７が所定の生成規則に基づいて、起動指示メッセージのフォーマットを生成する。生成するフォーマットの詳細については後述する。
【００３５】
（ステップＳ３０８）フォーマット生成部１０７が、生成したフォーマットをプロセッサ１０１に通知する。ここで、前述のように起動指示装置２０１に対して選択の余地が与えられる場合には、設定可能な値の範囲をあわせて通知しても良い。
【００３６】
（ステップＳ３０９）プロセッサ１０１が、フォーマット生成部１０７から受け取ったフォーマットを通信部１１１に通知する。
【００３７】
（ステップＳ３１０）通信部１１１が、プロセッサ１０１から受け取ったフォーマットを起動フォーマット取得応答として、ネットワークポート１１０を介して、起動指示装置２０１へ送信する。
【００３８】
（ステップＳ３１１）プロセッサ１０１が、フォーマット生成部１０７から受け取ったフォーマットを起動制御部１１２に通知する。
【００３９】
（ステップＳ３１２）起動制御部１１２が、プロセッサ１０１から受け取ったフォーマットをメモリ１１３に格納する。なお、起動指示装置２０１に対して選択の余地が与えられる場合には、選択可能な値の範囲を当該メッセージフォーマットと関連づけてメモリ１１３に格納するようにしてもよい。例えば、図４に示すように、フォーマットが保存されたアドレス４０１と、フォーマットに含まれる第１パラメータの範囲４０２及び第２パラメータの範囲４０３とが関連づけてメモリ１１３に格納される。
【００４０】
また、選択の余地を与える場合であっても、選択可能な範囲が設計時に固定的に決定されるのであれば、格納しなくてもよい。
【００４１】
ステップＳ３１２の終了後、通信装置１００にて提供すべきサービスが無い場合、通信装置１００は電源オフ状態（待機状態）になる。ここでは、ＮＩＣ１０９以外の構成要素の電源がオフとなる。
【００４２】
（ステップＳ３１３）起動指示装置２０１が、通信装置１００の提供するサービスを利用するため、ステップＳ３１０にて受信したフォーマットに即した起動指示メッセージを通信装置１００に対して送信する。
【００４３】
起動指示装置２０１は、フォーマットを入手した際に、選択の余地が与えられていた場合は、適切な値を選択し、起動指示メッセージ中の所定の場所に選択した値を記載する。
【００４４】
（ステップＳ３１４）通信部１１１が、ネットワークポート１１０を介して起動指示メッセージを受信し、受信した起動指示メッセージを起動制御部１１２に通知する。
【００４５】
（ステップＳ３１５、Ｓ３１６）起動制御部１１２が、メモリ１１３からフォーマットを読み出す。
【００４６】
（ステップＳ３１７）起動制御部１１２が、受信した起動指示メッセージが、メモリ１１３から読み出したフォーマットと合致するか否かを判定する。この判定処理については後述する。起動制御部１１２は起動指示メッセージがフォーマットに合致していれば以降の処理を行い、合致していなければ処理を終了する。ここでは合致しているものとして説明を行う。
【００４７】
（ステップＳ３１８、Ｓ３１９）起動制御部１１２は、起動指示メッセージに記載された内容に基づいて、通信装置１００を構成する構成要素のうち電源オンが指示されている構成要素に対して電源を投入して起動させるとともに、初期化を行う。これにより通信装置１００のサービスが利用できるようになる。起動および初期化処理の詳細については後述する。
【００４８】
なお、電源オンを行うか否かの判断処理の詳細は、事前に交換するメッセージフォーマットに依存する。すなわち、電源オンの指示をメッセージフォーマットに明示的に含む場合と、構成要素に対応するフィールドの有無により暗黙的に電源オンの指示を行う場合とがある。
【００４９】
指示を明示的に含む場合には、当該フィールドの値に基づいて、オン／オフの判断が行われる。暗黙的に指示する場合には、初期化指示対象として含まれる構成要素に限って電源をオンする。
【００５０】
ただし、電源制御に関しては機器の詳細な電源設計に依存する。例えば、１つの電源ラインの上に２つの構成要素が不可分に接続されている場合を考える。この場合、起動指示メッセージによって一方の電源をオンにするように指示されても、両方の電源をオンにせざるを得ない。このような設計上の制約については、フォーマット生成部１０７が制約を考慮してフォーマットを生成してもよいし、制約を考慮した上で起動指制御部１１２が電源制御を行ってもよいし、暗黙のうちに電源がオンになるようにしてもよい。
【００５１】
以上が通信装置１００の基本的な動作である。なお、前述の説明では、通信装置１００がフォーマットをメモリ１１３に格納した後に、電源オフの状態に遷移する場合について説明したが、他の電源状態に遷移し、起動指示装置２０１からの起動指示メッセージよって復帰するようにしてもよい。他の電源状態としてはサスペンド状態（ＮＩＣ１０９及びメモリ１０２が電源オン、それ以外は電源オフの状態）などが考えられる。
【００５２】
次に、通信装置１００と起動指示装置２０１との間で交換するパケットの形態について説明する。前述の通り、通信装置１００と起動指示装置２０１との間で交換するパケットは、通信装置１００の動作中に起動指示装置２０１が送信する起動フォーマット取得要求、起動フォーマット取得要求に応じて通信装置１００が送信する起動フォーマット取得応答、及び起動指示装置２０１が通信装置１００に対して電源オフ状態からの復帰を要求する起動指示メッセージの３つである。
【００５３】
このうち前者の２つについては、任意のパケットフォーマットを採ることができる。例えば、プロセッサ１０１にてＷｅｂサーバが動作しているのであれば、ＨＴＴＰをトランスポートとして用いて、その上で任意のフォーマットを交換できる。一例としては、マークアップ言語からなるテキストメッセージとして交換する事ができる。この際、Ｗｅｂサーバが暗号化をサポートしているのであれば、暗号処理を施した通信（ＨＴＴＰＳ）を用いる事もできる。これは、ＨＴＴＰ以外のテキストベースのプロトコルを用いる場合も同様である。
【００５４】
さらに、バイナリデータによりフォーマットを交換するプロトコルを規定し、それを使用しても良い。さらに、テキストベースでコマンドを指示し、生成されたメッセージフォーマットをバイナリベースで受信するようなプロトコルであっても良い。この起動指示メッセージのフォーマットを交換する為に使用するプロトコルは、任意のプロトコルを利用する事ができる。
【００５５】
一方、起動指示メッセージは、通信装置１００が指定するフォーマットを用いたものである。このフォーマットにより指定される範囲は、通信装置１００を構成する通信部１１１や起動制御部１１２の能力に依存する。ただし、指定可能な範囲はデータリンク層よりも上位層に限られる。データリンク層については、通信装置１００が接続するネットワークの通信メディアによって規定されたフォーマットでなければならない。例えば、有線イーサネットを用いている場合には、ＩＥＥＥ８０２．３で規定されるフレームフォーマットを用いなければならないし、無線ＬＡＮを用いる場合にはＩＥＥＥ８０２．１１で規定されるフレームフォーマットを用いなければならない。
【００５６】
通信部１１１や起動制御部１１２が、任意のフレームフォーマットを起動指示メッセージとして認識できる能力を具備している場合は、イーサネットヘッダよりも上位の部分ではどのようなフォーマットを使用しても良い。例えば、マジックパケット形式のデータ部（ＭＡＣアドレスが６回繰り返された部分）の後に、構成要素に対応する電源指示や初期化情報を個別に格納する領域を定義してもよいし、マークアップ言語をベースとするテキスト形式のメッセージとしてもよい。通常のＴＣＰ／ＩＰパケットとして起動指示メッセージを定めてもよい。
【００５７】
図５及び図６に、通信装置１００にて録画処理を実行させるための起動指示メッセージの例を示す。図５はバイナリ形式の例であり、図６はテキスト形式の例である。ここで両メッセージを構成する各フィールドに指定されている内容は一例であり、これに限定されない。
【００５８】
図５（ａ）に示すように、起動指示メッセージには、マジックパケットに基づく起動識別子が採用されており、イーサネットヘッダ５０１の後に、起動すべきノードのＭＡＣアドレスが６回連続で繰り返されている（５０２）。
【００５９】
ＭＡＣアドレスの後に、フォーマット生成部１０７が生成したフォーマットに対応する領域が続く。この領域は、プロセッサ１０１用の起動・初期化指示５０３、チューナー１０３用の起動・初期化指示５０４、エンコーダ・デコーダ１０４用の初期化起動指示５０５、及びメモリコントローラ１０５用の初期化・起動指示５０６の４つの部分から構成される。
【００６０】
なお、この図では、構成要素に対する電源オンの指示をフィールドの有無で暗黙的に示すと仮定している。すなわち、図５ではフォーマット生成部１０７に対する指示内容が含まれないことから、起動から初期化のシーケンス（ステップＳ３１８）において起動制御部１１２はフォーマット生成部１０７に対する処理は行わない。
【００６１】
図５（ｂ）に示すように、プロセッサ１０１用の起動・初期化指示５０３は、動作周波数の指示５１０及び動作させるアプリケーションの指示５１１からなる。動作周波数の指示５１０は直接数字を指定する形式でも良いし、特定の数字が特定の動作周波数に対応づけられる（例えば２進数で１１１１だったら１．０ＧＨｚのように）形式でもよい。
【００６２】
同様に、アプリケーションの指示５１１も、特定のアプリケーションを表す値や対応するファイル名／プログラム名であっても良いし、プログラムカウンタとして直接使用可能なメモリの番地であってもよい。
【００６３】
図５（ｃ）に示すように、チューナー１０３用の起動・初期化指示５０４は、受信すべき放送の種別５２０及び当該種別の放送の中で受信すべきチャンネル５２１からなる。プロセッサ１０１に対する起動・初期化指示５０３と同様に、符号化された値を指定することもできるし、チャンネルの指定であれば直接チャンネル番号を指定するようにしても良い。
【００６４】
図５（ｄ）に示すように、エンコーダ・デコーダ１０４用の起動・初期化指示５０５は、入力をデコーダが解釈する為に必要なコーデックの指定５３０、エンコーダが使用するコーデックの指定５３１、及びエンコードのパラメータ５３２からなる。これらのフィールドも、先の場合と同様に、符号化された値でもよいし、直接使用可能な値を指定しても良い。例えばビットレートなどは直接使用する値を指定しても良い。
【００６５】
図５（ｅ）に示すように、メモリコントローラ１０５用の起動・初期化指示５０６は、接続している大容量メモリ１０６に対する動作指示５４０を含む。これは、例えばディスクのスピンアップ指示に相当する。
【００６６】
一方、テキスト形式の起動指示メッセージには、図６（ａ）に示すように、イーサネットヘッダ６０１の後に、マジックパケットとは異なる起動識別子６０２が含まれる。この起動識別子６０２は、例えば、フォーマット生成部１０７にて生成された乱数やフォーマットが生成された時刻などを利用することが考えられる。起動識別子６０２の後のフィールド６０３は、テキスト形式にて起動・初期化に関するテキスト形式の情報を含む。
【００６７】
図６（ｂ）にテキスト形式の起動情報６０３の一例として、マークアップ言語を用いたものを示す。各タグの中身として示している設定情報は、図５に示したバイナリ形式の起動指示メッセージの例と同じである。
【００６８】
なお、一連の起動指示メッセージのフォーマットに関する制約（テキスト形式、バイナリ形式のいずれにするか、設定可能なフィールドなど）は、フォーマット生成部１０７に設計時に規定されているとする。ただし、複数のメッセージフォーマットに対応するように設計してもよい。このような場合、ステップＳ３０１にて送信される起動フォーマット取得要求の中に、起動指示装置２０１が生成可能なパケットフォーマットに限定する情報を含め、フォーマット生成部１０７はその内容に基づいて送り返す起動指示メッセージのフォーマットを決定するようにしても良い。
【００６９】
このように複数のフォーマットから利用できるものを一つ選択するといった過程が含まれる場合、図３にて述べた一連のステップでは処理が完結しない場合がある。例えば、起動指示装置２０１がステップＳ３０１で行う起動フォーマット取得要求にて要求した起動メッセージのフォーマットが、通信装置１００で対応しないものだった場合が考えられる。このようなケースでは、複数回のメッセージ交換を行った上で処理を継続すればよい。
【００７０】
次に、通信装置１００が起動指示装置２０１に対して送信する起動フォーマット取得応答について説明する。この応答のプロトコルには任意のプロトコルが利用可能である。ここではフォーマットの記述方法について述べる。
【００７１】
通信装置１００と起動指示装置２１０との間でフォーマットを共有する手段としては、２つの方法が考えられる。第１の方法は、事前に共有されている複数のフォーマットの中から適切なものを一つ選択するという方法である。第２の方法は、ＸＭＬ文書などを用いて構造と意味を合わせて通知するという方法である。
【００７２】
第１の方法は、通信装置１００と起動指示装置２０１とが事前にフォーマットの候補を内部に保存している場合に採用できる。この場合、起動フォーマット取得応答としてステップＳ３１０で返すメッセージには、当該フォーマットを識別するための識別子を含めれば良い。
【００７３】
例えば、図５及び図６に示すフォーマットを事前に内部に保存しているのであれば、起動フォーマット取得応答に識別子“１”が含まれていたら図５に示すフォーマットを使用し、識別子“２”が含まれていたら図６に示すフォーマットを使用する。但し、起動指示装置２０１に対して値を選択する余地を与える場合、その情報は別途通知しなければならない。
【００７４】
図７に、このような方法を採った場合の、起動指示装置２０１と通信装置１００との間における起動フォーマット取得要求の送受信から起動フォーマット取得応答の送受信までの簡略化したシーケンスを示す。
【００７５】
第２の方法は、通信装置１００と起動指示装置２０１とが事前に起動指示メッセージのフォーマット候補を共有していない場合であっても使用できる。ただし、どのような形で構造と意味を伝えるかという点については、両者で最低限合意していなければならない。例えばＸＭＬを用いて通知するといった合意が必要である。
【００７６】
さらに、この第２の方法を採用した場合、起動フォーマット取得応答としてステップＳ３１０で返信するメッセージに含める情報は２通り考えられる。
【００７７】
第１は、フォーマット生成部１０７が、起動指示メッセージの構造及び意味を伝える文書そのものを生成するものである。この場合、フォーマット生成部１０７自体に十分な機能と処理能力が求められる可能性がある。
【００７８】
図８に、このような方法を採った場合の、起動指示装置２０１と通信装置１００との間における起動フォーマット取得要求の送受信から起動フォーマット取得応答の送受信までの簡略化したシーケンスを示す。
【００７９】
第２は、フォーマット生成部１０７が、起動指示メッセージの構造及び意味を伝える文書そのものは生成せず、対応する情報の所在を記載するものである。例えば、通信装置１００が現在の内部状態を通信装置１００の開発元が提供するサーバ装置に通知し、それに基づいて、サーバ装置が構造と意味を伝える文書を生成し、蓄積する。通信装置１００の内部状態とは、通信装置１００を構成する各部の電源状態（例えば、電源オン／オフ、サスペンドなどの動作モード）、動作状態（チューナーであれば受信放送とチャンネルの設定、デコーダであればコーデックとパラメータ、ディスクコントローラであればディスクが回転中であるか否か）などの情報と、各構成要素が採りうるその他の状態に関する情報を指す。
【００８０】
サーバ装置は、サーバ上に蓄積した文書を特定するＵＲＩを通信装置１００に通知する。通信装置１００は、受信した前記ＵＲＩを起動フォーマット取得応答に記載する。このような方式では、フォーマット生成部１０７にフォーマット定義生成の高度な能力は要求されず、各構成要素の情報を収集する能力を具備していれば良いことになる。
【００８１】
ＵＲＩを含む起動フォーマット取得応答を受信した起動指示装置２０１は、当該ＵＲＩにアクセスし、サーバ上に蓄積された起動指示メッセージのフォーマットを取得する。
【００８２】
図９に、このような方法を採った場合の、起動指示装置２０１と通信装置１００との間における起動フォーマット取得要求の送受信から起動フォーマット取得応答の送受信までの簡略化したシーケンスを示す。この場合、起動指示装置２０１は起動フォーマット取得応答を受信（Ｓ３１０）した後、開発元提供サーバにアクセスし、フォーマットを取得する（ステップＳ９０１、Ｓ９０２）。
【００８３】
また、図１０に、起動指示装置２０１に対して、起動指示メッセージのフォーマットをマークアップ言語で通知する場合の記述例を示す。
【００８４】
続いて、ステップＳ３１７にて行われる、遠隔（起動指示装置２０１）より受信した起動指示メッセージが、フォーマット生成部１０７により生成されたフォーマットに合致しているか否かの確認処理について説明する。
【００８５】
確認処理の内容は、起動指示メッセージのフォーマットや起動制御部１１２の処理能力に応じて変化する。
【００８６】
例えば、バイナリ形式の起動指示メッセージを用いており、起動制御部１１２の処理能力が低い場合には、メッセージの長さに対する確認のみ行うようにしてもよい。起動制御部１１２の処理能力の増加に伴い、起動指示装置２０１が選択可能な構成要素に対する設定パラメータが所定の範囲に含まれるか否かの確認などを行うようにする。
【００８７】
確認処理時の基準となる設定パラメータの範囲は、ステップＳ３０５、Ｓ３０６においてフォーマット生成部１０７によって行われる各構成要素の状態確認の結果としてメモリ１１３に記憶されているか、又は設計時に起動制御部１１２に対して固定的な範囲として設定されている。
【００８８】
一方、マークアップ言語などのテキスト形式の起動指示メッセージが用いられる場合には、メッセージの長さを単純に比較しても意味をなさない。そのため、例えば、マークアップ言語を用いる場合は、必要なタグが全て含まれるか否か、タグによって指定される構成要素の設定パラメータが所定の範囲に含まれるか否かといったチェックを行うようにしても良い。基準となる設定パラメータの範囲は、前述のバイナリ形式の場合と同じである。
【００８９】
続いて、起動制御部１１２による各構成要素の電源制御と初期化について説明する。起動制御部１１２の動作を説明するにあたり、図５に示した起動指示メッセージを用いる。この起動指示メッセージは、プロセッサ１０１に対する起動・初期化指示、チューナー１０３に対する起動・初期化指示、エンコーダ・デコーダ１０４に対する起動・初期化指示、及びメモリコントローラ１０５に対する起動・初期化指示を含む。
【００９０】
起動制御部１１２は、メモリ１１３に保存されているフォーマットを参照することにより、受信したメッセージが図５に示すフォーマットであるとみなして処理を行う。
【００９１】
この例では、４つの構成要素を含む起動指示メッセージであることが判明した時点で、それぞれの構成要素に対して電力を供給するように電源を制御する。
【００９２】
続いて、起動指示メッセージの各フィールドに記載されている情報を対応する構成要素に対して設定する。例えば、起動制御部１１２は、プロセッサ１０１に対応する起動・初期化指示５０３に含まれる動作周波数のフィールド５１０から値を取り出し、プロセッサ１０１の所定のレジスタに値を書き込む処理を行う。
【００９３】
同様に、起動制御部１１２は、アプリケーション指定のフィールド５１１から値を取り出して、プロセッサ１０１に対応するアプリケーションの実行を指示する。なお。この処理は、当該アプリケーションがロードされているメモリのアドレスを直接プログラムカウンタとして指定しても良いし、ＯＳが参照できる特定の領域にアプリケーション識別子（例えばファイル名など）を記入し、ＯＳの動作が再開されてからそのアプリケーションが動作を開始するなどの実装方法が考えられる。
【００９４】
なお、本実施形態では、初期設定の順番に特別な制限を設けていない。しかし、実際のプロセッサには、例えば、動作周波数の変更が可能なタイミングが指定されるものもある。このような場合には、起動制御部１１２が行う起動処理に適切な順序づけが必要となる。この順序づけは先に述べたフォーマット生成部１０７により決定され、メモリ１１３にメッセージフォーマットとともに保存されているとする。フォーマット生成部１０７が順序の決定に用いる情報は、設計時に決定される既知の情報であるとする。
【００９５】
起動制御部１１２は、その他のデバイスについても同様に初期化を行う。初期化プロセスは原則として、対象のデバイスの初期化完了を待つ事無く並行して行う。ただし、事前に設定された要素内および要素間の順序制約がある場合には、それに従う。順序制約は、プロセッサ１０１の初期化における順序制約として述べたように、フォーマット生成部１０７によって事前に決定され、メッセージフォーマットと共にメモリ１１３に記憶されているとする。
【００９６】
さらに先の例では、プロセッサ１０１のレジスタに対応する値を書き込むという初期化・設定手法の例を述べたが、その他の設定手法を用いてもよい。例えば、ディスクリプターをメモリ上に構築しＤＭＡ（Direct Memory Access）で転送する手法を採用するデバイスも一般的に使われている。このような場合、メモリ１０２又はメモリ１１３に設定情報を構築し、ＤＭＡを用いて当該デバイスに転送する方法が利用できる。
【００９７】
このように、本実施形態では、起動指示装置２０１と通信装置１００との間で事前に起動指示メッセージのフォーマットを共有しておく。そして、起動指示装置２０１は、電源オフ状態の通信装置１００のサービスを利用したい場合、当該サービスに対応するフォーマットに基づいて起動指示メッセージを作成し、通信装置１００へ送信する。
【００９８】
通信装置１００は、受信した起動指示メッセージに記載された内容に基づいて、通信装置１００を構成する構成要素のうち電源オンが指示されている構成要素に対して電源を投入して起動させるとともに、初期化を行う。サービス提供に不要な構成要素の起動及び初期化が行われないため、所望のサービスを利用できるようになるまでの待ち時間が短縮される。また、サービス提供に不要な構成要素に電源が投入されないため、消費電力を低減できる。
【００９９】
このように、本実施形態により、遠隔起動を速やかに実行し、消費電力を低減できる。
【０１００】
（第２の実施形態）本発明の第２の実施形態に係る通信装置は、図１に示す上記第１の実施形態に係る通信装置１００と同様の構成であるため、説明を省略する。本実施形態に係る通信装置は、上記第１の実施の形態と比較して、内部で行う処理が一部異なる。従って、ここでは異なる部分について説明する。
【０１０１】
図１１に、本実施形態に係る通信装置の動作シーケンスの一部を示す。図３に示す上記第１の実施形態と比較して、フォーマット生成部１０７による各構成要素の状態確認までの動作（ステップＳ３０１〜Ｓ３０６）は同様であるため図示しない。
【０１０２】
上記第１の実施形態では、プロセッサ１０１は、フォーマット生成部１０７が生成したフォーマットを通信部１１１及び起動制御部１１２に通知するだけであった。
【０１０３】
一方、本実施形態では、プロセッサ１０１は、フォーマット生成部１０７からフォーマットを受け取ると、このフォーマットに基づいて起動識別子を生成する（ステップＳ１１０１）。例えば、プロセッサ１０１は、受け取ったフォーマットに対してハッシュ値を計算し、所定の長さとすることで起動識別子を生成する。
【０１０４】
ステップＳ１１０１にて生成した起動識別子は、フォーマットと共に、起動指示装置２０１に通知される（ステップＳ３０９、Ｓ３１０）。同様に、起動識別子は、フォーマットと共に、起動制御部１１２に通知され（ステップＳ３１１）、メモリ１１３に格納される（ステップＳ３１２）。
【０１０５】
さらに、プロセッサ１０１は、起動識別子の全部又は一部をＭＡＣアドレスとして通信部１１１に通知する（ステップＳ１１０２）。通信部１１１は、通知された起動識別子を自身のＭＡＣアドレスとして設定する（ステップＳ１１０３）。
【０１０６】
このとき、通信部１１１が、従来から使用しているＭＡＣアドレスを継続して使用できるか否かは実装に依存する。継続して使用できる場合、通信部１１１は、両方のＭＡＣアドレスでパケットを受信する。
【０１０７】
一方、同時に１つのＭＡＣアドレスしか指定できない場合は、ステップＳ１１０２及びステップＳ１１０３の実行は電源状態が変化するまで延期する必要がある。例えば、起動識別子を一時的にメモリ１０２に格納しておき、電源状態が変化することをプロセッサ１０１が検出したらステップＳ１１０２及びステップＳ１１０３を実行するようにしてもよい。
【０１０８】
また、図１２に示すように、起動制御部１１２が、プロセッサ１０１の電源状態の変化を検出し（ステップＳ１２０１）、メモリ１１３に格納された起動識別子を読み出し（ステップＳ１２０２）、読み出した起動識別子をＭＡＣアドレスとして通信部１１１に通知してもよい（ステップＳ１２０３）。通信部１１１は、起動制御部１１２から通知された起動識別子を自身のＭＡＣアドレスとして設定する（ステップＳ１２０４）。
【０１０９】
このように、起動指示パケットを待ち受けるＭＡＣアドレスが、メッセージフォーマットと１対１に対応するアドレスとなる。よって、ステップＳ３１２において、メモリ１１３に通知されたメッセージフォーマット及びＭＡＣアドレス（起動識別子）は、図１３に示すように１対１に対応づけられて格納される。
【０１１０】
例えば、図１３において、行１３０１は、ＡＡ：ＢＢ：ＣＣ：ＤＤ：ＥＥ：ＦＦをＭＡＣアドレスとして持つ起動指示メッセージは、メモリ１１３のＡＤＤＲ＿１に保存されたフォーマットに対応することを示す。
【０１１１】
同様に行１３０２は、１１：２２：３３：４４：５５：６６をＭＡＣアドレスとして持つ起動指示メッセージは、メモリ１１３のＡＤＤＲ＿２に保存されたフォーマットに対応することを示す。
【０１１２】
なお、図１４に示すように、起動指示装置２０１によって設定可能なパラメータを関連づけてメモリ１１３に格納しても良い。
【０１１３】
ＭＡＣアドレスと起動指示メッセージが１対１に対応することから、起動指示メッセージを受信した場合の処理も拡張する。具体的には、図３に示したステップＳ３１５〜ステップＳ３１７の処理に変更が生じる。
【０１１４】
上記第１の実施形態では、ＭＡＣアドレスとメッセージフォーマットとの間に特別な対応関係が存在しなかったため、ステップＳ３１５及びステップＳ３１６では、格納されている唯一のメッセージフォーマットをメモリ１１３から読み出し、受信したメッセージが当該メッセージフォーマットに一致しているか否かを確認していた。
【０１１５】
一方、本実施形態では、起動指示装置２０１が、起動フォーマット取得応答で受信した起動識別子を送信先ＭＡＣアドレスとした起動指示メッセージを送信する。このような起動指示メッセージを受信した起動制御部１１２は、起動指示メッセージから送信先ＭＡＣアドレスを抽出し、当該ＭＡＣアドレスをキーとしてメモリ１１３に格納されたメッセージフォーマットを検索する。そして、検索により取得したメッセージフォーマットと、受信したメッセージとが一致しているか否かを確認する。
【０１１６】
このように、本実施形態によれば、メッセージフォーマットとＭＡＣアドレスとを１対１に対応させることができ、複数のメッセージフォーマットを使用することができる。また、上記第１の実施形態と同様に、遠隔起動を速やかに実行し、消費電力を低減できる。
【０１１７】
なお、複数のＭＡＣアドレスでの受信が可能であり、起動指示メッセージに由来する起動識別子／ＭＡＣアドレスを利用しない起動指示メッセージを受信した場合の動作については、設計に依存する。すなわち、厳密に交換されたパケットフォーマットに基づく識別子に送られたメッセージでしか起動しないようにしてもよい。また、保存されていないＭＡＣアドレスについては、すべての構成要素について起動・初期化処理を行うようにしても良い。
【０１１８】
（第３の実施形態）本発明の第３の実施形態は、上記第２の実施形態を一部変更したものである。上記第２の実施形態では、メッセージフォーマットに由来する通信装置１００が使用するＭＡＣアドレスと当該メッセージフォーマットとを関連づけてメモリ１１３に格納していた。そして、起動指示メッセージを受信した際には、起動指示メッセージに含まれる送信先ＭＡＣアドレスをキーとしてメモリ１１３を検索し、対応するフォーマットを取得していた。
【０１１９】
一方、本実施形態では、図１５に示すように、メッセージフォーマットに、起動フォーマット取得要求を送信した起動指示装置２０１のＭＡＣアドレスをさらに関連づけてメモリ１１２に格納する。そして、起動指示メッセージを受信した際には、送信先ＭＡＣアドレスと送信元ＭＡＣアドレスの２つのＭＡＣアドレスを用いて、適切なフォーマットを検索する。
【０１２０】
このようにする事で、起動指示メッセージのフォーマットを通知していない別のノードから起動指示メッセージを受信したとしても、送信元ＭＡＣアドレスを用いることで、フォーマットを通知していないノードからの起動指示メッセージであることを早期に検出する事が可能となる。従って、上記第２の実施形態よりも効率的な処理が実現できる。また、事前にフォーマットを通知していないノードからの起動指示を拒否することができるため、起動処理に対する安全性を向上させることができる。
【０１２１】
上記第２及び第３の実施形態では、起動指示メッセージのフォーマットからハッシュアルゴリズムなどを用いて通信部１１１に設定するＭＡＣアドレスを導出するとした。このため、メッセージフォーマットが同一であれば、同じハッシュ値が何度も導出され得る。
【０１２２】
このため、正規の起動指示装置２０１が過去に送信した起動指示メッセージを再利用することで、不正な利用者が不正に通信装置１００を起動できるおそれがある。
【０１２３】
このような問題を回避するため、ＭＡＣアドレスの導出に際して、一定の長さの乱数や時刻情報などを加えた上でハッシュアルゴリズムを適用するようにしてもよい。
【０１２４】
また、上記第２及び第３の実施形態に係る通信装置が同一ネットワーク上に複数存在する場合、起動指示メッセージのフォーマットからハッシュアルゴリズムなどを用いて導出したＭＡＣアドレスが他の機器にて使用されている可能性がある。
【０１２５】
このような問題を回避するため、前述のステップＳ１１０１の後に、生成した起動識別子がＭＡＣアドレスとして使用できるかどうかをＡＲＰ（Address Resolution Protocol）などのプロトコルを用いて確認しても良い。
【０１２６】
また、別の解決方法として、起動指示メッセージのフォーマットに由来するＭＡＣアドレスに対するＡＲＰの問い合わせには一切答えないようにしてもよい。図１１で説明したように、通知されたメッセージフォーマットを用いて本通信装置１００を起動する起動指示装置２０１は、事前の通信を通じて本通信装置１００が待ち受けるＭＡＣアドレスを確実に入手している。従って、そのアドレスを決して無効にならないように起動指示端末２０１を実装する事でＡＲＰなどのアドレス解決プロトコルを利用する必要が無くなる。
【０１２７】
上記第２及び第３の実施形態では、起動指示メッセージのフォーマットに由来する起動識別子を通信装置１００において導出し、それを本通信装置１００のＭＡＣアドレスとして使用すると共に、起動指示装置２０１にも通知していたが、この処理を本通信装置１００と起動指示装置２０１とで別々に実行しても良い。
【０１２８】
ただし、その場合には利用するハッシュアルゴリズムを合わせる必要がある。また、鍵付きハッシュアルゴリズムを用いる場合には、鍵の情報などを適切に交換する必要がある。さらに、前述の乱数や時刻情報を付加してハッシュ値を導出する場合には、それらの付加情報の交換もしくは同期を事前に行っておく必要がある。これらの交換は起動フォーマット取得要求、応答と共に行っても良いし、別の手段で交換してもよい。
【０１２９】
（第４の実施形態）図１６に本発明の第４の実施形態に係る通信装置の概略構成を示す。本実施形態に係る通信装置１６００は、図１に示す上記第１の実施形態に係る通信装置１００に、さらに第２ＮＩＣ１６０１を追加した構成となっている。第２ＮＩＣ１６０１以外の構成要素は上記第１の実施形態と同様であるため、同じ参照番号を付して説明を省略する。
【０１３０】
第２ＮＩＣ１６０１は、制御部１６０２、メモリ（第２メモリ）１６０３、及び第２ネットワークポート１６０４を有する。
【０１３１】
制御部１６０２は、第２ＮＩＣ１６０１を制御すると共に、事前に指定された起動識別子に一致する信号を第２ネットワークポート１６０４を介して受信した場合に、第１ＮＩＣ１０９を起動する処理を行う。
【０１３２】
メモリ１６０３は、制御部１３０２が判断に使用する起動識別子を格納する。メモリ１６０３は例えばＲＡＭである。
【０１３３】
第２ネットワークポート１６０４は、外部とメッセージを交換するための物理的なポートである。
【０１３４】
ここで、第２ＮＩＣ１６０１は、微弱な電力で動作できるが、高速な通信には適さないという特徴を持つものとする。微弱な電力とは、当該通信装置１６００が装着された機器本体からの給電を受けない状態、例えば、小型の電池やキャパシタなどに蓄積された電力、もしくは外部から入力される電波などにより発生する電力によって動作できるレベルであり、第１ＮＩＣ１０９より低電力で動作するレベルを指す。
【０１３５】
そのため、第２ＮＩＣ１６０１は、本通信装置１６００の電源がオフになった状態であっても、外部からの信号を受け取り適切な動作を行うことができる。なお、第２ネットワークポート１６０４は有線ネットワークに限定されず、電気的又は光学的な無線ネットワーク技術によって実現されていても良い。
【０１３６】
通信装置１６００の動作シーケンスを図１７及び図１８に示す。基本的には図１１に示す上記第２の実施形態の動作シーケンスと同様であるが、起動指示メッセージのフォーマットに由来する起動識別子をメモリ１６０３にも格納する点と、起動指示メッセージのフォーマットを通知する一連の処理の後に、通信装置１６００の全ての構成要素の電源がオフになる点が異なる。
【０１３７】
上記第２の実施の形態と同様に、ステップＳ１１０１にて、起動指示メッセージのフォーマットに由来する起動識別子を生成する。上記第２及び第３の実施形態では、生成した起動識別子を起動指示装置２０１に通知し、ＭＡＣアドレスとして設定し、起動制御部１１２を介してメモリ１１３に格納していた。
【０１３８】
本実施形態では、さらに、制御部１６０２を介してメモリ１６０３に起動識別子が格納される（ステップＳ１７０１、Ｓ１７０２）。
【０１３９】
ただし、第２ＮＩＣ１６０１が、第１ＮＩＣ１０９で利用可能な起動識別子（ＭＡＣアドレス）とは異なるサイズの起動識別子を用いる場合には、ステップＳ１１０１にて適切な形に再変換したものが起動指示装置２０１に通知されると共に、メモリ１６０３に格納される。
【０１４０】
メモリ１６０３に前記起動識別子が格納されると、上述した第２ＮＩＣ１６０１の特徴に従い、本通信装置１６００の全ての電源をオフにする。
【０１４１】
引き続き、起動指示装置２０１から起動を指示された場合の動作について図１８を用いて説明する。
【０１４２】
第２ネットワークポート１６０４が起動指示装置２０１から送信された起動要求を受信する（ステップＳ１８０１）。起動要求には、前述のステップＳ１７０２にてメモリ１６０３に格納された起動識別子が含まれる。この起動要求は即座に制御部１６０２に通知される（ステップＳ１８０２）。
【０１４３】
起動要求を通知された制御部１６０２は、メモリ１６０３から起動識別子を読み出す（ステップＳ１８０３）。そして、制御部１６０２は、前記起動要求に含まれる起動識別子と、読み出した起動識別子とが一致するか否かを検査する（ステップＳ１８０４）。一致していなければ、以降の処理は実行せずに終了する。ここでは一致していたものとして説明する。
【０１４４】
一致していた場合、制御部１６０２は、第１ＮＩＣ１０９の電源をオンにする（ステップＳ１８０５）。その後、通信部１１１が、ネットワークポート１１０を介して起動指示メッセージを受信する（ステップＳ１８０６）。この起動指示メッセージは、上記第２及び第３の実施形態に係る通信装置が受信していた起動指示メッセージと同じである。従って、以降の処理は上記第２及び第３の実施形態と同様であるため説明を省略する。
【０１４５】
このように、通信装置１６００は、起動指示装置２０１へ起動指示メッセージのフォーマットを通知した後、全ての構成要素の電源をオフにすることができる。従って、消費電力をさらに低減することができる。
【０１４６】
本実施形態に係る通信装置は、上記第１〜第３の実施形態と同様に遠隔起動を速やかに実行できる。また、消費電力をさらに低減できる。
【０１４７】
（第５の実施形態）本発明の第５の実施形態に係る通信装置は、図１に示す上記第２の実施形態に係る通信装置１００と同様の構成を採る。ただし、プロセッサ１０１で動作するソフトウェアが異なる。
【０１４８】
上記第１〜第４の実施形態では、１つのノードからの遠隔起動指示を受け付ける１つの通信装置を例に説明を行った。本実施形態では、同時に利用することでサービスを受けられる複数の通信装置をグループとして扱い、複数の通信装置を一括して起動する。
【０１４９】
本実施形態は、上記第２の実施形態と比較して、起動フォーマットを生成するステップと、起動指示メッセージを送信するステップ、及び起動指示メッセージの受信に備えるステップが異なる。以下、これらの点について順に説明を行う。
【０１５０】
図１９に、本実施形態に係るネットワーク環境の模式図を示す。通信装置１９００、１９０１、及び１９０２がネットワーク１９０３を介して接続される。通信装置１９００、１９０１は通信装置１００と同様の構成の通信装置である。通信装置１９０２は、通信装置１９００、１９０１が提供するサービスを利用する通信装置であり、通信装置１９００、１９０１を遠隔から起動するメッセージを送信するノードである。
【０１５１】
図２０に本実施形態に係る通信装置間の動作シーケンスを示す。本シーケンスは各装置の外部から観測できる動作と、装置間で交換するメッセージに着目したものである。
【０１５２】
ここで、各通信装置は動作状態にあるものとする。まず、通信装置１９０２（後に、起動指示メッセージを送信して遠隔起動を実行する通信装置）が、通信装置１９００へ起動フォーマット取得要求をユニキャストで送信する（ステップＳ２００１）。通信装置１９００は、自身の内部状態に合わせた起動フォーマットを通信装置１９０２へ返す（ステップＳ２００２）。
【０１５３】
通信装置１９０２は、起動フォーマット取得要求のユニキャスト送信、起動フォーマットの取得を、同時に起動させる全ての通信装置に対して順に行う。従って、通信装置１９０２は、通信装置１９００から起動フォーマットを取得すると、通信装置１９０１に対して同様の処理を行う（ステップＳ２００３、Ｓ２００４）。
【０１５４】
起動フォーマット取得要求を受信した各通信装置が、自装置を起動させる起動指示メッセージのフォーマットを生成する手順については後述する。
【０１５５】
通信装置１９０２は、全ての通信装置との間でフォーマットの交換が完了したら、各通信装置から受信したフォーマットに基づいて、起動指示メッセージを生成する（ステップＳ２００５）。そして、通信装置１９０２は、生成した起動指示メッセージを各通信装置１９００、１９０１にユニキャストで通知する（ステップＳ２００６）。
【０１５６】
起動指示メッセージを通知された各通信装置１９００、１９０１は、通知された起動指示メッセージに基づくマルチキャストによる遠隔起動指示を受信できるように、自装置の受信設定を変更する（ステップＳ２００７）。この時の通信装置１９００、１９０１の内部動作については後述する。
【０１５７】
各通信装置１９００、１９０１は、動作し続ける必要がなくなると、電源オフ状態（待機状態）になる。
【０１５８】
その後、通信装置１９０２が事前に交換した起動指示メッセージを、事前に設定したマルチキャストアドレスに向けて送信する（ステップＳ２００８）。各通信装置１９００、１９０１は、当該マルチキャストアドレスを受信できるように設定した状態になっているため、この起動指示メッセージを受信する。
【０１５９】
起動指示メッセージを受信した各通信装置１９００、１９０１は、起動処理を開始し、自装置を電源オンの状態にする（ステップＳ２００９）。
【０１６０】
以上が本実施形態に係る通信装置１９００、１９０１を外部から見た場合の動作である。このように、各通信装置から集めた情報を用いて起動指示メッセージを生成し、マルチキャストメッセージによって通知することで、同時に動作することが求められる複数の通信装置を一括して起動することができる。この際、各通信装置に適した情報を合わせて送信しているので、起動処理時間の短縮という効果も得られる。
【０１６１】
続いて、通信装置１９００、１９０１の動作の詳細を説明する。ここでは、通信装置１９００の動作について説明するが、通信装置１９０１の動作も同様のものとなる。
【０１６２】
まず、通信装置１９００が起動フォーマット取得要求を受信した際に行う処理（ステップＳ２００１とステップＳ２００２との間で行う処理）について説明する。
【０１６３】
本実施形態にて用いられる起動フォーマット取得要求は、上記第１〜第４の実施形態で用いる起動フォーマット取得要求とは一部異なる。上述した通り、本実施形態では、複数の通信装置から取得したフォーマットに基づいて、最終的な起動指示メッセージのフォーマットを決定する（ステップＳ２００５）。そのため、同時に起動する通信装置が課す制約を満たすメッセージでなければならない。例えば、起動指示メッセージに使用できるパケットサイズには上限があるため、同時に起動する通信装置の数が増えると、通信装置１つあたりに使える情報量が減少する。このため、各通信装置が使用可能な情報量の上限を通知するなどの対応が必要となる。
【０１６４】
さらに、上記第１〜第４の実施形態では、起動フォーマット取得要求の応答として送信したフォーマットがそのまま起動指示メッセージとして使用されていた。しかし、本実施形態では、起動指示メッセージの送信側（通信装置１９０２）が、応答に基づいてメッセージを生成する。そのため、通信装置１９００は、通信装置１９０２が生成したメッセージを受信し、その後の実際の起動指示に備える必要がある。起動フォーマット取得要求は、通信装置１９００にこのような対応をとることを指示するものとなる。
【０１６５】
通信装置１９００は、上記のような起動フォーマット取得要求を受信すると、図３と同じ手順でフォーマットを生成する。このとき生成するフォーマットは、最終的な起動指示メッセージの一部である。さらに、起動フォーマット取得要求で指定された条件（長さ、フォーマットなど）に一致したものとなる。
【０１６６】
フォーマットを送り返した通信装置１９００の動作として、独立した２つの実現方法がある。第１は、起動フォーマット取得要求／応答と、その後の処理を独立した処理として扱う方法である。この場合、図２３に示すように、フォーマットを送り返した後に特別な処理を行うことはなく、起動指示メッセージが通知されるのを待機すればよい。なお、起動識別子の生成（ステップＳ２３０３）は、通信装置１９０２から最終的な起動指示メッセージ（起動フォーマット設定）が通知された（ステップＳ２３０１）後に行われる。
【０１６７】
第２は、起動フォーマット取得要求／応答と、その後の処理を一体の処理として扱う方法である。この場合、図２４に示すように、応答の内容や応答先の通信装置の情報（アドレス等）をメモリ１０２に保存して管理する。
【０１６８】
以上が、ステップＳ２００１〜ステップＳ２００４で示した処理が実行された際に、通信装置１９００、１９０１の内部で行われる処理である。
【０１６９】
２つの通信装置から取得したフォーマットに基づいて、通信装置が生成する起動指示メッセージの例を図２１に示す。本実施形態では、図１９、図２０で示したように、２つの通信装置を同時に起動すると仮定しているため、最終的な起動指示メッセージは大きく３つに分割される。１つはヘッダや起動ＩＤなどの共通部分であり、１つは通信装置１９００から得たフォーマットに従って生成された部分であり、もう１つは通信装置１９０１から得たフォーマットに従って生成された部分である。
【０１７０】
さらに通信装置１９０２は、起動指示メッセージを対象となる複数に機器に一括して送信するためのマルチキャストグループと対応するマルチキャストアドレスを決定する。このとき使用するマルチキャストアドレスは、起動指示メッセージによって特定される機能にあらかじめ対応づけられたマルチキャストグループ及びマルチキャストアドレスでも良いし、起動指示メッセージを生成する通信装置１９０２が一時的に使用できるアドレスを生成して利用してもよい。
【０１７１】
例えばグループとして「ＴＶ放送の視聴を目的とした遠隔起動のためのマルチキャストグループ」や「ＴＶ放送の録画を目的とした遠隔起動のためのマルチキャストグループ」などが考えられる。これらをＩＰｖ６を用いて実現する場合には、ＲＦＣ４４８９で規定された方法を用いれば、例えば次のようなマルチキャストアドレスを対応させることができる。
ＴＶ放送視聴  ｆｆ３２：ｆｆ：＜通信装置１９０２のＩＩＤ＞：：１／６４
ＴＶ放送録画  ｆｆ３２：ｆｆ：＜通信装置１９０２のＩＩＤ＞：：２／６４
【０１７２】
ここで、ＩＩＤとはＩｎｔｅｒｆａｃｅ  ＩＤの略である。末尾の１又は２は、グループＩＤであり、当該グループが起動した後に実行したい機能に対応している。なお、この他の適切なフォーマットに基づいてアドレスを生成してもよい。
【０１７３】
従って、このような方法でマルチキャストアドレスを生成する場合、対応関係が事前に決まっているとは、起動指示メッセージを生成及び送信する通信装置１９０２と起動される側の通信装置１９００、１９０１との間で、事前に上記グループＩＤに関する情報が交換されている状態を指す。一方、対応関係が事前に決まっていない状態とは、グループＩＤが通信装置１９００にて動的に決定される場合を指す。いずれの場合も、通信装置１９００が起動指示メッセージを通知する際に適切なアドレスが選択されて、起動指示メッセージと共に通知される。
【０１７４】
なお、前述のような機能とマルチキャストアドレスの対応が確定している場合には、マルチキャストアドレスが判明した時点で、通信装置内で動作させるべき構成要素やパラメータが確定している場合がある。そのような場合は、個別の機器に対する起動・初期化指示を省略することができる（省略するようにフォーマットを規定して起動フォーマット取得要求の応答として返せばよい）。
【０１７５】
一方、機能との対応関係をいっさい考慮せずにマルチキャストグループ及びアドレスを設定することも可能である。先のＩＰｖ６を用いた形で具体例を示せば、グループＩＤの部分に各通信装置から取得したフォーマットに従った情報を格納する。グループＩＤ部分は３２ビットの領域となっているため、この例では１つの通信装置あたり１６ビットが使用できる。このようにマルチキャストグループ及びアドレスを生成すれば、起動指示メッセージを生成する側は特別な知識を要することなく決定できる。
【０１７６】
上述した方法で生成したマルチキャストアドレスの例を図２２に示す。図２２（ａ）が機能とグループの対応関係を明示的に用いる場合であり、図２２（ｂ）が用いない場合である。
【０１７７】
図２２（ａ）に示すように、機能とグループの対応関係を明示的に用いる場合は、イーサネットヘッダ２２０１、ＩＰｖ６ヘッダ２２０２、及び通信装置１９００向け起動・初期化指示２２０３が含まれる。この形式では、機能とグループの対応関係が存在しているので、先の例と同様に、グループＩＤとして１が指定されている。また、点線で描かれた（遠隔起動対象である）通信装置１９０１向け起動・初期化指示２２０４は、通知されたフォーマットにて省略可能と指示されたと仮定して省略できることを示している。イーサネットヘッダ２２０１の宛先アドレスには、ＩＰｖ６宛先アドレスに対応するＭＡＣアドレスが記載される。
【０１７８】
図２２（ｂ）に示すように、機能とグループの対応関係を明示的に用いない場合は、イーサネットヘッダ２２０５及びＩＰｖ６ヘッダ２２０６が含まれる。この形式では、機能とグループの対応関係が存在していないので、各通信装置から得られたフォーマットに基づいてＩＰｖ６宛先アドレスが生成される。この例では通信装置１９００から通知された１６ビットのフォーマットに基づいて起動・初期化指示を設定し、グループＩＤとしている。宛先ＭＡＣアドレスは、ＩＰｖ６宛先アドレスに対応するＭＡＣアドレスが格納されている。
【０１７９】
続いて、図２０のステップＳ２００６、Ｓ２００７が実行された際に、通信装置１９００、１９０１の内部で行われる処理について説明する。
【０１８０】
通信装置１９０２へ応答を返した後、通信装置１９００は、通信装置１９０２から起動指示メッセージが通知されるまで待機する。上述したように、起動フォーマット取得要求／応答と、その後の起動指示メッセージ通知を独立した処理として実現する場合、受け取った起動指示メッセージをそのまま保存する。起動フォーマット取得要求／応答と、その後の起動指示メッセージ通知を一体化した処理として実現する場合、受け取った起動指示メッセージの送信元がメモリ１０２に保存された応答内容や応答送信先と一致しているか否かを確認する。ここで一致しなかった場合には、通知された起動指示メッセージを破棄する。
【０１８１】
通知された起動指示メッセージを受け付けた場合、当該メッセージは起動制御部１１２を介してメモリ１１３に保存される。この処理については、第１及び第２の実施形態で説明したステップＳ３１１、Ｓ３１２と同様である。
【０１８２】
一方、第２の実施形態におけるステップＳ１１０２、Ｓ１１０３に相当する処理は、マルチキャストによる起動指示メッセージを受信するために特別な対応が必要となる。すなわち、マルチキャストグループに対応するＭＡＣアドレスを受信できるように通信部１１１に設定する必要がある。なお、一般に、マルチキャストアドレスとそれに対応するＭＡＣアドレスは一意に導出できる。例えば図２２で示したように、ＩＰｖ６であればアドレスの下位３２ビットから導出できる。
【０１８３】
従って、通信装置１９００は、マルチキャストグループとアドレスの通知を受け取ったら、自装置の通信部１１１を介して前記マルチキャストグループに対応するＭＡＣアドレスを受信できるように設定を変更する。
【０１８４】
本実施形態によれば、同時に利用することでサービスを利用できる複数の通信装置に対して、一度に起動要求と初期化指示を送信できる。これにより、複数の通信装置を逐次起動する必要がなくなると共に、個々の通信装置に対する起動指示と初期化指示を同時に送信できるため、起動時間を短縮できる。
【０１８５】
なお、ここでは、第２の実施形態に基づいた例で第５の実施形態を説明したが、第３、第４の実施形態に対しても同様に適用できる。
【０１８６】
上述した実施形態で説明した通信装置の少なくとも一部は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、通信装置の少なくとも一部の機能を実現するプログラムをフレキシブルディスクやＣＤ−ＲＯＭ等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。
【０１８７】
また、通信装置の少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線（無線通信も含む）を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
【０１８８】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【０１８９】
１００  通信装置
１０１  プロセッサ
１０２、１１３  メモリ
１０３  チューナー
１０４  エンコーダ・デコーダ
１０５  メモリコントローラ
１０６  大容量メモリ
１０７  フォーマット生成部
１０８  バス
１０９  ネットワークインタフェースカード
１１０  ネットワークポート
１１１  通信部
１１２  起動制御部
【図１】
2010226422.tif 000003
【図２】
2010226422.tif 000004
【図３】
2010226422.tif 000005
【図４】
2010226422.tif 000006
【図５】
2010226422.tif 000007
【図６】
2010226422.tif 000008
【図７】
2010226422.tif 000009
【図８】
2010226422.tif 000010
【図９】
2010226422.tif 000011
【図１０】
2010226422.tif 000012
【図１１】
2010226422.tif 000013
【図１２】
2010226422.tif 000014
【図１３】
2010226422.tif 000015
【図１４】
2010226422.tif 000016
【図１５】
2010226422.tif 000017
【図１６】
2010226422.tif 000018
【図１７】
2010226422.tif 000019
【図１８】
2010226422.tif 000020
【図１９】
2010226422.tif 000021
【図２０】
2010226422.tif 000022
【図２１】
2010226422.tif 000023
【図２２】
2010226422.tif 000024
【図２３】
2010226422.tif 000025
【図２４】
2010226422.tif 000026