図1は、本発明の第一の実施形態である通信システム100の概略図である。
通信システム100は、サーバ110と、アクセスポイント(以下、AP)120と、ネットワーク装置130と、表示装置140と、を備え、サーバ110及びAP120は、ネットワーク150を介して相互に情報の送受信を行うことができるようにされており、また、AP120及びネットワーク装置130は、無線(電磁波)を介して相互に情報の送受信を行うことができるようにされており、このようにすることで、サーバ110及びネットワーク装置130は情報の送受信を行うことができるようにされている。
そして、本実施形態における通信システム100は、サーバ110とネットワーク装置130との間でSSL(Secure Socket Layer)による通信を行い、サーバ110から取得した情報をネットワーク装置130に接続されているディスプレイ等の表示装置140に表示することができるようにしている。
ここで、サーバ110、AP120及び表示装置140については、既に公知のものを使用すればよいため、詳細な説明を省略する。
図2は、ネットワーク装置130の概略図である。
ネットワーク装置130は、アンテナ131と、ネットワークモジュール132と、電源部133と、リアルタイムクロック(以下、RTC)134と、記憶部135と、制御部136と、インターフェース137と、を備える。
アンテナ131は、電磁波を送受信する装置である。
ネットワークモジュール132は、アンテナ131を介して送受信を行う無線信号を処理する。
具体的には、アンテナ131を介して送受信を行う無線信号の変調及び復調処理を行うRF(Radio Frequency)処理、ベースバンド信号の変調及び復調を行うベースバンド信号処理、物理層の上位のデータリンク層においてフレームの送受信方法やフレームの形式及び誤り検出方法等を規定するMAC(Media Access Control)プロトコルに従ったMAC処理、を行う。
電源部133は、ネットワーク装置130に電力を供給するための装置である。特に、本実施形態においては、後述する制御部136の電源制御部136bの指示に応じて、ネットワークモジュール132への電力の供給を行ったり、停止したりする。
RTC134は、少なくとも時間を計測する装置である。
記憶部135には、ルール記憶領域135aが設けられている。
ルール記憶領域135aには、ネットワーク装置130の状態毎に、通信データに対する条件を特定する情報と、この通信データに対する条件を特定する情報に対応した処理動作を特定する情報と、が対応付けられて記憶されている。
具体的には、ルール記憶領域135aには、例えば、図3(状態Xのルールテーブル160の概略図)に示す状態Xのルールテーブル160と、図4(状態Yのルールテーブル161の概略図)に示す状態Yのルールテーブル161と、が記憶されている。
図3に示す状態Xのルールテーブル160は、通信データ欄160aと、動作欄160bと、を備えている。
通信データ欄160aには、サーバ110との間で送受信するデータに対する条件を特定する情報が格納される。
ここで、本実施形態においては、通信データ欄160aには、「暗号スイート」が「SSL_RSA_WITH_RC4_128_MD5」であるという条件と、「暗号スイート」が「SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA」であるという条件と、が格納されている。なお、通信データがこれらの条件を満たしているか否かは、制御部136の通信データ判別部136bが、通信データの予め定められた位置に格納されている識別子を確認することにより判断する。
動作欄160bには、通信データ欄160aで特定される条件を通信データが満たしている場合に、ネットワーク装置130の制御部136が行う処理動作を特定する情報が格納される。
ここで、本実施形態においては、「暗号スイート」が「SSL_RSA_WITH_RC4_128_MD5」であるという条件が満たされている場合には、ネットワーク装置130は、状態Xから状態Yに遷移する。
また、「暗号スイート」が「SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA」であるという条件が満たされている場合には、ネットワーク装置130は、状態Xから状態Zに遷移する。
なお、状態X、状態Y及び状態Zは、ネットワーク装置130の内部状態であって、予め定められた通信を行う際に状態が異なるように(状態Xから状態Y又は状態Zになるように)、設定されている。また、これらの状態X、状態Y及び状態Zは、制御部136の通信データ判別部136bにおいて保持する内部変数で確認可能にされている。
図4に示す状態Yのルールテーブル161は、通信データ欄161aと、動作欄161bと、を備えている。
通信データ欄161aには、サーバ110との間で送受信するデータに対する条件を特定する情報が格納される。
ここで、本実施形態においては、通信データ欄161aには、「暗号鍵の元データを暗号化するためのRSA公開鍵」が「1024bit」であり、「証明書を確認するアルゴリズム」が「shaWithRSAEncryption」であり、「証明書を確認するためのRSA公開鍵」が「1024bit」であるという条件と、「暗号鍵の元データを暗号化するためのRSA公開鍵」が「2048bit」であり、「証明書を確認するアルゴリズム」が「shaWithRSAEncryption」であり、「証明書を確認するためのRSA公開鍵」が「1024bit」であるという条件と、が格納されている。なお、通信データがこれらの条件を満たしているか否かは、制御部136の通信データ判別部136bが、通信データの予め定められた位置に格納されている識別子を確認することにより判断する。
動作欄161bには、通信データ欄161aで特定される条件を通信データが満たしている場合に、ネットワーク装置130の制御部136が行う処理動作を特定する情報が格納される。
ここで、本実施形態においては、「暗号鍵の元データを暗号化するためのRSA公開鍵」が「1024bit」であり、「証明書を確認するアルゴリズム」が「shaWithRSAEncryption」であり、「証明書を確認するためのRSA公開鍵」が「1024bit」であるという条件が満たされている場合には、制御部136の電源制御部136bは、「ネットワークモジュールへの電源供給を停止」し、停止してから「1秒後に電源供給を開始し、初期化、再接続を行う」という動作処理を行う。
また、「暗号鍵の元データを暗号化するためのRSA公開鍵」が「2048bit」であり、「証明書を確認するアルゴリズム」が「shaWithRSAEncryption」であり、「証明書を確認するためのRSA公開鍵」が「1024bit」であるという条件が満たされている場合には、制御部136の電源制御部136bは、「ネットワークモジュールへの電源供給を停止」し、停止してから「1.5秒後に電源供給を開始し、初期化、再接続を行う」という動作処理を行う。
なお、これらの動作処理は、電源制御部136bが電源部133を制御することにより行う。
制御部136は、通信処理部136aと、通信データ判別部136bと、電源制御部136cと、を備える。
通信処理部136aは、ネットワーク装置130で行うデータ通信の全般を制御する。
通信データ判別部136bは、ネットワーク装置130の状態に応じて、ネットワーク装置130で送受信するデータが、記憶部135のルール記憶領域135aに記憶されているルールテーブル160、161の通信データ欄160a、161aに格納されている条件を満たすか否かを確認し、満たしている場合には、満たしている条件に対応する動作欄160b、161bに格納されている動作処理を制御する。
なお、通信データ判別部136bは、動作欄160b、161bに格納されている動作処理が、電源部133を制御する処理である場合には、電源制御部136cに必要な制御指示を出力する。
電源制御部136cは、電源部133の制御を行う。特に、本実施形態においては、通信データ判別部136bによる制御指示に応じて、電源部133からネットワークモジュール132への電力の供給を制御する。
インターフェース137は、ネットワーク装置130に他の装置を接続するためのインターフェースであって、本実施形態においては、表示装置140が接続されている。
以上のように構成されるネットワーク装置130は、例えば、図5(コンピュータ170の概略図)に示すような、CPU171と、メモリ172と、HDD等の外部記憶装置173と、CD−ROMやDVD−ROM等の可搬性を有する記憶媒体174から情報を読み出す読取装置175と、電力を供給する電源装置176と、年月日を計測するRTC装置177と、アンテナ179を備える無線通信装置178と、外部の装置を接続するためのインターフェース180と、を備えた一般的なコンピュータ170で実現できる。
例えば、記憶部135は、CPU171がメモリ172又は外部記憶装置173を利用することにより実現可能であり、制御部136は、外部記憶装置173に記憶されている所定のプログラムをメモリ172にロードしてCPU171で実行することで実現可能であり、アンテナ131及びネットワークモジュール132は、CPU171がアンテナ179及び無線通信装置178を利用することにより実現可能であり、電源部133は、電源装置176をCPU171が利用することで実現可能であり、RTC134は、CPU171がRTC装置177を利用することで実現可能であり、インターフェース137は、CPU171がインターフェース180を利用することで実現可能である。
この所定のプログラムは、読取装置175を介して記憶媒体174から、あるいは、無線通信装置178を介してネットワークから、外部記憶装置173にダウンロードされ、それから、メモリ172上にロードされてCPU171により実行されるようにしてもよい。また、読取装置175を介して記憶媒体174から、あるいは、無線通信装置178を介してネットワークから、メモリ172上に直接ロードされ、CPU171により実行されるようにしてもよい。
図6は、サーバ110と、ネットワーク装置130と、の間の通信シーケンスを示すシーケンス図である。ここで、本実施形態においては、SSLを使用した場合の通信シーケンスを示すが、このような通信に限定されるわけではない。
まず、ネットワーク装置130の制御部136は、RTC134からの信号に応じてスリープ状態から起動状態に遷移する(S10)。
次に、ネットワーク装置130の通信処理部136aは、ネットワーク装置130のオペレータの指示に応じて、サーバ110に送信する送信データ(ここでは、ClientHelloメッセージ)を生成して、通信データ判別部136bに出力し、通信データ判別部136bが送信データをルール記憶領域135aに記憶されているルールテーブル160、161に照合する(S11)。ここでは、通信データ判別部136bは、内部変数によりネットワーク装置130が状態Xにあるものと判断し、送信データを状態Xのルールテーブル160における通信データ欄160aに格納されている条件に満たすものがあるか否かを照合する。なお、ここでは、満たす条件はないものとする。
そして、ネットワーク装置130の通信処理部136aは、ClientHelloメッセージをサーバ110に送信する(S12)。
このようなClientHelloメッセージを受信したサーバ110では、ネットワーク装置130にServerHelloメッセージを返信する(S13)。
次に、ネットワーク装置130の通信処理部136aは、サーバ110より受信したServerHelloメッセージを通信データ判別部136bに出力し、通信データ判別部136bは、通信データ判別部136bが受信データをルール記憶領域135aに記憶されているルールテーブル160、161に照合する(S14)。ここでは、通信データ判別部136bは、内部変数によりネットワーク装置130が状態Xにあるものとし、受信データを状態Xのルールテーブル160における通信データ欄160aに格納されている条件に満たすものがあるか否かを照合する。なお、ここでは、サーバ110より受信したServerHelloメッセージが、通信データ欄160aに格納されている「暗号スイート」が「SSL_RSA_WITH_RC4_128_MD5」の条件を持たすものとする。
そして、ネットワーク装置130の通信データ判別部136bは、条件を満たす通信データ欄160aに対応する動作欄160bに格納されている「状態Yに遷移」する処理動作を、内部変数を変えることで実行する(S15)。
そして、ネットワーク装置130の通信処理部136aは、受信したServerHelloメッセージから、Handshakeと、暗号化通信で使用する暗号方式と、を取得する(S16)。
次に、サーバ110は、証明書をネットワーク装置130に送信する(S17)。なお、証明書には、認証局の証明書に関する情報や、公開鍵を特定する情報等が含まれている。
そして、ネットワーク装置130の通信処理部136aは、サーバ110より受信した証明書を通信データ判別部136bに出力し、通信データ判別部136bは、通信データ判別部136bが受信データをルール記憶領域135aに記憶されているルールテーブル160、161に照合する(S18)。ここでは、通信データ判別部136bは、内部変数によりネットワーク装置130が状態Yにあるものとし、受信データを状態Yのルールテーブル161における通信データ欄161aに格納されている条件に満たすものがあるか否かを照合する。なお、ここでは、サーバ110より受信した証明書が、通信データ欄161aの「暗号鍵の元データを暗号化するためのRSA公開鍵」が「1024bit」であり、「証明書を確認するアルゴリズム」が「shaWithRSAEncryption」であり、「証明書を確認するためのRSA公開鍵」が「1024bit」であるという条件を満たしているものとする。
そして、通信データ判別部136bは、満たした条件に対応する動作欄161b格納されている「ネットワークモジュールへの電源供給を停止」し、停止してから「1秒後に電源供給を開始し、初期化、再接続を行う」という動作処理を行うよう、制御部136の電源制御部136bに指示を出す。このような指示を受けた電源制御部136cは、電源部133を制御して、まず、ネットワークモジュール132への電源の供給を停止する(S19)。
次に、ネットワーク装置130の通信処理部136aは、サーバ110より受信した証明書から証明書を確認するための暗号方式と、暗号鍵の元データを暗号化するための暗号鍵と、を取得する(S20)。
次に、ネットワーク装置130の通信処理部136aは、取得した暗号方式を使用し、受信した証明書の確認を行う(S21)。ここでは、証明書の確認に成功したものとする。一方、証明書の確認に失敗した場合は、通信処理部136aは以後の手続きは行わずに、サーバ110との通信を切断する。
次に、ネットワーク装置130の通信処理部136aは、暗号鍵の元データの暗号化を行い、このようにして暗号化されたデータを含む送信データを生成する(S22)。ここで、暗号化する処理は、ステップS13で受信したServerHelloメッセージから取得された暗号方式によって、ステップS17で取得した証明書に含まれている公開鍵を用いて行われる。
次に、ネットワーク装置130の通信データ判別部136bは、ステップS19においてネットワークモジュール132への電源の供給を停止してから、1秒が経過した場合には、電源制御部136cに指示を出すことによりネットワークモジュール132への電源の供給を開始し(S23)、初期化、再接続を行う。
次に、ネットワーク装置130の通信処理部136aは、ステップS22で生成した送信データを通信データ判別部136bに出力し、通信データ判別部136bが送信データをルール記憶領域135aに記憶されているルールテーブル160、161に照合する(S24)。ここでは、通信データ判別部136bは、内部変数によりネットワーク装置130が状態Yにあるものとし、送信データを状態Yのルールテーブル161における通信データ欄161aに格納されている条件に満たすものがあるか否かを照合する。なお、ここでは、満たす条件はないものとする。
そして、ネットワーク装置130の通信処理部136aは、ステップS22で生成した送信データ(暗号化データ)をサーバ110に送信する(S25)。
次に、サーバ110は、受信した送信データを確認する処理を行い(S26)、暗号化データをネットワーク装置130に送信する(S27)。
次に、ネットワーク装置130の通信処理部136aは、サーバ110より受信した暗号化データを通信データ判別部136bに出力し、通信データ判別部136bが受信データをルール記憶領域135aに記憶されているルールテーブル160、161に照合する(S28)。ここでは、通信データ判別部136bは、内部変数によりネットワーク装置130が状態Yにあるものとし、受信データをルールテーブル161の通信データ欄161aに格納されている条件に満たすものがあるか否かを照合する。なお、ここでは、満たす条件はないものとする。
次に、ネットワーク装置130の通信処理部136aは、受信した暗号化データを確認する処理を行う(S29)。以上により、サーバ110及びネットワーク装置130ともに暗号化通信に使用する鍵を取得し、以降、ServerHelloメッセージから取得した共通鍵暗号方式を用いて暗号化通信を行う。
まず、ネットワーク装置130の通信処理部136aは、サーバ110に送信する通信データを生成して暗号化し、通信データ判別部136bに出力し、通信データ判別部136bが送信データをルール記憶領域135aに記憶されているルールテーブル160、161に照合する(S30)。ここでは、通信データ判別部136bは、内部変数によりネットワーク装置130が状態Yにあるものとし、通信データを状態Yのルールテーブル160の通信データ欄160aに格納されている条件に満たすものがあるか否かを照合する。なお、ここでは、満たす条件はないものとする。
そして、ネットワーク装置130の通信処理部136aは、暗号化した通信データをサーバ110の送信する(S31)。
これに対して、サーバ110も暗号化された通信データをネットワーク装置130に送信する。
このようにして受信した暗号化された通信データを受信したネットワーク装置130の通信処理部136aは、受信したデータを通信データ判別部136bに出力し、通信データ判別部136bが送信データをルール記憶領域135aに記憶されているルールテーブル160、161に照合する(S33)。
以上のような暗号化した通信を行い。セッション終了後、制御部136はスタンバイ状態に移行する(S34)。
図7は、ネットワーク装置130においてデータを送信する際の通信データ判別部136bにおける処理を示すフローチャートである。
まず、ネットワーク装置130の通信データ判別部136bは、通信処理部136aより送信データが入力されることにより処理を行う(S40)。
そして、ネットワーク装置130の通信データ判別部136bは、通信処理部136aより送信データが入力された場合には(ステップS40でYes)、内部変数によりルール記憶領域135aに記憶されているルールテーブル160、161から、照合を行うルールテーブル160、161を特定し、送信データの予め定められている位置に格納されている情報が、特定されたルールテーブル160、161の通信データ欄160a、161aに格納されている条件を満たすか否かを判定する(S41)。
そして、満たす場合には(S42でYes)、ネットワーク装置130の通信データ判別部136bは、満たす条件に対応するルールテーブル160、161の動作欄160b、161bに格納されている動作処理を実行し、処理を終了する。
一方、満たさない場合には(S42でNo)、ネットワーク装置130の通信データ判別部136bは、処理を終了する。
なお、処理を終了した後は、通信処理部136aによる通常の通信処理が行われる。
図8は、ネットワーク装置130においてデータを受信した際の通信データ判別部136bにおける処理を示すフローチャートである。
まず、ネットワーク装置130の通信データ判別部136bは、通信処理部136aより受信データが入力されることにより処理を行う(S50)。
そして、ネットワーク装置130の通信データ判別部136bは、通信処理部136aより受信データが入力された場合には(ステップS50でYes)、内部変数によりルール記憶領域135aに記憶されているルールテーブル160、161から、照合を行うルールテーブル160、161を特定し、受信データの予め定められている位置に格納されている情報が、特定されたルールテーブル160、161の通信データ欄160a、161aに格納されている条件を満たすか否かを判定する(S51)。
そして、満たす場合には(S52でYes)、ネットワーク装置130の通信データ判別部136bは、満たす条件に対応するルールテーブル160、161の動作欄160b、161bに格納されている動作処理を実行し、処理を終了する。
一方、満たさない場合には(S52でNo)、ネットワーク装置130の通信データ判別部136bは、処理を終了する。
なお、処理を終了した後は、通信処理部136aによる通常の通信処理が行われる。
以上のように、本実施形態におけるネットワーク装置130は、通信データの内容から、必要な内部処理を行う等により通信が行われない際に、ネットワークモジュール132への電力の供給を停止することができるため、省電力化が可能である。
例えば、図9(ネットワークモジュール132の消費電力量を示すグラフの概略図)に示すように、本実施形態のような制御を行わない際には、図9(A)に示されているように、制御部136の通信処理部136aが暗号を計算している場合等、通信が行わない場合でも(符号181A)、ネットワークモジュール132は電力を消費しているが、例えば、本実施形態のような制御を行う際には、図9(B)に示されているように、制御部136の通信処理部136aが暗号を計算している場合等、通信が行わない場合に(符号181B)、ネットワークモジュール132へは電力の供給が停止され、再起動に要する初期化処理に必要な電力が消費される。
このように本発明を適用することにより、図10の斜線部の面積だけ消費電流を小さくすることが可能である。
以上に記載した第一の実施形態においては、サーバ110と、ネットワーク装置130と、の間で暗号通信を行う場合には、サーバ110又はネットワーク装置130で検証を行う際に特定の時間を要し、この検証処理が終了しないと次の通信が行われないことから、検証処理を行っている際には、ネットワークモジュール132への電源の供給を停止するようにしている。なお、図6に示すシーケンスでは、証明書の検証の際にネットワークモジュール132への電源の供給を停止しているが、このような態様に限定されず、他のデータを検証する際にもネットワークモジュール132への電源の供給を停止することも可能である。この場合には、状態Yのルールテーブル161の通信データ欄161aにおいて、検証を要する通信データを特定することのできる条件を格納しておき、そのようなデータの検証に要する時間に対応する停止時間を動作欄161bに定義しておけばよい。
また、以上に記載した状態Yのルールテーブル161におけるネットワークモジュール132への電源の供給停止時間については、検証に要する時間をネットワーク装置130の仕様等から予め求めておき、ネットワークモジュール132の停止時間にネットワークモジュール132の初期化処理に必要な時間及びネットワークモジュール132の接続処理に必要な時間を加算した値が、検証に要する時間よりも短くなるように、予め定めておく。
図10は、本発明の第二の実施形態である通信システムで使用されるネットワーク装置230の概略図である。
第一の実施形態である通信システム100においては、ネットワーク装置130は、通信データの内容に応じて、ネットワークモジュール132への電源の供給を停止したが、本実施形態におけるネットワーク装置230は、通信データの内容と容量に応じて、ネットワークモジュール132への電源の供給を停止するようにしている。
図示するように、本実施形態におけるネットワーク装置230は、アンテナ131と、ネットワークモジュール132と、電源部133と、RTC134と、記憶部235と、制御部236と、インターフェース137と、を備え、第一の実施形態と比較して、記憶部235及び制御部236が異なっているため、以下、これらの異なっている点に関連する事項について説明する。
記憶部235には、ルール記憶領域235aが設けられている。
ルール記憶領域235aには、ネットワーク装置230の状態毎に、通信データに対する条件を特定する情報と、この通信データに対する条件を特定する情報に対応した処理動作を特定する情報と、が対応付けられて記憶されている。
具体的には、ルール記憶領域235aには、例えば、図11(状態Xのルールテーブル260の概略図)に示す状態Xのルールテーブル260と、図12(状態Yのルールテーブル261の概略図)に示す状態Yのルールテーブル261と、が記憶されている。
図11に示す状態Xのルールテーブル260は、通信データ欄260aと、動作欄260bと、を備えている。
通信データ欄260aには、サーバ110との間で送受信するデータに対する条件を特定する情報が格納される。
ここで、本実施形態においては、通信データ欄260aには、「HTTP POSTを行うURL」が「ログ転送を行うためのURL」であり、「HTTP POSTを行うデータ」が「100kB以上150kB未満」であるという条件が格納されている。なお、これらの条件を満たしているか否かは制御部236の通信データ判別部236bが、通信データを確認することにより判断する。
動作欄260bには、通信データ欄260aで特定される条件を通信データが満たしている場合に、ネットワーク装置230の制御部236が行う処理動作を特定する情報が格納される。
ここで、本実施形態においては、「HTTP POSTを行うURL」が「ログ転送を行うためのURL」であり、「HTTP POSTを行うデータ」が「100kB以上150kB未満」であるという条件が満たされている場合には、ネットワーク装置230の状態は、状態Xから状態Yに遷移する。
なお、状態X及び状態Yは、ネットワーク装置230の内部状態であって、予め定められた通信を行う際に状態が異なるように(状態Xから状態Yになるように)、設定されている。また、これらの状態X及び状態Yは、制御部236の通信データ判別部236bにおいて保持する内部変数で確認可能にされている。
図12に示す状態Yのルールテーブル261は、通信データ欄261aと、動作欄261bと、を備えている。
通信データ欄261aには、サーバ110との間で送受信するデータに対する条件を特定する情報が格納される。
ここで、本実施形態においては、通信データ欄261aには、通信データが「状態XでのHTTP POSTに対する応答」であるという条件が格納されている。なお、これらの条件を満たしているか否かは、制御部236の通信データ判別部236bが、通信データを確認することにより判断する。
動作欄261bには、通信データ欄261aで特定される条件を通信データが満たしている場合に、ネットワーク装置230の制御部236が行う処理動作を特定する情報が格納される。
ここで、本実施形態においては、通信データが「状態XでのHTTP POSTに対する応答」であるという条件が満たされている場合には、制御部236の電源制御部136bは、「ネットワークモジュールへの電源供給を停止」し、停止してから「1秒後に電源供給を開始し、初期化、再接続を行う」という動作処理を行う。
なお、これらの動作処理は、電源制御部136bが電源部133を制御することにより行う。
制御部236は、通信処理部136aと、通信データ判別部236bと、電源制御部136cと、を備え、第一の実施形態とは通信データ判別部236bが異なっているため、以下、この異なっている点に関連する事項について説明する。
通信データ判別部236bは、ネットワーク装置230の状態に応じて、ネットワーク装置230で送受信するデータが、記憶部235のルール記憶領域235aに記憶されているルールテーブル260、261の通信データ欄260a、261aに格納されている条件を満たすか否かを確認し、満たしている場合には、満たしている条件に対応する動作欄260b、261bに格納されている動作処理を制御する。
なお、通信データ判別部236bは、動作欄260b、261bに格納されている動作処理が、電源部133を制御する処理である場合には、電源制御部136cに必要な制御指示を出力する。
以上のように構成されるネットワーク装置230についても、第一の実施形態と同様に、例えば、図5に示すような一般的なコンピュータ170で実現できる。
例えば、記憶部235は、CPU171がメモリ172又は外部記憶装置173を利用することにより実現可能であり、制御部236は、外部記憶装置173に記憶されている所定のプログラムをメモリ172にロードしてCPU171で実行することで実現可能であり、アンテナ131及びネットワークモジュール132は、CPU171がアンテナ179及び無線通信装置178を利用することにより実現可能であり、電源部133は、電源装置176をCPU171が利用することで実現可能であり、RTC134は、CPU171がRTC装置177を利用することで実現可能であり、インターフェース137は、CPU171がインターフェース180を利用することで実現可能である。
この所定のプログラムは、読取装置175を介して記憶媒体174から、あるいは、無線通信装置178を介してネットワークから、外部記憶装置173にダウンロードされ、それから、メモリ172上にロードされてCPU171により実行されるようにしてもよい。また、読取装置175を介して記憶媒体174から、あるいは、無線通信装置178を介してネットワークから、メモリ172上に直接ロードされ、CPU171により実行されるようにしてもよい。
図13は、サーバ110と、ネットワーク装置230と、の間の通信シーケンスを示すシーケンス図である。ここで、本実施形態においては、サーバ110にネットワーク装置230からネットワーク装置230のログデータを送信する場合の通信シーケンスを示すが、このような通信に限定されるわけではない。
まず、ネットワーク装置230の制御部236は、RTC134からの信号に応じてスリープ状態から起動状態に遷移する(S60)。
次に、ネットワーク装置230の通信処理部136aは、サーバ110に送信する送信データ(ここでは、ネットワーク装置230のログデータ)を生成して、通信データ判別部236bに出力し、通信データ判別部236bが送信データをルール記憶領域235aに記憶されているルールテーブル260、261に照合する(S61)。ここでは、通信データ判別部236bは、内部変数によりネットワーク装置230が状態Xにあるものとし、送信データを状態Xのルールテーブル260における通信データ欄260aに格納されている条件に満たすものがあるか否かを照合する。ここで、サーバ110に送信する送信データは、通信データ欄260aに格納されている「HTTP POSTを行うURL」が「ログ転送を行うためのURL」であり、「HTTP POSTを行うデータ」が「100kB以上150kB未満」であるという条件を満たすものとする。
そして、ネットワーク装置230の通信データ判別部236bは、条件を満たす通信データ欄260aに対応する動作欄260bに格納されている「状態Yに遷移」する処理動作を、内部変数を変えることで実行する(S62)。
そして、ネットワーク装置230の通信処理部136aは、ログデータを送信データとしてサーバ110に送信する(S63)。
このようなログデータを受信したサーバ110では、ネットワーク装置230に受信応答であるACKメッセージを返信する(S64)。
次に、ネットワーク装置230の通信処理部136aは、サーバ110より受信したACKメッセージを通信データ判別部236bに出力し、通信データ判別部236bは、通信データ判別部136bが受信データをルール記憶領域135aに記憶されているルールテーブル260、261に照合する(S65)。ここでは、通信データ判別部236bは、内部変数によりネットワーク装置230が状態Yにあるものとし、受信データを状態Yのルールテーブル261の通信データ欄261aに格納されている条件に満たすものがあるか否かを照合する。ここで、受信データは、通信データ欄261aに格納されている「状態XでのHTTP POSTに対する応答」であるという条件を満たすものとする。
そして、通信データ判別部236bは、満たした条件に対応する動作欄261b格納されている「ネットワークモジュールへの電源供給を停止」し、停止してから「1秒後に電源供給を開始し、初期化、再接続を行う」という動作処理を行うよう、制御部236の電源制御部236bに指示を出す。このような指示を受けた電源制御部236cは、電源部133を制御して、まず、ネットワークモジュール132への電源の供給を停止する(S66)。
この間に、サーバ110では、ネットワーク装置230から受信したログデータを予め定められたデータベースに格納する等の処理を行う(S67)。
そして、ネットワーク装置230の通信データ判別部236bは、ステップS19においてネットワークモジュール132への電源の供給を停止してから、1秒が経過した場合には、電源制御部136cに指示することにより、ネットワークモジュール132への電源の供給を開始し(S68)、初期化、再接続を行う。
そして、サーバ110は、ログデータの処理が完了することで、完了通知をネットワーク装置230に送信する(S69)。
このようなデータを受信したネットワーク装置230においては、通信処理部136aが、サーバ110より受信した暗号化データを通信データ判別部236bに出力し、通信データ判別部236bが受信データをルール記憶領域235aに記憶されているルールテーブル260、261に照合する(S70)。ここでは、通信データ判別部236bは、内部変数によりネットワーク装置230が状態Yにあるものとし、受信データを状態Yのルールテーブル261の通信データ欄261aに格納されている条件に満たすものがあるか否かを照合する。なお、ここでは、満たす条件はないものとする。
そして、ネットワーク装置230の通信処理部136aは、受信応答であるACKメッセージを生成して、通信データ判別部236bに出力し、通信データ判別部236bが送信データをルール記憶領域235aに記憶されているルールテーブル260、261に照合する(S71)。ここでは、通信データ判別部236bは、内部変数によりネットワーク装置230が状態Yにあるものとし、送信データを状態Yのルールテーブル261の通信データ欄261aに格納されている条件に満たすものがあるか否かを照合する。なお、ここでは、満たす条件はないものとする。
以上のような通信を行い。セッション終了後、制御部236はスタンバイ状態に移行する(S73)。
以上のように、本実施形態におけるネットワーク装置230は、通信データの内容と容量から、サーバ110側で処理を行うのにある程度の時間が必要となり、その間は通信が行われない際に、ネットワークモジュール132への電力の供給を停止することができるため、省電力化が可能である。
第二の実施形態においては、サーバ110と、ネットワーク装置230と、の間で特定の処理が必要となるデータを、特定の容量送受信した際に、当該データの処理に予め定められた処理時間がかかるため、この時間の間、ネットワークモジュール132への電源の供給を停止するようにしている。図13のシーケンスでは、ネットワーク装置230からサーバ110にログデータを送信する場合に、ネットワークモジュール132への電源の供給を停止しているが、このような態様に限定されず、特定の容量を送信することで特定の処理が必要となり、特定の時間、情報の送受信を行うことができなくなるような(情報の送受信を行う必要がなくなるような)場合には、本発明を適用することができる。
図14は、本発明の第三の実施形態である通信システムで使用されるネットワーク装置330の概略図である。
図示するように、本実施形態におけるネットワーク装置330は、アンテナ131と、ネットワークモジュール132と、電源部133と、RTC134と、記憶部335と、制御部336と、インターフェース137と、を備え、第二の実施形態と比較して、記憶部335及び制御部336が異なっているため、以下、この異なっている点に関連する事項について説明する。
記憶部335は、ルール記憶領域235aと、時間情報記憶領域335bと、を備え、第二の実施形態と比較して、時間情報記憶領域335bが追加されているため、以下、この異なっている点に関連する事項について説明する。
時間情報記憶領域335bには、後述するルール編集部336dで計測された時間が格納される。
制御部336は、通信処理部136aと、通信データ判別部236bと、電源制御部136cと、ルール編集部336dと、を備え、第二の実施形態と比較して、ルール編集部336dが追加されているため、以下、この異なっている点に関連する事項について説明する。
ルール編集部336dは、記憶部235のルール記憶領域235aに記憶されているルールテーブル260、261に格納されている情報を編集する。
具体的には、ルール編集部336dは、電源制御部136cにおいてネットワークモジュール132への電源を停止する指示を出した時点から、サーバ110より処理の完了通知を受信するまでの時間を計測し、計測した時間の所定の回数の平均値と、ルールテーブル261の動作欄261bに格納されている停止時間と、を比較して、当該平均値が停止時間よりも予め定められた時間以上長い場合には、停止時間に予め定められた時間を加算する処理を行う。
以上のように構成されるネットワーク装置330についても、第一の実施形態と同様に、例えば、図5に示すような一般的なコンピュータ170で実現できる。
例えば、記憶部235は、CPU171がメモリ172又は外部記憶装置173を利用することにより実現可能であり、制御部336は、外部記憶装置173に記憶されている所定のプログラムをメモリ172にロードしてCPU171で実行することで実現可能であり、アンテナ131及びネットワークモジュール132は、CPU171がアンテナ179及び無線通信装置178を利用することにより実現可能であり、電源部133は、電源装置176をCPU171が利用することで実現可能であり、RTC134は、CPU171がRTC装置177を利用することで実現可能であり、インターフェース137は、CPU171がインターフェース180を利用することで実現可能である。
この所定のプログラムは、読取装置175を介して記憶媒体174から、あるいは、無線通信装置178を介してネットワークから、外部記憶装置173にダウンロードされ、それから、メモリ172上にロードされてCPU171により実行されるようにしてもよい。また、読取装置175を介して記憶媒体174から、あるいは、無線通信装置178を介してネットワークから、メモリ172上に直接ロードされ、CPU171により実行されるようにしてもよい。
図15は、ネットワーク装置330のルール編集部336dでの処理を示すフローチャートである。
まず、ネットワーク装置330のルール編集部336dは、ネットワークモジュール132への電源の供給を電源制御部136cが停止することにより処理を開始する(S80)。
そして、ネットワーク装置330のルール編集部336dは、ネットワークモジュール132への電源の供給を電源制御部136cが停止した場合には(S80でYes)、時間の計測を開始する(S81)。
そして、ネットワーク装置330のルール編集部336dは、通信処理部136aが、サーバ110からデータ処理の完了通知を受信するか否かを監視し(S82)、受信した場合には(S82でYes)、ステップS80における電源の停止から、ステップS82におけるデータ処理の完了通知を受信するまでの時間を記憶部335の時間情報記憶領域335bに保存する(S83)。
そして、ネットワーク装置330のルール編集部336dは、時間情報記憶領域335bに保存されている時間情報の過去3回の計測時間の平均値を求め、ルールテーブル261の動作欄261bに格納されている停止時間と、を比較して、当該平均値が、停止時間に初期化処理に必要な時間及び接続処理に必要な時間を加算した値より1秒以上長いか否かを判定する(S84)。そして、ステップS84において、1秒以上長ければ、ステップS85に進み、もし1秒以上長くなければ、処理を終了する。
ここで、初期化処理に必要な時間及び接続処理に必要な時間については、ネットワーク装置330の仕様に応じて、予め計測等により定めておく。
ステップS85では、ネットワーク装置330のルール編集部336dは、ルールテーブル261の動作欄261bに格納されている停止時間を0.5秒だけ増加させる処理を行う(S85)。
以上により、例えば、サーバ110でのデータ処理に必要となる時間が大きくなるような場合にも、不必要な電力消費の抑制が可能となる。
第三の実施形態においては、ルールテーブル261に示されているように、「ルール」は、「条件」(通信データ)と「動作」によって構成されているが、既にある「ルール」の「動作」を変更するだけでなく、新たな「ルール」を新規に作成(ルールテーブル261に追加)するようにしても良い。
また、第三の実施形態においては、サーバ110がログデータを処理する時間をルール編集部336dで計測しているが、このような態様に限定されるわけではなく、例えば、第一の実施形態における停止時間を編集するようにすることも可能である。このような場合には、ネットワークモジュール132への電源の供給を停止してから、サーバ110へ送信する暗号化データを生成するまで(図6のステップS22)の時間を計測しておき、この時間を時間情報記憶領域335bに記憶しておけばよい。
以上に記載した実施形態においては、ネットワーク装置130に表示装置140を接続しているが、このような態様に限定されず、例えば、エアコンや冷蔵庫といった白物家電、センサやドアやスイッチといった設備計器機、テレビやステレオといったAV機器などでもよい。
また、以上に記載した実施形態においては、ネットワーク装置130と表示装置140とを別個に形成したが、このような態様に限定されず、表示装置140とネットワーク装置130とを同じ筐体に形成することも可能である。