(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0019】
以下、本発明の実施形態について図面を参照して説明する。
【0020】
(第1実施形態)
図1は、本発明の第1実施形態の通信装置11〜1n(ただし、nは1以上の整数)とサーバ2とを有する電力量通信システムを示したブロック図である。
【0021】
通信装置11〜1nは、家庭で使用された電力量を計測し、その計測結果をサーバ2へ送信する。なお、通信装置11〜1nにて測定される電力使用量は、家庭での電力使用量に限らず適宜変更可能であり、例えば、店舗または工場での電力使用量でもよい。
【0022】
通信装置11〜1nとサーバ2とは、無線LAN(Local Area Network)ルータ3または携帯電話網の基地局4と、インターネット等の通信網5と、ルータ6とを介して相互に通信する。
【0023】
図2は、通信装置11〜1nの各々として用いられる通信装置1の一例を示したブロック図である。
【0024】
図2において、通信装置1は、蓄電池1aと、スイッチ1bと、測定部1cと、記憶部1dと、ダミーデータ生成部1eと、制御部1fと、通信部1gと、を含む。なお、ダミーデータ生成部1eは、制御部1fに内蔵されてもよい。
【0025】
蓄電池1aは、通信装置1の電源として機能する。なお、蓄電池1aの代わりに乾電池等の一次電池が用いられてもよい。
【0026】
スイッチ1bは、蓄電池1aからの電源電圧を、測定部1cと記憶部1dとダミーデータ生成部1eと制御部1fと通信部1gとに供給する。
【0027】
測定部1cは、測定手段の一例である。
【0028】
測定部1cは、ユーザ宅での電力の使用量を測定する。本実施形態では、測定部1cは、1時間ごと(例えば、00:01〜01:00、01:01〜02:00、・・・、12:01〜13:00、・・・、23:01〜00:00)の電力の使用量を測定する。
【0029】
記憶部1dは、記憶手段の一例である。
【0030】
記憶部1dは、サーバ2へ送信される送信データ内の使用量に関するデータの(識別子が示すデータの)中で、有効データが配置される位置(以下「有効データ位置」と称する)を指定する位置指定情報と、測定部1cの測定結果(電力使用量)を変換するための変数と、を記憶する。
【0031】
有効データ位置は所定位置の一例である。変数は所定値の一例である。
【0032】
本実施形態では、記憶部1dは、通信装置1の装置識別子も記憶する。なお、装置識別子として、通信装置1のMAC(Media Access Control)アドレスまたは通信装置1のIP(Internet Protocol)アドレスが用いられてもよい。
【0033】
また、記憶部1dは、サーバ2から受信した通信装置1固有のセッション情報も記憶する。
【0034】
また、記憶部1dは、送信データの送信予定時刻を特定するための送信予定時刻情報も記憶する。なお、送信予定時刻情報は、各通信装置からの送信データのサーバ2への送信タイミングが同時刻に集中しないように予め定められた情報である。本実施形態では、送信予定時刻情報として、測定時間(例えば12:01〜13:00)の終了時刻(測定時間が12:01〜13:00の場合には、13:00)からa分経過した時刻を送信予定時刻とする旨の情報が用いられる。そして、送信装置ごとに送信予定時刻が異なるように各通信装置のaの値が設定されている。
【0035】
ダミーデータ生成部1eは、ダミーデータ生成手段の一例である。
【0036】
ダミーデータ生成部1eは、ダミーデータを生成する。例えば、ダミーデータ生成部1eは、乱数発生機能を有し、乱数発生機能を用いてダミーデータを生成する。
【0037】
制御部1fは、送信データ生成手段の一例である。
【0038】
制御部1fは、内部時計を有し、通信装置1を制御する。
【0039】
例えば、制御部1fは、測定部1cの測定結果(電力使用量)と記憶部1d内の変数との加算結果が、記憶部1d内の位置指定情報にて指定された送信データ内の有効データ位置にくるように、測定部1cの測定結果と、記憶部1d内の変数と、ダミーデータ生成部1eが生成したダミーデータと、記憶部1d内の位置指定情報と、に基づいて、送信データを生成する。
【0040】
なお、測定部1cの測定結果と記憶部1d内の変数との加算結果は、演算結果の一例であり、以下、単に「演算結果」とも称する。
【0041】
制御部1fは、送信データに、記憶部1d内のセッション情報と、制御部1f内の内部時計が生成した日時情報と、を付加する。
【0042】
通信部1gは、通信手段の一例である。
【0043】
通信部1gは、無線LANまたは携帯電話パケットを用いて、無線LANルータ3または基地局4と接続し、無線LANルータ3または基地局4、インターネット5およびルータ6を介して、サーバ2と通信する。
【0044】
通信部1gは、例えば、セッション情報と日時情報とが付加された送信データを、サーバ2に送信する。
【0045】
図3は、サーバ2の一例を示したブロック図である。
【0046】
図3において、サーバ2は、記憶部2aと、通信部2bと、制御部2cと、電力量記憶部2dと、を含む。
【0047】
記憶部2aは、サーバ側記憶手段の一例である。
【0048】
記憶部2aは、通信装置1ごとに、通信装置の装置識別子と、通信装置のセッション情報と、通信装置内の位置指定情報および変数と同一の位置指定情報および変数とを、互いに対応づけて記憶する。
【0049】
通信部2bは、サーバ側通信手段の一例である。
【0050】
通信部2bは、通信装置1と通信する。通信部2bは、例えば、通信装置1から、セッション情報と日時情報とが付加された送信データを受信する。
【0051】
制御部2cは、制御手段の一例である。
【0052】
制御部2cは、内部時計を有し、サーバ2を制御する。
【0053】
制御部2cは、例えば、通信部2bが受信した送信データに付加されたセッション情報と対応する位置指定情報および変数を、記憶部2aから読み取る。制御部2cは、通信部2bが受信した送信データから、位置指定情報が指定する有効データ位置に位置する演算結果を抽出する。制御部2cは、その演算結果から、変数を用いて測定結果を取得する。
【0054】
電力量記憶部2dは、制御部2cが取得した測定結果と、その測定結果が取得された送信データに付加されたセッション情報と対応する装置識別子と、その送信データに付加された日時情報とを、互いに対応づけて記憶する。
【0056】
図4は、
図1に示した電力量通信システムの動作を説明するためのシーケンス図である。なお、
図4では、通信装置の数が1の場合を示している。
【0057】
まず、通信装置11が起動したときに実行される初期動作について説明する。
(初期動作)
通信装置11内のスイッチ1bがオンとなって通信装置11が起動すると、制御部1fは、記憶部1dに記憶されている装置識別子を読み取る。
【0058】
図5は、装置識別子の一例を示した図である。
図5では、装置識別子として「ABC12345」が示されている。なお、装置識別子は、「ABC12345」に限らず適宜変更可能である。
【0059】
なお、この段階では、記憶部1dには、位置指定情報と変数とセッション情報が記憶されていない。
【0060】
続いて、制御部1fは、装置識別子を含む初期通知を生成し、通信部1gを用いて初期通知をサーバ2に送信する(ステップS401)。
【0061】
図6は、HTTP(HyperText Transfer Protocol)通信のPOSTメソッドを用いた初期通知の一例を示した図である。
【0062】
図6において、初期通知600は、リクエスト601と、ヘッダ602と、セパレータ603と、メッセージボディ604と、を含む。装置識別子は、メッセージボディ604に含まれる。
【0063】
サーバ2内の制御部2cは、通信部2bを介して初期通知を受信すると、初期通知から装置識別子を読み取る。
【0064】
続いて、制御部2cは、セッション情報と変数と位置指定情報を生成し、これらセッション情報、変数および位置指定情報を、初期通知から読み取られた装置識別子と対応づけて記憶部2aに記憶する(ステップS402)。
【0065】
なお、制御部2cは、セッション情報を通信装置ごとにユニークにするため、セッション情報として16桁などの桁数の大きい英数字を用いることが好ましいが、ここでは説明を簡単にするため、セッション情報を8桁で例示する。
【0066】
図7は、セッション情報と変数と位置指定情報の一例を示した図である。
【0067】
図7では、セッション情報701として「P0000001」が示され、変数702として「111」が示され、位置指定情報703として「2」が示される。なお、位置指定情報703=「2」は、有効データが送信データ内で前から2番目のデータ位置に存在することを指定する。また、セッション情報701、変数702および位置指定情報703は、
図7に示したものに限らず適宜変更可能である。
【0068】
続いて、制御部2cは、セッション情報701と変数702と位置指定情報703と制御部2c内の内部時計が生成した日時情報とを含むレスポンスを生成し、通信部2bを用いてレスポンスを初期通知の送信元(通信装置11)に送信する(ステップS403)。
【0069】
図8は、初期通知に対するレスポンスの一例を示した図である。
【0070】
図8において、レスポンス800は、ステータスコード(200 OK)801と、ヘッダ802と、セパレータ803と、メッセージボディ804と、を含む。セッション情報701と変数702と位置指定情報703と日時情報は、メッセージボディ804に含まれる。
【0071】
通信装置11内の制御部1fは、通信部1gを介して、サーバ2からのレスポンスを受信すると、レスポンスから、セッション情報701と変数702と位置指定情報703と日時情報とを読み取る。
【0072】
続いて、制御部1fは、制御部1f内の内部時計が生成する日時情報を、レスポンスから読み取った日時情報に同期させる(ステップS404)。
【0073】
続いて、制御部1fは、セッション情報701と変数702と位置指定情報703とを記憶部1dに記憶する(ステップS405)。
【0075】
続いて、初期動作後に実行される定期動作について説明する。
【0076】
(定期動作)
通信装置11内の測定部1cは、既定の時間間隔(以下「既定間隔」と称する)ごとに使用電力量を計測する(ステップS406)。
【0077】
既定間隔が1時間なら、測定部1cは、例えば12:01に電流値を測定し、その測定値に契約電圧(例えば「100V」)を乗じ、その乗算結果を60(分)で割り、12:01の使用電力量(例えば「2.04Wh」)を算出し、その算出結果を記憶する。次に、測定部1cは、1分後の12:02に再度、電流値を測定し、その測定値に契約電圧(例えば「100V」)を乗じ、その乗算結果を60(分)で割り、12:02の使用電力量(例えば「2.06Wh」)を算出し、その算出結果を記憶する。測定部1cは、これを1分毎に繰り返して、13:00の使用電力量(例えば「2.05Wh」)まで算出したら、記憶された12:01から13:00までの間の使用電力量を積算(例えば、2.04+2.06+・・・+2.05=123)し、1時間あたりの使用電力量(例えば「123Wh」)を算出する。電流値の測定間隔は1分毎でなくともよい。または、測定部1cは、12:01から13:00までの1時間に流れた電流値を測定(例えば「1.23A」)し、契約電圧(例えば「100V」)を乗じて、1時間あたりの使用電力量(例えば「123Wh」)を算出してもよい。
【0078】
測定部1cは、測定結果である使用電力量を制御部1fに出力する。以下では、使用電力量が123Whであるとする。なお、使用電力量は123Whに限るものではない。
【0079】
制御部1fは、使用電力量(123Wh)を受け付けると、制御部1f内の内部時計を参照して使用電力量「123」の計測日時を特定し、その後、送信データを以下のように生成する。
【0080】
まず、制御部1fは、記憶部1dから位置指定情報703と変数702とを読み取り、m(mは、位置指定情報703が表す数以上の数)個のダミーデータを生成する旨の生成指示を、ダミーデータ生成部1eに出力する。以下では、位置指定情報703が表す数が「2」であり、m=2であり、変数702が「111」であるとする。なお、位置指定情報703が表す数およびmは「2」に限らない。また、変数702は「111」に限らない。
【0081】
ダミーデータ生成部1eは、生成指示を受け付けると、生成指示にしたがってm個のダミーデータ、つまり2個のダミーデータを生成する(ステップS407)。
【0082】
以下では、2個のダミーデータを、「456」と「789」とする。なお、ダミーデータは、「456」と「789」に限らず適宜変更可能である。
【0083】
続いて、ダミーデータ生成部1eは、ダミーデータ「456」および「789」を制御部1fに出力する。
【0084】
制御部1fは、ダミーデータ「456」および「789」を受け付けると、位置指定情報703にて指定された2番目のデータの位置に使用電力量「123」がくるように、ダミーデータ「456」および「789」と使用電力量「123」とに順番を付ける(ステップS408)。
【0085】
以下では、制御部1fは、ダミーデータ「456」に順番「1」を表す順番識別子であるDATA1を付加し、使用電力量「123」に順番「2」を表す順番識別子であるDATA2を付加し、ダミーデータ「789」に順番「3」を表す順番識別子であるDATA3を付加する。
【0086】
続いて、制御部1fは、順番識別子が付加された使用電力量「123」、ダミーデータ「456」および「789」を、順番識別子が表す順番通りに並べて、送信基準データ「DATA1=456& DATA2=123& DATA3=789」を生成する(ステップS409)。
【0087】
続いて、制御部1fは、送信基準データ内の使用電力量「123」に変数702=「111」を加算して、送信データ「DATA1=456& DATA2=234& DATA3=789」を生成する(ステップS410)。
【0088】
ここで、送信データ内の「234」は、演算結果の一例である。
【0089】
なお、制御部1fは、送信基準データ内の使用電力量「123」およびダミーデータ「456」およびダミーデータ「789」に変数702=「111」を加算して、送信データ「DATA1=567& DATA2=234& DATA3=900」を生成してもよい。この場合、ダミーデータ「456」および「789」に変数「111」が加算されたデータ「567」および「900」もダミーデータとして機能する。よって、この場合、ダミーデータ生成部1eと制御部1fとでダミーデータ生成手段が構成される。
【0090】
続いて、制御部1fは、制御部1f内の内部時計が生成する日時情報が、記憶部1d内の送信予定時刻情報にて特定される送信予定時刻(例えば、13:05)になると、送信データに、記憶部1dに記憶されたセッション情報「P0000001」と、使用電力量「123」の計測日時(例えば、2012年02月11日13:00を表す201202111300)と、を付加する。
【0091】
続いて、制御部1fは、セッション情報「P0000001」と計測日時「201202111300」が付加された送信データ「SESSION_ID=P0000001&DATE=201202011300&DATA1=456& DATA2=234& DATA3=789」を、HTTP通信のPOSTメソッドを用いて、通信部1gを介してサーバ2に送信する(ステップS411)。
【0092】
図9は、POSTメソッドを用いて送信される送信データの一例を示した図である。
【0093】
図9において、POSTメソッド900は、リクエスト901と、ヘッダ902と、セパレータ903と、メッセージボディ904と、を含む。セッション情報と計測日時が付加された送信データ「SESSION_ID=P0000001&DATE=201202011300&DATA1=456&DATA2=234&DATA3=789」は、メッセージボディ904に含まれる。
【0094】
サーバ2内の制御部2cは、通信部2bを介して、セッション情報と計測日時が付加された送信データを受信すると、送信データに付加されたセッション情報と対応する位置指定情報703および変数702を、記憶部2aから読み取る。
【0095】
続いて、制御部2cは、通信部2bが受信した送信データから、位置指定情報703が指定する有効データ位置(前から2番目のデータ位置)に位置する演算結果「234」を抽出する(ステップS412)。
【0096】
続いて、制御部2cは、演算結果「234」から変数702=「111」を減算して、電力使用量「123」を取得する(ステップS413)。
【0097】
続いて、制御部2cは、電力使用量「123」と、電力使用量「123」が取得された送信データに付加されたセッション情報「P0000001」と対応する装置識別子と、その送信データに付加された計測日時(日時情報)「201202011300」とを、互いに対応づけて電力量記憶部2dに記憶する(ステップS414)。
【0098】
続いて、制御部2cは、新たなセッション情報と新たな変数と新たな位置指定情報を生成し、記憶部2a内でセッション情報「P0000001」と対応する装置識別子に対応づけられているセッション情報と変数と位置指定情報を、それぞれ、新たなセッション情報と新たな変数と新たな位置指定情報に更新する(ステップS415)。
【0099】
続いて、制御部2cは、新たなセッション情報と新たな変数と新たな位置指定情報と制御部2c内の内部時計が生成した日時情報とを含むレスポンスを生成し、通信部2bを用いてレスポンスを送信データの送信元(通信装置11)に送信する(ステップS416)。
【0100】
なお、ステップS416で送信されるレスポンスの構成は、
図8に示したレスポンスの構成に準じたものとなる。
【0101】
通信装置11内の制御部1fは、通信部1gを介して、サーバ2からのレスポンスを受信すると、レスポンスから、新たなセッション情報と新たな変数と新たな位置指定情報と日時情報とを読み取る。
【0102】
続いて、制御部1fは、制御部1f内の内部時計が生成する日時情報を、レスポンスから読み取った日時情報に同期させる(ステップS417)。
【0103】
続いて、制御部1fは、記憶部2a内のセッション情報と変数と位置指定情報を、それぞれ、新たなセッション情報と新たな変数と新たな位置指定情報に更新する(ステップS418)。
【0104】
以下、処理は定期動作の最初のステップ(ステップS406)に戻り、定期動作が繰り返される。
【0105】
なお、通信装置11は、サーバに送信した初期通知や送信データに対するレスポンスで、情報をサーバ2から受け取る。このため、通信装置11は、サーバ2から自発的に送信された情報を受信するための受信待ち状態を取らなくてもよい。
【0107】
本実施形態によれば、測定部1cは、測定対象である電力の使用量を測定する。ダミーデータ生成部1eは、ダミーデータを生成する。記憶部1dは、位置指定情報と変数とを記憶する。制御部1fは、測定部1cの測定結果と変数との加算の演算結果が、位置指定情報にて指定された送信データ内の所定位置にくるように、測定部1の測定結果と変数とダミーデータと位置指定情報とに基づいて、送信データを生成する。通信部1gは、制御部1fにて生成された送信データをサーバ2に送信する。
【0108】
このため、測定部1cの測定結果と変数との演算結果とダミーデータとを有する送信データが、サーバ2に送信される。したがって、通信路上での測定部1cの測定結果のセキュリティを確保することが可能になる。
【0109】
また、測定結果と変数との加算演算とダミーデータの生成処理とを用いて送信データを生成するため、通信装置が行う演算量を、RSA暗号化処理で必要となる演算よりも少なくすることが可能になる。よって、通信装置の消費電力を少なくできる。したがって、例えば、通信装置の電源として電池が用いられても、電池寿命を延ばすことが可能になる。
【0110】
本実施形態では、測定結果と変数との演算として加算が用いられたが、測定結果と変数との演算として、加算ではなく、減算、乗算または除算が用いられてもよい。この場合も、上記と同様の効果を奏する。
【0111】
なお、上記効果は、測定部1cと記憶部1dとダミーデータ生成部1eと制御部1fと通信部1gとからなる通信装置1でも奏する。
【0112】
図10は、測定部1cと記憶部1dとダミーデータ生成部1eと制御部1fと通信部1gとからなる通信装置1を示した図である。
【0113】
なお、本実施形態において、ダミーデータ生成部1eは、ダミーデータとして、測定部1cの測定結果と、測定部1cの測定結果と変数との演算結果と、のいずれか(以下「基準データ」と称する)と桁数が等しい数値にて表される数値データを生成してもよい。
【0114】
基準データが測定部1cの測定結果である場合には、制御部1fは、測定部1cの測定結果を受け付け、記憶部1dから位置指定情報703と変数702とを読み取った後、x(xは、測定部1cの測定結果の桁数)桁の数値データであるm個のダミーデータを生成する旨の特定生成指示を、ダミーデータ生成部1eに出力する。
【0115】
ダミーデータ生成部1eは、特定生成指示を受け付けると、特定生成指示にしたがって、x桁の数値データであるm個のダミーデータを生成する。続いて、ダミーデータ生成部1eは、m個のダミーデータを制御部1fに出力する。
【0116】
また、基準データが演算結果である場合には、制御部1fは、測定部1cの測定結果を受け付け、記憶部1dから位置指定情報703と変数702とを読み取った後、y(yは、測定部1cの測定結果と変数との演算結果の桁数)桁の数値データであるm個のダミーデータを生成する旨の所定生成指示を、ダミーデータ生成部1eに出力する。
【0117】
ダミーデータ生成部1eは、所定生成指示を受け付けると、所定生成指示にしたがって、y桁の数値データであるm個のダミーデータを生成する。続いて、ダミーデータ生成部1eは、m個のダミーデータを制御部1fに出力する。
【0118】
なお、基準データが演算結果であり、かつ、ダミーデータと変数との演算が行われない場合には、送信データ内では演算結果とダミーデータとの桁数が等しくなり、演算結果とダミーデータとの識別が困難となる。このため、通信路上での測定部1cの測定結果のセキュリティが向上する。
【0119】
また、ダミーデータである数値データの最上位の桁の数字が、基準データの最上位の桁の数字と同一でもよい。
【0120】
基準データが測定部1cの測定結果である場合には、制御部1fは、例えば、特定生成指示として、x桁の数値データであり、かつ、その数値データの最上位の桁の数字がs(sは、測定部1cの測定結果の最上位の桁の数字)であるm個のダミーデータを生成する旨の生成指示を、ダミーデータ生成部1eに出力する。ダミーデータ生成部1eは、その生成指示にしたがって、x桁の数値データであり、かつ、その数値データの最上位の桁の数字がsであるm個のダミーデータを生成する。続いて、ダミーデータ生成部1eは、m個のダミーデータを制御部1fに出力する。
【0121】
また、基準データが演算結果である場合には、制御部1fは、例えば、所定生成指示として、y桁の数値データであり、かつ、その数値データの最上位の桁の数字がt(tは、演算結果の最上位の桁の数字)であるm個のダミーデータを生成する旨の生成指示を、ダミーデータ生成部1eに出力する。ダミーデータ生成部1eは、その生成指示にしたがって、y桁の数値データであり、かつ、その数値データの最上位の桁の数字がtであるm個のダミーデータを生成する。続いて、ダミーデータ生成部1eは、m個のダミーデータを制御部1fに出力する。
【0122】
なお、基準データが演算結果であり、かつ、ダミーデータと変数との演算が行われない場合には、送信データ内では演算結果とダミーデータとの桁数および最上位の桁の数字が等しくなり、演算結果とダミーデータとの識別が困難となる。このため、通信路上での測定部1cの測定結果のセキュリティが向上する。
【0123】
本実施形態において、ダミーデータ生成部1eは、過去に送信データが送信された状況では、送信済みの送信データを生成する際に用いられた基準データと桁数が等しい数値にて表される数値データをダミーデータとして生成し、制御部1fは、今回の測定結果と変数との演算結果が、位置指定情報にて指定された送信データ内の有効データ位置にくるように、今回の測定結果と変数とダミーデータと位置指定情報とに基づいて、今回の送信データを生成してもよい。
【0124】
例えば、制御部1fは、桁数p(pは送信済みの送信データを生成する際に用いられた基準データの桁数)の数値にて表されるm個のダミーデータを生成する旨の桁数指定生成指示を、ダミーデータ生成部1eに出力する。
【0125】
ダミーデータ生成部1eは、桁数指定生成指示を受け付けると、桁数指定生成指示にしたがって、桁数pの数値データであるm個のダミーデータを生成する。続いて、ダミーデータ生成部1eは、m個のダミーデータを制御部1fに出力する。
【0126】
この場合、今回の測定結果が既定値よりも低くなっていても(例えば、ユーザが家を留守にしており使用量がほぼ0となっている場合)、ダミーデータが、ユーザが家にいるときのような数値を表すことが可能になる。このため、例えば、送信データを不正に取得した第三者が、ユーザが家を留守にしている状態を認識すること防止することが可能になる。
【0127】
また、本実施形態において、通信部1gが、サーバ2からダミーデータの元となる元データを受信し、ダミーデータ生成部1eが、通信部1gが受信した元データを用いてダミーデータを生成してもよい。例えば、ダミーデータ生成部1eが、通信部1gが受信した元データに対して所定の演算を行うことによりダミーデータを生成してもよいし、元データをダミーデータとして用いてもよい。
【0128】
本実施形態では、通信部1gは、サーバ2から位置指定情報と変数とを受信し、記憶部1dは、通信部1gにて受信された位置指定情報と変数を記憶する。
【0129】
このため、サーバ2が位置指定情報と変数を設定することが可能になる。
【0130】
なお、記憶部1d内の位置指定情報および変数は、サーバ2以外の機器にて設定されてもよい。
【0131】
また、本実施形態において、通信部1gは、サーバ2から複数の位置指定情報を受信し、記憶部1dは、複数の位置指定情報を記憶し、制御部1fは、送信データを生成するごとに、複数の位置指定情報の中で、送信データの生成に用いられる位置指定情報を切り換えてもよい。また、通信手段1gは、サーバ2から複数の変数を受信し、記憶部1dは、複数の変数を記憶し、制御部1fは、送信データを生成するごとに、複数の変数の中で、送信データの生成に用いられる変数を切り換えてもよい。
【0132】
例えば、サーバ2は、
図11に示すような、セッション情報1101と、変数情報1102と、位置指定情報群1103とを、通信装置に送信する。
【0133】
変数情報1102では、各変数(例えば、7777、8888、9999)に、使用順番(1回目〜3回目)とデータ位置(1番目〜3番目)とが付加されている。
【0134】
位置指定情報群1103には、1回目用の位置指定情報=「3」と、2回目用の位置指定情報=「1」と、3回目用の位置指定情報=「2」とが、含まれる。
【0135】
なお、
図11に示した例では、4回目は1回目に戻り、以降、1回目〜3回目が繰り返される。
【0136】
通信装置では、10:01〜11:00に使用電力量95kWhが初めて測定され、ダミーデータ「345」および「678」が生成されると、制御部1fは、位置指定情報群1103内の1回目用の位置指定情報=「3」にしたがって、送信基準データ「DATA1=345& DATA2=678& DATA3=95」を生成し、続いて、変数情報1102内の1回目の変数「1番目=7777、2番目=8888、3番目=9999」にしたがって、送信データ「DATA1=8122& DATA2=9566& DATA3=10094」を生成する。
【0137】
その後、11:01〜12:00に使用電力量102kWhが測定され、ダミーデータ「234」および「567」が生成されると、制御部1fは、位置指定情報群1103内の2回目用の位置指定情報=「1」にしたがって、送信基準データ「DATA1=102& DATA2=234& DATA3=567」を生成し、続いて、変数情報1102内の2回目の変数「1番目=4444、2番目=5555、3番目=6666」にしたがって、送信データ「DATA1=4546& DATA2=5789& DATA3=7233」を生成する。
【0138】
その後、12:01〜13:00に使用電力量123Whが測定され、ダミーデータ「456」および「789」が生成されると、制御部1fは、位置指定情報群1103内の3回目用の位置指定情報=「2」にしたがって、送信基準データ「DATA1=456& DATA2=123& DATA3=789」を生成し、続いて、変数情報1102内の3回目の変数「1番目=1111、2番目=2222、3番目=3333」にしたがって、送信データ「DATA1=1567& DATA2=2345& DATA3=4122」を生成する。
【0139】
この場合、通信装置は、送信データのレスポンスを受信するごとに、記憶部1d内の位置指定情報や変数を更新する必要がなくなる。
【0140】
また、サーバ2では、記憶部2aは、位置指定情報と変数とを記憶する。通信部2bは、通信装置から送信データを受信する。制御部2cは、通信部2bが受信した送信データから、位置指定情報にて指定された有効データ位置に位置する演算結果を抽出し、その演算結果から変数を用いて測定結果を取得する。
【0141】
このため、送信データから測定結果を取得することが可能になる。
【0142】
なお、本実施形態では、有効データ位置を、サーバ2へ送信される送信データ内の使用量に関するデータの(識別子が示すデータの)中で、有効データが配置される位置と説明したが、有効データ位置を、サーバ2へ送信される送信データ内の全データの中で、有効データが配置される位置としても構わない。例えば、通信装置1は、使用量に関するデータの識別子を「DATA〜」とし、位置指定情報703にて指定された2番目の順番識別子である「DATA2」に有効データを配置し、セッション情報「P0000001」と計測日時「201202111300」が付加された送信データ「SESSION_ID=P0000001&DATE=201202011300&DATA1=456& DATA2=234& DATA3=789」を生成したが、セッション情報「P0000001」と計測日時「201202111300」の送信データ内の使用量に関するデータ以外のデータも考慮し、有効データ位置を「4」としても構わない。この場合は、位置指定情報703が表す数が「4」となり、通信装置1は、セッション情報と計測日時とが付加される位置(1番目と2番目)も考慮して、4番目に配置される「DATA2」に有効データを配置して送信データを生成する。
【0143】
なお、
図2に示した通信装置1は、コンピュータにて実現されてもよい。この場合、コンピュータは、コンピュータにて読み取り可能なCD−ROM(Compact Disk Read Only Memory)のような記録媒体に記録されたプログラムを読込み実行することによって、測定部1c、記憶部1d、ダミーデータ生成部1e、制御部1fおよび通信部1gとして機能する。記録媒体は、CD−ROMに限らず適宜変更可能である。
【0144】
また、
図3に示したサーバ2は、コンピュータにて実現されてもよい。この場合、コンピュータは、コンピュータにて読み取り可能な記録媒体に記録されたプログラムを読込み実行することによって、記憶部2a、通信部2b、制御部2cおよび電力量記憶部2dとして機能する。
【0145】
(第2実施形態)
図12は、本発明の第2実施形態のサーバ200を示したブロック図である。
【0146】
図12において、サーバ200は、
図1に示したサーバ2の代わりに用いられる。
【0147】
サーバ200は、キャッシュサーバ201と、DB(データベース)サーバ202と、WWW(World Wide Web)サーバ203と、バッチサーバ204と、を含む。
【0148】
WWWサーバ203は、
図3に示した記憶部2aと通信部2bと、制御部2cAとを有する。
【0149】
制御部2cAは、基本的に制御部2cと同様の機能を有するが、測定結果(電力使用量)を取得した後の動作が制御部2cと異なる。
【0150】
図13は、測定結果を取得した後の制御部2cAの動作を説明するためのフローチャートである。
【0151】
制御部2cAは、測定結果を取得すると、測定結果が取得された送信データに付加されたセッション情報と、その送信データに付加された日時情報(測定日時)とを取得する(ステップS1301)。
【0152】
続いて、制御部2cAは、キャッシュサーバ201用のキー情報として、制御部2cA内の内部時計が生成した日時情報を設定する(ステップS1302)。
【0153】
続いて、制御部2cAは、セッション情報と日時情報と測定結果とを含むキャッシュデータを生成し、キャッシュデータをキー情報に対して追加する旨の追加命令を、キャッシュサーバ201に出力する(ステップS1303)。
【0154】
キャッシュサーバ201は、追加命令を受け付けた状況で、追加命令にて示されたキー情報に対する他のキャッシュデータを格納していない場合、追加命令を実行できない旨のNG応答を制御部2cAに出力する。
【0155】
一方、キャッシュサーバ201は、追加命令を受け付けた状況で、追加命令にて示されたキー情報に対する他のキャッシュデータを格納している場合、追加命令を実行して、キャッシュデータをキー情報に対して追加記憶し、OK応答を制御部2cAに出力する。
【0156】
制御部2cAは、追加命令を出力した後にOK応答を受け付けると(ステップS1304)、
図4に示したステップS415およびS416と同様の動作を、ステップS1305で実行する。
【0157】
一方、制御部2cAは、追加命令を出力した後にNG応答を受け付けると(ステップS1304)、キャッシュデータをキー情報に対して新たに格納する旨の格納命令を、キャッシュサーバ201に出力する(ステップS1306)。
【0158】
キャッシュサーバ201は、格納命令を受け付けると、格納命令を実行して、キャッシュデータをキー情報と対応づけて記憶し、OK応答を制御部2cAに出力する。
【0159】
図14は、キャッシュサーバ201でのデータの構成例を示す図である。
【0160】
一方、キャッシュサーバ201は、キャッシュサーバ201の不具合等により格納命令を実行できないと、NG応答を制御部2cAに出力する。
【0161】
制御部2cAは、格納命令を出力した後にOK応答を受け付けると(ステップS1307)、ステップS1305で実行する。
【0162】
一方、制御部2cAは、格納命令を出力した後にNG応答を受け付けると(ステップS1307)、サーバでのエラーが発生した旨のエラー通知を、通信部2bを介して、送信データの送信元に送信する(ステップS1308)。
【0163】
バッチサーバ204は、キャッシュサーバ201に記憶されたキャッシュデータを定期的に読み取る。バッチサーバ204は、キャッシュデータを定期的に読み取るごとに、読み取られたキャッシュデータをDBサーバ202に書き込むための1つの書込み命令を生成する。バッチサーバ204は、書込み命令を用いて、読み取られたキャッシュデータをDBサーバ202に書き込む。
【0164】
なお、本実施形態では、バッチサーバ204と制御部2cAとで制御手段を構成する。
【0165】
図15は、バッチサーバ204の動作を説明するためにフローチャートである。
【0166】
バッチサーバ204は、制御部2cA内の内部時計が生成した日時情報を取得し、変数nowにその日時情報を代入し、変数keyに、変数nowから60秒を差し引いた値を代入する(ステップS1501)。なお、変数nowから差し引く値は60秒に限らず適宜変更可能である。
【0167】
続いて、バッチサーバ204は、キャッシュサーバ201内のキー情報の中から、変数keyと同じ値を示すキー情報(以下「対象キー情報」と称する)を特定し、対象キー情報に対応する全てのキャッシュデータをキャッシュサーバ201から読み取る(ステップS1502)。
【0168】
続いて、バッチサーバ204は、全てのキャッシュデータの中から、1件のキャッシュデータを取り出す(ステップS1503)。
【0169】
続いて、バッチサーバ204は、その1件のキャッシュデータ内のセッション情報が記憶部2aに登録済みであるかを判断する(ステップS1504)。
【0170】
そのセッション情報が記憶部2aに登録済みでないと、バッチサーバ204は、処理を後述するステップS1507に移す。
【0171】
一方、そのセッション情報が記憶部2aに登録済みであると(ステップS1505)、バッチサーバ204は、そのセッション情報に対応する装置識別子を記憶部2aから読み取り、その装置識別子と、ステップS1503で取り出したキャッシュデータ内の日時情報および測定結果とを、DBサーバ202に書き込むための1つの書込み命令を生成する(ステップS1506)。
【0172】
なお、ステップS1506で、既に1つの書込み命令が作成されている場合には、バッチサーバ204は、その書込み命令で書き込まれる情報として、ステップS1506で記憶部2aから読み取った装置識別子と、ステップS1503で取り出したキャッシュデータ内の日時情報および測定結果とが追加されるように、その書込み命令を更新する。
【0173】
続いて、バッチサーバ204は、ステップS1502で読み出した全てのキャッシュデータについてステップS1503〜S1505の処理を行ったかを判断する(ステップS1507)。
【0174】
ステップS1502で読み出した全てのキャッシュデータについてステップS1503〜S1505の処理を行っていない場合には、バッチサーバ204は、処理をステップS1503に戻す。
【0175】
一方、ステップS1502で読み出した全てのキャッシュデータについてステップS1503〜S1505の処理を行った場合には、変数keyに1秒を加算した値を代入する(ステップS1508)。
【0176】
続いて、バッチサーバ204は、変数keyが変数nowよりも大きくなっているかを判断する(ステップS1509)。
【0177】
変数keyが変数nowよりも大きくなっていないと、バッチサーバ204は、処理をステップS1502に戻す。
【0178】
一方、変数keyが変数nowよりも大きくなっていると、バッチサーバ204は、ステップS1506で作成した書込み命令を実行して、ステップS1506で記憶部2aから読み取った装置識別子と、ステップS1503で取り出したキャッシュデータ内の日時情報および測定結果とを、DBサーバ202にまとめて書き込む(ステップS1510)。
【0179】
なお、制御部2cAは、DBサーバ202内の測定結果を読み出し可能である。
【0180】
本実施形態によれば、複数の測定結果をキャッシュサーバ201に一旦蓄積し、キャッシュサーバ201に蓄積された複数の測定結果を一括してDBサーバ202に書き込むことが可能になる。このため、DBサーバ202の処理負荷を抑えることが可能になる。
【0181】
なお、上記各実施形態において、位置指定情報として用いられている数字(例えば「2」)、または、特定の順番識別子(例えば「DATA2」)を、測定結果を特定するための識別子(以下「測定結果識別子」と称する)として用いてもよい。
【0182】
この場合、順番識別子内の数字(例えば、DATA1内の「1」、DATA2内の「2」)のうち、位置指定情報が表す数字(数字でなく文字(例えば、DATAP内の「P」、DATAQ内の「Q」)や記号でもよい)、または、送信データ内の識別子(例えば、「SESSION_ID」、「DATA1」、「DATA2」)のうち、特定の識別子(例えば「DATA2」)が測定結果識別子として機能する。この場合、送信データ内における測定結果の位置を任意に設定することが可能になる。
【0183】
なお、位置指定情報のかわりに測定結果識別子を用いて、通信装置11内の制御部1fは、測定結果識別子を記憶部1dに記憶し、使用電力量から算出した演算結果を測定結果識別子に付加する。例えば、測定結果識別子が「2」または「DATA2」である場合、DATA2が付加されている演算結果とDATA2とで構成されるデータが第1データに対応し、DATA1やDATA3がダミー識別子に対応し、DATA1が付加されている演算結果とDATA1とで構成されるデータが第2データに対応し、DATA3が付加されている演算結果とDATA3とで構成されるデータが第2データに対応する。
【0184】
また、測定結果識別子が用いられる場合、位置指定情報のかわりに測定結果識別子が用いられ、サーバ2内の制御部2cまたはサーバ200内の制御部2cAは、測定結果識別子を生成し、記憶し、通信装置に送信し、送信データの中から、測定結果識別子が付加されているデータを演算結果として抽出する。
【0185】
なお、上記各実施形態において、測定対象は電力に限らず適宜変更可能である。例えば、測定対象として、水道またはガスが用いられてもよい。例えば、水道の場合は使用した水の量(m
3)、ガスの場合は使用したガスの量(m
3)が使用量として測定される。
【0186】
また、上記各実施形態において、変数は、過去の測定結果や測定結果の全国平均よりも十分大きい値(過去の測定結果や測定結果の全国平均よりも桁が多い値)であることが好ましい。なお、変数は、過去の測定結果や測定結果の全国平均と同じ桁以上の数値であればよい。また、変数は、マイナスの値であってもよい。
【0187】
以上説明した各実施形態において、図示した構成は単なる一例であって、本発明はその構成に限定されるものではない。