(57)【特許請求の範囲】
【請求項１】
機能を制限する省電力モードの状態で、起動対象のデバイスまたはアプリケーションを示す制御情報を含む制御パケットを所定時間内で任意の回数受信する受信部と、
前記受信部によって前記制御パケットが受信された場合に、各デバイスまたは各アプリケーションを起動させる制御プログラムを起動させる第１起動制御部と、
前記第１起動制御部によって前記制御プログラムが起動された後に、前記受信部が前記制御パケットを受信した場合に、該制御パケットの前記制御情報で特定される前記起動対象のデバイスまたはアプリケーションを、前記制御プログラムによって起動させる第２起動制御部と
を有することを特徴とする情報処理装置。
【請求項２】
前記情報処理装置のユーザのスケジュール情報から、起動される予定のデバイスまたはアプリケーションを推定する推定部をさらに有し、
前記第２起動制御部は、前記推定部によって推定されたデバイスまたはアプリケーションを、前記制御プログラムを用いて起動することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
所定時間内に受信した各パケットを宛先または機能別に計数する計数部をさらに有し、
前記第２起動制御部は、前記計数部によって計数された総数が所定値以上のデバイスまたはアプリケーションのうち、未起動のデバイスまたはアプリケーションを、前記制御プログラムによって起動させることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
所定時間内に送受信したパケットの数を計数する計数部と、
前記計数部によって計数されたパケット数が第１の閾値以上の場合には、前記情報処理装置の外部の電源アダプタから前記情報処理装置への電源供給を開始し、前記計数部によって計数されたパケット数が第２の閾値未満の場合には、前記電源アダプタから前記情報処理装置への電源供給を抑制する電源制御部をさらに有することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
ユーザのスケジュール情報から、起動される予定のデバイスまたはアプリケーションを推定する推定部と、
前記推定部によって推定されたデバイスまたはアプリケーションを起動する起動制御部と、
所定時間内に受信した各パケットを宛先または機能別に計数する計数部とを有し、
前記起動制御部は、前記計数部によって計数された総数が所定値以上のデバイスまたはアプリケーションのうち、未起動のデバイスまたはアプリケーションを起動することを特徴とする情報処理装置。
【請求項６】
情報処理装置において、
ユーザのスケジュール情報から、起動される予定のデバイスまたはアプリケーションを推定する推定部と、
前記推定部によって推定されたデバイスまたはアプリケーションを起動する起動制御部と、
所定時間内に送受信したパケットの数を計数する計数部と、
前記計数部によって計数されたパケット数が第１の閾値以上の場合には、前記情報処理装置の外部の電源アダプタから前記情報処理装置への電源供給を開始し、前記計数部によって計数されたパケット数が第２の閾値未満の場合には、前記電源アダプタから前記情報処理装置への電源供給を抑制する電源制御部と、
を有することを特徴とする情報処理装置。
【請求項７】
コンピュータに、
機能を制限する省電力モードの状態で、起動対象のデバイスまたはアプリケーションを示す制御情報を含む制御パケットを所定時間内で任意の回数受信し、
前記制御パケットを受信した場合に、各デバイスまたは各アプリケーションを起動させる制御プログラムを起動させ、
前記制御プログラムを起動した後に、前記制御パケットを受信した場合に、該制御パケットの前記制御情報で特定される前記起動対象のデバイスまたはアプリケーションを、前記制御プログラムによって起動させる
処理を実行させることを特徴とする起動制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および起動制御プログラムに関する。
【背景技術】
【０００２】
近年、家庭用のパーソナルコンピュータ（以下、家庭用サーバと記載する場合がある）をサーバとして利用し、スマートフォンや携帯型パソコンなどの可搬端末から自宅のサーバにアクセスすることが一般的に行われている。【０００３】
この場合、外部から家庭用サーバに常時アクセス可能な状態にするために、家庭用サーバを常時通電状態にすることが考えられる。ところが、家庭用サーバは、２４時間運用を想定した設計になっていないことが多いので、通電による寿命や安全性の面で不安がある。一方で、家庭用サーバをこのような用途で利用する場合、ユーザ数は少なく、アクセス頻度も低いことが多い。【０００４】
一方で、家庭用サーバを省電力モードにして運用する技術が知られている。例えば、家庭用サーバが、ユーザが作成したスケジュール情報や電池の残容量に応じて省電力モードを切り替える技術が知られている。【０００５】
また、家庭用サーバを、待機時は省電力もしくは停止状態にし、ＷＯＬ（Wake  On  Lan）パケットを受信した場合に家庭用サーバの電源を投入して通常動作状態にする技術がある。また、赤外線リモコンなどの信号や、各種センサによって家庭用サーバに対してユーザが操作したり、ユーザが近づいたことを検出して、省電力モードを解除する技術がある。家庭用サーバが通常動作状態になった後、内蔵するデバイスや外部接続される各電子機器へ電源を投入・遮断して適切な電力モードにすることになる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−０８０５６２号公報
【特許文献２】特開平１１−３４５０５１号公報
【特許文献３】特開２００４−１１０４５５号公報
【特許文献４】特開２０１０−１５４３１８号公報
【特許文献５】特開２００４−３３４５８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記技術では、ネットワーク内のサーバを遠隔で操作する際の利便性が悪いという問題がある。【０００８】
例えば、ネットワーク内のサーバは、省電力モードの状態からＷＯＬパケットを携帯端末から受信した場合、当該サーバが有する内蔵デバイスや当該サーバと接続される外部デバイスの全てを起動させる。このため、サーバの起動まで時間がかかる。また、携帯端末は、サーバの全デバイスが起動した後でなければ、具体的な処理内容を含むパケットを送信できない。このため、ユーザが家庭用サーバの状態を的確に把握しなければならず、省電力モードから特定の機能を実行する際の利便性はよくない。【０００９】
ユーザは家庭用サーバが起動したか否かの状態を的確に把握してから処理内容を送出する必要がある。このように、携帯端末からＷＯＬパケットを送出してからの応答が悪く、ユーザが家庭用サーバの状態を把握する必要があることから、省電力モードから特定の機能を実行する際の利便性が悪い。【００１０】
開示の技術は、上記に鑑みてなされたものであって、ネットワーク内のサーバを遠隔で操作する際の利便性を向上させることができる情報処理装置および起動制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、本発明にかかる情報処理装置は、機能を制限する省電力モードの状態で、起動対象のデバイスまたはアプリケーションを示す制御情報を含む制御パケットを所定時間内で任意の回数を受信する受信部を有する。また、情報処理装置は、前記受信部によって前記制御パケットが受信された場合に、各デバイスまたは各アプリケーションを起動させる制御プログラムを起動させる第１起動制御部を有する。また、情報処理装置は、前記第１起動制御部によって前記制御プログラムが起動された後に、前記受信部が前記制御パケットを受信した場合に、該制御パケットの前記制御情報で特定される前記起動対象のデバイスまたはアプリケーションを、前記制御プログラムによって起動させる第２起動制御部を有する。
【発明の効果】
【００１２】
本発明にかかる情報処理装置および起動制御プログラムは、ネットワーク内のサーバを遠隔で操作する際の利便性を向上させることができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施例１に係るシステムの全体構成例を示す図である。
【図２】図２は、実施例１に係る携帯端末の構成を示すハードウェア構成図である。
【図３】図３は、家庭用サーバのハードウェア構成および家庭用サーバに接続されるデバイスの例を示す図である。
【図４】図４は、実施例１に係る家庭用サーバの機能構成を示す機能ブロック図である。
【図５】図５は、リストＤＢに記憶される情報の例を示す図である。
【図６】図６は、実施例１に係る制御パケットを説明する図である。
【図７】図７は、実施例１に係る処理の流れを示すシーケンス図である。
【図８】図８は、実施例１に係る家庭用サーバが実行する処理の流れを示すフローチャートである。
【図９】図９は、従来技術に係る処理の流れを示すシーケンス図である。
【図１０】図１０は、実施例２に係る家庭用サーバの機能構成を示す機能ブロック図である。
【図１１】図１１は、スケジュールＤＢに記憶される情報の例を示す図である。
【図１２】図１２は、実施例２に係るデバイス等の推定処理の流れを示すフローチャートである。
【図１３】図１３は、実施例３に係る家庭用サーバが実行する処理の流れを示すフローチャートである。
【図１４】図１４は、実施例４に係る家庭用サーバを含むシステムの全体構成例を示す図である。
【図１５】図１５は、実施例４に係る、監視ユニットが行う電源処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下に、本発明にかかる情報処理装置および起動制御プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１５】
［全体構成］
図１は、実施例１に係るシステムの全体構成例を示す図である。図１に示すように、このシステムは、中継サーバ２と、携帯端末１０と、家庭内ＬＡＮ２０とが、インターネット１などのネットワークを介して接続される。【００１６】
携帯端末１０は、ユーザが保持して利用する可搬端末の一例である。家庭内ＬＡＮ２０は、携帯端末１０のユーザが所有するネットワークの一例である。家庭内ＬＡＮ２０は、ルータ３０と家庭用サーバ４０とを有する。なお、家庭内ＬＡＮ２０は、図示した以外にも、様々なデバイス等を有していてもよい。また、家庭内ＬＡＮ２０の各デバイス等には、ＩＰ（Internet  Protocol）アドレスが割り与えられており、家庭内ＬＡＮのデバイス間で通信することができる。通常、ここで割り与えられるＩＰアドレスは、プライベートＩＰアドレスである。また、グローバルアドレスを持つルータ３０を介して外部との間で通信することができる。【００１７】
ルータ３０は、ルーティングやＮＡＴ（Network  Address  Translation）変換を実行して、家庭内ＬＡＮのデバイス間または家庭内ＬＡＮのデバイスと外部装置との間で通信を中継する。例えば、ルータ３０は、自身が持つグローバルＩＰアドレスに送られたパケットを、家庭用サーバ４０に割り当てたプライベートＩＰアドレス宛に変換することにより、家庭用サーバ４０と携帯端末１０との間の通信を中継する。【００１８】
家庭用サーバ４０は、携帯端末１０のユーザが利用する家庭用サーバの一例であり、携帯端末１０などの可搬端末からアクセスを受け付けて、各種処理を実行する。また、家庭用サーバ４０は、例えば一定期間パケットの送受信が発生しなかった場合など、実行すべき処理が存在しない期間が続いた場合に、省電力モードに遷移する。この省電力モードでは、家庭用サーバ４０は、ＬＡＮインタフェースなどの最低限のデバイスについて電力を供給し、その他の内蔵デバイス、アプリケーション、外部デバイス等の電源供給を抑制する。【００１９】
中継サーバ２は、可搬端末からのパケットを中継するために、ユーザが利用する家庭用サーバへアクセスするための経路（特にグルーバルＩＰアドレス等）を管理するサーバの一例である。例えば、中継サーバ２は、家庭用サーバ４０がつながるルータ３０のグローバルＩＰアドレスと家庭用サーバ４０へアクセスするためのポート番号を保持する。そして、中継サーバ２は、携帯端末１０からＩＰアドレスの問い合わせを受信した場合に、このＩＰアドレスとポート番号を応答する。中継サーバ２は、家庭用サーバ４０自身がグローバルＩＰアドレスを持つ場合は、これを保持し、携帯端末１０に対して応答する。【００２０】
このような状態において、家庭用サーバ４０は、機能を制限する省電力モードの状態で、携帯端末１０から、起動対象のデバイスまたはアプリケーションを示す制御情報を含む制御パケットを複数受信する。このとき、家庭用サーバ４０は、制御パケットを最初に受信した際に、サーバ自身を起動させる。この結果、家庭用サーバ４０は、携帯端末１０から要求される処理に応じて必要となる各デバイスまたは各アプリケーションを起動する準備を行う。具体的には、家庭用サーバ４０は、これらを起動させる機能をもつ制御プログラムを起動する。その後、家庭用サーバ４０は、制御プログラムが起動された後に、携帯端末１０からの制御パケットを受信すると、該制御パケットの制御情報で特定される起動対象のデバイスまたはアプリケーションを、制御プログラムによって起動させる。このとき、携帯端末１０での処理は、同一の制御パケットを繰り返し送出するのみであることに注意する。【００２１】
このように、家庭用サーバ４０は、電源投入と起動対象を含む制御パケットなどの制御パケットを繰返し受信し、初回に制御プログラムを起動し、制御プログラム起動後の受信時に制御プログラムが起動対象を起動させる。この結果、家庭用サーバ４０は、省電力モードから特定の機能を実行する際の利便性を向上させることができる。【００２２】
［各装置の構成］
次に、図１に示した各装置の構成について説明する。なお、中継サーバ２は、一般的なＤＮＳ（Domain  Name  System）サーバやＤＨＣＰ（Dynamic  Host  Configuration  Protocol）サーバと同様の機能構成を有し、ルータ３０は、一般的なルータと同様の機能構成を有する。このため、ここでは、携帯端末１０と家庭用サーバ４０について説明する。【００２３】
（携帯端末の構成）
図２は、実施例１に係る携帯端末の構成を示すハードウェア構成図である。図２に示すように、携帯端末１０は、アンテナ１１、無線部１２、オーディオ入出力部１３、表示部１４、記憶部１５、ＣＰＵ（Central  Processing  Unit）１６、操作部１７を有する。【００２４】
アンテナ１１は、無線電波を送受信する。無線部１２は、アンテナ１１を介して、無線通信を実行する処理部である。オーディオ入出力部１３は、音声の入力や出力を実行する処理部である。表示部１４は、各種情報を表示する表示装置であり、例えばディスプレイやタッチパネルである。【００２５】
記憶部１５は、メモリやハードディスクなどの記憶装置であり、各種プログラムを実行する。ＣＰＵ１６は、携帯端末１０の全体を司る処理部であり、記憶部１５から該当プログラムを読み出して実行する。【００２６】
例えば、ＣＰＵ１６は、ユーザから起動対象の指定を受け付ける。そして、ＣＰＵ１６は、当該起動対象として指定されたデバイスやアプリケーションを識別する識別子を付加した制御パケットを生成して、家庭用サーバ４０に送信する。本発明が想定する状況では、家庭用サーバ４０が停止状態のときに制御パケットを送信するので、家庭用サーバ４０からの応答を期待できないことがある。このためＴＣＰ（Transmission  Control  Protocol）でなくＵＤＰ（User  Datagram  Protocol）で送信できることは重要である。ＣＰＵ１６は、ＵＤＰを用いて制御パケットを送信することができる。その場合、ＣＰＵ１６は、例えば２分間、２０秒間間隔で制御パケットを送信する。なお、以下では、デバイスやアプリケーションを含めて「デバイス等」と記載する場合ある。【００２７】
また、ＣＰＵ１６は、上記識別子とともに具体的な処理内容を含む処理パケットを生成して、家庭用サーバ４０に送信することもできる。このときも同様に、ＣＰＵ１６は、ＵＤＰを用いて処理パケットを送信することができる。その場合、ＣＰＵ１６は、例えば３分間、１５秒間間隔で処理パケットを送信する。なお、ここで示した時間はあくまで例示である。なお、ＣＰＵ１６は、図７に示すように中継サーバに家庭用サーバに通信するためのＩＰアドレスを問い合わせて、これを用いて処理パケットを家庭用サーバ４０に送信する。したがって、ＣＰＵ１６は、家庭用サーバ４０に対して処理パケットを送信することができる。【００２８】
操作部１７は、表示部１４等を介してユーザの操作を受け付ける処理部である。例えば、操作部１７は、キーボード、マウス、タッチパネルなどを操作したユーザ操作を受け付けて、受け付けた操作情報をＣＰＵ１６に出力する。【００２９】
（家庭用サーバの構成）
図３は、家庭用サーバのハードウェア構成および家庭用サーバに接続されるデバイスの例を示す図である。図３に示すように、家庭用サーバ４０は、ＬＡＮユニット４１、光学ドライブ装置４２、グラフィックインタフェース４３、ＨＤＤ（Hard  Disk  Drive）４４、ＵＳＢ（Universal  Serial  Bus）インタフェース４５を有する。さらに、家庭用サーバ４０は、ＲＡＭ（Random  Access  Memory）４６、ＣＰＵ４７を有する。【００３０】
なお、家庭用サーバ４０が有する内蔵デバイスや家庭用サーバ４０の外部にある外部デバイスには、それぞれＬＡＮの内部で一意なＩＰアドレスが割当てられている。このＩＰアドレスによって、宛先となるデバイス、すなわち処理対象のデバイスを特定することができる。【００３１】
ＬＡＮユニット４１は、他の装置と通信を実行するインタフェースである。ＬＡＮユニット４１は、スイッチ２０ａを介してルータ３０と接続され、スイッチ２０ａおよびルータ３０を介して家庭内ＬＡＮ２０外の装置と通信を実行する。また、ＬＡＮユニット４１は、スイッチ２０ａを介して、家庭内ＬＡＮ２０内のＮＡＳ（Network  Attached  Storage）２０ｂと接続され、ＮＡＳ２０ｂとの間でデータの送受信を実行する。【００３２】
光学ドライブ装置４２は、ＣＤ（Compact  Disc）、ＤＶＤ（Digital  Versatile  Disc）、ＢＤ（Blu−ray  Disc）などの光ディスクを読み込んで、光ディスクにデータを書き込んだり、光ディスクからデータを読み出したりするドライブ装置である。【００３３】
グラフィックインタフェース４３は、ディスプレイやタッチパネルなどの表示装置に接続されるインタフェースである。ＨＤＤ４４は、プログラムやデータベースを記憶する記憶装置であり、例えば、各デバイスまたは各アプリケーションを起動させる制御プログラムを記憶する。【００３４】
ＵＳＢインタフェース４５は、家庭用サーバ４０と家庭内ＬＡＮ２０内の他のデバイスとを接続するインタフェースである。例えば、ＵＳＢインタフェース４５は、カメラ２０ｃ、マウス２０ｄ、キーボード２０ｅ、録画装置２０ｆ、テレビ２０ｇと接続される。【００３５】
ＲＡＭ４６は、半導体素子を利用した記憶装置であり、家庭用サーバ４０のメインメモリである。ＣＰＵ４７は、家庭用サーバ４０の全体を司る処理部である。ＣＰＵ４７は、ＨＤＤ４４からプログラムを読み出してＲＡＭ４６に展開し、各種プロセスを実行する。例えば、ＣＰＵ４７は、図４等を用いて説明する各処理部を実行するプログラムを読み出してＲＡＭ４６に展開し、各種プロセスを実行する。また、ＣＰＵ４７は、ＨＤＤ４４から制御プログラムを読み出してＲＡＭ４６に展開して実行する。【００３６】
また、ＣＰＵ４７は、家庭用サーバ４０に内蔵されるデバイス、ＨＤＤ４４等に記憶されるアプリケーションプログラム、ＵＳＢインタフェース４５やＬＡＮユニット４１と接続されるデバイス起動させる制御プログラムを実行する。また、ＣＰＵ４７は、制御プログラムの実行を操作して、各種デバイスやアプリケーションを制御する。【００３７】
家庭用サーバ４０が省電力モードの状態では、ＣＰＵ４７は、高速起動に備えた待機状態すなわち低電力状態にあり、ＲＡＭを除くその他の周辺機器は、電源が供給されず待機状態となる。なお、ＣＰＵ４７は、クロック周波数を変更したり、回路の一部をdisableすることができ、性能とのトレードオフで消費電力を抑えることもできる。【００３８】
（家庭用サーバの機能構成）
図４は、実施例１に係る家庭用サーバの機能構成を示す機能ブロック図である。図４に示すように、家庭用サーバ４０は、ＬＡＮユニット制御部４８、ユーザＤＢ４９、リストＤＢ５０、認証処理部５１、制御プログラム実行部５２、起動制御部５３を有する。【００３９】
なお、ＬＡＮユニット制御部４８は、図３で示したＬＡＮユニット４１が実現する処理部であり、ユーザＤＢ４９とリストＤＢ５０は、ＨＤＤ４４に記憶されるデータベースである。認証処理部５１、制御プログラム実行部５２、起動制御部５３は、ＣＰＵ４７が実行プログラムによって実現される処理部であり、省電力モードでも実行可能な処理部である。【００４０】
ＬＡＮユニット制御部４８は、機能を制限する省電力モードの状態で、起動対象のデバイスまたはアプリケーションを示す制御情報を含む制御パケットを所定時間内で複数受信する。すなわち、ＬＡＮユニット制御部４８は、ＵＤＰポート番号が指定された制御パケットを複数受信する。そして、ＬＡＮユニット制御部４８は、制御パケットを受信した場合に、認証処理部５１に制御パケットを出力する。制御パケットの受信間隔が長い場合、ひとつの制御パケットによって家庭用サーバが起動したのちに一定期間制御パケットが届かないままであると、家庭用サーバは再び省電力モード（待機状態）になることがあるが本実施例ではこのような長い間隔は想定しない。【００４１】
なお、ＬＡＮユニット制御部４８は、制御パケット以外の各種パケットを受信して、宛先のアプリケーション等へ出力する処理部である。なお、ＬＡＮユニット制御部４８は、各種パケットについても認証処理部５１に出力して、認証処理を実行させてもよい。【００４２】
ユーザＤＢ４９は、家庭用サーバ４０の利用者情報を記憶するデータベースである。例えば、ユーザＤＢ４９は、ユーザを識別する識別子とユーザが指定したパスワードとを対応付けて記憶する。【００４３】
リストＤＢ５０は、携帯端末１０などから遠隔操作で実行するデバイスやアプリケーションのリストを記憶するデータベースである。図５は、リストＤＢに記憶される情報の例を示す図である。図５に示すように、リストＤＢ５０は、「ＩＤ、名称、起動コマンド」を対応付けて記憶する。【００４４】
ここで記憶される「ＩＤ」は、デバイスやアプリケーションを識別する識別子である。「名称」は、デバイスやアプリケーションの名称である。「起動コマンド」は、デバイスやアプリケーションを起動させるコマンドである。図５の場合、ＩＤ「４１」で識別される「ＨＤＤ」は、コマンドＡで実行することができ、ＩＤ「４３」で識別される「カメラ」は、コマンドＢで実行することができることを示す。【００４５】
なお、図５では、デバイスやアプリケーションを対応付ける例を説明したが、これに限定されるものではなく、例えばバックアップ処理や録画処理などの処理名等を対応付けることもできる。このような場合、処理名と当該処理の実行に関係するデバイスやアプリケーションのコマンドを対応付けて記憶する。一例を挙げると、バックアップ処理の場合、バックアップソフトのコマンドとＨＤＤのコマンドを対応付けておくことで、遠隔操作でバックアップ処理を実行できる。【００４６】
認証処理部５１は、各種パケットが受信された場合に、正当なユーザからのパケットか否かを認証する処理部である。具体的には、認証処理部５１は、ＬＡＮユニット制御部４８が受信した制御パケットからユーザＩＤとパスワードとを抽出する。続いて、認証処理部５１は、抽出したユーザＩＤとパスワードとの組がユーザＤＢ４９に記憶されている場合に、認証を許可し、記憶されていない場合に、認証を拒否する。そして、認証処理部５１は、認証を許可した場合に、制御パケットを制御プログラム実行部５２へ出力する。また、認証処理部５１は、認証を拒否した場合に、制御パケットを破棄する。【００４７】
ここで、携帯端末１０が送信し、家庭用サーバ４０が受信する制御パケットについて説明する。図６は、実施例１に係る制御パケットを説明する図である。図６に示す情報は、制御パケットに含まれる情報である。具体的には、制御パケットの先頭から２０ビットは、ＩＰヘッダであり、送信元ＩＰアドレス、宛先ＩＰアドレス、チェックサムが設定される。また、制御パケットのオフセット「２０」の位置、すなわち、制御パケットの２１ビットから２８ビットは、ＵＤＰヘッダであり、送信元ポート番号や宛先ポート番号が設定される。【００４８】
また、制御パケットのオフセット「２８」の位置、すなわち、制御パケットの２９ビットから３４ビットは、制御パケットの開始マークである。制御パケットのオフセット「３４」の位置には、制御対象のＭＡＣアドレスが６ビットで設定され、１６回繰り返し設定される。また、制御パケットのオフセット「８２」の位置には、ユーザのパスワードが６ビットで設定される。【００４９】
また、制御パケットのオフセット「８８」の位置には、ユーザのＩＤが６ビットで設定される。制御パケットのオフセット「９４」の位置には、起動対象のデバイス等が８ビットで設定される。このオフセット「９４」の値は、図５に示したリストＤＢ５０のＩＤに該当する値が設定される。【００５０】
図４に戻り、制御プログラム実行部５２は、ＬＡＮユニット制御部４８によって制御パケットが受信された場合に、各デバイスまたは各アプリケーションを起動させる制御プログラムを起動させる処理部である。【００５１】
具体的には、制御プログラム実行部５２は、ＬＡＮユニット制御部４８によって受信され、認証処理部５１によって認証許可と判定された場合に、ＨＤＤ４４等から制御プログラムを読み出してＲＡＭ４６に展開し、制御プログラムを実行する。なお、制御プログラム実行部５２は、制御プログラムの実行が完了したことを、各処理部に通知する。【００５２】
つまり、携帯端末１０から送信された制御パケットがWake  On  LAN  magicパケットとして機能するので、家庭用サーバ４０は、制御プログラムを実行し、各デバイスやアプリケーションを起動させることができる状態となる。【００５３】
起動制御部５３は、制御プログラム実行部５２によって制御プログラムが起動された後に、ＬＡＮユニット制御部４８が制御パケットを受信した場合に、制御パケットで特定される起動対象のデバイス等を制御プログラムによって起動させる処理部である。【００５４】
具体的には、起動制御部５３は、制御プログラム実行部５２によって制御プログラムが起動された後に、制御パケットが受信されて認証が許可された場合に、制御パケットのオフセット「９４」の位置から値を抽出する。そして、起動制御部５３は、抽出した値に対応するコマンドをリストＤＢ５０から特定する。その後、起動制御部５３は、特定したコマンドを制御プログラムに実行させる。【００５５】
つまり、制御プログラムが起動された状態で、制御プログラムを実行させた制御パケットと同じ制御パケットを受信した場合、制御プログラムは、受信された制御パケットによって特定されるデバイス等を実行する。例えば、制御パケットに‘Ｖ’(0x56)が設定されていた場合、制御プログラムは、ＬＡＮユニット制御部４８を介して、ＮＡＳとしての起動コマンドＣをＮＡＳ２０ｂに実行し、ＮＡＳ２０ｂを起動させる。なお、‘Ｖ’(0x56)だけが設定されているとき、ＮＡＳ２０ｂ以外のデバイスやアプリケーションは、待機状態のままである。【００５６】
［処理の流れ］
次に、実施例１に係るシステムが実行する処理シーケンス、家庭用サーバ４０が実行するフローチャート、従来技術に係る処理シーケンスについて説明する。【００５７】
（実施例１に係る処理シーケンス）
図７は、実施例１に係る処理の流れを示すシーケンス図である。図７に示すように、家庭用サーバ４０は、省電力モードで動作している（Ｓ１０１）。例えば、家庭用サーバ４０は、ＬＡＮユニット４１に電源を供給し、他のハードウェア等には電源の供給を抑制している。【００５８】
このような状態で、携帯端末１０は、中継サーバ２に対して、家庭用サーバ４０のＩＰアドレス（実際にはルータ３０のグローバルＩＰアドレス）を問い合わせるパケット（ＰＫ０）を送信する（Ｓ１０２とＳ１０３）。中継サーバ２は、携帯端末１０からの問い合わせに対して、家庭用サーバ４０のＩＰアドレス（実際にはルータ３０のグローバルＩＰアドレス）を応答する（Ｓ１０４とＳ１０５）。【００５９】
そして、携帯端末１０は、起動対象のデバイス等を識別するＩＤを含む制御パケットを生成し（Ｓ１０６）、所定期間内に複数回同じ制御パケットを送信する。【００６０】
具体的には、携帯端末１０は、制御パケット（ＰＫ１）を送信する（Ｓ１０７とＳ１０８）。ただし、ＵＤＰによる通信なので、家庭用サーバ４０まで届かないこともある。ここでは、ＰＫ１は、途中でロストし、家庭用サーバ４０に届かなかったと想定する。【００６１】
少しの間隔をおいて、携帯端末１０は、制御パケット（ＰＫ２）を送信する（Ｓ１０９とＳ１１０）。このＰＫ２は、家庭用サーバ４０のＬＡＮユニット制御部４８によって受信されたと想定する。そして、認証処理部５１によって認証処理等が実行されると、制御プログラム実行部５２は、制御プログラムを起動させる（Ｓ１１１）。もちろん、ＰＫ１が家庭用サーバ４０に届き、ＰＫ１を契機に制御プログラムが起動することもあれば、ＰＫ１、ＰＫ２ともにロストされ、次のパケットが家庭用サーバ４０に届くこともある。【００６２】
さらに少しの間隔をおいた後、携帯端末１０は、制御パケット（ＰＫ３）を送信する（Ｓ１１２とＳ１１３）。この時点では、制御プログラムが既に起動しているとする。このため、起動制御部５３は、制御パケットで指定された起動対象を特定し（Ｓ１１４）、制御プログラムを用いて、起動対象を起動させる（Ｓ１１５）。すなわち、起動済みの制御プログラムが、制御パケットで指定されるデバイス等のみを起動する。なお、他のデバイス等は、待機状態のままである。なお、ＰＫ３が到着した時点では制御プログラムが起動完了していないこともありえる。この場合は、次のパケット（ＰＫ４）が到着した時点で上記の動作が行われる。【００６３】
さらに所定時間後、携帯端末１０は、制御パケット（ＰＫ４）を送信する（Ｓ１１６とＳ１１７）。この時点では、制御プログラムが既に起動していることから、ＰＫ４は、ＬＡＮユニット４２で破棄される（Ｓ１１８）。そして、家庭用サーバ４０の起動制御部５３は、対象デバイスの起動が完了したことを携帯端末１０に通知する（Ｓ１１９）。【００６４】
その後、制御パケットの送信が終了すると、携帯端末１０は、ユーザ等の操作を受け付けて、制御パケットで起動させたデバイス等を用いた処理内容を含む処理パケットを生成し、家庭用サーバ４０に送信する（Ｓ１２０とＳ１２１）。【００６５】
そして、家庭用サーバ４０の起動制御部５３は、携帯端末１０から受信した処理パケットによって特定される処理を、制御プログラムが起動させたデバイス等を用いて実行する（Ｓ１２２）。【００６６】
その後、携帯端末１０から処理終了を示すパケットが送信され、家庭用サーバ４０が行うべき処理がなくなると（Ｓ１２３とＳ１２４）、家庭用サーバ４０の起動制御部５３は、起動させたデバイス等を待機状態にする（Ｓ１２５）。続いて、起動制御部５３は、制御プログラムを終了する（Ｓ１２６）。この結果、家庭用サーバ４０は、省電力モードに再度遷移する（Ｓ１２７）。【００６７】
なお、制御パケット（ＰＫ１−ＰＫ４）で指示された処理内容が単純であり、携帯端末１０からの応答を得る必要がない場合は、家庭用サーバ４０はこの処理を完了したのち待機状態に入ることができる。たとえば、家電機器をＯｎ／Ｏｆｆするような指示の場合がある。【００６８】
（実施例１に係るフローチャート）
図８は、実施例１に係る家庭用サーバが実行する処理の流れを示すフローチャートである。図８に示すように、家庭用サーバ４０は、例えば所定期間パケットを受信しない、かつ、所定時間の間、実行すべき処理がない場合に、省電力モードに遷移する（Ｓ２０１）。【００６９】
家庭用サーバ４０が省電力モードの状態で、ルータ３０は、所定のポート番号のＵＤＰパケットを受信すると、このポート番号のパケットは家庭用サーバ４０に配信すべきであると判断し、家庭用サーバ４０に配信する。この結果、家庭用サーバ４０のＬＡＮユニット制御部４８は、所定の制御パケットを受信する（Ｓ２０２：Ｙｅｓ）。すると、認証処理部５１は、制御パケットに含まれるユーザＩＤとパスワードとを用いて、正常なユーザからのパケットか否かを認証する（Ｓ２０３）。なお、認証処理部５１は、制御パケットのオフセット「９４」の位置、すなわち、起動対象のデバイス等を指定する領域について暗号化等が行われている場合には、暗号鍵の検証やチェックデジットの検証を実行する。具体的には、ユーザごとにあらかじめ登録しておいた暗号鍵でオフセット「９４」以降を復号し、その結果に含まれるチェックデジットの値を検証する方法がある。【００７０】
そして、制御プログラム実行部５２は、登録ユーザであり、かつ、暗号鍵およびチェックデジットが正常である場合に（Ｓ２０４：Ｙｅｓ）、制御プログラムを実行する（Ｓ２０５）。なお、登録ユーザではなく、または、暗号鍵およびチェックデジットが正常ではない場合に（Ｓ２０４：Ｎｏ）、Ｓ２０１に戻って、以降の処理が繰り返される。【００７１】
その後、ＬＡＮユニット制御部４８は、ＵＤＰポート番号が指定された制御パケットを再度受信する（Ｓ２０６：Ｙｅｓ）。起動制御部５３は、制御パケットとリストＤＢ５０とから、起動対象を特定する（Ｓ２０７）。ここでは、デバイスＡが起動対象として特定されたものとする。【００７２】
続いて、起動制御部５３は、デバイスＡについて動作フラグを設定する（Ｓ２０８）。動作フラグを内部フラグとして設定するのは、複数のユーザがアクセスするとき、ＯＲ条件で動作を設定することによる。つまり、ユーザ１がデバイスＡ、デバイスＢを要求し、ユーザ２がデバイスＢ、デバイスＣを要求とする。この場合、起動制御部５３が、Ａ＋Ｂ＋Ｃを起動すると共に、ユーザ１が終了すればＡのみを待機状態に戻し、ユーザ２のみが終了すればＣのみを待機状態に戻すように制御するためである。実装例としては、ユーザが要求する、または不要としたデバイスの情報等を制御パケットから取得して内部フラグに反映させる。図６の例では制御パケットのオフセット「９４」の「function  flags」からこの情報を取得する。【００７３】
そして、起動制御部５３の指示を受けた制御プログラムは、デバイスＡに対して、リスト５０を参照して特定されるコマンドを実行し、デバイスＡを起動する（Ｓ２０９）。【００７４】
その後、ＬＡＮユニット制御部４８が具体的な処理内容を含む処理パケットを受信すると（Ｓ２１０：Ｙｅｓ）、制御プログラムまたはＣＰＵ４７は、処理パケットで特定される処理をデバイスＡに実行する（Ｓ２１１）。【００７５】
そして、ＬＡＮユニット制御部４８が処理終了を示す処理終了パケットを受信すると（Ｓ２１２：Ｙｅｓ）、ＣＰＵ４７は、デバイスＡを終了して待機状態に遷移させ（Ｓ２１３）、制御プログラムも終了させる（Ｓ２１４）。【００７６】
（従来シーケンス）
図９は、従来技術に係る処理の流れを示すシーケンス図である。ここでは、従来技術に係る家庭用サーバを家庭用サーバ１００として説明する。また、一例として、デバイスＺを起動させる例で説明する。図９に示すように、家庭用サーバ１００は、はじめ省電力モードで待機している（Ｓ３０１）。【００７７】
このような状態で、携帯端末１０は、中継サーバ２に対して、家庭用サーバ１００への通信経路（ＩＰアドレス等）を問い合わせるパケット（ＰＫ０）を送信する（Ｓ３０２とＳ３０３）。中継サーバ２は、携帯端末１０からの問い合わせに対して、家庭用サーバ１００へアクセスするためのＩＰアドレスとポート番号を応答する（Ｓ３０４とＳ３０５）。このＩＰアドレスは、通常ルータ３０が外部に対して持つグローバルＩＰアドレスである。【００７８】
そして、携帯端末１０は、家庭用サーバ１００を通常モードへ遷移させるＷＯＬパケットを生成し、この制御パケットを送信する。【００７９】
具体的には、携帯端末１０は、ＷＯＬパケット（ＰＫ１）を送信する（Ｓ３０６とＳ３０７）。このＷＯＬパケットを受信した家庭用サーバ１００は、制御プログラムの起動を開始する（Ｓ３０８）。【００８０】
所定時間後、携帯端末１０は、ＷＯＬパケット（ＰＫ２）を再び送信する（Ｓ３０９とＳ３１０）。家庭用サーバ１００は、既に制御プログラムの起動を開始しているので、ＰＫ２を無視する。【００８１】
さらに所定時間後、携帯端末１０は、ＷＯＬパケット（ＰＫ３）を再び送信する（Ｓ３１１とＳ３１２）。この場合も、家庭用サーバ１００は、既に制御プログラムの起動を開始しているので、ＰＫ３を無視する。【００８２】
その後、家庭用サーバ１００は、制御プログラムの起動が完了すると、制御プログラムの起動完了通知を中継サーバ２に送信し、中継サーバ２から携帯端末１０に送信する（Ｓ３１３〜Ｓ３１６）。この起動完了通知の受信を契機として、携帯端末１０は、外部からの操作を指示する要求パケット（ＰＫ４）を家庭用サーバ１００に送信する（Ｓ３１７とＳ３１８）。家庭用サーバ１００の内部ではこの指示に基づいて必要なデバイスの起動が要求される。この要求パケット（ＰＫ４）は、たとえば「ビデオデータを再生する」等の概略を指示するもので、再生ファイルやチャンネルを指示するような具体的なものではない。【００８３】
このように、家庭用サーバ１００は、起動要求パケット（ＰＫ４）を受信し、必要なデバイス等を起動する（Ｓ３１９）。その後、家庭用サーバ１００は、必要なデバイス等の起動が完了すると、準備完了通知を携帯端末１０に応答する（Ｓ３２０とＳ３２１）。【００８４】
そして、携帯端末１０は、デバイスＺを用いた具体的な処理内容を含む処理パケット（ＰＫ６）を家庭用サーバ１００に送信する（Ｓ３２２とＳ３２３）。家庭用サーバ１００は、処理パケット（ＰＫ６）で指定された処理を、Ｓ３１７で起動させたデバイスＺを用いて実行する（Ｓ３２４）。この処理パケット（ＰＫ６）は、準備できたデバイスＺ（たとえばＴＶチューナ）を利用する具体的な処理（たとえば０３１チャンネルを受信する）である。【００８５】
その後、携帯端末が終了指示を家庭用サーバ１００に送信すると（Ｓ３２５とＳ３２６）、家庭用サーバ１００は一連の処理で使用した全デバイスを終了する（Ｓ３２７）。その後、家庭用サーバ１００は、待機状態である省電力モードに遷移する（Ｓ３２８）。【００８６】
［効果］
このように、実施例１に係る家庭用サーバ４０は、ＷＯＬパケットを改良した制御パケットを用いることで、同一パケットを機械的に複数回送信される間に、制御プログラムや必要なデバイスを起動することができる。このため、家庭用サーバ４０は、待機状態にあるデバイス等の起動までの時間を短縮することができる。また、ユーザは家庭用サーバ４０の起動後直ちに制御プログラムやデバイスを起動するために、家庭用サーバ４０の起動をじっと待つ必要がないので、ユーザの利便性が向上する。【００８７】
また、図７と図９とを比較しても分かるように、従来技術では、携帯端末１０の側がＷＯＬパケットによって家庭用サーバ１００が起動完了したことを待って起動対象のデバイスを指示、さらに指示したデバイスが起動完了したことを待って具体的な処理要求を送信している。一方で、実施例１に係る携帯端末１０は、起動対象を含めた制御パケット、可能な場合は具体的な処理要求を含めた制御パケットを送信するだけで、制御プログラムや対象デバイスを起動できる。これにより、遠隔操作するために用いるパケットの種類を大幅に削減できる。したがって、ユーザの利便性が向上する。【００８８】
また、従来技術で応答速度を改善するためには、宅外からＷＯＬパケット（ＰＫ（１））を送って、家庭用サーバ４０を起動する際、家庭用サーバ４０に接続されて通常使用する可能性のある全デバイスを同時に起動している。起動目的つまりＷＯＬパケットを送出した側（携帯端末１０の側）の意図を知る手段が従来技術では取得できない。省電力の観点からは、ＣＰＵ部だけを起動した後に必要な部分だけを起動したいが、宅外のユーザに目的を問い合わせて対象部分を起動することを行うと、問い合わせと応答待ちで時間がかかる。一般に起動デバイスの数が多いと起動処理に時間がかかるので、対象デバイスだけを起動することができる実施例１に係る家庭用サーバ４０よりも起動時間がかかる。さらに、従来技術は、処理対象か否かに関らず、全デバイスの起動と終了を繰り返すので、デバイスの寿命も短くなる。これに比べて、実施例１に係る家庭用サーバ４０は、該当デバイスだけを起動することができるので、電源投入と遮断による劣化を抑制できる。
【実施例２】
【００８９】
実施例２では、ユーザのスケジュールに基づいて、利用可能性の高いデバイスを事前に起動させる技術を開示する。【００９０】
（機能構成）
図１０は、実施例２に係る家庭用サーバの機能構成を示す機能ブロック図である。図１０に示すように、家庭用サーバ８０は、ＬＡＮユニット制御部８１、ユーザＤＢ８２、リストＤＢ８３、スケジュールＤＢ８４を有する。また、家庭用サーバ８０は、認証処理部８５、起動制御部８６、推定部８７、スケジュール更新部８８を有する。【００９１】
なお、実施例１と同様の機能を実行する処理部、または、実施例１と同様の情報を記憶する記憶部については詳細な説明を省略する。具体的には、ＬＡＮユニット制御部８１は、図４に示したＬＡＮユニット制御部４８と同様の機能を実行する。ユーザＤＢ８２は、図４に示したユーザＤＢ４９と同様の情報を記憶する。リストＤＢ８３は、図４に示したリストＤＢ５０と同様の情報を記憶する。認証処理部８５は、図４に示した認証処理部５１と同様の機能を実行する。【００９２】
スケジュールＤＢ８４は、ユーザのスケジュールを記憶するデータベースである。図１１は、スケジュールＤＢに記憶される情報の例を示す図である。図１１に示すように、スケジュールＤＢ８４は、「時刻、予定」を対応付けて記憶する。ここで記憶される「時刻」は、スケジュールが実行される予定時刻を示し、「予定」は、ユーザが実行するスケジュールの予定を示す。図１１の例は、１２：００に○○寺院を観光し、１８：００には旅館に到着し、２０：００には旅館の部屋で寛ぐことが予定されていることを示している。【００９３】
ここで、実施例２では、スケジュールＤＢ８４が家庭用サーバ８０内に設けられる例で説明するが、これに限定されるものではない。例えば、スケジュールＤＢ８４は、家庭用サーバ４０が通信可能なインターネット上に設けられてもよい。また、後述するスケジュール更新部８８が、定期的にまたは更新があった場合に、インターネット上に設けられたストレージに記憶されるスケジュールを取得して、スケジュールＤＢ８４に格納してもよい。【００９４】
起動制御部８６は、図４に示した起動制御部５３と同様の機能を実行するとともに、推定部８７から通知されたデバイス等の起動を実行する処理部である。具体的には、起動制御部８６は、起動対象のデバイスのＩＤを推定部８７から受信し、受信したＩＤに対応するコマンドをリストＤＢ８３から特定して実行する。なお、起動制御部８６は、必要に応じて、チェックデジットや暗号鍵の認証を実行する。【００９５】
推定部８７は、制御パケットが受信された場合に、スケジュールＤＢ８４に記憶されるユーザのスケジュールに従って、起動される可能性が高いデバイスやアプリケーションを推定する処理部である。具体的には、推定部８７は、ＬＡＮユニット制御部８１によって制御パケットが受信された場合に、当該制御パケットの時刻をキーにしてスケジュールＤＢ８４を検索する。ここでは、「１２：００、○○寺院観光」が検索されたものとする。【００９６】
そして、推定部８７は、「○○寺院観光」からデジタルカメラによる写真撮影があり写真保存を行う可能性が高いと判断し、「１２：００、ＨＤＤ（ＩＤ＝４１）を起動」を起動制御部８６に通知する。起動制御部８６は、このようにして通知されたＩＤに基づいて起動コマンドを特定し、特定した起動コマンドを実行して、ＨＤＤを起動する。なお、ＩＤとデバイス等の対応付けは、推定部８７が予め保持していてもよく、他のＤＢに格納しておいてもよい。【００９７】
ここで、スケジュールの予定の内容から起動対象を特定する一例を説明する。例えば、推定部８７は、キーワードとデバイス等を対応付けておくことで、スケジュールの予定から起動対象のデバイス等を特定することができる。具体的には、推定部８７は、「キーワード、デバイス等」として「撮影、ＨＤＤ（ＩＤ＝４１）」、「リアルタイム、ＳＮＳアプリ（ＩＤ＝９０）」、「録画／寛ぐ、ＨＤＤ（ＩＤ＝４１）／録画アプリケーション（ＩＤ＝８８）」などの対応付け情報を保持しておく。【００９８】
そして、推定部８７は、スケジュールＤＢ８４の「予定」に記憶される文章等を読み込んで形態素解析等を実行し、単語を抽出する。その後、推定部８７は、抽出した各単語をキーにして、上記対応付け情報を検索する。ここで、推定部８７は、該当するデバイスとして「ＨＤＤ（ＩＤ＝４１）／録画アプリケーション（ＩＤ＝８８）」特定したとすると、ＩＤ＝４１とＩＤ＝８８を起動制御部８６に通知する。【００９９】
なお、ここで説明した手法はあくまで例示であり、本実施例がこれに限定されるものではなく、公知の文字認識技術等を採用することができる。また、上述した起動制御部８６および推定部８７の実装例を説明すると、制御プログラムが、家庭用サーバ８０の省電力モードから起動した後、スケジュールに基づいて、使用される可能性の高いデバイス等の推定を実行する。そして、別の制御プログラムが、推定されたデバイス等を実行する。【０１００】
図１０に戻り、スケジュール更新部８８は、スケジュールＤＢ８４を更新する処理部である。具体的には、スケジュール更新部８８は、携帯端末１０等からのアクセスを受け付けてスケジュールＤＢ８４を更新する。また、スケジュール更新部８８は、インターネット上のストレージ等からスケジュールを読み込み、読み込んだスケジュールでスケジュールＤＢ８４を更新する。【０１０１】
（処理の流れ）
図１２は、実施例２に係るデバイス等の推定処理の流れを示すフローチャートである。図１２に示すように、推定部８７は、所定のポート番号のＵＤＰパケットが受信されると（Ｓ４０１：Ｙｅｓ）、受信時刻をキーにしてスケジュールを参照する（Ｓ４０２）。そして、推定部８７は、受信時刻から所定時間内に発生するスケジュールがあるか否か、すなわち、実行が近いスケジュールがあるか否かを判定する（Ｓ４０３）。【０１０２】
そして、推定部８７は、実行が近いスケジュールがある場合（Ｓ４０３：Ｙｅｓ）、該当するスケジュールの「予定」を読み込んで、起動される可能性の高いデバイス等の推定を実行する（Ｓ４０４）。【０１０３】
その後、デバイス等を推定すると、推定部８７は、例えばコマンド発行履歴や各デバイス等の電源状態等から、推定されたデバイス等が未起動か否かを判定する（Ｓ４０５）。そして、推定部８７によって、推定されたデバイス等が未起動と判定された場合に（Ｓ４０５：Ｙｅｓ）、認証処理部８５は、受信パケットに含まれるユーザＩＤとパスワードとを用いて、正常なユーザからのパケットか否かを認証する（Ｓ４０６）。【０１０４】
続いて、起動制御部８６は、登録ユーザであり、かつ、暗号鍵およびチェックデジットが正常である場合に（Ｓ４０７：Ｙｅｓ）、推定されたデバイスを起動する（Ｓ４０８）。例えば、実装例で説明すると、ＣＰＵが実行する制御プログラムＡが、推定されたデバイスの動作フラグをＯＮに設定し、ＣＰＵが実行する別の制御プログラムＢが、動作フラグがＯＮに設定されたデバイスを起動させる。【０１０５】
なお、Ｓ４０３において、実行が近いスケジュールがない場合（Ｓ４０３：Ｎｏ）、Ｓ４０３の後にＳ４０６が実行される。また、推定部８７によって、推定されたデバイス等が起動済みと判定された場合に（Ｓ４０５：Ｎｏ）、Ｓ４０１に戻って以降の処理が繰り返される。同様に、登録ユーザでなはない、または、暗号鍵やチェックデジットが正常ではない場合に（Ｓ４０７：Ｎｏ）、Ｓ４０１に戻って以降の処理が繰り返される。【０１０６】
（効果）
このように、実施例２に係る家庭用サーバ８０は、ユーザがデバイスまたはアプリケーションを使用するスケジュールを参照し、次に起動されるデバイスまたはアプリケーションを推定することもできる。また、家庭用サーバ８０は、長時間の停電で宅内端末のメモリのデータが失われても、再起動によって正常な動作に戻ることができる。【０１０７】
例えば、スケジュール例としては、「１２時頃に景勝地へ到着し、撮影する。１８時頃には宿について、２０時頃はくつろいでいる」とある場合を例に説明する。家庭用サーバ８０は、１２時ごろの起動要求に対しては撮影データを受信し保存するためにアプリＡを実行しＮＡＳを起動する。２０時頃の起動要求には、自宅付近で受信できるローカルＴＶ局の番組を宿から視聴できるようにＴＶチューナや録画用ＨＤＤを起動する、といった制御を行うことができる。【０１０８】
このように、家庭用サーバ８０は、スケジュールを用いることで、ユーザの利用予定を把握することができ、より妥当な動作を行うことができる。また、交通事情などにより予定通りに行動できない場合であっても、スケジュールに記された順番や時間間隔を元に、次回の操作内容や概略の時刻を推定することができる。一例として、家庭用サーバ８０は、９時に宿を出発する予定であるのにそれが遅れ、１０時近くまで宿からアクセスがあったとする。このとき、家庭用サーバ８０は、次の景勝地に到着する予定時刻が１２時頃であった場合、これを１３時頃と読み替えることができる。【０１０９】
このようにして家庭用サーバ８０は、次に利用される可能性の高いデバイス等を予想しておいて、実際に起動要求が届くまでに、前もって起動させておいたり、待機状態にしておいて実際の起動要求の時点で高速起動するように準備しておくことができる。【０１１０】
なお、実施例２では、制御パケットを契機にして推定する例を説明したが、これに限定されるものではない。例えば、推定部８７は、スケジュールＤＢ８４を定期的に参照し、参照した現在時刻から所定時間内に実行されるスケジュールを検索した場合に、上述したような推定処理を実行することもできる。
【実施例３】
【０１１１】
実施例３では、受信パケット数の統計を計数し、統計に基づいて家庭用サーバ自身やデバイス等の起動や停止を行う技術を開示する。【０１１２】
図１３は、実施例３に係る家庭用サーバが実行する処理の流れを示すフローチャートである。図１３に示すように、家庭用サーバ４０のＣＰＵ４７は、家庭用サーバ４０のＬＡＮユニット４１に受信されるパケットのヘッダを監視し、ＴＣＰパケットやＲＴＰ（Real−time  Transport  Protocol）パケットを計数する（Ｓ６０１）。そして、家庭用サーバ４０のＣＰＵ４７は、統計ＤＢを生成する（Ｓ６０２）。【０１１３】
ここで、家庭用サーバ４０は、パケットに含まれる送信元ＩＰアドレスや宛先ポート番号、送信されたデータの種類や量、内容を確認し、ポート番号やパケット種別ごとに計量する機能を有する。【０１１４】
続いて、家庭用サーバ４０のＣＰＵ４７は、特定のポート番号や特定のパケット種別のパケット数が所定の閾値に到達すると（Ｓ６０３：Ｙｅｓ）、これに対応する遠隔操作可能なデバイス等を選択する（Ｓ６０４）。具体的には、ＣＰＵ４７は、リストＤＢ５０等に記憶されるデバイスを選択して起動状態にする。なお、所定の閾値に到達しない場合には（Ｓ６０３：Ｎｏ）、Ｓ６０１に戻って以降の処理が繰り返される。【０１１５】
具体的な実装例は次のようなものである。家庭用サーバ４０のＣＰＵ４７は、あるデバイス等に関連付けられるパケット種別ついて過去１０秒間で受信されたパケット数から、１秒間の平均パケット数（Ｍ）を算出し（Ｓ６０５）、平均パケット数（Ｍ）が閾値（Ｎ１）より大きいか否かを判定する（Ｓ６０６）。なお、平均ではなく、１０秒間ないし直近の１秒間でのパケット総数を別の閾値と比較してもよい。【０１１６】
そして、家庭用サーバ４０のＣＰＵ４７は、平均パケット数（Ｍ）が閾値（Ｎ１）より大きい場合（Ｓ６０６：Ｙｅｓ）、選択中のデバイス等の動作フラグをＯＮに設定する（Ｓ６０７）。一方、家庭用サーバ４０のＣＰＵ４７は、平均パケット数（Ｍ）が閾値（Ｎ０）以下の場合（Ｓ６０６：Ｎｏ）、選択中のデバイス等の動作フラグをＯＦＦに設定する（Ｓ６０８）。【０１１７】
別の制御プログラムは、設定された動作フラグにしたがって、各デバイス等を起動する（Ｓ６０９）。例えば、ＣＰＵ４７は、動作フラグがＯＮに設定されたデバイスのうち、未起動のデバイスを起動する。また、ＣＰＵ４７は、動作フラグがＯＦＦに設定されたデバイスのうち、起動済みのデバイスについては停止する。【０１１８】
このように、実施例３に係る家庭用サーバ４０は、携帯端末１０等が送信したパケットの統計に基づいて、デバイス等の起動や停止を制御する。この結果、家庭用サーバ４０は、使用頻度の高いデバイス等を起動し、使用頻度の低いデバイス等を停止することができる。したがって、実施例３に係る家庭用サーバ４０は、消費電力を抑制することができる。
【実施例４】
【０１１９】
ところで、近年のノートパソコン等は、電源アダプタからの電力供給時には高速に動作し、電源アダプタからの電力供給がない時には低速に動作する制御が行われる。このことを応用して、前実施例を効果的に実装することができる。実施例４は、このような実施例であり、家庭用サーバ４０が、ノートパソコンである場合などを想定し、受信パケット量に基づいて、電源アダプタからの電力供給を制御する例である。以下にこれを説明する。【０１２０】
（構成）
図１４は、実施例４に係る家庭用サーバを含むシステムの全体構成例を示す図である。図１４に示すように、家庭用サーバ４０は、電源ユニット４０ａとＬＡＮユニット４１とタイマー４０ｂとを有する。ここでは、説明を簡略化するために、電源ユニット４０ａとＬＡＮユニット４１とタイマー４０ｂとＣＰＵ４７とを図示したが、家庭用サーバ４０は、実施例１と同様のハードウェアを有するものとする。【０１２１】
電源ユニット４０ａは、内蔵電池またはこれに相当する自己電源を包含し、監視ユニット１１０を介して電源アダプタ１２０に接続される。また、ＬＡＮユニット４１は、監視ユニット１１０を介してスイッチ２０ａと接続される。電源アダプタ１２０は、電源ユニット４０ａへ電力を供給する電力源である。スイッチ２０ａは、外部装置と家庭用サーバ４０との間のパケットを中継する中継装置である。【０１２２】
監視ユニット１１０は、条件により電源アダプタ１２０から電源ユニット４０ａへの電力供給を制御する処理部である。これはノートＰＣの外部電源を制御する装置として機能する。即ち、ＬＡＮポートのケーブルを仲介するとともに、電源アダプタからの電源ケーブルを仲介している。そして、監視ユニット１１０は、スイッチ２０ａからＬＡＮユニット４１へのＩＰ通信パケットを監視し、パケット種別や、パケット数を計数する処理部である。監視ユニット１１０は、独自にＣＰＵとこの動作に関わるメモリ等を持ち、プログラムされた制御処理を実行することができるように構成する。【０１２３】
また、最近のノートＰＣは内蔵電池の残容量を監視し、容量低下したときに所定の動作を行う機構を有する。通常の使用例ではＰＣを低電力モードや待機状態に遷移することが行われているが、特定のプログラムを実行することもできる。本実施例を適用する場合、ＰＣ（すなわち図１６における家庭用サーバ４０）は、電源ユニット４０ａが内蔵する内蔵電池の残容量が低下したときこれを検出して、本実施例に対応するためのプログラムにより所定のＩＰパケットをＬＡＮユニット４１から送出する。このＩＰパケットは、監視ユニット１１０が識別して、監視ユニット１１０が、家庭用サーバ４０の内蔵電池を充電するために電源供給する必要があると判断する。これは、本発明を実施することから生じる自然な実装であり、本発明による自然な効果のひとつである。【０１２４】
（フローチャート）
図１５は、実施例４に係る、監視ユニットが行う電源処理の流れを示すフローチャートである。図１５に示すように、監視ユニット１１０のＣＰＵは、ＬＡＮユニット４１がパケットを送受信すると（Ｓ７０１：Ｙｅｓ）、当該パケットのヘッダやペイロード等を参照し、当該パケットが電源ＯＮを要求するパケットか否かを判定する（Ｓ７０２）。【０１２５】
具体的には、音声やビデオデータを送信する際に使われるＲＴＰ（Real−time  Transport  Protocol）パケットや、これを監視・制御するためのＲＴＣＰ（RTP  Control  Protocol）パケットを識別して監視することや、単に特定ポート番号に対するＵＤＰ／ＴＣＰパケットの通信量を監視することが考えられる。【０１２６】
監視ユニット１１０のＣＰＵは、ＬＡＮユニット４１とスイッチ（ハブ、ルータ）２０ａの間で行われるＩＰ通信を監視する。当該ＣＰＵは、ＬＡＮユニット４１から送信されたパケットが、家庭用サーバ４０が内蔵電池の残容量低下を検出したことを示す所定のＩＰパケットであったとき（Ｓ７０２：Ｙｅｓ）、タイマー４０ｂを起動する（Ｓ７０３）。例えば、ＣＰＵ４７は、３０分などのタイマーを設定する。【０１２７】
さらに、監視ユニット１１０のＣＰＵは、家庭用サーバ４０に期待される機能に関わる通信パケットを監視する。ビデオデータの送受信を行う場合、外部からの通信パケットや通信要求パケットがＲＴＰやＲＴＣＰパケットとして送られることが考えられる。以下、ＲＴＰパケットやＲＴＣＰパケットを監視しているものとして説明する。これは実装の一例であって限定するものではない。現実的な実装例としては、家庭用サーバ４０からの指示によって定義や変更ができるものが考えられる。【０１２８】
一方、監視ユニット１１０のＣＰＵは、パケットが電源ＯＮを要求するパケットでない場合（Ｓ７０２：Ｎｏ）、ＲＴＰやＲＴＣＰなどの通信パケットを監視対象パケットとしてパケット量を監視・計数し、過去３０秒間に送受信されたパケット量が閾値（Ｄ１）以上か否かを判定する（Ｓ７０４）。【０１２９】
そして、監視ユニット１１０のＣＰＵは、過去３０秒間に送受信されたパケット量が閾値（Ｄ１）以上である場合（Ｓ７０４：Ｙｅｓ）、電源フラグをＯＮに設定する（Ｓ７０５）。一方、監視ユニット１１０のＣＰＵは、過去３０秒間に送受信されたパケット量が閾値（Ｄ１）未満である場合（Ｓ７０４：Ｎｏ）、過去３０秒間に送受信されたパケット量が閾値（Ｄ２）未満か否かを判定する（Ｓ７０６）。なお、ここでは、Ｄ１＞Ｄ２とする。【０１３０】
監視ユニット１１０のＣＰＵは、過去３０秒間に送受信されたパケット量が閾値（Ｄ２）未満である場合（Ｓ７０６：Ｙｅｓ）、電源フラグをＯＦＦに設定する（Ｓ７０７）。【０１３１】
過去３０秒間に送受信されたパケット量が閾値（Ｄ２）未満ではない場合（Ｓ７０６：Ｎｏ）、または、Ｓ７０７が実行された後、監視ユニット１１０のＣＰＵは、電源フラグがＯＮまたは電源タイマーが０である場合に（Ｓ７０８：Ｙｅｓ）、電源アダプタ１２０と電源ユニット４０ａとの接続をＯＮにして、電源アダプタ１２０からの電源供給を開始する（Ｓ７０９）。【０１３２】
一方、監視ユニット１１０のＣＰＵは、電源フラグがＯＮでもなく、電源タイマーが０でもない場合に（Ｓ７０８：Ｎｏ）、電源アダプタ１２０と電源ユニット４０ａとの接続をＯＦＦにして、電源アダプタ１２０からの電源供給を抑制する（Ｓ７１０）。この結果、家庭用サーバ４０は、内蔵電池で動作する。【０１３３】
（効果）
このように、実施例４に係る家庭用サーバ４０は、電源供給を要求するパケットが送受信されていない間は、監視ユニット１１０によって、パケットの流量によって電源アダプタからの電力供給を制御できる。この結果、家庭用サーバ４０は、省電力モードへ遷移可能なタイミングを早期に検出して、早期に省電力モードへ遷移することができる。なお、通常、ノートパソコンなどで、電池の容量低下時に割り込みやイベントを発生させることができる。したがって、実施例４に係る家庭用サーバは、このようなイベントを発生させる通信パケットを送信することで、電源アダプタ１２０からの電力供給を開始できる。
【実施例５】
【０１３４】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。【０１３５】
（パケット）
上記実施例では、ＷＯＬパケットを改良した制御パケットを例にして説明したが、これに限定されるものではない。実際、ＷＯＬパケットでない通信パケット、例えばＡＲＰ（Address  Resolution  Protocol）要求パケットをシステム起動に使う技術を開示する先行知例がある。このようなシステムで利用可能な独自のパケットを用いることもできる。【０１３６】
（実施例の組み合わせ）
また、各実施例では、各々が個別に実行することができるとともに、各実施例を組み合わせて実行することもできる。例えば、実施例２や実施例３は、実施例１で制御プログラムを起動した状態の家庭用サーバに適用することもできる。また、実施例３は、実施例２の機能を実行する家庭用サーバに適用することもできる。つまり、実施例２から実施例４は、実施例１の制御プログラムを用いてデバイス等を起動することもできる。【０１３７】
（対象機器）
また、各実施例では、主としてデバイスを起動または停止する例を説明したが、これに限定されるものではない。例えば、コマンドベースで制御可能なアプリケーション、処理、機能なども制御対象として、同様に処理することができる。この場合、消費電力やデバイスごとの寿命における改善は少ないが、携帯端末を操作するユーザからみた応答に要する時間や操作性が改善する効果がある。【０１３８】
（システム）
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。
【符号の説明】
【０１３９】
４０  家庭用サーバ
４１  ＬＡＮユニット
４２  光学ドライブ装置
４３  グラフィックインタフェース
４４  ＨＤＤ
４５  ＵＳＢインタフェース
４６  ＲＡＭ
４７  ＣＰＵ
４８、８１  ＬＡＮユニット制御部
４９、８２  ユーザＤＢ
５０、８３  リストＤＢ
５１、８５  認証処理部
５２  制御プログラム実行部
５３、８６  起動制御部
８４  スケジュールＤＢ
８７  推定部
８８  スケジュール更新部
【図１】
0006036983.tif 000002
【図２】
0006036983.tif 000003
【図３】
0006036983.tif 000004
【図４】
0006036983.tif 000005
【図５】
0006036983.tif 000006
【図６】
0006036983.tif 000007
【図７】
0006036983.tif 000008
【図８】
0006036983.tif 000009
【図９】
0006036983.tif 000010
【図１０】
0006036983.tif 000011
【図１１】
0006036983.tif 000012
【図１２】
0006036983.tif 000013
【図１３】
0006036983.tif 000014
【図１４】
0006036983.tif 000015
【図１５】
0006036983.tif 000016