JP6036983B2 - 情報処理装置および起動制御プログラム - Google Patents

情報処理装置および起動制御プログラム Download PDF

Info

Publication number
JP6036983B2
JP6036983B2 JP2015502684A JP2015502684A JP6036983B2 JP 6036983 B2 JP6036983 B2 JP 6036983B2 JP 2015502684 A JP2015502684 A JP 2015502684A JP 2015502684 A JP2015502684 A JP 2015502684A JP 6036983 B2 JP6036983 B2 JP 6036983B2
Authority
JP
Japan
Prior art keywords
unit
control
packet
home server
control program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2015502684A
Other languages
English (en)
Other versions
JPWO2014132428A1 (ja
Inventor
内田 好昭
好昭 内田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Application granted granted Critical
Publication of JP6036983B2 publication Critical patent/JP6036983B2/ja
Publication of JPWO2014132428A1 publication Critical patent/JPWO2014132428A1/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2814Exchanging control software or macros for controlling appliance services in a home automation network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3209Monitoring remote activity, e.g. over telephone lines or network connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/2818Controlling appliance services of a home automation network by calling their functionalities from a device located outside both the home and the home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Telephonic Communication Services (AREA)
  • Power Sources (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、情報処理装置および起動制御プログラムに関する。
近年、家庭用のパーソナルコンピュータ(以下、家庭用サーバと記載する場合がある)をサーバとして利用し、スマートフォンや携帯型パソコンなどの可搬端末から自宅のサーバにアクセスすることが一般的に行われている。
この場合、外部から家庭用サーバに常時アクセス可能な状態にするために、家庭用サーバを常時通電状態にすることが考えられる。ところが、家庭用サーバは、24時間運用を想定した設計になっていないことが多いので、通電による寿命や安全性の面で不安がある。一方で、家庭用サーバをこのような用途で利用する場合、ユーザ数は少なく、アクセス頻度も低いことが多い。
一方で、家庭用サーバを省電力モードにして運用する技術が知られている。例えば、家庭用サーバが、ユーザが作成したスケジュール情報や電池の残容量に応じて省電力モードを切り替える技術が知られている。
また、家庭用サーバを、待機時は省電力もしくは停止状態にし、WOL(Wake On Lan)パケットを受信した場合に家庭用サーバの電源を投入して通常動作状態にする技術がある。また、赤外線リモコンなどの信号や、各種センサによって家庭用サーバに対してユーザが操作したり、ユーザが近づいたことを検出して、省電力モードを解除する技術がある。家庭用サーバが通常動作状態になった後、内蔵するデバイスや外部接続される各電子機器へ電源を投入・遮断して適切な電力モードにすることになる。
特開2012−080562号公報 特開平11−345051号公報 特開2004−110455号公報 特開2010−154318号公報 特開2004−334585号公報
しかしながら、上記技術では、ネットワーク内のサーバを遠隔で操作する際の利便性が悪いという問題がある。
例えば、ネットワーク内のサーバは、省電力モードの状態からWOLパケットを携帯端末から受信した場合、当該サーバが有する内蔵デバイスや当該サーバと接続される外部デバイスの全てを起動させる。このため、サーバの起動まで時間がかかる。また、携帯端末は、サーバの全デバイスが起動した後でなければ、具体的な処理内容を含むパケットを送信できない。このため、ユーザが家庭用サーバの状態を的確に把握しなければならず、省電力モードから特定の機能を実行する際の利便性はよくない。
ユーザは家庭用サーバが起動したか否かの状態を的確に把握してから処理内容を送出する必要がある。このように、携帯端末からWOLパケットを送出してからの応答が悪く、ユーザが家庭用サーバの状態を把握する必要があることから、省電力モードから特定の機能を実行する際の利便性が悪い。
開示の技術は、上記に鑑みてなされたものであって、ネットワーク内のサーバを遠隔で操作する際の利便性を向上させることができる情報処理装置および起動制御プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明にかかる情報処理装置は、機能を制限する省電力モードの状態で、起動対象のデバイスまたはアプリケーションを示す制御情報を含む制御パケットを所定時間内で任意の回数を受信する受信部を有する。また、情報処理装置は、前記受信部によって前記制御パケットが受信された場合に、各デバイスまたは各アプリケーションを起動させる制御プログラムを起動させる第1起動制御部を有する。また、情報処理装置は、前記第1起動制御部によって前記制御プログラムが起動された後に、前記受信部が前記制御パケットを受信した場合に、該制御パケットの前記制御情報で特定される前記起動対象のデバイスまたはアプリケーションを、前記制御プログラムによって起動させる第2起動制御部を有する。
本発明にかかる情報処理装置および起動制御プログラムは、ネットワーク内のサーバを遠隔で操作する際の利便性を向上させることができるという効果を奏する。
図1は、実施例1に係るシステムの全体構成例を示す図である。 図2は、実施例1に係る携帯端末の構成を示すハードウェア構成図である。 図3は、家庭用サーバのハードウェア構成および家庭用サーバに接続されるデバイスの例を示す図である。 図4は、実施例1に係る家庭用サーバの機能構成を示す機能ブロック図である。 図5は、リストDBに記憶される情報の例を示す図である。 図6は、実施例1に係る制御パケットを説明する図である。 図7は、実施例1に係る処理の流れを示すシーケンス図である。 図8は、実施例1に係る家庭用サーバが実行する処理の流れを示すフローチャートである。 図9は、従来技術に係る処理の流れを示すシーケンス図である。 図10は、実施例2に係る家庭用サーバの機能構成を示す機能ブロック図である。 図11は、スケジュールDBに記憶される情報の例を示す図である。 図12は、実施例2に係るデバイス等の推定処理の流れを示すフローチャートである。 図13は、実施例3に係る家庭用サーバが実行する処理の流れを示すフローチャートである。 図14は、実施例4に係る家庭用サーバを含むシステムの全体構成例を示す図である。 図15は、実施例4に係る、監視ユニットが行う電源処理の流れを示すフローチャートである。
以下に、本発明にかかる情報処理装置および起動制御プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
[全体構成]
図1は、実施例1に係るシステムの全体構成例を示す図である。図1に示すように、このシステムは、中継サーバ2と、携帯端末10と、家庭内LAN20とが、インターネット1などのネットワークを介して接続される。
携帯端末10は、ユーザが保持して利用する可搬端末の一例である。家庭内LAN20は、携帯端末10のユーザが所有するネットワークの一例である。家庭内LAN20は、ルータ30と家庭用サーバ40とを有する。なお、家庭内LAN20は、図示した以外にも、様々なデバイス等を有していてもよい。また、家庭内LAN20の各デバイス等には、IP(Internet Protocol)アドレスが割り与えられており、家庭内LANのデバイス間で通信することができる。通常、ここで割り与えられるIPアドレスは、プライベートIPアドレスである。また、グローバルアドレスを持つルータ30を介して外部との間で通信することができる。
ルータ30は、ルーティングやNAT(Network Address Translation)変換を実行して、家庭内LANのデバイス間または家庭内LANのデバイスと外部装置との間で通信を中継する。例えば、ルータ30は、自身が持つグローバルIPアドレスに送られたパケットを、家庭用サーバ40に割り当てたプライベートIPアドレス宛に変換することにより、家庭用サーバ40と携帯端末10との間の通信を中継する。
家庭用サーバ40は、携帯端末10のユーザが利用する家庭用サーバの一例であり、携帯端末10などの可搬端末からアクセスを受け付けて、各種処理を実行する。また、家庭用サーバ40は、例えば一定期間パケットの送受信が発生しなかった場合など、実行すべき処理が存在しない期間が続いた場合に、省電力モードに遷移する。この省電力モードでは、家庭用サーバ40は、LANインタフェースなどの最低限のデバイスについて電力を供給し、その他の内蔵デバイス、アプリケーション、外部デバイス等の電源供給を抑制する。
中継サーバ2は、可搬端末からのパケットを中継するために、ユーザが利用する家庭用サーバへアクセスするための経路(特にグルーバルIPアドレス等)を管理するサーバの一例である。例えば、中継サーバ2は、家庭用サーバ40がつながるルータ30のグローバルIPアドレスと家庭用サーバ40へアクセスするためのポート番号を保持する。そして、中継サーバ2は、携帯端末10からIPアドレスの問い合わせを受信した場合に、このIPアドレスとポート番号を応答する。中継サーバ2は、家庭用サーバ40自身がグローバルIPアドレスを持つ場合は、これを保持し、携帯端末10に対して応答する。
このような状態において、家庭用サーバ40は、機能を制限する省電力モードの状態で、携帯端末10から、起動対象のデバイスまたはアプリケーションを示す制御情報を含む制御パケットを複数受信する。このとき、家庭用サーバ40は、制御パケットを最初に受信した際に、サーバ自身を起動させる。この結果、家庭用サーバ40は、携帯端末10から要求される処理に応じて必要となる各デバイスまたは各アプリケーションを起動する準備を行う。具体的には、家庭用サーバ40は、これらを起動させる機能をもつ制御プログラムを起動する。その後、家庭用サーバ40は、制御プログラムが起動された後に、携帯端末10からの制御パケットを受信すると、該制御パケットの制御情報で特定される起動対象のデバイスまたはアプリケーションを、制御プログラムによって起動させる。このとき、携帯端末10での処理は、同一の制御パケットを繰り返し送出するのみであることに注意する。
このように、家庭用サーバ40は、電源投入と起動対象を含む制御パケットなどの制御パケットを繰返し受信し、初回に制御プログラムを起動し、制御プログラム起動後の受信時に制御プログラムが起動対象を起動させる。この結果、家庭用サーバ40は、省電力モードから特定の機能を実行する際の利便性を向上させることができる。
[各装置の構成]
次に、図1に示した各装置の構成について説明する。なお、中継サーバ2は、一般的なDNS(Domain Name System)サーバやDHCP(Dynamic Host Configuration Protocol)サーバと同様の機能構成を有し、ルータ30は、一般的なルータと同様の機能構成を有する。このため、ここでは、携帯端末10と家庭用サーバ40について説明する。
(携帯端末の構成)
図2は、実施例1に係る携帯端末の構成を示すハードウェア構成図である。図2に示すように、携帯端末10は、アンテナ11、無線部12、オーディオ入出力部13、表示部14、記憶部15、CPU(Central Processing Unit)16、操作部17を有する。
アンテナ11は、無線電波を送受信する。無線部12は、アンテナ11を介して、無線通信を実行する処理部である。オーディオ入出力部13は、音声の入力や出力を実行する処理部である。表示部14は、各種情報を表示する表示装置であり、例えばディスプレイやタッチパネルである。
記憶部15は、メモリやハードディスクなどの記憶装置であり、各種プログラムを実行する。CPU16は、携帯端末10の全体を司る処理部であり、記憶部15から該当プログラムを読み出して実行する。
例えば、CPU16は、ユーザから起動対象の指定を受け付ける。そして、CPU16は、当該起動対象として指定されたデバイスやアプリケーションを識別する識別子を付加した制御パケットを生成して、家庭用サーバ40に送信する。本発明が想定する状況では、家庭用サーバ40が停止状態のときに制御パケットを送信するので、家庭用サーバ40からの応答を期待できないことがある。このためTCP(Transmission Control Protocol)でなくUDP(User Datagram Protocol)で送信できることは重要である。CPU16は、UDPを用いて制御パケットを送信することができる。その場合、CPU16は、例えば2分間、20秒間間隔で制御パケットを送信する。なお、以下では、デバイスやアプリケーションを含めて「デバイス等」と記載する場合ある。
また、CPU16は、上記識別子とともに具体的な処理内容を含む処理パケットを生成して、家庭用サーバ40に送信することもできる。このときも同様に、CPU16は、UDPを用いて処理パケットを送信することができる。その場合、CPU16は、例えば3分間、15秒間間隔で処理パケットを送信する。なお、ここで示した時間はあくまで例示である。なお、CPU16は、図7に示すように中継サーバに家庭用サーバに通信するためのIPアドレスを問い合わせて、これを用いて処理パケットを家庭用サーバ40に送信する。したがって、CPU16は、家庭用サーバ40に対して処理パケットを送信することができる。
操作部17は、表示部14等を介してユーザの操作を受け付ける処理部である。例えば、操作部17は、キーボード、マウス、タッチパネルなどを操作したユーザ操作を受け付けて、受け付けた操作情報をCPU16に出力する。
(家庭用サーバの構成)
図3は、家庭用サーバのハードウェア構成および家庭用サーバに接続されるデバイスの例を示す図である。図3に示すように、家庭用サーバ40は、LANユニット41、光学ドライブ装置42、グラフィックインタフェース43、HDD(Hard Disk Drive)44、USB(Universal Serial Bus)インタフェース45を有する。さらに、家庭用サーバ40は、RAM(Random Access Memory)46、CPU47を有する。
なお、家庭用サーバ40が有する内蔵デバイスや家庭用サーバ40の外部にある外部デバイスには、それぞれLANの内部で一意なIPアドレスが割当てられている。このIPアドレスによって、宛先となるデバイス、すなわち処理対象のデバイスを特定することができる。
LANユニット41は、他の装置と通信を実行するインタフェースである。LANユニット41は、スイッチ20aを介してルータ30と接続され、スイッチ20aおよびルータ30を介して家庭内LAN20外の装置と通信を実行する。また、LANユニット41は、スイッチ20aを介して、家庭内LAN20内のNAS(Network Attached Storage)20bと接続され、NAS20bとの間でデータの送受信を実行する。
光学ドライブ装置42は、CD(Compact Disc)、DVD(Digital Versatile Disc)、BD(Blu−ray Disc)などの光ディスクを読み込んで、光ディスクにデータを書き込んだり、光ディスクからデータを読み出したりするドライブ装置である。
グラフィックインタフェース43は、ディスプレイやタッチパネルなどの表示装置に接続されるインタフェースである。HDD44は、プログラムやデータベースを記憶する記憶装置であり、例えば、各デバイスまたは各アプリケーションを起動させる制御プログラムを記憶する。
USBインタフェース45は、家庭用サーバ40と家庭内LAN20内の他のデバイスとを接続するインタフェースである。例えば、USBインタフェース45は、カメラ20c、マウス20d、キーボード20e、録画装置20f、テレビ20gと接続される。
RAM46は、半導体素子を利用した記憶装置であり、家庭用サーバ40のメインメモリである。CPU47は、家庭用サーバ40の全体を司る処理部である。CPU47は、HDD44からプログラムを読み出してRAM46に展開し、各種プロセスを実行する。例えば、CPU47は、図4等を用いて説明する各処理部を実行するプログラムを読み出してRAM46に展開し、各種プロセスを実行する。また、CPU47は、HDD44から制御プログラムを読み出してRAM46に展開して実行する。
また、CPU47は、家庭用サーバ40に内蔵されるデバイス、HDD44等に記憶されるアプリケーションプログラム、USBインタフェース45やLANユニット41と接続されるデバイス起動させる制御プログラムを実行する。また、CPU47は、制御プログラムの実行を操作して、各種デバイスやアプリケーションを制御する。
家庭用サーバ40が省電力モードの状態では、CPU47は、高速起動に備えた待機状態すなわち低電力状態にあり、RAMを除くその他の周辺機器は、電源が供給されず待機状態となる。なお、CPU47は、クロック周波数を変更したり、回路の一部をdisableすることができ、性能とのトレードオフで消費電力を抑えることもできる。
(家庭用サーバの機能構成)
図4は、実施例1に係る家庭用サーバの機能構成を示す機能ブロック図である。図4に示すように、家庭用サーバ40は、LANユニット制御部48、ユーザDB49、リストDB50、認証処理部51、制御プログラム実行部52、起動制御部53を有する。
なお、LANユニット制御部48は、図3で示したLANユニット41が実現する処理部であり、ユーザDB49とリストDB50は、HDD44に記憶されるデータベースである。認証処理部51、制御プログラム実行部52、起動制御部53は、CPU47が実行プログラムによって実現される処理部であり、省電力モードでも実行可能な処理部である。
LANユニット制御部48は、機能を制限する省電力モードの状態で、起動対象のデバイスまたはアプリケーションを示す制御情報を含む制御パケットを所定時間内で複数受信する。すなわち、LANユニット制御部48は、UDPポート番号が指定された制御パケットを複数受信する。そして、LANユニット制御部48は、制御パケットを受信した場合に、認証処理部51に制御パケットを出力する。制御パケットの受信間隔が長い場合、ひとつの制御パケットによって家庭用サーバが起動したのちに一定期間制御パケットが届かないままであると、家庭用サーバは再び省電力モード(待機状態)になることがあるが本実施例ではこのような長い間隔は想定しない。
なお、LANユニット制御部48は、制御パケット以外の各種パケットを受信して、宛先のアプリケーション等へ出力する処理部である。なお、LANユニット制御部48は、各種パケットについても認証処理部51に出力して、認証処理を実行させてもよい。
ユーザDB49は、家庭用サーバ40の利用者情報を記憶するデータベースである。例えば、ユーザDB49は、ユーザを識別する識別子とユーザが指定したパスワードとを対応付けて記憶する。
リストDB50は、携帯端末10などから遠隔操作で実行するデバイスやアプリケーションのリストを記憶するデータベースである。図5は、リストDBに記憶される情報の例を示す図である。図5に示すように、リストDB50は、「ID、名称、起動コマンド」を対応付けて記憶する。
ここで記憶される「ID」は、デバイスやアプリケーションを識別する識別子である。「名称」は、デバイスやアプリケーションの名称である。「起動コマンド」は、デバイスやアプリケーションを起動させるコマンドである。図5の場合、ID「41」で識別される「HDD」は、コマンドAで実行することができ、ID「43」で識別される「カメラ」は、コマンドBで実行することができることを示す。
なお、図5では、デバイスやアプリケーションを対応付ける例を説明したが、これに限定されるものではなく、例えばバックアップ処理や録画処理などの処理名等を対応付けることもできる。このような場合、処理名と当該処理の実行に関係するデバイスやアプリケーションのコマンドを対応付けて記憶する。一例を挙げると、バックアップ処理の場合、バックアップソフトのコマンドとHDDのコマンドを対応付けておくことで、遠隔操作でバックアップ処理を実行できる。
認証処理部51は、各種パケットが受信された場合に、正当なユーザからのパケットか否かを認証する処理部である。具体的には、認証処理部51は、LANユニット制御部48が受信した制御パケットからユーザIDとパスワードとを抽出する。続いて、認証処理部51は、抽出したユーザIDとパスワードとの組がユーザDB49に記憶されている場合に、認証を許可し、記憶されていない場合に、認証を拒否する。そして、認証処理部51は、認証を許可した場合に、制御パケットを制御プログラム実行部52へ出力する。また、認証処理部51は、認証を拒否した場合に、制御パケットを破棄する。
ここで、携帯端末10が送信し、家庭用サーバ40が受信する制御パケットについて説明する。図6は、実施例1に係る制御パケットを説明する図である。図6に示す情報は、制御パケットに含まれる情報である。具体的には、制御パケットの先頭から20ビットは、IPヘッダであり、送信元IPアドレス、宛先IPアドレス、チェックサムが設定される。また、制御パケットのオフセット「20」の位置、すなわち、制御パケットの21ビットから28ビットは、UDPヘッダであり、送信元ポート番号や宛先ポート番号が設定される。
また、制御パケットのオフセット「28」の位置、すなわち、制御パケットの29ビットから34ビットは、制御パケットの開始マークである。制御パケットのオフセット「34」の位置には、制御対象のMACアドレスが6ビットで設定され、16回繰り返し設定される。また、制御パケットのオフセット「82」の位置には、ユーザのパスワードが6ビットで設定される。
また、制御パケットのオフセット「88」の位置には、ユーザのIDが6ビットで設定される。制御パケットのオフセット「94」の位置には、起動対象のデバイス等が8ビットで設定される。このオフセット「94」の値は、図5に示したリストDB50のIDに該当する値が設定される。
図4に戻り、制御プログラム実行部52は、LANユニット制御部48によって制御パケットが受信された場合に、各デバイスまたは各アプリケーションを起動させる制御プログラムを起動させる処理部である。
具体的には、制御プログラム実行部52は、LANユニット制御部48によって受信され、認証処理部51によって認証許可と判定された場合に、HDD44等から制御プログラムを読み出してRAM46に展開し、制御プログラムを実行する。なお、制御プログラム実行部52は、制御プログラムの実行が完了したことを、各処理部に通知する。
つまり、携帯端末10から送信された制御パケットがWake On LAN magicパケットとして機能するので、家庭用サーバ40は、制御プログラムを実行し、各デバイスやアプリケーションを起動させることができる状態となる。
起動制御部53は、制御プログラム実行部52によって制御プログラムが起動された後に、LANユニット制御部48が制御パケットを受信した場合に、制御パケットで特定される起動対象のデバイス等を制御プログラムによって起動させる処理部である。
具体的には、起動制御部53は、制御プログラム実行部52によって制御プログラムが起動された後に、制御パケットが受信されて認証が許可された場合に、制御パケットのオフセット「94」の位置から値を抽出する。そして、起動制御部53は、抽出した値に対応するコマンドをリストDB50から特定する。その後、起動制御部53は、特定したコマンドを制御プログラムに実行させる。
つまり、制御プログラムが起動された状態で、制御プログラムを実行させた制御パケットと同じ制御パケットを受信した場合、制御プログラムは、受信された制御パケットによって特定されるデバイス等を実行する。例えば、制御パケットに‘V’(0x56)が設定されていた場合、制御プログラムは、LANユニット制御部48を介して、NASとしての起動コマンドCをNAS20bに実行し、NAS20bを起動させる。なお、‘V’(0x56)だけが設定されているとき、NAS20b以外のデバイスやアプリケーションは、待機状態のままである。
[処理の流れ]
次に、実施例1に係るシステムが実行する処理シーケンス、家庭用サーバ40が実行するフローチャート、従来技術に係る処理シーケンスについて説明する。
(実施例1に係る処理シーケンス)
図7は、実施例1に係る処理の流れを示すシーケンス図である。図7に示すように、家庭用サーバ40は、省電力モードで動作している(S101)。例えば、家庭用サーバ40は、LANユニット41に電源を供給し、他のハードウェア等には電源の供給を抑制している。
このような状態で、携帯端末10は、中継サーバ2に対して、家庭用サーバ40のIPアドレス(実際にはルータ30のグローバルIPアドレス)を問い合わせるパケット(PK0)を送信する(S102とS103)。中継サーバ2は、携帯端末10からの問い合わせに対して、家庭用サーバ40のIPアドレス(実際にはルータ30のグローバルIPアドレス)を応答する(S104とS105)。
そして、携帯端末10は、起動対象のデバイス等を識別するIDを含む制御パケットを生成し(S106)、所定期間内に複数回同じ制御パケットを送信する。
具体的には、携帯端末10は、制御パケット(PK1)を送信する(S107とS108)。ただし、UDPによる通信なので、家庭用サーバ40まで届かないこともある。ここでは、PK1は、途中でロストし、家庭用サーバ40に届かなかったと想定する。
少しの間隔をおいて、携帯端末10は、制御パケット(PK2)を送信する(S109とS110)。このPK2は、家庭用サーバ40のLANユニット制御部48によって受信されたと想定する。そして、認証処理部51によって認証処理等が実行されると、制御プログラム実行部52は、制御プログラムを起動させる(S111)。もちろん、PK1が家庭用サーバ40に届き、PK1を契機に制御プログラムが起動することもあれば、PK1、PK2ともにロストされ、次のパケットが家庭用サーバ40に届くこともある。
さらに少しの間隔をおいた後、携帯端末10は、制御パケット(PK3)を送信する(S112とS113)。この時点では、制御プログラムが既に起動しているとする。このため、起動制御部53は、制御パケットで指定された起動対象を特定し(S114)、制御プログラムを用いて、起動対象を起動させる(S115)。すなわち、起動済みの制御プログラムが、制御パケットで指定されるデバイス等のみを起動する。なお、他のデバイス等は、待機状態のままである。なお、PK3が到着した時点では制御プログラムが起動完了していないこともありえる。この場合は、次のパケット(PK4)が到着した時点で上記の動作が行われる。
さらに所定時間後、携帯端末10は、制御パケット(PK4)を送信する(S116とS117)。この時点では、制御プログラムが既に起動していることから、PK4は、LANユニット42で破棄される(S118)。そして、家庭用サーバ40の起動制御部53は、対象デバイスの起動が完了したことを携帯端末10に通知する(S119)。
その後、制御パケットの送信が終了すると、携帯端末10は、ユーザ等の操作を受け付けて、制御パケットで起動させたデバイス等を用いた処理内容を含む処理パケットを生成し、家庭用サーバ40に送信する(S120とS121)。
そして、家庭用サーバ40の起動制御部53は、携帯端末10から受信した処理パケットによって特定される処理を、制御プログラムが起動させたデバイス等を用いて実行する(S122)。
その後、携帯端末10から処理終了を示すパケットが送信され、家庭用サーバ40が行うべき処理がなくなると(S123とS124)、家庭用サーバ40の起動制御部53は、起動させたデバイス等を待機状態にする(S125)。続いて、起動制御部53は、制御プログラムを終了する(S126)。この結果、家庭用サーバ40は、省電力モードに再度遷移する(S127)。
なお、制御パケット(PK1−PK4)で指示された処理内容が単純であり、携帯端末10からの応答を得る必要がない場合は、家庭用サーバ40はこの処理を完了したのち待機状態に入ることができる。たとえば、家電機器をOn/Offするような指示の場合がある。
(実施例1に係るフローチャート)
図8は、実施例1に係る家庭用サーバが実行する処理の流れを示すフローチャートである。図8に示すように、家庭用サーバ40は、例えば所定期間パケットを受信しない、かつ、所定時間の間、実行すべき処理がない場合に、省電力モードに遷移する(S201)。
家庭用サーバ40が省電力モードの状態で、ルータ30は、所定のポート番号のUDPパケットを受信すると、このポート番号のパケットは家庭用サーバ40に配信すべきであると判断し、家庭用サーバ40に配信する。この結果、家庭用サーバ40のLANユニット制御部48は、所定の制御パケットを受信する(S202:Yes)。すると、認証処理部51は、制御パケットに含まれるユーザIDとパスワードとを用いて、正常なユーザからのパケットか否かを認証する(S203)。なお、認証処理部51は、制御パケットのオフセット「94」の位置、すなわち、起動対象のデバイス等を指定する領域について暗号化等が行われている場合には、暗号鍵の検証やチェックデジットの検証を実行する。具体的には、ユーザごとにあらかじめ登録しておいた暗号鍵でオフセット「94」以降を復号し、その結果に含まれるチェックデジットの値を検証する方法がある。
そして、制御プログラム実行部52は、登録ユーザであり、かつ、暗号鍵およびチェックデジットが正常である場合に(S204:Yes)、制御プログラムを実行する(S205)。なお、登録ユーザではなく、または、暗号鍵およびチェックデジットが正常ではない場合に(S204:No)、S201に戻って、以降の処理が繰り返される。
その後、LANユニット制御部48は、UDPポート番号が指定された制御パケットを再度受信する(S206:Yes)。起動制御部53は、制御パケットとリストDB50とから、起動対象を特定する(S207)。ここでは、デバイスAが起動対象として特定されたものとする。
続いて、起動制御部53は、デバイスAについて動作フラグを設定する(S208)。動作フラグを内部フラグとして設定するのは、複数のユーザがアクセスするとき、OR条件で動作を設定することによる。つまり、ユーザ1がデバイスA、デバイスBを要求し、ユーザ2がデバイスB、デバイスCを要求とする。この場合、起動制御部53が、A+B+Cを起動すると共に、ユーザ1が終了すればAのみを待機状態に戻し、ユーザ2のみが終了すればCのみを待機状態に戻すように制御するためである。実装例としては、ユーザが要求する、または不要としたデバイスの情報等を制御パケットから取得して内部フラグに反映させる。図6の例では制御パケットのオフセット「94」の「function flags」からこの情報を取得する。
そして、起動制御部53の指示を受けた制御プログラムは、デバイスAに対して、リスト50を参照して特定されるコマンドを実行し、デバイスAを起動する(S209)。
その後、LANユニット制御部48が具体的な処理内容を含む処理パケットを受信すると(S210:Yes)、制御プログラムまたはCPU47は、処理パケットで特定される処理をデバイスAに実行する(S211)。
そして、LANユニット制御部48が処理終了を示す処理終了パケットを受信すると(S212:Yes)、CPU47は、デバイスAを終了して待機状態に遷移させ(S213)、制御プログラムも終了させる(S214)。
(従来シーケンス)
図9は、従来技術に係る処理の流れを示すシーケンス図である。ここでは、従来技術に係る家庭用サーバを家庭用サーバ100として説明する。また、一例として、デバイスZを起動させる例で説明する。図9に示すように、家庭用サーバ100は、はじめ省電力モードで待機している(S301)。
このような状態で、携帯端末10は、中継サーバ2に対して、家庭用サーバ100への通信経路(IPアドレス等)を問い合わせるパケット(PK0)を送信する(S302とS303)。中継サーバ2は、携帯端末10からの問い合わせに対して、家庭用サーバ100へアクセスするためのIPアドレスとポート番号を応答する(S304とS305)。このIPアドレスは、通常ルータ30が外部に対して持つグローバルIPアドレスである。
そして、携帯端末10は、家庭用サーバ100を通常モードへ遷移させるWOLパケットを生成し、この制御パケットを送信する。
具体的には、携帯端末10は、WOLパケット(PK1)を送信する(S306とS307)。このWOLパケットを受信した家庭用サーバ100は、制御プログラムの起動を開始する(S308)。
所定時間後、携帯端末10は、WOLパケット(PK2)を再び送信する(S309とS310)。家庭用サーバ100は、既に制御プログラムの起動を開始しているので、PK2を無視する。
さらに所定時間後、携帯端末10は、WOLパケット(PK3)を再び送信する(S311とS312)。この場合も、家庭用サーバ100は、既に制御プログラムの起動を開始しているので、PK3を無視する。
その後、家庭用サーバ100は、制御プログラムの起動が完了すると、制御プログラムの起動完了通知を中継サーバ2に送信し、中継サーバ2から携帯端末10に送信する(S313〜S316)。この起動完了通知の受信を契機として、携帯端末10は、外部からの操作を指示する要求パケット(PK4)を家庭用サーバ100に送信する(S317とS318)。家庭用サーバ100の内部ではこの指示に基づいて必要なデバイスの起動が要求される。この要求パケット(PK4)は、たとえば「ビデオデータを再生する」等の概略を指示するもので、再生ファイルやチャンネルを指示するような具体的なものではない。
このように、家庭用サーバ100は、起動要求パケット(PK4)を受信し、必要なデバイス等を起動する(S319)。その後、家庭用サーバ100は、必要なデバイス等の起動が完了すると、準備完了通知を携帯端末10に応答する(S320とS321)。
そして、携帯端末10は、デバイスZを用いた具体的な処理内容を含む処理パケット(PK6)を家庭用サーバ100に送信する(S322とS323)。家庭用サーバ100は、処理パケット(PK6)で指定された処理を、S317で起動させたデバイスZを用いて実行する(S324)。この処理パケット(PK6)は、準備できたデバイスZ(たとえばTVチューナ)を利用する具体的な処理(たとえば031チャンネルを受信する)である。
その後、携帯端末が終了指示を家庭用サーバ100に送信すると(S325とS326)、家庭用サーバ100は一連の処理で使用した全デバイスを終了する(S327)。その後、家庭用サーバ100は、待機状態である省電力モードに遷移する(S328)。
[効果]
このように、実施例1に係る家庭用サーバ40は、WOLパケットを改良した制御パケットを用いることで、同一パケットを機械的に複数回送信される間に、制御プログラムや必要なデバイスを起動することができる。このため、家庭用サーバ40は、待機状態にあるデバイス等の起動までの時間を短縮することができる。また、ユーザは家庭用サーバ40の起動後直ちに制御プログラムやデバイスを起動するために、家庭用サーバ40の起動をじっと待つ必要がないので、ユーザの利便性が向上する。
また、図7と図9とを比較しても分かるように、従来技術では、携帯端末10の側がWOLパケットによって家庭用サーバ100が起動完了したことを待って起動対象のデバイスを指示、さらに指示したデバイスが起動完了したことを待って具体的な処理要求を送信している。一方で、実施例1に係る携帯端末10は、起動対象を含めた制御パケット、可能な場合は具体的な処理要求を含めた制御パケットを送信するだけで、制御プログラムや対象デバイスを起動できる。これにより、遠隔操作するために用いるパケットの種類を大幅に削減できる。したがって、ユーザの利便性が向上する。
また、従来技術で応答速度を改善するためには、宅外からWOLパケット(PK(1))を送って、家庭用サーバ40を起動する際、家庭用サーバ40に接続されて通常使用する可能性のある全デバイスを同時に起動している。起動目的つまりWOLパケットを送出した側(携帯端末10の側)の意図を知る手段が従来技術では取得できない。省電力の観点からは、CPU部だけを起動した後に必要な部分だけを起動したいが、宅外のユーザに目的を問い合わせて対象部分を起動することを行うと、問い合わせと応答待ちで時間がかかる。一般に起動デバイスの数が多いと起動処理に時間がかかるので、対象デバイスだけを起動することができる実施例1に係る家庭用サーバ40よりも起動時間がかかる。さらに、従来技術は、処理対象か否かに関らず、全デバイスの起動と終了を繰り返すので、デバイスの寿命も短くなる。これに比べて、実施例1に係る家庭用サーバ40は、該当デバイスだけを起動することができるので、電源投入と遮断による劣化を抑制できる。
実施例2では、ユーザのスケジュールに基づいて、利用可能性の高いデバイスを事前に起動させる技術を開示する。
(機能構成)
図10は、実施例2に係る家庭用サーバの機能構成を示す機能ブロック図である。図10に示すように、家庭用サーバ80は、LANユニット制御部81、ユーザDB82、リストDB83、スケジュールDB84を有する。また、家庭用サーバ80は、認証処理部85、起動制御部86、推定部87、スケジュール更新部88を有する。
なお、実施例1と同様の機能を実行する処理部、または、実施例1と同様の情報を記憶する記憶部については詳細な説明を省略する。具体的には、LANユニット制御部81は、図4に示したLANユニット制御部48と同様の機能を実行する。ユーザDB82は、図4に示したユーザDB49と同様の情報を記憶する。リストDB83は、図4に示したリストDB50と同様の情報を記憶する。認証処理部85は、図4に示した認証処理部51と同様の機能を実行する。
スケジュールDB84は、ユーザのスケジュールを記憶するデータベースである。図11は、スケジュールDBに記憶される情報の例を示す図である。図11に示すように、スケジュールDB84は、「時刻、予定」を対応付けて記憶する。ここで記憶される「時刻」は、スケジュールが実行される予定時刻を示し、「予定」は、ユーザが実行するスケジュールの予定を示す。図11の例は、12:00に○○寺院を観光し、18:00には旅館に到着し、20:00には旅館の部屋で寛ぐことが予定されていることを示している。
ここで、実施例2では、スケジュールDB84が家庭用サーバ80内に設けられる例で説明するが、これに限定されるものではない。例えば、スケジュールDB84は、家庭用サーバ40が通信可能なインターネット上に設けられてもよい。また、後述するスケジュール更新部88が、定期的にまたは更新があった場合に、インターネット上に設けられたストレージに記憶されるスケジュールを取得して、スケジュールDB84に格納してもよい。
起動制御部86は、図4に示した起動制御部53と同様の機能を実行するとともに、推定部87から通知されたデバイス等の起動を実行する処理部である。具体的には、起動制御部86は、起動対象のデバイスのIDを推定部87から受信し、受信したIDに対応するコマンドをリストDB83から特定して実行する。なお、起動制御部86は、必要に応じて、チェックデジットや暗号鍵の認証を実行する。
推定部87は、制御パケットが受信された場合に、スケジュールDB84に記憶されるユーザのスケジュールに従って、起動される可能性が高いデバイスやアプリケーションを推定する処理部である。具体的には、推定部87は、LANユニット制御部81によって制御パケットが受信された場合に、当該制御パケットの時刻をキーにしてスケジュールDB84を検索する。ここでは、「12:00、○○寺院観光」が検索されたものとする。
そして、推定部87は、「○○寺院観光」からデジタルカメラによる写真撮影があり写真保存を行う可能性が高いと判断し、「12:00、HDD(ID=41)を起動」を起動制御部86に通知する。起動制御部86は、このようにして通知されたIDに基づいて起動コマンドを特定し、特定した起動コマンドを実行して、HDDを起動する。なお、IDとデバイス等の対応付けは、推定部87が予め保持していてもよく、他のDBに格納しておいてもよい。
ここで、スケジュールの予定の内容から起動対象を特定する一例を説明する。例えば、推定部87は、キーワードとデバイス等を対応付けておくことで、スケジュールの予定から起動対象のデバイス等を特定することができる。具体的には、推定部87は、「キーワード、デバイス等」として「撮影、HDD(ID=41)」、「リアルタイム、SNSアプリ(ID=90)」、「録画/寛ぐ、HDD(ID=41)/録画アプリケーション(ID=88)」などの対応付け情報を保持しておく。
そして、推定部87は、スケジュールDB84の「予定」に記憶される文章等を読み込んで形態素解析等を実行し、単語を抽出する。その後、推定部87は、抽出した各単語をキーにして、上記対応付け情報を検索する。ここで、推定部87は、該当するデバイスとして「HDD(ID=41)/録画アプリケーション(ID=88)」特定したとすると、ID=41とID=88を起動制御部86に通知する。
なお、ここで説明した手法はあくまで例示であり、本実施例がこれに限定されるものではなく、公知の文字認識技術等を採用することができる。また、上述した起動制御部86および推定部87の実装例を説明すると、制御プログラムが、家庭用サーバ80の省電力モードから起動した後、スケジュールに基づいて、使用される可能性の高いデバイス等の推定を実行する。そして、別の制御プログラムが、推定されたデバイス等を実行する。
図10に戻り、スケジュール更新部88は、スケジュールDB84を更新する処理部である。具体的には、スケジュール更新部88は、携帯端末10等からのアクセスを受け付けてスケジュールDB84を更新する。また、スケジュール更新部88は、インターネット上のストレージ等からスケジュールを読み込み、読み込んだスケジュールでスケジュールDB84を更新する。
(処理の流れ)
図12は、実施例2に係るデバイス等の推定処理の流れを示すフローチャートである。図12に示すように、推定部87は、所定のポート番号のUDPパケットが受信されると(S401:Yes)、受信時刻をキーにしてスケジュールを参照する(S402)。そして、推定部87は、受信時刻から所定時間内に発生するスケジュールがあるか否か、すなわち、実行が近いスケジュールがあるか否かを判定する(S403)。
そして、推定部87は、実行が近いスケジュールがある場合(S403:Yes)、該当するスケジュールの「予定」を読み込んで、起動される可能性の高いデバイス等の推定を実行する(S404)。
その後、デバイス等を推定すると、推定部87は、例えばコマンド発行履歴や各デバイス等の電源状態等から、推定されたデバイス等が未起動か否かを判定する(S405)。そして、推定部87によって、推定されたデバイス等が未起動と判定された場合に(S405:Yes)、認証処理部85は、受信パケットに含まれるユーザIDとパスワードとを用いて、正常なユーザからのパケットか否かを認証する(S406)。
続いて、起動制御部86は、登録ユーザであり、かつ、暗号鍵およびチェックデジットが正常である場合に(S407:Yes)、推定されたデバイスを起動する(S408)。例えば、実装例で説明すると、CPUが実行する制御プログラムAが、推定されたデバイスの動作フラグをONに設定し、CPUが実行する別の制御プログラムBが、動作フラグがONに設定されたデバイスを起動させる。
なお、S403において、実行が近いスケジュールがない場合(S403:No)、S403の後にS406が実行される。また、推定部87によって、推定されたデバイス等が起動済みと判定された場合に(S405:No)、S401に戻って以降の処理が繰り返される。同様に、登録ユーザでなはない、または、暗号鍵やチェックデジットが正常ではない場合に(S407:No)、S401に戻って以降の処理が繰り返される。
(効果)
このように、実施例2に係る家庭用サーバ80は、ユーザがデバイスまたはアプリケーションを使用するスケジュールを参照し、次に起動されるデバイスまたはアプリケーションを推定することもできる。また、家庭用サーバ80は、長時間の停電で宅内端末のメモリのデータが失われても、再起動によって正常な動作に戻ることができる。
例えば、スケジュール例としては、「12時頃に景勝地へ到着し、撮影する。18時頃には宿について、20時頃はくつろいでいる」とある場合を例に説明する。家庭用サーバ80は、12時ごろの起動要求に対しては撮影データを受信し保存するためにアプリAを実行しNASを起動する。20時頃の起動要求には、自宅付近で受信できるローカルTV局の番組を宿から視聴できるようにTVチューナや録画用HDDを起動する、といった制御を行うことができる。
このように、家庭用サーバ80は、スケジュールを用いることで、ユーザの利用予定を把握することができ、より妥当な動作を行うことができる。また、交通事情などにより予定通りに行動できない場合であっても、スケジュールに記された順番や時間間隔を元に、次回の操作内容や概略の時刻を推定することができる。一例として、家庭用サーバ80は、9時に宿を出発する予定であるのにそれが遅れ、10時近くまで宿からアクセスがあったとする。このとき、家庭用サーバ80は、次の景勝地に到着する予定時刻が12時頃であった場合、これを13時頃と読み替えることができる。
このようにして家庭用サーバ80は、次に利用される可能性の高いデバイス等を予想しておいて、実際に起動要求が届くまでに、前もって起動させておいたり、待機状態にしておいて実際の起動要求の時点で高速起動するように準備しておくことができる。
なお、実施例2では、制御パケットを契機にして推定する例を説明したが、これに限定されるものではない。例えば、推定部87は、スケジュールDB84を定期的に参照し、参照した現在時刻から所定時間内に実行されるスケジュールを検索した場合に、上述したような推定処理を実行することもできる。
実施例3では、受信パケット数の統計を計数し、統計に基づいて家庭用サーバ自身やデバイス等の起動や停止を行う技術を開示する。
図13は、実施例3に係る家庭用サーバが実行する処理の流れを示すフローチャートである。図13に示すように、家庭用サーバ40のCPU47は、家庭用サーバ40のLANユニット41に受信されるパケットのヘッダを監視し、TCPパケットやRTP(Real−time Transport Protocol)パケットを計数する(S601)。そして、家庭用サーバ40のCPU47は、統計DBを生成する(S602)。
ここで、家庭用サーバ40は、パケットに含まれる送信元IPアドレスや宛先ポート番号、送信されたデータの種類や量、内容を確認し、ポート番号やパケット種別ごとに計量する機能を有する。
続いて、家庭用サーバ40のCPU47は、特定のポート番号や特定のパケット種別のパケット数が所定の閾値に到達すると(S603:Yes)、これに対応する遠隔操作可能なデバイス等を選択する(S604)。具体的には、CPU47は、リストDB50等に記憶されるデバイスを選択して起動状態にする。なお、所定の閾値に到達しない場合には(S603:No)、S601に戻って以降の処理が繰り返される。
具体的な実装例は次のようなものである。家庭用サーバ40のCPU47は、あるデバイス等に関連付けられるパケット種別ついて過去10秒間で受信されたパケット数から、1秒間の平均パケット数(M)を算出し(S605)、平均パケット数(M)が閾値(N1)より大きいか否かを判定する(S606)。なお、平均ではなく、10秒間ないし直近の1秒間でのパケット総数を別の閾値と比較してもよい。
そして、家庭用サーバ40のCPU47は、平均パケット数(M)が閾値(N1)より大きい場合(S606:Yes)、選択中のデバイス等の動作フラグをONに設定する(S607)。一方、家庭用サーバ40のCPU47は、平均パケット数(M)が閾値(N0)以下の場合(S606:No)、選択中のデバイス等の動作フラグをOFFに設定する(S608)。
別の制御プログラムは、設定された動作フラグにしたがって、各デバイス等を起動する(S609)。例えば、CPU47は、動作フラグがONに設定されたデバイスのうち、未起動のデバイスを起動する。また、CPU47は、動作フラグがOFFに設定されたデバイスのうち、起動済みのデバイスについては停止する。
このように、実施例3に係る家庭用サーバ40は、携帯端末10等が送信したパケットの統計に基づいて、デバイス等の起動や停止を制御する。この結果、家庭用サーバ40は、使用頻度の高いデバイス等を起動し、使用頻度の低いデバイス等を停止することができる。したがって、実施例3に係る家庭用サーバ40は、消費電力を抑制することができる。
ところで、近年のノートパソコン等は、電源アダプタからの電力供給時には高速に動作し、電源アダプタからの電力供給がない時には低速に動作する制御が行われる。このことを応用して、前実施例を効果的に実装することができる。実施例4は、このような実施例であり、家庭用サーバ40が、ノートパソコンである場合などを想定し、受信パケット量に基づいて、電源アダプタからの電力供給を制御する例である。以下にこれを説明する。
(構成)
図14は、実施例4に係る家庭用サーバを含むシステムの全体構成例を示す図である。図14に示すように、家庭用サーバ40は、電源ユニット40aとLANユニット41とタイマー40bとを有する。ここでは、説明を簡略化するために、電源ユニット40aとLANユニット41とタイマー40bとCPU47とを図示したが、家庭用サーバ40は、実施例1と同様のハードウェアを有するものとする。
電源ユニット40aは、内蔵電池またはこれに相当する自己電源を包含し、監視ユニット110を介して電源アダプタ120に接続される。また、LANユニット41は、監視ユニット110を介してスイッチ20aと接続される。電源アダプタ120は、電源ユニット40aへ電力を供給する電力源である。スイッチ20aは、外部装置と家庭用サーバ40との間のパケットを中継する中継装置である。
監視ユニット110は、条件により電源アダプタ120から電源ユニット40aへの電力供給を制御する処理部である。これはノートPCの外部電源を制御する装置として機能する。即ち、LANポートのケーブルを仲介するとともに、電源アダプタからの電源ケーブルを仲介している。そして、監視ユニット110は、スイッチ20aからLANユニット41へのIP通信パケットを監視し、パケット種別や、パケット数を計数する処理部である。監視ユニット110は、独自にCPUとこの動作に関わるメモリ等を持ち、プログラムされた制御処理を実行することができるように構成する。
また、最近のノートPCは内蔵電池の残容量を監視し、容量低下したときに所定の動作を行う機構を有する。通常の使用例ではPCを低電力モードや待機状態に遷移することが行われているが、特定のプログラムを実行することもできる。本実施例を適用する場合、PC(すなわち図16における家庭用サーバ40)は、電源ユニット40aが内蔵する内蔵電池の残容量が低下したときこれを検出して、本実施例に対応するためのプログラムにより所定のIPパケットをLANユニット41から送出する。このIPパケットは、監視ユニット110が識別して、監視ユニット110が、家庭用サーバ40の内蔵電池を充電するために電源供給する必要があると判断する。これは、本発明を実施することから生じる自然な実装であり、本発明による自然な効果のひとつである。
(フローチャート)
図15は、実施例4に係る、監視ユニットが行う電源処理の流れを示すフローチャートである。図15に示すように、監視ユニット110のCPUは、LANユニット41がパケットを送受信すると(S701:Yes)、当該パケットのヘッダやペイロード等を参照し、当該パケットが電源ONを要求するパケットか否かを判定する(S702)。
具体的には、音声やビデオデータを送信する際に使われるRTP(Real−time Transport Protocol)パケットや、これを監視・制御するためのRTCP(RTP Control Protocol)パケットを識別して監視することや、単に特定ポート番号に対するUDP/TCPパケットの通信量を監視することが考えられる。
監視ユニット110のCPUは、LANユニット41とスイッチ(ハブ、ルータ)20aの間で行われるIP通信を監視する。当該CPUは、LANユニット41から送信されたパケットが、家庭用サーバ40が内蔵電池の残容量低下を検出したことを示す所定のIPパケットであったとき(S702:Yes)、タイマー40bを起動する(S703)。例えば、CPU47は、30分などのタイマーを設定する。
さらに、監視ユニット110のCPUは、家庭用サーバ40に期待される機能に関わる通信パケットを監視する。ビデオデータの送受信を行う場合、外部からの通信パケットや通信要求パケットがRTPやRTCPパケットとして送られることが考えられる。以下、RTPパケットやRTCPパケットを監視しているものとして説明する。これは実装の一例であって限定するものではない。現実的な実装例としては、家庭用サーバ40からの指示によって定義や変更ができるものが考えられる。
一方、監視ユニット110のCPUは、パケットが電源ONを要求するパケットでない場合(S702:No)、RTPやRTCPなどの通信パケットを監視対象パケットとしてパケット量を監視・計数し、過去30秒間に送受信されたパケット量が閾値(D1)以上か否かを判定する(S704)。
そして、監視ユニット110のCPUは、過去30秒間に送受信されたパケット量が閾値(D1)以上である場合(S704:Yes)、電源フラグをONに設定する(S705)。一方、監視ユニット110のCPUは、過去30秒間に送受信されたパケット量が閾値(D1)未満である場合(S704:No)、過去30秒間に送受信されたパケット量が閾値(D2)未満か否かを判定する(S706)。なお、ここでは、D1>D2とする。
監視ユニット110のCPUは、過去30秒間に送受信されたパケット量が閾値(D2)未満である場合(S706:Yes)、電源フラグをOFFに設定する(S707)。
過去30秒間に送受信されたパケット量が閾値(D2)未満ではない場合(S706:No)、または、S707が実行された後、監視ユニット110のCPUは、電源フラグがONまたは電源タイマーが0である場合に(S708:Yes)、電源アダプタ120と電源ユニット40aとの接続をONにして、電源アダプタ120からの電源供給を開始する(S709)。
一方、監視ユニット110のCPUは、電源フラグがONでもなく、電源タイマーが0でもない場合に(S708:No)、電源アダプタ120と電源ユニット40aとの接続をOFFにして、電源アダプタ120からの電源供給を抑制する(S710)。この結果、家庭用サーバ40は、内蔵電池で動作する。
(効果)
このように、実施例4に係る家庭用サーバ40は、電源供給を要求するパケットが送受信されていない間は、監視ユニット110によって、パケットの流量によって電源アダプタからの電力供給を制御できる。この結果、家庭用サーバ40は、省電力モードへ遷移可能なタイミングを早期に検出して、早期に省電力モードへ遷移することができる。なお、通常、ノートパソコンなどで、電池の容量低下時に割り込みやイベントを発生させることができる。したがって、実施例4に係る家庭用サーバは、このようなイベントを発生させる通信パケットを送信することで、電源アダプタ120からの電力供給を開始できる。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。
(パケット)
上記実施例では、WOLパケットを改良した制御パケットを例にして説明したが、これに限定されるものではない。実際、WOLパケットでない通信パケット、例えばARP(Address Resolution Protocol)要求パケットをシステム起動に使う技術を開示する先行知例がある。このようなシステムで利用可能な独自のパケットを用いることもできる。
(実施例の組み合わせ)
また、各実施例では、各々が個別に実行することができるとともに、各実施例を組み合わせて実行することもできる。例えば、実施例2や実施例3は、実施例1で制御プログラムを起動した状態の家庭用サーバに適用することもできる。また、実施例3は、実施例2の機能を実行する家庭用サーバに適用することもできる。つまり、実施例2から実施例4は、実施例1の制御プログラムを用いてデバイス等を起動することもできる。
(対象機器)
また、各実施例では、主としてデバイスを起動または停止する例を説明したが、これに限定されるものではない。例えば、コマンドベースで制御可能なアプリケーション、処理、機能なども制御対象として、同様に処理することができる。この場合、消費電力やデバイスごとの寿命における改善は少ないが、携帯端末を操作するユーザからみた応答に要する時間や操作性が改善する効果がある。
(システム)
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。
40 家庭用サーバ
41 LANユニット
42 光学ドライブ装置
43 グラフィックインタフェース
44 HDD
45 USBインタフェース
46 RAM
47 CPU
48、81 LANユニット制御部
49、82 ユーザDB
50、83 リストDB
51、85 認証処理部
52 制御プログラム実行部
53、86 起動制御部
84 スケジュールDB
87 推定部
88 スケジュール更新部

Claims (7)

  1. 機能を制限する省電力モードの状態で、起動対象のデバイスまたはアプリケーションを示す制御情報を含む制御パケットを所定時間内で任意の回数受信する受信部と、
    前記受信部によって前記制御パケットが受信された場合に、各デバイスまたは各アプリケーションを起動させる制御プログラムを起動させる第1起動制御部と、
    前記第1起動制御部によって前記制御プログラムが起動された後に、前記受信部が前記制御パケットを受信した場合に、該制御パケットの前記制御情報で特定される前記起動対象のデバイスまたはアプリケーションを、前記制御プログラムによって起動させる第2起動制御部と
    を有することを特徴とする情報処理装置。
  2. 前記情報処理装置のユーザのスケジュール情報から、起動される予定のデバイスまたはアプリケーションを推定する推定部をさらに有し、
    前記第2起動制御部は、前記推定部によって推定されたデバイスまたはアプリケーションを、前記制御プログラムを用いて起動することを特徴とする請求項1に記載の情報処理装置。
  3. 所定時間内に受信した各パケットを宛先または機能別に計数する計数部をさらに有し、
    前記第2起動制御部は、前記計数部によって計数された総数が所定値以上のデバイスまたはアプリケーションのうち、未起動のデバイスまたはアプリケーションを、前記制御プログラムによって起動させることを特徴とする請求項1に記載の情報処理装置。
  4. 所定時間内に送受信したパケットの数を計数する計数部と、
    前記計数部によって計数されたパケット数が第1の閾値以上の場合には、前記情報処理装置の外部の電源アダプタから前記情報処理装置への電源供給を開始し、前記計数部によって計数されたパケット数が第2の閾値未満の場合には、前記電源アダプタから前記情報処理装置への電源供給を抑制する電源制御部をさらに有することを特徴とする請求項1に記載の情報処理装置。
  5. ユーザのスケジュール情報から、起動される予定のデバイスまたはアプリケーションを推定する推定部と、
    前記推定部によって推定されたデバイスまたはアプリケーションを起動する起動制御部と
    所定時間内に受信した各パケットを宛先または機能別に計数する計数部とを有し、
    前記起動制御部は、前記計数部によって計数された総数が所定値以上のデバイスまたはアプリケーションのうち、未起動のデバイスまたはアプリケーションを起動することを特徴とする情報処理装置。
  6. 情報処理装置において、
    ユーザのスケジュール情報から、起動される予定のデバイスまたはアプリケーションを推定する推定部と、
    前記推定部によって推定されたデバイスまたはアプリケーションを起動する起動制御部と
    所定時間内に送受信したパケットの数を計数する計数部と、
    前記計数部によって計数されたパケット数が第1の閾値以上の場合には、前記情報処理装置の外部の電源アダプタから前記情報処理装置への電源供給を開始し、前記計数部によって計数されたパケット数が第2の閾値未満の場合には、前記電源アダプタから前記情報処理装置への電源供給を抑制する電源制御部と、
    を有することを特徴とする情報処理装置。
  7. コンピュータに、
    機能を制限する省電力モードの状態で、起動対象のデバイスまたはアプリケーションを示す制御情報を含む制御パケットを所定時間内で任意の回数受信し、
    前記制御パケットを受信した場合に、各デバイスまたは各アプリケーションを起動させる制御プログラムを起動させ、
    前記制御プログラムを起動した後に、前記制御パケットを受信した場合に、該制御パケットの前記制御情報で特定される前記起動対象のデバイスまたはアプリケーションを、前記制御プログラムによって起動させる
    処理を実行させることを特徴とする起動制御プログラム。
JP2015502684A 2013-02-28 2013-02-28 情報処理装置および起動制御プログラム Expired - Fee Related JP6036983B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/055589 WO2014132428A1 (ja) 2013-02-28 2013-02-28 情報処理装置および起動制御プログラム

Publications (2)

Publication Number Publication Date
JP6036983B2 true JP6036983B2 (ja) 2016-11-30
JPWO2014132428A1 JPWO2014132428A1 (ja) 2017-02-02

Family

ID=51427728

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015502684A Expired - Fee Related JP6036983B2 (ja) 2013-02-28 2013-02-28 情報処理装置および起動制御プログラム

Country Status (4)

Country Link
US (1) US20150363209A1 (ja)
EP (1) EP2963860A4 (ja)
JP (1) JP6036983B2 (ja)
WO (1) WO2014132428A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9621520B2 (en) * 2015-03-19 2017-04-11 Cisco Technology, Inc. Network service packet header security
US11824640B2 (en) * 2020-06-17 2023-11-21 Hewlett Packard Enterprise Development Lp System and method for reconfiguring a network using network traffic comparisions

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10301869A (ja) * 1997-04-28 1998-11-13 Matsushita Electric Ind Co Ltd 電子メール装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11345051A (ja) 1998-06-03 1999-12-14 Toshiba Corp コンピュータシステム
US6249812B1 (en) * 1998-10-01 2001-06-19 International Business Machines Corporation Interactive system support using a system management asic
JP2001078255A (ja) * 1999-09-01 2001-03-23 Shozo Hagiwara モバイル端末セキュリティシステム
JP2003319083A (ja) * 2002-04-24 2003-11-07 Nec Corp 通信ネットワークを介した端末装置の遠隔起動方法および宅内アクセス管理装置
JP2004110455A (ja) 2002-09-19 2004-04-08 Toshiba Corp 電源制御装置及び電源制御方法
US7574661B2 (en) * 2003-02-25 2009-08-11 Panasonic Corporation Application program prediction method and mobile terminal
JP2004334585A (ja) 2003-05-08 2004-11-25 Fujitsu Ltd ユーザ検知装置とスケジュール管理を組合せたコンピュータ装置の制御方法、その方法を実行するコンピュータ装置及びその方法を実行するプログラム
US20060067357A1 (en) * 2004-09-24 2006-03-30 Rader Shawn T Automated power management for servers using Wake-On-LAN
JP2009205538A (ja) * 2008-02-28 2009-09-10 Canon Inc 電子機器、電力状態制御方法、及びコンピュータプログラム
JP2010154318A (ja) 2008-12-25 2010-07-08 Ricoh Co Ltd 画像処理装置、電源制御方法、電源制御プログラム、及びそのプログラムを記録した記録媒体
US8234510B2 (en) * 2009-02-26 2012-07-31 Broadcom Corporation System and method for energy savings through emulation of wake on LAN in energy efficient ethernet
JP5121977B2 (ja) * 2011-05-31 2013-01-16 株式会社東芝 電子機器、情報端末装置及び映像表示方法
JP5328875B2 (ja) 2011-11-22 2013-10-30 キヤノン株式会社 通信装置及び通信装置の電力の復帰方法
US20140013135A1 (en) * 2012-07-06 2014-01-09 Emilio López Matos System and method of controlling a power supply

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10301869A (ja) * 1997-04-28 1998-11-13 Matsushita Electric Ind Co Ltd 電子メール装置

Also Published As

Publication number Publication date
WO2014132428A1 (ja) 2014-09-04
US20150363209A1 (en) 2015-12-17
JPWO2014132428A1 (ja) 2017-02-02
EP2963860A4 (en) 2016-02-24
EP2963860A1 (en) 2016-01-06

Similar Documents

Publication Publication Date Title
US9052898B2 (en) Remote access and administration of device content, with device power optimization, using HTTP protocol
RU2632161C2 (ru) Способ и устройство для предоставления информации
US20160277413A1 (en) Access Permission Device, Access Permission Method, Program, and Communicating System
WO2016058254A1 (zh) 家电的控制方法、控制装置及家庭数据终端
KR101132163B1 (ko) 원격 전원 관리 시스템 및 방법
JP6193185B2 (ja) 通信装置、端末装置およびプログラム
CN111095862B (zh) 基于动态ip地址修改防火墙的方法、***和介质
US20140223511A1 (en) Authentication switch and network system
US10225738B2 (en) Remote operation system, relay apparatus, mobile communication apparatus, in-terminal server control method, and relay processing method
JP6036983B2 (ja) 情報処理装置および起動制御プログラム
US9584370B2 (en) Network card with searching ability, monitoring device with the network card, and searching method used for the same
JP6881845B2 (ja) 通信システム、通信装置及び制御プログラム
WO2019071811A1 (zh) 监控控制方法、装置、监控设备及存储介质
WO2018049244A1 (en) System and method for operating a hvac system by determining occupied state of a structure via ip address
US11258636B2 (en) Method and apparatus for controlling a state of a controllable device
US20160028705A1 (en) Communication system and router
JP2009260913A (ja) 遠隔制御装置、遠隔制御プログラム、遠隔制御方法、及び、遠隔制御システム
KR102330911B1 (ko) 촬상장치, 클라이언트 장치, 방법, 및 기억매체
KR101682303B1 (ko) 홈 디바이스 제어 시스템 및 그 제어방법, 그 시스템에 포함되는 홈 디바이스 및 그 제어방법
US20150163136A1 (en) Information processing apparatus, activating apparatus, activating system, and activating method
TWI749635B (zh) 探測非預定電子裝置的無線網路探測裝置與方法
KR101565293B1 (ko) Http 프로토콜을 사용한 디바이스 전력 최적화에 의한 디바이스 컨텐츠의 원격 액세스 및 운영
KR101611841B1 (ko) 내부망 연결 관리장치를 이용한 컴퓨터 전원 관리방법
US20200169532A1 (en) Mac address synchronization method
KR101673083B1 (ko) Arp 테이블을 이용한 출입 관리 시스템 및 그 출입 관리 방법

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161004

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161017

R150 Certificate of patent or registration of utility model

Ref document number: 6036983

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees