(57)【特許請求の範囲】
【請求項１】
端末装置への下りメッセージを受信し、受信した下りメッセージを記憶し、記憶している下りメッセージの中から優先して端末装置に送信する優先下りメッセージを下りメッセージの優先度に基づいて選択し、選択した優先下りメッセージを優先して端末装置に送信し、更に、前記端末装置から優先度が設定されている上りメッセージを受信し、受信した上りメッセージの中から優先して送信する上りメッセージである優先上りメッセージを上りメッセージの優先度に基づいて選択する中継装置と、通信する通信装置であって、
所定の上位装置から、端末装置への下りメッセージの送信依頼であって、下りメッセージに設定する優先度が指定されているメッセージ送信依頼を受け付ける送信依頼受付部と、
前記メッセージ送信依頼で指定されている優先度が設定されている下りメッセージを、前記中継装置に送信するメッセージ送信部と、
優先度の調整の対象となる下りメッセージを抽出するための抽出条件を指定する抽出条件指定部と、
前記抽出条件指定部により指定された抽出条件に合致する下りメッセージを抽出し、抽出した下りメッセージに対しては当該下りメッセージに設定されている優先度とは異なる優先度を用いて優先下りメッセージを選択するよう前記中継装置に指示する指示コマンドを生成する指示コマンド生成部と、
前記指示コマンド生成部により生成された指示コマンドを前記中継装置に送信する指示コマンド送信部とを有し、
前記送信依頼受付部は、
前記上位装置から、前記端末装置からの応答を要求する下りメッセージである応答要求下りメッセージのメッセージ送信依頼を受け付け、
前記メッセージ送信部は、
応答要求下りメッセージを、前記中継装置に送信し、
前記抽出条件指定部は、
応答要求下りメッセージに応答して送信された上りメッセージを、優先度の調整の対象として抽出する旨の抽出条件を指定し、
前記指示コマンド生成部は、
前記端末装置から受信した上りメッセージの中から応答要求下りメッセージに応答して送信された上りメッセージを抽出し、抽出した上りメッセージに対して当該上りメッセージに設定されている優先度とは異なる優先度を用いて優先上りメッセージを選択するよう前記中継装置に指示する指示コマンドを前記抽出条件に基づいて生成し、
前記指示コマンド送信部は、
前記指示コマンド生成部により生成された指示コマンドを前記中継装置に送信することを特徴とする通信装置。
【請求項２】
前記メッセージ送信部は、
前記送信依頼受付部によりメッセージ送信依頼が受け付けられる度に、メッセージ送信依頼のＩＤ（Ｉｄｅｎｔｉｆｉｅｒ）である送信依頼ＩＤと、メッセージ送信依頼で指定されている優先度とが設定されている下りメッセージを前記中継装置に送信し、
前記抽出条件指定部は、
特定の送信依頼ＩＤが設定されている下りメッセージを抽出する旨の抽出条件を指定することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記メッセージ送信部は、
前記送信依頼受付部により受け付けられたメッセージ送信依頼が複数の端末装置への複数の下りメッセージの送信を依頼する複合メッセージ送信依頼である場合に、前記複合メッセージ送信依頼の送信依頼ＩＤと前記複合メッセージ送信依頼で指定されている優先度とがそれぞれに共通に設定されている複数の下りメッセージを前記中継装置に送信し、
前記抽出条件指定部は、
複合メッセージ送信依頼の送信依頼ＩＤが設定されている下りメッセージを抽出する旨の抽出条件を指定することを特徴とする請求項２に記載の通信装置。
【請求項４】
前記抽出条件指定部は、
特定の属性を有する応答要求下りメッセージを抽出する旨の抽出条件を指定し、
前記指示コマンド生成部は、
前記抽出条件指定部により抽出条件として指定された前記特定の属性を有する応答要求下りメッセージを抽出し、抽出した応答要求下りメッセージに対しては当該応答要求下りメッセージに設定されている優先度とは異なる優先度を用いて優先下りメッセージを選択するよう前記中継装置に指示し、更に、前記特定の属性を有する応答要求下りメッセージの上りメッセージに対して、当該上りメッセージに設定されている優先度とは異なる優先度を用いて、優先して前記通信装置に送信する優先上りメッセージを選択するよう前記中継装置に指示する指示コマンドを生成することを特徴とする請求項１〜３のいずれかに記載の通信装置。
【請求項５】
前記メッセージ送信部は、
前記送信依頼受付部によりメッセージ送信依頼が受け付けられる度に、メッセージ送信依頼のＩＤである送信依頼ＩＤと、メッセージ送信依頼で指定されている優先度とが設定されている下りメッセージを前記中継装置に送信し、
前記送信依頼受付部により受け付けられたメッセージ送信依頼が複数の端末装置への複数の応答要求下りメッセージの送信を依頼する複合応答要求メッセージ送信依頼である場合に、前記複合応答要求メッセージ送信依頼の送信依頼ＩＤと前記複合応答要求メッセージ送信依頼で指定されている優先度とがそれぞれに共通に設定されている複数の応答要求下りメッセージを前記中継装置に送信し、
前記抽出条件指定部は、
複合応答要求メッセージ送信依頼の送信依頼ＩＤが設定されている応答要求下りメッセージを抽出する旨の抽出条件を指定することを特徴とする請求項４に記載の通信装置。
【請求項６】
前記通信装置は、更に、
前記中継装置から、上りメッセージを受信するメッセージ受信部を有し、
前記抽出条件指定部は、
複合応答要求メッセージ送信依頼ごとに、対応する応答要求下りメッセージの前記中継装置への送信量と、対応する上りメッセージの前記中継装置からの受信量とを比較し、
応答要求下りメッセージの送信量と上りメッセージの受信量との差が所定の閾値を超えている複合応答要求メッセージ送信依頼を選択し、
選択した複合応答要求メッセージ送信依頼の送信依頼ＩＤが設定されている応答要求下りメッセージを抽出する旨の抽出条件を指定することを特徴とする請求項５に記載の通信装置。
【請求項７】
前記送信依頼受付部は、
上りメッセージの受信完了期限が指定されている複合応答要求メッセージ送信依頼を受け付け、
前記抽出条件指定部は、
複合応答要求メッセージ送信依頼ごとに、対応する上りメッセージの受信速度を計測し、計測した受信速度で上りメッセージの受信が続けられた場合に、全ての上りメッセージの受信が受信完了期限までに完了するか否かを判断し、
全ての上りメッセージの受信が受信完了期限までに完了しない複合応答要求メッセージ送信依頼を選択し、
選択した複合応答要求メッセージ送信依頼の送信依頼ＩＤが設定されている応答要求下りメッセージを抽出する旨の抽出条件を指定することを特徴とする請求項５又は６に記載の通信装置。
【請求項８】
前記送信依頼受付部は、
上りメッセージの受信完了期限が指定されている複合応答要求メッセージ送信依頼を受け付け、
前記抽出条件指定部は、
複合応答要求メッセージ送信依頼ごとに、受信完了期限までの残り時間を算出し、
算出した残り時間が所定レベル以下の複合応答要求メッセージ送信依頼を選択し、
選択した複合応答要求メッセージ送信依頼の送信依頼ＩＤが設定されている応答要求下りメッセージを抽出する旨の抽出条件を指定することを特徴とする請求項５〜７のいずれかに記載の通信装置。
【請求項９】
前記通信装置は、
それぞれが、端末装置への下りメッセージを受信し、受信した下りメッセージを記憶し、記憶している下りメッセージの中から優先して端末装置に送信する優先下りメッセージを下りメッセージの優先度に基づいて選択し、選択した優先下りメッセージを優先して端末装置に送信する複数の中継装置と接続されており、
前記メッセージ送信部は、
前記複数の中継装置に、下りメッセージを送信し、
前記指示コマンド送信部は、
前記指示コマンド生成部により生成された指示コマンドを前記複数の中継装置に送信することを特徴とする請求項１〜８のいずれかに記載の通信装置。
【請求項１０】
前記通信装置は、
それぞれが、下りメッセージを端末装置に送信するとともに、端末装置から送信された上りメッセージを受信する複数の中継装置と接続されており、
前記通信装置は、更に、
下りメッセージと上りメッセージに対する処理の処理負荷を中継装置ごとに判定し、
処理負荷が高い中継装置から指示コマンドが送信されるように前記複数の中継装置における指示コマンドの送信順序を決定する送信順序決定部を有し、
前記指示コマンド送信部は、
前記送信順序決定部により決定された送信順序に従って、前記複数の中継装置に指示コマンドを送信することを特徴とする請求項９に記載の通信装置。
【請求項１１】
前記通信装置は、
それぞれが、端末装置から受信した上りメッセージを記憶した後に前記通信装置に上りメッセージを送信する複数の中継装置と接続されており、
前記送信順序決定部は、
中継装置ごとに、中継装置で記憶されている下りメッセージと上りメッセージの量を監視し、
記憶されている下りメッセージと上りメッセージの量が多いほど、処理負荷が高いと判定することを特徴とする請求項１０に記載の通信装置。
【請求項１２】
前記通信装置は、
それぞれが、端末装置から受信した上りメッセージを記憶した後に前記通信装置に上りメッセージを送信する複数の中継装置と接続されており、
前記送信順序決定部は、
中継装置ごとに、中継装置で記憶されている下りメッセージと上りメッセージの量と、中継装置の処理スループットとを用いて、中継装置で記憶されている下りメッセージと上りメッセージの送信が完了するまでの所要時間を算出し、
算出した所要時間が長いほど、処理負荷が高いと判定することを特徴とする請求項１０又は１１に記載の通信装置。
【請求項１３】
前記指示コマンド生成部は、
いずれかの送信依頼ＩＤを対象とする指示コマンドが前記指示コマンド送信部により前記中継装置に送信された後に、別の送信依頼ＩＤを対象とする指示コマンドを生成する場合に、
前記中継装置に送信済みの指示コマンドを無効にする無効コマンドを生成し、生成した無効コマンドを前記指示コマンド送信部から前記中継装置に送信させ、前記別の送信依頼ＩＤを対象とする新たな指示コマンドを生成し、生成した新たな指示コマンドを前記指示コマンド送信部から前記中継装置に送信させることを特徴とする請求項３に記載の通信装置。
【請求項１４】
複数の端末装置と通信装置とに接続されている中継装置であって、
送信依頼ＩＤと優先度とが設定されている前記複数の端末装置への下りメッセージを、前記通信装置から受信する下りメッセージ受信部と、
前記下りメッセージ受信部により受信された下りメッセージを記憶する下りメッセージ記憶部と、
前記下りメッセージ記憶部に記憶されている下りメッセージの中から、優先して端末装置に送信する優先下りメッセージを、下りメッセージの優先度に基づいて選択する優先下りメッセージ選択部と、
前記優先下りメッセージ選択部により選択された優先下りメッセージを優先して、前記下りメッセージ記憶部に記憶されている下りメッセージを、送信先の端末装置に送信する下りメッセージ送信部と、
優先度の調整の対象となる送信依頼ＩＤが示される指示コマンドを前記通信装置から受信する指示コマンド受信部とを有し、
前記優先下りメッセージ選択部は、
前記指示コマンド受信部により指示コマンドが受信された場合に、前記下りメッセージ記憶部に記憶されている下りメッセージの中から指示コマンドに示される送信依頼ＩＤが設定されている下りメッセージを抽出し、抽出した下りメッセージに対して当該下りメッセージに設定されている優先度とは異なる優先度を用いて優先下りメッセージを選択し、
前記下りメッセージ受信部は、
端末装置からの応答を要求する下りメッセージである応答要求下りメッセージを、前記通信装置から受信し、
前記下りメッセージ送信部は、
前記下りメッセージ受信部により受信された応答要求下りメッセージを、送信先の端末装置に送信し、
前記中継装置は、更に、
応答要求下りメッセージに応答して送信された上りメッセージを含む、優先度が設定されている上りメッセージを、前記複数の端末装置から受信する上りメッセージ受信部と、
前記上りメッセージ受信部により受信された上りメッセージを記憶する上りメッセージ記憶部と、
前記上りメッセージ記憶部に記憶されている上りメッセージの中から、優先して前記通信装置に送信する優先上りメッセージを、上りメッセージの優先度に基づいて選択する優先上りメッセージ選択部と、
前記優先上りメッセージ選択部により選択された優先上りメッセージを優先して、前記上りメッセージ記憶部に記憶されている上りメッセージを前記通信装置に送信する上りメッセージ送信部とを有し、
前記指示コマンド受信部は、
応答要求下りメッセージに応答して送信された上りメッセージを、優先度の調整の対象として抽出する旨の指示コマンドを前記通信装置から受信し、
前記優先上りメッセージ選択部は、
前記指示コマンド受信部により指示コマンドが受信された場合に、前記上りメッセージ記憶部に記憶されている上りメッセージの中から応答要求下りメッセージの上りメッセージを抽出し、抽出した上りメッセージに対して当該上りメッセージに設定されている優先度とは異なる優先度を用いて優先上りメッセージを選択することを特徴とする中継装置。
【請求項１５】
前記上りメッセージ受信部は、
端末装置から送信された、優先度が設定されている上りメッセージを受信し、
前記下りメッセージ送信部から応答要求下りメッセージが送信された場合に、応答要求下りメッセージの送信先の端末装置から応答要求下りメッセージに対する応答として送信された、応答要求下りメッセージと同じ送信依頼ＩＤと優先度とが設定されている上りメッセージを受信し、
前記指示コマンド受信部は、
応答要求下りメッセージに用いられる送信依頼ＩＤが示される指示コマンドを、前記通信装置から受信し、
前記優先上りメッセージ選択部は、
前記指示コマンド受信部により指示コマンドが受信された場合に、前記上りメッセージ記憶部に記憶されている上りメッセージの中から指示コマンドに示される送信依頼ＩＤが設定されている上りメッセージ抽出し、抽出した上りメッセージに対して当該上りメッセージに設定されている優先度とは異なる優先度を用いて優先上りメッセージを選択することを特徴とする請求項１４に記載の中継装置。
【請求項１６】
前記優先下りメッセージ選択部は、
前記指示コマンド受信部により指示コマンドが受信された後に前記下りメッセージ受信部により受信され、前記下りメッセージ記憶部に記憶された下りメッセージの中から、前記指示コマンドに示される送信依頼ＩＤが設定されている下りメッセージを抽出し、抽出した下りメッセージに対して当該下りメッセージに設定されている優先度とは異なる優先度を用いて優先下りメッセージを選択し、
前記優先上りメッセージ選択部は、
前記指示コマンド受信部により指示コマンドが受信された後に前記上りメッセージ受信部により受信され、前記上りメッセージ記憶部に記憶された上りメッセージの中から、前記指示コマンドに示される送信依頼ＩＤが設定されている上りメッセージを抽出し、抽出した上りメッセージに対して当該上りメッセージに設定されている優先度とは異なる優先度を用いて優先上りメッセージを選択することを特徴とする請求項１５に記載の中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の端末装置との間でメッセージの送受信が行われる通信システムに関する。
本発明は、例えば、複数のスマートメータとの間でメッセージの送受信が行われるスマートメータ自動検針システムに関する。
【背景技術】
【０００２】
様々な国でスマートメータ（以下、単に「メータ」ともいう）を使った、電力、ガス、水道等のスマートメータ自動検針システムの導入が進んでいる。
スマートメータ自動検針システムでは、スマートメータ、中継装置、メッセージ送受信装置、アプリケーションサーバ装置が、ツリー構造のネットワークで接続される。
スマートメータは数百万台以上、中継装置は数千〜数万台、メッセージ送受信装置は数台〜十台、アプリケーションサーバ装置１０は数台〜数十台程度で構成される。
スマートメータや、中継装置の計算能力は低く、処理の実行に制約がある。
スマートメータ自動検針システムでは、スマートメータと中継装置との間がネットワークで接続され、中継装置とメッセージ送受信装置との間がネットワークで接続され、メッセージ送受信装置とアプリケーションサーバ装置との間がネットワークで接続されている。
それぞれのネットワークは、帯域幅、通信速度、通信媒体、通信方式が異なっており、スマートメータ自動検針システムは、非均質なネットワークで構成されるシステムである。
また、スマートメータ自動検針システムでは、アプリケーションサーバ装置上で実行されるアプリケーションプログラム（以下、単に「アプリケーション」という）とスマートメータが、検針値等のデータ、開閉制御等の制御情報をメッセージ通信によりやりとりする。
取り扱われるメッセージには、上り方向（メータ、中継装置からアプリケーションへの方向）のメッセージと下り方向（アプリケーションから中継装置、メータへの方向）のメッセージがある。
また、スマートメータ自動検針システムでは、一方向メッセージと双方向メッセージが混在し、また、上り方向メッセージと、下り方向メッセージの通信量は非対称である。
なお、一方向メッセージは、メータや中継装置から自発的にメッセージを送信するメッセージ、あるいはアプリケーションから一方的に制御指示をするメッセージである。
双方向メッセージは、アプリケーションがメータや中継装置に指示を与えるメッセージと、メータや中継装置が応答として返すメッセージとからなる。
また、スマートメータ自動検針システムでは、通信量が多い時間帯と、少ない時間帯があり、通信量が不均一であるという特徴がある。
さらに、定期検針のように一定時間内に数百万件以上のメッセージ通信がある多対１の通信、アプリケーションがある１台のメータの情報を取得する１対１の通信、メータや中継装置のファームウェア更新のような１対多の通信が存在する。
アプリケーションの特性は多様で、スループットを要求するアプリケーション、応答性能を要求するアプリケーション、一定時間内に処理が終わらなければならない制約があるアプリケーションなどが混在している。
スマートメータ自動検針システムでは、このような制約の大きい機器が、非均質で非対称なネットワーク上で、様々な特性のアプリケーションに合せて、効果的にメッセージの優先度制御を行う必要がある。【０００３】
例えば、特許文献１には、一定時間内に処理を終わらなければならないアプリケーションに対する優先制御方式が記述されている。
より具体的には、特許文献１では、伝送期限と現在時刻の差（残り時間）が少ないメッセージには、優先順位別の送信キューのうち高い優先順位の送信キューが選択され、残り時間が少ないメッセージが優先的に送信されるようにしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１３０１４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１では、残り時間が閾値より小さいかどうかのみで優先順位を判定している。
このため、残り時間が閾値よりも僅かに大きいメッセージ（「メッセージＡ」という）は、低優先順位のキューに格納され、以後、低優先順位のキューに留め置かれる。
メッセージＡよりも後に発生した、残り時間が閾値よりも小さいメッセージは、高優先度順位のキューに格納され、メッセージＡよりも先に送信されることになる。
このため、時間の経過によりメッセージＡの残り時間が閾値よりも小さくなってもメッセージＡが送信されない事態が生じ、伝送期限を守るための優先制御が十分に機能しない。
このように、特許文献１では、個々の無線通信装置が、残り時間のみで優先度判定を行うので、伝送期限のあるメッセージが大量に発生した場合にきめ細かい調整ができないという課題があり、また、メッセージの優先度が固定されてしまい、柔軟な制御ができないという課題がある。【０００６】
本発明は上記のような課題を解決することを主な目的の一つとしており、状況に応じて、メッセージの優先度を柔軟に調整することを主な目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る通信装置は、
端末装置への下りメッセージを受信し、受信した下りメッセージを記憶し、記憶している下りメッセージの中から優先して端末装置に送信する優先下りメッセージを下りメッセージの優先度に基づいて選択し、選択した優先下りメッセージを優先して端末装置に送信する中継装置に、優先度が設定されている下りメッセージを送信するメッセージ送信部と、
優先度の調整の対象となる下りメッセージを抽出するための抽出条件を指定する抽出条件指定部と、
前記抽出条件指定部により指定された抽出条件に合致する下りメッセージを抽出し、抽出した下りメッセージに対しては当該下りメッセージに設定されている優先度とは異なる優先度を用いて優先下りメッセージを選択するよう前記中継装置に指示する指示コマンドを生成する指示コマンド生成部と、
前記指示コマンド生成部により生成された指示コマンドを前記中継装置に送信する指示コマンド送信部とを有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、状況ごとに適切な抽出条件を指定することにより、状況に応じてメッセージの優先度を柔軟に調整することができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１及び２に係るスマートメータ自動検針システムの構成例を示す図。
【図２】実施の形態１及び２に係るメッセージ送受信装置の構成例を示す図。
【図３】実施の形態１及び２に係る中継装置の構成例を示す図。
【図４】実施の形態１に係る優先度情報テーブルの例を示す図。
【図５】実施の形態１に係るメータ中継装置対応テーブルの例を示す図。
【図６】実施の形態１に係る優先度変更情報テーブルの例を示す図。
【図７】実施の形態１に係るアプリケーションテーブルの例を示す図。
【図８】実施の形態２に係る優先度情報テーブルの例を示す図。
【図９】実施の形態２に係る中継装置仕様テーブルの例を示す図。
【図１０】実施の形態２に係る中継装置負荷テーブルの例を示す図。
【図１１】実施の形態１に係るメッセージ送信依頼形式の例を示す図。
【図１２】実施の形態１に係るメッセージ受信依頼形式の例を示す図。
【図１３】実施の形態１に係る送信メッセージ形式の例を示す図。
【図１４】実施の形態１に係る優先度調整処理の例を示すフローチャート図。
【図１５】実施の形態１に係る優先度調整要否チェック（送受信数の差異）の例を示すフローチャート図。
【図１６】実施の形態１に係る優先度調整要否チェック（メッセージ受信速度）の例を示すフローチャート図。
【図１７】実施の形態１に係る優先度調整要否チェック（受信残り時間）の例を示すフローチャート図。
【図１８】実施の形態１に係る優先度引き下げ処理の例を示すフローチャート図。
【図１９】実施の形態２に係る優先度調整メッセージの送信順序を調整する処理の例を示すフローチャート図。
【図２０】実施の形態２に係る中継装置負荷テーブル更新処理（保留メッセージ数）の例を示すフローチャート図。
【図２１】実施の形態２に係る中継装置負荷テーブル更新処理（メッセージ処理所要時間）の例を示すフローチャート図。
【図２２】実施の形態２に係る優先度調整メッセージ処理（１）の例を示すフローチャート図。
【図２３】実施の形態２に係る優先度調整メッセージ処理（２）の例を示すフローチャート図。
【図２４】実施の形態１に係る中継装置における優先度変更手順を説明する図。
【図２５】実施の形態１に係る優先度変更情報テーブル（変更前）を示す図。
【図２６】実施の形態１に係る中継装置における優先度変更手順を説明する図。
【図２７】実施の形態１に係る優先度変更情報テーブル（変更後）を示す図。
【図２８】実施の形態１及び２に係るメッセージ送受信装置及び中継装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【００１０】
実施の形態１．
本実施の形態では、スマートメータ自動検針システムについて説明する。
本実施の形態では、センターに配備されたメッセージ送受信装置が、メッセージ通信の進捗度合いを判断し、優先度調整の指示を中継装置に出す。
そして、中継装置は、メッセージ送受信装置からの指示に従って優先度を調整する。
これらの手順により、効果的、かつきめ細かい優先度制御を行うことができる。
【００１１】
図１は、本実施の形態に係るスマートメータ自動検針システムの概略図である。
図１において、スマートメータ自動検針システムは、スマートメータ４０、中継装置３０、メッセージ送受信装置２０、アプリケーションサーバ装置１０が、ツリー構造のネットワークで接続されている。
【００１２】
スマートメータ４０は、電力、ガス、水道等の使用量を測定し、アプリケーションサーバ装置１０上で動作する１つ以上のアプリケーションとの間で、メッセージ送受信装置２０と、メッセージ送受信装置２０とスマートメータ４０間に配備される中継装置３０を経由して、メッセージ通信を行う。
スマートメータ４０は、端末装置の例に相当する。
【００１３】
アプリケーションサーバ装置１０では、自動検針に関わるアプリケーションが動作する。
アプリケーションサーバ装置１０は、アプリケーションの実行により、メッセージ送信依頼（以下、単に「送信依頼」ともいう）をメッセージ送受信装置２０に送信する。
アプリケーションサーバ装置１０は、メッセージ送信依頼をメッセージ送受信装置２０に送信して、複数のスマートメータ４０へのメッセージの送信をメッセージ送受信装置２０に依頼する。
また、アプリケーションサーバ装置１０は、メッセージ送受信装置２０から、スマートメータ４０からのメッセージを受信する。
アプリケーションサーバ装置１０は、上位装置の例に相当する。
【００１４】
メッセージ送受信装置２０は、アプリケーションサーバ装置１０上のアプリケーション及び中継装置３０とのメッセージ通信を制御する。
より具体的には、メッセージ送受信装置２０は、アプリケーションサーバ装置１０からメッセージ送信依頼を受信する。
メッセージ送信依頼には、１つ以上の送信メッセージが含まれている。
なお、送信メッセージを下りメッセージともいう。
メッセージ送受信装置２０は、メッセージ送信依頼から送信メッセージを抽出し、抽出した送信メッセージを中継装置３０に送信する。
送信メッセージには、メッセージ送信依頼のＩＤ（Ｉｄｅｎｔｉｆｉｅｒ）である送信依頼ＩＤとメッセージ送信依頼で指定されている優先度とが設定される。
また、メッセージ送受信装置２０は、中継装置３０から、スマートメータ４０からの受信メッセージを受信し、受信した受信メッセージをアプリケーションサーバ装置１０に送信する。
なお、受信メッセージを上りメッセージともいう。
また、メッセージ送受信装置２０は、送信メッセージ及び受信メッセージについての優先度の調整を行う。
メッセージ送受信装置２０は、通信装置の例に相当する。
【００１５】
中継装置３０は、スマートメータ４０との間のメッセージを中継する。
より具体的には、中継装置３０は、メッセージ送受信装置２０から下りメッセージを受信し、受信した下りメッセージを優先度別のキューに蓄積し、最も高い優先度のキューに蓄積されている下りメッセージを優先してスマートメータ４０に送信する。
最も高い優先度のキューに蓄積されている下りメッセージ、すなわちスマートメータ４０に優先して送信される下りメッセージを、優先下りメッセージともいう。
また、中継装置３０は、複数のスマートメータ４０から上りメッセージを受信し、受信した上りメッセージを優先度別のキューに蓄積し、最も高い優先度のキューに蓄積されている下りメッセージを優先してメッセージ送受信装置２０に送信する。
最も高い優先度のキューに蓄積されている上りメッセージ、すなわちメッセージ送受信装置２０に優先して送信される上りメッセージを、優先上りメッセージともいう。
【００１６】
図２は、本実施の形態に係るメッセージ送受信装置２０の構成例を示すシステム構成図である。
【００１７】
図２において、優先制御処理部２４は、メッセージ通信の優先制御を行う。
【００１８】
送信依頼受付部２６は、アプリケーションサーバ装置１０からメッセージ送信依頼を受け付け、メッセージ送信依頼からスマートメータ４０宛ての送信メッセージを抽出し、抽出した送信メッセージを優先制御処理部２４へ転送する。
【００１９】
メッセージ一時格納部２７は、送信依頼受付部２６が複数のスマートメータ４０に対する送信メッセージを包含するメッセージ送信依頼を受け付けたときに、送信依頼受付部２６が抽出した複数の送信メッセージを一時的に格納する。
【００２０】
タイマー部２５は、メッセージ一時格納部２７から送信メッセージを取り出して優先制御処理部２４へ転送するタイミングを与える。
【００２１】
メッセージ送信部２１は、優先制御処理部２４から送信メッセージを受け取り、送信メッセージを中継装置３０へ送信する。
なお、メッセージ送信部２１は、後述するように、指示コマンド送信部としても機能する。
【００２２】
受信依頼受付部２２は、中継装置３０から１つ以上の受信メッセージが含まれるメッセージ受信依頼を受け付け、メッセージ受信依頼を優先制御処理部２４へ転送する。
なお、受信依頼受付部２２は、メッセージ受信部の例に相当する。
【００２３】
メッセージ配信部２８は、優先制御処理部２４から受け取ったメッセージ受信依頼をアプリケーションサーバ装置１０へ送信する。
【００２４】
負荷情報格納部２３は、中継装置３０から定期的に送信される負荷情報と中継装置型式ごとのメッセージ処理能力情報を格納する。
なお、負荷情報格納部２３の詳細は、実施の形態２で説明する。
【００２５】
優先度調整データ記憶部２９は、優先制御処理部２４が参照する優先度調整データを記憶する。
【００２６】
また、優先制御処理部２４は、複数の下りキュー２４１と複数の上りキュー２４４と優先度調整部２４２と進捗情報管理部２４３で構成される。
【００２７】
下りキュー２４１は、アプリケーションサーバ装置１０から中継装置３０への下り方向のメッセージ、つまり、送信依頼受付部２６により抽出された、スマートメータ４０への下りメッセージを蓄積するためのキューである。
下りキュー２４１は、優先度ごとに設けられている。
【００２８】
上りキュー２４４は、中継装置３０からアプリケーションサーバ装置１０への上り方向のメッセージ、つまり、スマートメータ４０からの上りメッセージを蓄積するためのキューである。
上りキュー２４４は、優先度ごとに設けられている。
【００２９】
進捗情報管理部２４３は、送信依頼ＩＤごとに、メッセージ送信部２１が送信した送信メッセージ数と受信依頼受付部２２が受信した受信メッセージ数、受信メッセージのメッセージ受信速度、残受信メッセージ数、送信依頼時刻、受信期限時刻までの残り時間などのメッセージ通信の進捗情報を管理する。
【００３０】
優先度調整部２４２は、進捗情報をもとに優先度調整を行う。
優先度調整部２４２は、進捗情報を解析して、優先度の調整の対象となる下りメッセージを抽出するための抽出条件を指定する。
より具体的には、優先度調整部２４２は、特定の送信依頼ＩＤを選択し、選択した送信依頼ＩＤが設定されている下りメッセージを抽出する旨の抽出条件を指定する。
そして、優先度調整部２４２は、選択した送信依頼ＩＤが設定されている下りメッセージを抽出し、抽出した下りメッセージに対して当該下りメッセージに記述されている優先度とは異なる優先度を用いて優先下りメッセージを選択するよう中継装置３０に指示する指示コマンド（以下、「優先度調整メッセージ」という）を生成する。
優先度調整メッセージは、メッセージ送信部２１から中継装置３０に送信される。
双方向メッセージの場合は、下りメッセージの送信依頼ＩＤと優先度と同じ送信依頼ＩＤと優先度が上りメッセージにも設定されている。
優先度調整部２４２が、双方向メッセージに用いられている送信依頼ＩＤを選択した場合は、優先度調整メッセージは、上りメッセージにも適用される。
つまり、優先度調整メッセージは、該当する送信依頼ＩＤが設定されている上りメッセージを抽出し、抽出した上りメッセージに対して当該上りメッセージに設定されている優先度とは異なる優先度を用いて優先上りメッセージを選択する旨の指示も含む。
なお、双方向メッセージにおける下りメッセージは、スマートメータ４０からの応答を要求する下りメッセージであり、応答要求下りメッセージに相当する。
また、優先度調整部２４２は、抽出条件指定部及び指示コマンド生成部の例に相当する。
【００３１】
なお、優先制御処理部２４の下りキュー２４１、上りキュー２４４は、優先度ごとに複数のキューで構成されているが、１つのキューで実現してもよい。
この場合は、１つの下りキュー２４１を優先度ごとの領域に区分し、送信依頼受付部２６から入力した下りメッセージを対応する優先度の領域に格納するようにする。
同様に、１つの上りキュー２４４を優先度ごとの領域に区分し、受信依頼受付部２２から入力した上りメッセージを対応する優先度の領域に格納するようにする。
また、下りキュー２４１と上りキュー２４４を１つのキューで実現してもよい。
この場合は、１つのキューを下りメッセージ用の領域と上りメッセージ用の領域に区分し、更に、下りメッセージ用の領域を優先度ごとに区分し、上りメッセージ用の領域を優先度ごとに区分する。
【００３２】
次に動作について説明する。
まず、アプリケーションサーバ装置１０から中継装置３０へ下りメッセージを送信する場合の、メッセージ送受信装置２０の基本動作について説明する。
【００３３】
アプリケーションサーバ装置１０には複数のアプリケーションが動作しており、アプリケーションは実行する処理の中で、スマートメータ４０に対するメッセージをメッセージ送受信装置２０に送信依頼する。
メッセージの内容はアプリケーションが実行する処理に依存し、例えばスマートメータ４０への制御メッセージ、スマートメータ４０からの情報取得要求などがある。
アプリケーションがメッセージ送受信装置２０にメッセージ送信を依頼するメッセージ送信依頼の形式は、例えば図１１のようになっている。
【００３４】
メッセージ送信依頼は、メッセージ通信の制御に必要な情報を含むヘッダ部と、送信依頼する１つ以上の送信メッセージと送信先ＩＤを含むデータ部からなる。
スマートメータ４０へ送信メッセージを送信する場合、送信先ＩＤには送信先のスマートメータ４０のメータＩＤが入る。
ヘッダ部には、例えば、アプリケーションＩＤ、メッセージ種別、送信メッセージサイズ、総送信メッセージ数、応答メッセージ受信期限時刻、優先度が含まれる。
アプリケーションＩＤは、メッセージ送信依頼を行ったアプリケーションを一意に表す。
メッセージ種別は、送信メッセージの種別（一方向メッセージか、双方向メッセージか）を表す。
単位送信メッセージサイズは、１つの送信メッセージと送信先ＩＤを合せたデータの大きさを表す。
総送信メッセージ数は、メッセージ送信依頼のデータ部に含まれる送信メッセージの総数を表す。
応答メッセージ受信期限時刻は、送信メッセージ（応答要求下りメッセージ）に対するスマートメータ４０からの応答（上りメッセージ）をアプリケーションが受け取る期限の時刻を表す。
優先度は、アプリケーションが指定する送信メッセージの通信における優先度である。
データ部には、送信メッセージの本体と送信先を指定する送信先ＩＤの組が、総送信メッセージ数分だけ含まれる。
【００３５】
メッセージ送受信装置２０では、送信依頼受付部２６がアプリケーションからのメッセージ送信依頼を受け付ける。
送信依頼受付部２６は、受け付けたメッセージ送信依頼の送信依頼ＩＤを採番する。
また、送信依頼受付部２６は、受け付けたメッセージ送信依頼のデータ部に送信先ＩＤと送信メッセージの組が１つだけ含まれる場合には、メッセージ送信依頼を図１３に示す形式の下りメッセージに変換し、下りメッセージを優先制御処理部２４へ転送する。
下りメッセージでは、ヘッダ部として、送信先ＩＤ、送信依頼ＩＤ、メッセージ種別、送信メッセージサイズ、応答メッセージ受信期限時刻、優先度が含まれ、データ部として、メッセージ送信依頼に含まれる送信メッセージが含まれる。
ヘッダ部の送信先ＩＤ、メッセージ種別、送信メッセージサイズ、応答メッセージ受信期限時刻、優先度は、メッセージ送信依頼（図１１）に含まれている値である。
送信依頼ＩＤは、メッセージ送信依頼の受け付け時に送信依頼受付部２６が採番した値である。
一方、受け付けたメッセージ送信依頼のデータ部に送信先ＩＤと送信メッセージの組が複数含まれる場合には、送信依頼受付部２６は、個々の送信先ＩＤと送信メッセージの組に分割する。
そして、送信依頼受付部２６は、送信先ＩＤと送信メッセージの組ごとに、図１３に示す形式の下りメッセージを生成する。
その後、送信依頼受付部２６は、生成した下りメッセージのそれぞれを、メッセージ一時格納部２７に格納する。
なお、送信メッセージが複数含まれるメッセージ送信依頼を、複合メッセージ送信依頼といい、また、双方向の送信メッセージ（応答要求下りメッセージ）が複数含まれるメッセージ送信依頼を、複合応答要求メッセージ送信依頼という。
【００３６】
次に送信依頼受付部２６は、ヘッダ部に含まれる総送信メッセージ数と応答メッセージ受信期限から、優先制御処理部２４へ下りメッセージを転送する際のインターバル時間を計算し、タイマー部２５にインターバル時間を設定する。
応答メッセージ受信期限が指定されていない場合には、送信依頼受付部２６は、メッセージ送信依頼に含まれる送信メッセージから生成した全ての下りメッセージを優先制御処理部２４へ転送する。
インターバル時間は、例えば、応答メッセージ受信期限までの残り時間から応答に必要な余裕時間を差し引いた時間を総送信メッセージ数で除して求めてもよい。
あるいは、あらかじめ決められたインターバル時間を使ってもよい。
タイマー部２５は設定されたインターバル時間ごとに、転送時刻が来たことを知らせるタイミング信号を送信依頼受付部２６に送る。
タイミング信号を受け取った送信依頼受付部２６は、メッセージ一時格納部２７から一つの下りメッセージを取り出し、取り出した下りメッセージを優先制御処理部２４へ転送する。
【００３７】
優先制御処理部２４では、送信依頼受付部２６から転送された送信メッセージを下りキュー２４１の該当する優先度のキューの最後尾に挿入する。
【００３８】
メッセージ送信部２１は、下りキュー２４１のうち優先度の最も高いキューの先頭から送信メッセージを取り出す。
もし優先度の最も高いキューが空の場合には、次に優先度の高いキューの先頭から送信メッセージを取り出す。
次に、メッセージ送信部２１は、取り出した送信メッセージから送信先ＩＤを読み出し、図５に示すメータ中継装置対応テーブルから該当する送信先ＩＤに対応する中継装置ＩＤを検索し、見つかった中継装置ＩＤに対応する中継装置３０に送信メッセージを送信する。
【００３９】
次に、中継装置３０からアプリケーションサーバ装置１０への上り方向のメッセージを送信する場合のメッセージ送受信装置２０の基本動作について説明する。
【００４０】
中継装置３０は、上り方向のメッセージが１つ以上含まれるメッセージ受信依頼をメッセージ送受信装置２０に送信する。
上り方向のメッセージは、スマートメータ４０から中継装置３０が受信したメッセージであり、例えばスマートメータ４０で定期または不定期に発生したイベントを表すメッセージや、アプリケーションからのメッセージ（応答要求下りメッセージ）に対する応答メッセージである。
メッセージ送受信装置２０が中継装置３０から受信するメッセージ受信依頼の形式は、例えば図１２のようになっている。
【００４１】
メッセージ受信依頼は、メッセージ通信の制御に必要な情報を含むヘッダ部と、１つ以上の受信メッセージと送信元ＩＤを含むデータ部からなる。
スマートメータ４０からのメッセージ受信の場合、送信元ＩＤには送信元のスマートメータ４０のメータＩＤが入る。
ヘッダ部には、例えば、送信依頼ＩＤ又はアプリケーションＩＤ、メッセージ種別、単位受信メッセージサイズ、総受信メッセージ数、応答メッセージ受信期限、優先度が含まれる。
送信依頼ＩＤは、上りメッセージが応答要求下りメッセージに対する応答メッセージである場合に用いられる。
送信依頼ＩＤの欄には、応答要求下りメッセージの送信依頼ＩＤ（図１３）と同じ値が記述される。
アプリケーションＩＤは、上りメッセージがスマートメータ４０から発信されたメッセージである場合（応答要求下りメッセージに対する応答メッセージではない場合）に用いられる。
アプリケーションＩＤは、上りメッセージの送信先のアプリケーションを一意に表す。
なお、図１３にはアプリケーションＩＤが記述されていない下りメッセージが例示されているが、下りメッセージにアプリケーションＩＤが記述されている場合は、応答データである上りメッセージに同じアプリケーションＩＤが記述されていてもよい。
メッセージ種別は、受信メッセージの種別（一方向メッセージか、双方向メッセージか）を表す。
単位受信メッセージサイズは、１つの受信メッセージと送信元ＩＤを合せたデータの大きさを表す。
総受信メッセージ数は、メッセージ受信依頼のデータ部に含まれる受信メッセージの総数を表す。
応答メッセージ受信期限は、受信メッセージをアプリケーションが受け取る期限の時刻を表す。
受信メッセージが応答要求下りメッセージに対する応答メッセージである場合は、応答メッセージ受信期限の欄には、応答要求下りメッセージに記述されていた応答メッセージ受信期限（図１３）と同じ値が記述される。
優先度は、受信メッセージの通信における優先度を表す。
受信メッセージが応答要求下りメッセージに対する応答メッセージである場合は、優先度の欄には、応答要求下りメッセージに記述されていた優先度（図１３）と同じ値が記述される。
データ部には、受信メッセージの本体と送信元を示す送信元ＩＤの組が、総受信メッセージ数分だけ含まれる。
【００４２】
メッセージ送受信装置２０では、受信依頼受付部２２が中継装置３０からのメッセージ受信依頼を受け付ける。
受信依頼受付部２２は、受け付けたメッセージ受信依頼のデータ部に送信元ＩＤと受信メッセージの組が１つだけ含まれる場合には、メッセージ受信依頼をそのまま優先制御処理部２４へ転送する。
受け付けたメッセージ受信依頼のデータ部に送信元ＩＤと受信メッセージの組が複数含まれる場合には、受信依頼受付部２２は、個々の送信元ＩＤと受信メッセージの組に分割する。
そして、受信依頼受付部２２は、送信元ＩＤと受信メッセージの組ごとに、受信メッセージにメッセージ受信依頼のヘッダ部の情報と送信元ＩＤを付加し、ヘッダ部の情報と送信元ＩＤが付加された受信メッセージを優先制御処理部２４へ転送する。
優先制御処理部２４は、受信依頼受付部２２から転送された受信メッセージを上りキュー２４４の該当する優先度のキューの最後尾に挿入する。
【００４３】
メッセージ配信部２８は、上りキュー２４４のうち優先度の最も高いキューの先頭から受信メッセージを取り出す。
もし優先度の最も高いキューが空の場合には、次に優先度の高いキューの先頭から受信メッセージを取り出す。
次に、メッセージ配信部２８は、取り出した受信メッセージから送信依頼ＩＤ又はアプリケーションＩＤを読み出し、該当するアプリケーションに受信メッセージを配信する。
【００４４】
次に、メッセージ送受信装置２０の優先制御処理部２４の進捗情報管理部２４３と優先度調整部２４２の動作について説明する。
【００４５】
進捗情報管理部２４３は、優先度調整データ記憶部２９の優先度情報テーブルのデータを管理する。
【００４６】
図４は、優先度情報テーブルの一例を示す。
優先度情報テーブルのレコードは、アプリケーションからのメッセージ送信依頼単位で作られる。
優先度情報テーブルのデータ項目には、アプリケーションＩＤ、送信依頼ＩＤ、送信依頼時刻、優先度、通信方向、送信数、受信数、前回受信数、受信速度、残受信メッセージ数、優先度調整指標、受信期限時刻が含まれる。
アプリケーションＩＤの欄には、メッセージ送信依頼の送信元のアプリケーションのＩＤ、つまり、メッセージ送信依頼に記述されているアプリケーションＩＤが記述される。
送信依頼ＩＤの欄には、メッセージ送信依頼の受付時に一意に採番された送信依頼ＩＤが記述される。
優先度の欄には、アプリケーションが指定した優先度、つまり、メッセージ送信依頼に記述されている優先度が記述される。
通信方向の欄には、メッセージ送信依頼に記述されるメッセージの通信方向、つまり、双方向か一方向かが記述される。
送信数の欄には、メッセージ送信依頼で依頼された送信メッセージのうちメッセージ送信部２１から下りメッセージとして送信されたメッセージ数が記述される。
受信数の欄には、メッセージ送信依頼で依頼された送信メッセージのうち受信依頼受付部２２でその応答が受信されたメッセージ数が記述される。
前回受信数の欄には、受信数が更新される際に、更新前の受信数が記述される。
前回受信数の値は、受信速度を計算するために用いられる。
受信速度の欄には、単位時間あたりの受信メッセージ数が記述される。
残受信メッセージ数の欄には、現在以降に受信すべき受信メッセージの数が記述される。
優先度調整指標の欄には、優先度の調整を指示するための指標が記述される。
受信期限時刻の欄には、応答要求下りメッセージの応答がアプリケーションにより受信されなければならない時刻が記述される。
ただし、受信数、前回受信数、受信速度、受信期限時刻は、通信方向が双方向の場合のみに使用される。
【００４７】
進捗情報管理部２４３は、送信依頼受付部２６がアプリケーションからのメッセージ送信依頼を受け付けたときに呼び出され、送信依頼受付部２６が採番した送信依頼ＩＤが記述される新たなレコードを優先度情報テーブルに作成する。
このとき、進捗情報管理部２４３は、メッセージ送信依頼のヘッダ部から、アプリケーションＩＤ、応答メッセージ受信期限時刻、優先度を取り出し、それぞれ優先度情報テーブルの該当レコードのアプリケーションＩＤ、受信期限時刻、優先度の各カラムに書き込む。
また、進捗情報管理部２４３は、メッセージ種別を取り出し、通信方向を識別して通信方向のデータ項目に書き込む。
また、進捗情報管理部２４３は、通信方向が双方向の場合、総送信メッセージ数を取り出し、残受信メッセージ数のカラムに書き込む。
通信方向が一方向の場合は、残受信メッセージ数のカラムには「０」（ゼロ）を書き込む。
また、進捗情報管理部２４３は、送信数、受信数、前回受信数、優先度調整指標のカラムには「０」（ゼロ）を書き込む。
【００４８】
進捗情報管理部２４３は、メッセージ送受信装置２０のメッセージ送信部２１から送信メッセージが送信される度に呼び出され、該当する送信依頼ＩＤのレコードの送信数をインクリメントする。
また、進捗情報管理部２４３は、メッセージ送受信装置２０の受信依頼受付部２２が受信メッセージを受け付ける度に呼び出され、該当する送信依頼ＩＤのレコードの受信数をインクリメントし、残受信メッセージ数をデクリメントする。
【００４９】
また、進捗情報管理部２４３は、ある一定間隔ごと、例えば１分ごとにタイマー部２５からタイミング信号を受け取り、通信方向が双方向の送信依頼に対して現在の受信速度を計算し、優先度情報テーブルの受信速度のカラムを更新する。
このとき、進捗情報管理部２４３は、受信速度のカラムを更新する前に、受信数のカラムのデータを前回受信数のカラムにコピーする。
受信速度は、受信数と前回受信数との差をタイミング信号の間隔で割ることにより求める。
【００５０】
優先度調整部２４２は、優先度情報テーブルのデータを使って、送信依頼ごとに優先度調整の要否を判断し、優先度調整が必要であれば優先度調整メッセージを作成し、作成した優先度調整メッセージをメッセージ送信部２１に転送する。
メッセージ送信部２１は、指定された中継装置３０に優先度調整メッセージを送信する。
【００５１】
図１４は、優先度調整部２４２による優先度調整動作の例を示すフローチャートである。
優先度情報テーブルの優先度調整指標は、全ての送信依頼ＩＤについて「０」（ゼロ）であると仮定する。
【００５２】
優先度調整部２４２は、タイマー部２５からの定期的なタイミング信号により呼び出される。
優先度調整部２４２は、まず、優先度情報テーブルの最初の送信依頼ＩＤのレコードを読み込む（Ｓ１１）。
このとき、受信期限時刻のカラムにデータがない場合（Ｓ１２でＮＯ）は、優先度調整が不要であると判断して、優先度調整部２４２は、次の送信依頼ＩＤのレコードを読み込む（Ｓ１１）。
受信期限時刻のカラムにデータがある場合（Ｓ１２でＹＥＳ）でも、もし、優先度調整指標がすでに「＋１」となっていた場合（Ｓ１３で「＋１」）には、優先度調整の要否を判定済みであると判断して、優先度調整部２４２は、次の送信依頼ＩＤのレコードを読み込む（Ｓ１１）。
優先度調整指標が「０」の場合（Ｓ１３で「０」）には、優先度調整部２４２は、優先度調整要否チェック処理を実行し（Ｓ１４）、優先度調整をするかどうかを判断する。
優先度調整が必要と判断した場合（Ｓ１５でＹＥＳ）には、優先度調整部２４２は、優先度情報テーブルの当該送信依頼ＩＤの優先度調整指標のカラムに「＋１」と書き込み（Ｓ１６）、図１３の送信メッセージ形式で優先度調整メッセージを作成する（Ｓ１７）。
【００５３】
優先度調整メッセージは中継装置３０ごとに作成する。
つまり、Ｓ１１でレコードが読み込まれた送信依頼に複数のスマートメータ４０宛ての複数の送信メッセージが含まれており、これら複数のスマートメータ４０とのメッセージ通信が複数の中継装置３０により中継される場合は、優先度調整部２４２は、中継装置３０ごとに優先度調整メッセージを生成する。
優先度調整メッセージのヘッダ部の送信依頼ＩＤには、Ｓ１１で優先度情報テーブルから読み込んだレコードの送信依頼ＩＤを入れる。
また、送信先ＩＤには中継装置ＩＤ、メッセージ種別には優先度調整メッセージであることを示す種別コードを入れる。
また、送信メッセージサイズには優先度調整メッセージのサイズ、優先度には「高」を入れる。
データ部の送信メッセージには、優先度調整指標値（「＋１」）を入れる。
このようにして、優先度調整部２４２は、全ての中継装置３０について優先度調整メッセージを作成し、作成した優先度調整メッセージをメッセージ送信部２１に転送する（Ｓ１８）。
優先度調整部２４２は、以上の手順を優先度情報テーブルの全ての送信依頼ＩＤについて実行する（Ｓ１９）。
【００５４】
メッセージ送信部２１は、優先度調整メッセージを中継装置３０へ送信する。
【００５５】
図１５は、図１４のＳ１４の優先度調整要否チェック処理の一例を示すフローチャートである。
図１５では、送信数と受信数の差があらかじめ決められた一定水準値を超えた場合に、Ｓ１４の判断の対象としている送信依頼のメッセージの優先度を上げる例を示している。
【００５６】
図１５の優先度調整要否チェック処理では、まず、優先度調整部２４２は、図７に示すアプリケーションテーブルから、当該アプリケーションＩＤの送受信数差異閾値を読み込む（Ｓ１４１１）。
次に、優先度調整部２４２は、中継装置３０への下りメッセージの送信数と中継装置３０からの上りメッセージの受信数の差を計算し（Ｓ１４１２）、その値が送受信数差異閾値を超えていた場合（Ｓ１４１３でＹＥＳ）に、優先度を調整するという判断をする（Ｓ１４１４）。
一方、計算した値が送受信数差異閾値を超えていない場合（Ｓ１４１３でＮＯ）は、優先度を調整しないという判断をする（Ｓ１４１５）。
このように、図１５の優先度調整要否チェック処理は、複数の下りメッセージが送信され、更に、複数の上りメッセージが応答される双方向のメッセージ通信に適用される。
換言すると、図１５の優先度調整要否チェック処理は、複合応答要求下りメッセージ送信依頼に適用される。
【００５７】
図１６は、図１４のＳ１４の優先度調整要否チェック処理の他の一例を示すフローチャートである。
図１６では、メッセージ受信速度が受信期限時刻までに残受信メッセージ数を処理するために必要なメッセージ受信速度を下回っていた場合に、Ｓ１４の判断の対象としている送信依頼のメッセージの優先度を上げる例を示している。
【００５８】
図１６の優先度調整要否チェック処理では、まず、優先度調整部２４２は、受信期限時刻と現在時刻の差分と残受信メッセージ数から、受信期限時刻までに受信を完了するために必要なメッセージ受信速度を計算する（Ｓ１４２１）。
次に、優先度調整部２４２は、計算した受信速度と、優先度情報テーブルの受信速度を比較し、計算した受信速度のほうが大きい場合（Ｓ１４２２でＹＥＳ）に、優先度を調整するという判断をする（Ｓ１４２３）。
一方、計算した受信速度が大きくない場合（Ｓ１４２２でＮＯ）は、優先度を調整しないという判断をする（Ｓ１４２４）。
このように、図１６の優先度調整要否チェック処理では、送信依頼ごとに、上りメッセージの受信速度を計測し、計測した受信速度で上りメッセージの受信が続けられた場合に、全ての上りメッセージの受信が受信完了期限までに完了するか否かを判断する。
そして、全ての上りメッセージの受信が受信完了期限までに完了しない送信依頼を優先度調整の対象とする。
図１６の優先度調整要否チェック処理も、図１５の場合と同様に、複合応答要求下りメッセージ送信依頼に適用される。
【００５９】
図１７は、図１４のＳ１４の優先度調整要否チェック処理の他の一例を示すフローチャートである。
図１７では、受信期限時刻までの残り時間が少なくなった場合に、Ｓ１４の判断の対象としている送信依頼のメッセージの優先度を上げる例を示している。
【００６０】
図１７の優先度調整要否チェック処理では、まず、優先度調整部２４２は、受信期限時刻と現在時刻の差分から受信残り時間を計算する（Ｓ１４３１）。
次に、優先度調整部２４２は、送信依頼時刻と受信期限時刻との差分から総受信時間を計算し（Ｓ１４３２）、受信残り時間が送受信時刻の一定割合（例えば１０％）より少ない場合（Ｓ１４３３でＹＥＳ）に、優先度を調整するという判断をする（Ｓ１４３４）。
一方、受信残り時間が送受信時刻の一定割合（例えば１０％）よりも少なくない場合（Ｓ１４３３でＮＯ）は、優先度を調整しないという判断をする（Ｓ１４３５）。
図１７の優先度調整要否チェック処理も、図１５及び図１６の場合と同様に、複合応答要求下りメッセージ送信依頼に適用される。
【００６１】
次に、優先度調整部２４２が１つの送信依頼１に対して優先度調整をすると判断したときに、すでに優先度を上げるように優先度調整をしている他の送信依頼２があり、送信依頼２の受信期限時刻が送信依頼１の受信期限時刻よりも遅い時刻だった場合に、送信依頼２について優先度を下げるように優先度調整を行う場合の動作について述べる。
【００６２】
優先度調整部２４２が１つの送信依頼１に対して優先度調整をすると判断した場合に、優先度引き下げ処理が実行される。
図１８は、優先度引き下げ処理のフローチャートである。
【００６３】
優先度引き下げ処理では、まず、優先度調整部２４２は、優先度情報テーブルの最初の送信依頼ＩＤのレコードを読み込む（Ｓ２１）。
このとき、受信期限時刻のカラムにデータがない場合（Ｓ２２でＮＯ）は、優先度調整部２４２は、優先度調整が不要であると判断して、次の送信依頼ＩＤのレコードを読み込む。
受信期限時刻のカラムにデータがある場合（Ｓ２２でＹＥＳ）で、優先度調整指標が「＋１」となっていた場合（Ｓ２３で「＋１」）、この送信依頼が送信依頼２の候補となる。
優先度調整部２４２は、送信依頼１の受信期限時刻と、送信依頼２の受信期限時刻を比較し（Ｓ２４）、もし送信依頼２の受信期限時刻が送信依頼１の受信期限時刻よりも遅い時刻だった場合、送信依頼２について優先度引き下げの優先度調整が必要と判断する（Ｓ２５でＹＥＳ）。
優先度引き下げ処理は、優先度調整部２４２が、優先度情報テーブルの送信依頼２の優先度調整指標のカラムを「０」に修正し（Ｓ２６）、図１３の送信メッセージ形式で優先度調整メッセージを作成する（Ｓ２７）。
このとき、ヘッダ部の送信依頼ＩＤには、送信依頼２の送信依頼ＩＤを入れる。
また、送信先ＩＤには中継装置ＩＤ、メッセージ種別には優先度調整メッセージであることを示す種別コードを入れる。
また、送信メッセージサイズには優先度調整メッセージのサイズ、優先度には「高」を入れる。
データ部の送信メッセージには、優先度調整指標値（「０」）を入れる。
このようにして、優先度調整部２４２は、全ての中継装置３０について優先度調整メッセージを作成し、作成した優先度調整メッセージをメッセージ送信部２１に転送する（Ｓ２８）。
以上の手順を優先度情報テーブルの全ての送信依頼ＩＤについて実行する（Ｓ２９）。
なお、Ｓ２７で作成する優先度調整メッセージは、送信依頼２について中継装置３０に送信済みの優先度調整メッセージ（データ部に「＋１」が記述された優先度調整メッセージ）を無効にするコマンドであり、無効コマンドの例に相当する。
【００６４】
次に、中継装置３０の構成と優先度調整の動作について説明する。
【００６５】
図３は、中継装置３０の構成例を示すシステム構成図である。
【００６６】
図３において、下りメッセージ受信部３７は、メッセージ送受信装置２０からのメッセージを受信する。
下りメッセージ受信部３７は、スマートメータ４０宛ての下りメッセージの他、優先度調整メッセージ（指示コマンド）も受信し、指示コマンド受信部としても機能する。
【００６７】
優先制御処理部３５は、メッセージ中継の優先度を制御する。
優先制御処理部３５は、優先度ごとの下りキュー３５１および上りキュー３５３と、優先度変更の処理を行う優先度変更部３５２からなる。
優先制御処理部３５の下りキュー３５１、上りキュー３５３は、優先度ごとに複数のキューで構成されているが、１つのキューで実現してもよい。
また、下りキュー３５１と上りキュー３５３を１つのキューで実現してもよい。
下りキュー３５１は、下りメッセージ記憶部の例に相当する。
また、上りキュー３５３は、上りメッセージ記憶部の例に相当する。
更に、優先度変更部３５２は、下りメッセージ送信部３１とともに、優先下りメッセージ選択部の例に相当する。
また、優先度変更部３５２は、上りメッセージ送信部３８とともに、優先上りメッセージ選択部の例に相当する。
【００６８】
下りメッセージ送信部３１は、下りメッセージをスマートメータ４０へ送信する。
下りメッセージ送信部３１は、最も優先度の高い下りキュー３５１に蓄積されている下りメッセージを選択し、選択した下りメッセージを優先してスマートメータ４０に送信する。
このため、下りメッセージ送信部３１は、優先下りメッセージ選択部の例に相当する。
【００６９】
上りメッセージ受信部３２は、スマートメータ４０からの上りメッセージを受信する。
【００７０】
上りメッセージ送信部３８は、上りメッセージをメッセージ送受信装置２０へ送信する。
上りメッセージ送信部３８は、最も優先度の高い上りキュー３５３に蓄積されている上りメッセージを選択し、選択した上りメッセージを優先してメッセージ送受信装置２０に送信する。
このため、上りメッセージ送信部３８は、優先上りメッセージ選択部の例に相当する。
【００７１】
優先度変更データ記憶部３６は、優先制御処理部３５が優先度変更の判定を行うときに参照する優先度変更情報テーブル（図６）を記憶する。
【００７２】
負荷情報生成部３３は、中継装置３０の負荷情報を生成する。
タイマー部３４は、負荷情報生成部３３に負荷情報の生成のタイミング信号を与える。
負荷情報生成部３３及びタイマー部３４の詳細は、実施の形態２で説明する。
【００７３】
下りメッセージ受信部３７は、メッセージ送受信装置２０から受信した下りメッセージを、ヘッダ部に記載された優先度にしたがって、下りキュー３５１の最後尾に挿入する。
また、下りメッセージ受信部３７は、優先度調整メッセージを受信した場合は、優先度調整メッセージを優先度変更部３５２に出力する。
【００７４】
下りメッセージ送信部３１は、下りキュー３５１のうち優先度の最も高いキューの先頭から下りメッセージを取り出す。
もし優先度の最も高いキューが空の場合には、下りメッセージ送信部３１は、次に優先度の高いキューの先頭から下りメッセージを取り出す。
次に、下りメッセージ送信部３１は、下りメッセージ内の送信先ＩＤが示すスマートメータ４０に、取り出した下りメッセージを送信する。
【００７５】
上りメッセージ受信部３２は、スマートメータ４０から受信した上りメッセージを、ヘッダ部に設定された優先度にしたがって、上りキュー３５３の最後尾に挿入する。
【００７６】
上りメッセージ送信部３８は、上りキュー３５３のうち優先度の最も高いキューの先頭から上りメッセージを取り出す。
もし優先度の最も高いキューが空の場合には、次に優先度の高いキューの先頭から上りメッセージを取り出す。
次に、上りメッセージ送信部３８は、取り出した上りメッセージをメッセージ送受信装置２０に送信する。
なお、上りメッセージ送信部３８は、共通する送信依頼ＩＤの複数の上りメッセージが同じタイミングで存在する場合は、複数の上りメッセージをまとめて図１２に示すメッセージ受信依頼の形式で複数の上りメッセージを送信する。
【００７７】
下りメッセージ受信部３７は、前述したように、メッセージ送受信装置２０から優先度調整メッセージを受信したときに、優先度調整メッセージを優先度変更部３５２に出力し、優先度変更部３５２を呼び出す。
優先度変更部３５２は、優先度調整メッセージのヘッダ部に設定された送信依頼ＩＤが優先度変更データ記憶部３６の優先度変更情報テーブル（図６）に存在しない場合、ヘッダ部の情報にしたがって新たに当該送信依頼ＩＤのエントリを追加する。
次に、優先度変更部３５２は、優先度調整メッセージのデータ部の優先度調整指標値（「＋１」又は「０」）を参照し、優先度変更データ記憶部３６に保存されている値と異なる場合、これを更新する。
【００７８】
図２５及び図２７は、優先度変更情報テーブルの一例を示した図である。
優先度変更情報テーブルの各テーブル項目の意味は、メッセージ送受信装置２０の優先度情報テーブル（図４）と同じである。
【００７９】
図２４と図２６は、優先度変更部３５２が、優先度を変更する前後の状況を示した図である。
図２４と図２６では、優先度が、高、中、低の三段階である例を示している。
【００８０】
図２４は、ある時点での中継装置３０の下りキュー３５１内の状況を示し、図２５は、図２４の時点での優先度変更情報テーブルの状況を示している。
例えば、優先度＝高のキュー（高）には送信依頼ＩＤ＝０００２の下りメッセージが入っている。
また、キュー（中）には送信依頼ＩＤ＝０００３の下りメッセージ、キュー（低）には送信依頼ＩＤが０００４、０００１、０００４の下りメッセージがこの順番で入っている。
また、優先度変更情報テーブルには、図２５のようなデータが格納されている。
【００８１】
このとき、送信依頼ＩＤ＝０００１であり、優先度調整指標＝＋１である優先度調整メッセージ（図２６の符号７０１）を、下りメッセージ受信部３７が受信した場合を考える。
優先度変更情報テーブルの送信依頼ＩＤ＝０００１の優先度調整指標カラムには「０」が入っている（図２５）ため、優先度調整指標が変更になっている。
優先度調整メッセージの受信により、優先度変更情報テーブルは図２７に示すように更新される。
優先度変更部３５２は、優先度調整メッセージ（図２６の符号７０１）を入力し、キュー（低）に入っている送信依頼ＩＤ＝０００１の下りメッセージ（図２６の符号７０２）を取り出し、優先度調整指標＝＋１の指示にしたがって、この下りメッセージを優先度が一つ高いキュー（中）の最後尾に挿入する。
同様にして、優先度変更部３５２は、上りキュー３５３に入っている送信依頼ＩＤ＝０００１の上りメッセージ（不図示）についても、優先度が一つ高いキュー（中）の最後尾に挿入する。
下りメッセージ受信部３７および上りメッセージ受信部３２は、新たなメッセージ（例えば、図２６の符号７０３）を受信した場合、優先度変更情報テーブルから送信依頼ＩＤ＝０００１のレコードの優先度調整指標を読み出し、その指示（＋１）にしたがって、新たなメッセージを優先度が一つ高いキュー（中）の最後尾に挿入する。
そして、下りメッセージ送信部３１は、優先度変更部３５２により下りメッセージの優先度の調整が行われた後の下りキュー３５１から下りメッセージを取り出す。
【００８２】
例えば、図２６に示す下りキュー３５１では、送信依頼ＩＤ＝０００２の下りメッセージ（符号７０４）が取り出されれば、キュー（高）には下りメッセージが存在しないので、キュー（中）内の下りメッセージが取り出される。
送信依頼ＩＤ＝０００１の下りメッセージ（符号７０２、７０３）は、優先度変更部３５２による優先度の調整が行われる前はキュー（低）に蓄積されていたため、下りメッセージ受信部３７により取出されるまでは長時間を要する。
しかし、優先度変更部３５２による優先度の調整の後は、送信依頼ＩＤ＝０００１の下りメッセージ（符号７０２、７０３）はキュー（中）に蓄積されているので短時間で取り出されることになる。
このように、優先度変更部３５２は、下りキュー３５１に記憶されている下りメッセージの中から優先度調整メッセージに示される送信依頼ＩＤが設定されている下りメッセージを抽出する。
そして、優先度変更部３５２は、下りメッセージ送信部３１が下りキュー３５１から下りメッセージを取り出す際に、抽出した下りメッセージに対して当該下りメッセージに設定されている優先度とは異なる優先度が用いられるような調整を行う。
同様に、優先度変更部３５２は、上りキュー３５３に記憶されている上りメッセージの中から優先度調整メッセージに示される送信依頼ＩＤが設定されている上りメッセージを抽出する。
そして、優先度変更部３５２は、上りメッセージ送信部３８が上りキュー３５３から上りメッセージを取り出す際に、抽出した上りメッセージに対して当該上りメッセージに設定されている優先度とは異なる優先度が用いられるような調整を行う。
なお、本実施の形態では、優先度変更部３５２は、メッセージに記述されている優先度を変更せずに、メッセージを本来の優先度よりも高い優先度のキューに格納するが、メッセージの優先度自体を書き換えるようにしてもよい。
【００８３】
以上のように、本実施の形態では、メッセージ送受信装置２０での双方向メッセージの送受信数の差や、メッセージ受信速度、メッセージ受信残り時間が示す進捗度合いに応じて、メッセージ送受信装置２０が優先度調整指標を使って中継装置３０に優先度変更を指示する。
また、中継装置３０が優先度調整指標にしたがって、上り、下り双方のキュー内で保留されているメッセージの優先度を変更する。
このため、中継装置３０に過大な負荷をかけることなく、効果的にメッセージ通信の優先度を制御することができる。
【００８４】
また、メッセージ送受信装置２０は、すでに優先度を上げるように優先度調整している送信依頼に対して、それよりも早い受信期限時刻が指定された送信依頼について優先度を上げるように優先度調整する場合に、優先度を引き下げるように優先度調整を行う。
このため、きめ細かなメッセージ通信の優先度制御を行うことができる。
【００８５】
以上、本実施の形態では、
スマートメータ、中継装置、メッセージ送受信装置、アプリケーションサーバ装置１０から構成され、
スマートメータは電力、ガス、水道等の使用量を測定し、
アプリケーションサーバ装置１０上で動作する１つ以上のアプリケーションとスマートメータとの間で、
センターシステムに配備されるメッセージ送受信装置と、メッセージ送受信装置とスマートメータ間に配備される中継装置を経由して、メッセージ通信を行うスマートメータ自動検針システムを説明した。
【００８６】
また、本実施の形態では、
アプリケーションサーバ装置１０上のアプリケーションは、データ送受信装置に対して送るメッセージ送信依頼の中に受信期限時刻の情報を含め、
データ送受信装置は、アプリケーションとスマートメータとの間のメッセージ通信の進捗情報を保持する進捗情報管理部と、メッセージ通信の進捗情報から優先度調整の要否を判定して中継装置に優先度調整の指示を行う優先度調整部を備えた優先制御処理部を具備し、
中継装置は、メッセージ送受信装置からの優先度調整指示にしたがってメッセージ処理の優先度を変更する優先度変更部を備えた優先制御処理部を具備することを説明した。
【００８７】
また、本実施の形態では、
中継装置が具備する優先制御処理部の優先度変更部は、
データ送受信装置から中継装置への下り方向メッセージに対する処理の優先度を変更し、
さらに、メッセージ送受信装置からの優先度調整指示の対象メッセージが双方向メッセージだった場合に、中継装置からデータ送受信装置への上り方向メッセージに対する処理の優先度を変更することを説明した。
【００８８】
また、本実施の形態では、
データ送受信装置が具備する優先制御処理部の進捗情報管理部は、
メッセージ通信の進捗情報として、アプリケーションからのメッセージ送信依頼ごとの送信数、および受信数を保持し、
データ送受信装置が具備する優先制御処理部の優先度調整部は、
送信数と受信数の差があらかじめ決められた一定水準値を超えた場合に、当該送信依頼で送信するメッセージの優先度を上げるように、中継装置に優先度調整の指示を行うことを説明した。
【００８９】
また、本実施の形態では、
データ送受信装置が具備する優先制御処理部の進捗情報管理部は、
メッセージ通信の進捗情報として、アプリケーションからのメッセージ送信依頼ごとのメッセージ受信速度と、残受信メッセージ数を保持し、
データ送受信装置が具備する優先制御処理部の優先度調整部は、
メッセージ受信速度が受信期限時刻までに残受信メッセージ数を処理するために必要なメッセージ受信速度を下回っていた場合に、当該送信依頼で送信するメッセージの優先度を上げるように、中継装置に優先度調整の指示を行うことを説明した。
【００９０】
また、本実施の形態では、
データ送受信装置が具備する優先制御処理部の進捗情報管理部は、
メッセージ通信の進捗情報として、メッセージ送信依頼を受け付けた送信依頼受付時刻と、受信期限時刻までの残り時間を保持し、
データ送受信装置が具備する優先制御処理部の優先度調整部は、
受信期限時刻までの残り時間が、送信依頼受付時刻から受信期限時刻までの時間の一定割合を下回った場合に、当該送信依頼で送信するメッセージの優先度を上げるように、中継装置に優先度調整の指示を行うことを説明した。
【００９１】
また、本実施の形態では、
データ送受信装置が具備する優先制御処理部は、
すでに別のアプリケーションからのメッセージ送信依頼について、送信するメッセージの優先度を上げるよう中継装置に優先度調整指示をしているとき、
優先度を上げるように優先度調整をしようとしているメッセージ送信依頼の受信期限時刻が、上記別のアプリケーションの受信期限時刻よりも早い時刻だった場合に、
上記別のアプリケーションが送信するメッセージの優先度を下げるよう優先度調整指示を行うことを説明した。
【００９２】
実施の形態２．
実施の形態１では、メッセージ送受信装置２０は、優先度調整メッセージを複数の中継装置３０に送信する場合は、すべての中継装置３０に同じタイミングで優先度調整メッセージを送信していた。
本実施の形態では、優先度調整部２４２が、中継装置３０の性能や負荷状況から、中継装置３０に優先度調整メッセージを送信する順序を調整する動作を説明する。
【００９３】
本実施の形態に係るメッセージ送受信装置２０の構成例は図２に示した通りであり、本実施の形態に係る中継装置３０の構成例は図３に示した通りである。
なお、本実施の形態では、メッセージ送受信装置２０において、優先度調整部２４２は、下りメッセージと上りメッセージに対する処理の処理負荷を中継装置３０ごとに判定する。
そして、優先度調整部２４２は、処理負荷が高い中継装置３０から優先度調整メッセージが送信されるように複数の中継装置３０における優先度調整メッセージの送信順序を決定する。
本実施の形態では、優先度調整部２４２は送信順序決定部としても機能する。
また、メッセージ送信部２１は、優先度調整部２４２により決定された送信順序に従って、複数の中継装置３０に優先度調整メッセージを送信する。
【００９４】
優先度調整部２４２が中継装置３０に優先度調整メッセージを送信する順序を調整する場合の優先度情報テーブルを図８に示す。
【００９５】
図８の優先度調整テーブルは、図４の優先度情報テーブルに、中継装置負荷レベルのカラムが追加されたものである。
中継装置負荷レベル以外のカラムは、図４の優先度情報テーブルと同じである。
中継装置負荷レベルは、すでに優先度調整メッセージを送信済みの中継装置の負荷レベルを示しており、値が大きくなるほど負荷レベルが高いことを意味する。
例えば、中継装置負荷レベルが「３」であった場合、負荷レベルが「３」より上の中継装置３０に対してすでに優先度調整メッセージを送信済みであることを示す。
「０」（ゼロ）は全ての中継装置３０に対して優先度調整メッセージを送信済みであることを示す。
優先度調整テーブルの中継装置負荷レベルの値が「３」の場合は、後述する中継装置負荷テーブル（図１０）の負荷レベルが「３」の中継装置３０に対して優先度調整メッセージが送信される。
次に、優先度調整テーブルの中継装置負荷レベルの値は「２」にデクリメントされ、中継装置負荷テーブル（図１０）の負荷レベルが「２」の中継装置３０に対して優先度調整メッセージが送信される。
このように、優先度調整テーブルの中継装置負荷レベルの値はデクリメントされていき、負荷レベルの高い中継装置３０から順に優先度調整メッセージが送信される。
なお、以下では、説明の簡明化のため、優先度調整テーブルの中継装置負荷レベルの値は、「１」と「０」のいずれかとする。
このため、後述する中継装置仕様テーブル（図９）の負荷閾値は１つだけである。
優先度調整テーブルの中継装置負荷レベルを、例えば、「０」、「１」、「２」、「３」とする場合は、中継装置仕様テーブル（図９）の負荷閾値は３段階（「０」から「１」への閾値、「１」から「２」への閾値、「２」から「３」への閾値）となる。
【００９６】
負荷情報格納部２３は、図１０に示すような中継装置負荷テーブルを具備する。
中継装置ＩＤは、中継装置３０を一意に識別するＩＤである。
中継装置型式ＩＤは、その中継装置３０の型式を一意に識別するＩＤである。
保留メッセージ数は、その中継装置３０の上りキュー３５３および下りキュー３５１に保留されているメッセージ数であり、中継装置３０の負荷状況を示す。
保留メッセージ数は、中継装置３０が定期的にメッセージ送受信装置２０に負荷情報メッセージとして送信する。
負荷レベルは中継装置３０の負荷状況をレベル分けしたものである。
負荷レベルの値が高いほど、中継装置３０の負荷が高いことを示す。
負荷レベル履歴は、負荷レベルが更新される際に、更新前の負荷レベルが記述される。
【００９７】
負荷情報格納部２３は、図９に示すような中継装置仕様テーブルを具備する。
中継装置仕様テーブルは、スマートメータ自動検針システムで使用されている全ての中継装置３０について、その中継装置の型式ごとに仕様の情報を保持する。
中継装置型式ＩＤは、中継装置３０の型式を一意に識別するＩＤである。
中継装置型式は、中継装置３０に付与されている型式番号である。
負荷閾値は、それぞれの中継装置型式ごとに設定された、保留メッセージ数の閾値であり、ある時点での保留メッセージ数がこの閾値を超えた場合、その中継装置３０の負荷が高いと判断される。
処理スループットは、中継装置型式ごとに設定された、中継装置３０のメッセージ処理能力である。
【００９８】
受信依頼受付部２２は、中継装置３０から負荷情報メッセージを受け付けると、メッセージの中の保留メッセージ数のデータを負荷情報格納部２３の中継装置負荷テーブルの該当する中継装置３０の保留メッセージ数のカラムに書き込む。
【００９９】
本実施の形態では、一例として、優先度調整部２４２は、中継装置３０に優先度調整メッセージを送信するときに、中継装置３０の負荷状況に応じて２段階で送信するものとする。
このため、優先度情報テーブルの中継装置負荷レベルは、前述したように、「１」および「０」のどちらかの値をとり、優先度情報テーブルに送信依頼に対するレコードが新規に作成される場合は、「０に」初期化されている。
【０１００】
図１９は、優先度調整部２４２が中継装置３０に優先度調整メッセージを送信する順序を調整する場合のフローチャートである。
【０１０１】
優先度調整部２４２は、タイマー部２５からの定期的なタイミング信号により呼び出される。
優先度調整部２４２は、まず、中継装置負荷テーブル（図１０）の負荷レベルおよび、負荷レベル履歴の情報を、保留メッセージ数の値にしたがって更新する（Ｓ３１）。
次に、優先度調整部２４２は、優先度情報テーブルの最初の送信依頼ＩＤのレコードを読み込む（Ｓ３２）。
このとき、受信期限時刻のカラムにデータがない場合（Ｓ３３でＮＯ）は、優先度調整部２４２は、優先度調整が不要であると判断して、次の送信依頼ＩＤのレコードを読み込む（Ｓ３２）。
受信期限時刻のカラムにデータがあり（Ｓ３３でＹＥＳ）、かつ優先度調整指標が「０」だった場合（Ｓ３４で「０」）は、優先度調整部２４２は、優先度調整要否チェック処理を実行し（Ｓ３５）、優先度調整をするかどうかを判断する。
優先度調整要否チェック処理（Ｓ３５）は、図１４のＳ１４と同様であり、例えば、図１５〜図１７に示す処理が行われる。
優先度調整が必要と判断した場合（Ｓ３６でＹＥＳ）には、優先度調整部２４２は、優先度情報テーブルの当該送信依頼ＩＤの優先度調整指標のカラムに「＋１」と書き込み、さらに中継装置負荷レベルのカラムに「１」と書き込む（Ｓ３７）。
次に、優先度調整部２４２は、優先度調整メッセージ処理（１）を実行して、負荷の高い中継装置３０に対して優先度調整メッセージを送信する（Ｓ３８）。
一方、受信期限時刻のカラムにデータがあり（Ｓ３３でＹＥＳ）、かつ優先度調整指標がすでに「＋１」となっていた場合（Ｓ３４で「＋１」）は、優先度調整部２４２は、中継装置負荷レベルを参照する（Ｓ４０）。
中継装置負荷レベルが「０」の場合（Ｓ４０で「０」）は、すでに全ての中継装置３０に優先度調整メッセージを送付したものと判断して、優先度調整部２４２は、優先度情報テーブルの次の送信依頼ＩＤのレコードを読み込む。
中継装置負荷レベルが「１」の場合は、優先度調整部２４２は、中継装置負荷レベルを「０」に更新した上（Ｓ４１）で、優先度調整メッセージ処理（２）を実行して、まだ優先度調整メッセージを送信していない中継装置３０に対して優先度調整メッセージを送信する（Ｓ４２）。
優先度調整部２４２は、以上の処理を、優先度情報テーブルの全ての送信依頼ＩＤに対して実行する（Ｓ３９）。
【０１０２】
図２０は、中継装置３０の保留メッセージ数に応じて、優先度調整部２４２が中継装置３０に優先度調整メッセージを送信する順序を調整する場合の、中継装置負荷テーブル更新処理（Ｓ３１）のフローチャートである。
【０１０３】
優先度調整部２４２は、まず、中継装置負荷テーブル（図１０）の最初の中継装置ＩＤのレコードを読み込む（Ｓ３１１１）。
次に、優先度調整部２４２は、読み込んだレコードの中の負荷レベルカラムの値を中継装置負荷テーブルの該当レコードの負荷レベル履歴カラムに書き込む（Ｓ３１１２）。
次に、優先度調整部２４２は、読み込んだレコードの中の中継装置型式ＩＤカラムの値をキーにして、中継装置仕様テーブル（図９）から該当する中継装置型式の負荷閾値を読み出す（Ｓ３１１３）。
次に、優先度調整部２４２は、中継装置負荷テーブルの保留メッセージ数と負荷閾値を比較し（Ｓ３１１４）、保留メッセージ数が負荷閾値よりも大きい場合（Ｓ３１１５でＹＥＳ）は、中継装置負荷テーブルの該当レコードの負荷レベルカラムに「１」を書き込む（Ｓ３１１６）。
一方、保留メッセージ数が負荷閾値よりも大きくない場合（Ｓ３１１５でＮＯ）は、中継装置負荷テーブルの該当レコードの負荷レベルカラムに「０」（ゼロ）を書き込む（Ｓ３１１７）。
優先度調整部２４２は、以上の処理を、中継装置負荷テーブルの全ての中継装置ＩＤに対して実行する（Ｓ３１１８）。
【０１０４】
図２１は、中継装置３０の保留メッセージ数から算出したメッセージ処理所要時間に応じて、優先度調整部２４２が中継装置３０に優先度調整メッセージを送信する順序を調整する場合の、中継装置負荷テーブル更新処理（Ｓ３１）のフローチャートである。
【０１０５】
優先度調整部２４２は、まず、中継装置負荷テーブル（図１０）の最初の中継装置ＩＤのレコードを読み込む（Ｓ３１２１）。
次に、優先度調整部２４２は、読み込んだレコードの中の負荷レベルカラムの値を中継装置負荷テーブルの該当レコードの負荷レベル履歴カラムに書き込む（Ｓ３１２２）。
次に、優先度調整部２４２は、読み込んだレコードの中の中継装置型式ＩＤカラムの値をキーにして、中継装置仕様テーブルから該当する中継装置型式の処理スループットを読み出す（Ｓ３１２３）。
次に、優先度調整部２４２は、中継装置負荷テーブルの保留メッセージ数と処理スループットからメッセージ処理所要時間を計算する（Ｓ３１２４）。
計算したメッセージ処理所要時間が、例えば、あらかじめ決められたメッセージ処理所要時間の閾値よりも大きい場合は、中継装置負荷テーブルの該当レコードの負荷レベルカラムに「１」、小さい場合は「０」（ゼロ）を書き込む（Ｓ３１２５、Ｓ３１２６）。
ただし、あらかじめ決められたメッセージ処理所要時間を使わずに、全ての中継装置３０のうちメッセージ処理所要時間の大きい半分の中継装置３０に対して負荷レベルカラムを「１」に、残りの中継装置３０の負荷レベルカラムを「０」にするなど、そのほかの判定方法を使用してもかまわない。
【０１０６】
図２２は、図１９の優先度調整メッセージ処理（１）（Ｓ３８）のフローチャートである。
【０１０７】
優先度調整メッセージ処理（１）は、優先度調整部２４２が中継装置３０に優先度調整メッセージを送信する順序を調整する処理の中で実行される。
優先度調整メッセージ処理（１）では、優先度調整部２４２は、まず中継装置負荷テーブル（図１０）の最初の中継装置ＩＤのレコードを読み込む（Ｓ３８０１）。
負荷レベルカラムが「０」の場合（Ｓ３８０２で「０」）は、優先度調整部２４２は、該当中継装置３０に優先度調整メッセージを送信しないと判断し、次のレコードを読み込む。
負荷レベルカラムが「１」の場合（Ｓ３８０２で「１」）は、優先度調整部２４２は、優先度調整メッセージを作成し（Ｓ３８０３）、作成した優先度調整メッセージをメッセージ送信部２１へ転送する（Ｓ３８０４）。
優先度調整部２４２は、以上の処理を中継装置負荷テーブルの全ての中継装置ＩＤに対して実行する（Ｓ３８０５）。
【０１０８】
図２３は、優先度調整メッセージ処理（２）のフローチャートである。
優先度調整メッセージ処理（２）は、優先度調整部２４２が中継装置３０に優先度調整メッセージを送信する順序を調整する処理の中で実行される。
優先度調整メッセージ処理（２）では、優先度調整部２４２は、まず中継装置負荷テーブル（図１０）の最初の中継装置ＩＤのレコードを読み込む（Ｓ４２０１）。
負荷レベル履歴カラムが「１」の場合（Ｓ４２０２で「１」）は、優先度調整部２４２は、すでに該当中継装置３０に優先度調整メッセージを送信済みであると判断し、次のレコードを読み込む。
負荷レベル履歴カラムが「０」の場合（Ｓ４２０２で「０」）は、優先度調整メッセージを作成し（Ｓ４２０３）、作成した優先度調整メッセージをメッセージ送信部２１へ転送する（Ｓ４２０４）。
優先度調整部２４２は、以上の処理を中継装置負荷テーブルの全ての中継装置ＩＤに対して実行する（Ｓ４２０５）。
【０１０９】
次に、中継装置３０の負荷情報生成部３３の動作を説明する。
【０１１０】
タイマー部３４は設定されたインターバル時間ごとに、負荷情報の生成処理を実行する時刻が来たことを知らせるタイミング信号を負荷情報生成部３３に送る。
タイミング信号を受け取った負荷情報生成部３３は、その時点での上りキュー３５３と下りキュー３５１に保留されているメッセージ数を積算し、積算結果のデータを含む負荷情報メッセージを作成して、作成した負荷情報メッセージを上りメッセージ受信部３２へ転送する。
上りメッセージ受信部３２は、負荷情報生成部３３から受け取った負荷情報メッセージを、ヘッダ部に設定された優先度にしたがって、上りキューの最後尾に挿入する。
【０１１１】
このように、本実施の形態では、メッセージ送受信装置２０は、中継装置３０の仕様や負荷状況に応じて、優先度調整の順序を調整するように動作するので、異なる性能の中継装置３０が混在するスマートメータ自動検針システムにおいても効果的にメッセージ通信の優先度を制御することができる。
【０１１２】
以上、本実施の形態では、
中継装置は、更に、
メッセージ送受信装置に対して中継装置でのメッセージ処理の負荷情報として保留メッセージ数を定期的に送信する負荷情報送信部を具備し、
メッセージ送受信装置は、更に、
複数の中継装置から送信された負荷情報を格納する中継装置負荷情報格納部を具備することを説明した。
【０１１３】
また、本実施の形態では、
メッセージ送受信装置の優先制御処理部の優先度調整部は、
中継装置に優先度調整の指示を行うときに、保留メッセージ数が多い中継装置から順に指示を行うことを説明した。
【０１１４】
本実施の形態では、
メッセージ送受信装置の中継装置負荷情報格納部は、更に、
中継装置の型式ごとにメッセージ処理能力の情報として処理スループットを保持し、
メッセージ送受信装置の優先制御処理部の優先度調整部は、
それぞれの中継装置の保留メッセージ数と処理スループットから保留メッセージを全て処理するためのメッセージ処理所要時間を求め、
中継装置に優先度調整の指示を行うときに、メッセージ処理所要時間の大きい中継装置から順に指示を行うことを説明した。
【０１１５】
最後に、実施の形態１及び２に示したメッセージ送受信装置２０及び中継装置３０のハードウェア構成例を図２８を参照して説明する。
メッセージ送受信装置２０及び中継装置３０はコンピュータであり、メッセージ送受信装置２０及び中継装置３０の各要素をプログラムで実現することができる。
メッセージ送受信装置２０及び中継装置３０のハードウェア構成としては、バスに、演算装置９０１、外部記憶装置９０２、主記憶装置９０３、通信装置９０４、入出力装置９０５が接続されている。
【０１１６】
演算装置９０１は、プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
外部記憶装置９０２は、例えばＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やフラッシュメモリ、ハードディスク装置である。
主記憶装置９０３は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
「負荷情報格納部２３」、「優先度調整データ記憶部２９」、「優先度変更データ記憶部３６」、「下りキュー２４１」、「上りキュー２４４」、「下りキュー３５１」、「上りキュー３５３」は、例えば、外部記憶装置９０２又は主記憶装置９０３で実現される。
通信装置９０４は、「〜送信部」「〜受信部」、「〜受付部」及び「〜配信部」の物理層に対応する。
入出力装置９０５は、例えばマウス、キーボード、ディスプレイ装置等である。
【０１１７】
プログラムは、通常は外部記憶装置９０２に記憶されており、主記憶装置９０３にロードされた状態で、順次演算装置９０１に読み込まれ、実行される。
プログラムは、図１に示す「〜部（但し、「負荷情報格納部２３」、「優先度調整データ記憶部２９」、「優先度変更データ記憶部３６」を除く、以下同様）」として説明している機能を実現するプログラムである。
更に、外部記憶装置９０２にはオペレーティングシステム（ＯＳ）も記憶されており、ＯＳの少なくとも一部が主記憶装置９０３にロードされ、演算装置９０１はＯＳを実行しながら、図１に示す「〜部」の機能を実現するプログラムを実行する。
また、実施の形態１及び２の説明において、「〜の判断」、「〜の判定」、「〜の抽出」、「〜の選択」、「〜の設定」、「〜の指定」、「〜の更新」、「〜の作成」、「〜の生成」、「〜の決定」、「〜の入力」、「〜の出力」。「〜の受信」、「〜の送信」等として説明している処理の結果を示す情報やデータや信号値や変数値が主記憶装置９０３にファイルとして記憶されている。
また、暗号鍵・復号鍵や乱数値やパラメータが、主記憶装置９０３にファイルとして記憶されてもよい。
【０１１８】
なお、図２８の構成は、あくまでもメッセージ送受信装置２０及び中継装置３０のハードウェア構成の一例を示すものであり、メッセージ送受信装置２０及び中継装置３０のハードウェア構成は図２８に記載の構成に限らず、他の構成であってもよい。
また、実施の形態１及び２に示したアプリケーションサーバ装置１０も、図２８のハードウェア構成をしていてもよいし、他のハードウェア構成であってもよい。
【０１１９】
また、実施の形態１及び２に示すメッセージ送受信装置２０及び中継装置３０の処理手順を、情報処理方法として捉えることができる。
【０１２０】
なお、実施の形態１及び２では、スマートメータ自動検針システムに用いられるメッセージ送受信装置２０及び中継装置３０を説明したが、本実施の形態で示した内容はスマートメータ自動検針システム以外の通信システムにも適用可能である。
【符号の説明】
【０１２１】
１０  アプリケーションサーバ装置、２０  メッセージ送受信装置、２１  メッセージ送信部、２２  受信依頼受付部、２３  負荷情報格納部、２４  優先制御処理部、２５  タイマー部、２６  送信依頼受付部、２７  メッセージ一時格納部、２８  メッセージ配信部、２９  優先度調整データ記憶部、３０  中継装置、３１  下りメッセージ送信部、３２  上りメッセージ受信部、３３  負荷情報生成部、３４  タイマー部、３５  優先制御処理部、３６  優先度変更データ記憶部、３７  下りメッセージ受信部、３８  上りメッセージ送信部、４０  スマートメータ、５０  広域ネットワーク、６０  メータネットワーク、２４１  下りキュー、２４２  優先度調整部、２４３  進捗情報管理部、２４４  上りキュー、３５１  下りキュー、３５２  優先度変更部、３５３  上りキュー。
【要約】
中継装置３０は、スマートメータへの下りメッセージを受信し、受信した下りメッセージを記憶し、記憶している下りメッセージの中から優先してスマートメータに送信する優先下りメッセージを下りメッセージの優先度に基づいて選択し、優先下りメッセージを優先してスマートメータに送信する。メッセージ送信部２１は、優先度が設定されている下りメッセージを中継装置３０に送信する。優先度調整部２４２は、優先度の調整の対象となる下りメッセージを抽出するための抽出条件を指定する。更に、優先度調整部２４２は、抽出条件に合致する下りメッセージを抽出し、抽出した下りメッセージに対しては当該下りメッセージに設定されている優先度とは異なる優先度を用いて優先下りメッセージを選択するよう中継装置３０に指示する優先度調整メッセージを生成する。メッセージ送信部２１は、優先度調整メッセージを中継装置３０に送信する。【図１】
0005436701.tif 000002
【図２】
0005436701.tif 000003
【図３】
0005436701.tif 000004
【図４】
0005436701.tif 000005
【図５】
0005436701.tif 000006
【図６】
0005436701.tif 000007
【図７】
0005436701.tif 000008
【図８】
0005436701.tif 000009
【図９】
0005436701.tif 000010
【図１０】
0005436701.tif 000011
【図１１】
0005436701.tif 000012
【図１２】
0005436701.tif 000013
【図１３】
0005436701.tif 000014
【図１４】
0005436701.tif 000015
【図１５】
0005436701.tif 000016
【図１６】
0005436701.tif 000017
【図１７】
0005436701.tif 000018
【図１８】
0005436701.tif 000019
【図１９】
0005436701.tif 000020
【図２０】
0005436701.tif 000021
【図２１】
0005436701.tif 000022
【図２２】
0005436701.tif 000023
【図２３】
0005436701.tif 000024
【図２４】
0005436701.tif 000025
【図２５】
0005436701.tif 000026
【図２６】
0005436701.tif 000027
【図２７】
0005436701.tif 000028
【図２８】
0005436701.tif 000029