JP5552929B2 - 電文送信制御プログラム、通信装置及び電文送信制御方法 - Google Patents

電文送信制御プログラム、通信装置及び電文送信制御方法 Download PDF

Info

Publication number
JP5552929B2
JP5552929B2 JP2010156634A JP2010156634A JP5552929B2 JP 5552929 B2 JP5552929 B2 JP 5552929B2 JP 2010156634 A JP2010156634 A JP 2010156634A JP 2010156634 A JP2010156634 A JP 2010156634A JP 5552929 B2 JP5552929 B2 JP 5552929B2
Authority
JP
Japan
Prior art keywords
message
transmission
unit
staying
time
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
JP2010156634A
Other languages
English (en)
Other versions
JP2012019445A (ja
JP2012019445A5 (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
Priority to JP2010156634A priority Critical patent/JP5552929B2/ja
Publication of JP2012019445A publication Critical patent/JP2012019445A/ja
Publication of JP2012019445A5 publication Critical patent/JP2012019445A5/ja
Application granted granted Critical
Publication of JP5552929B2 publication Critical patent/JP5552929B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、電文送信制御プログラム、通信装置及び電文送信制御方法に関する。
従来、通信装置は、マルチプロセス/マルチスレッド構成を採用することで、スループットを向上させている。例えば、通信装置は、相手装置と同時に複数の通信パスを確立し、確立した通信パスごとにデータを分散して通信する。あるいは、通信装置は、複数の相手装置それぞれに通信パスを確立し、確立した通信パスごとにデータを通信する。
図20を用いて具体的に説明すると、通信装置Aは、通信部Aと通信部Bと通信部Cとを有する。通信装置Aは、通信部Aと通信部Bとのそれぞれで通信装置Bとパスを確立し、通信部Cと通信装置Cとでパスを確立する。このような通信装置Aにおいて、通信装置Bへ送信する電文を受信した場合、振り分け部は、受信した電文をバッファ部A又はバッファ部Bへ振り分ける。そして、通信部Aは、バッファ部Aから電文を読み出して通信装置Bへ送信し、通信部Bがバッファ部Bから電文を読み出して通信装置Bへ送信する。また、通信装置Cへ送信する電文を受信した場合も同様に、通信部Cは、振り分け部によってバッファ部Cへ振り分けられた電文を読み出して通信装置Cへ送信する。なお、図20は、従来技術にかかるマルチプロセス/マルチスレッド構成を採用する通信装置の一例を示す図である。また、ここでいう電文とは、例えば、データやパケット、フレームなどである。
このようなマルチプロセス/マルチスレッド構成を用いた通信装置では、電文の滞留を局所化することができる。具体的には、図21に示すように、通信部Aでネットワーク障害が発生した場合、ネットワーク障害が復旧するまでの間、通信部Aは、電文を送信できないので後続の電文がバッファ部Aに滞留する。これに対して、通信部B及び通信部Cは通信部Aに関係なく正常に送信できる。したがって、通信装置Aは、電文の滞留をバッファ部Aだけに局所化することができる。
また、通信部Aの空間再起動を実行する場合、通信部Aは、再起動を終了するまでの間は電文を送信出来ないので電文がバッファ部Aに滞留する。かかる場合も同様に、通信部B及び通信部Cは通信部Aに関係なく正常に送信できる。したがって、通信装置Aは、電文の滞留をバッファ部Aだけに局所化することができる。なお、図21は、通信装置が電文の滞留を局所化する一例を示す図である。
このようにして電文の滞留を局所化できる通信装置においては、通信装置内のバッファ部に電文を振り分ける様々な技術が開示されている。例えば、通信装置は、バッファ部に存在する電文数を考慮せず所定の順序でバッファ部に電文を振り分ける。図21の例の場合、通信装置Aは、バッファ部A、バッファ部B、バッファ部Cの順序で電文を振り分ける。
また、通信装置は、各バッファ部に存在する電文数を計測し、計測した電文数に基づいて滞留を判定する。そして、通信装置は、バッファ部に電文が滞留したと判定した場合には、相手装置との間で通信パスが確立した他のバッファ部へ電文を振り分ける。図21の例の場合、通信装置Aは、バッファ部Aに電文が滞留していると判定し、バッファ部B又はバッファ部Cへ電文を振り分ける。
また、通信装置は、優先度の高い電文を優先度の高いバッファ部へ振り分け、優先度の高いバッファ部から優先的に電文を送信する。図21の例の場合、通信装置Aは、バッファ部Cを優先度の高いバッファ部として設定した場合、優先度の高い電文をバッファ部Cへ振り分け、優先的に送信する。
特開平7−303114号公報 特開2007−13462号公報 特開2007−324759号公報
しかしながら、上述した従来の技術では、滞留した電文を早期に送信完了させることができないという課題があった。
具体的には、バッファ部に存在する電文数を考慮せず所定の順序でバッファ部に電文を振り分ける場合、通信装置は、電文の滞留を局所化することしかできず、滞留した電文を早期に送信完了させることはできない。
また、計測した電文数に基づいて滞留を判定する場合、通信装置は、すでに電文が滞留しているバッファ部への振り分けを回避することで電文の破棄を最小限にすることしかできない。したがって、通信装置は、バッファ部に既に滞留している電文を早期に送信することができないので、滞留した電文を早期に送信完了させることはできない。
また、通信装置は、優先的に電文が送信される優先度の高いバッファ部で障害が発生して電文の滞留が生じた場合、優先度が高いため、障害復旧後は優先的に電文を送信するので、滞留を比較的早く回復することができる。ところが、通信装置は、優先的に電文が送信されない優先度の低いバッファ部で障害が発生して電文の滞留が生じた場合、優先度が低いため、障害復旧後も優先的に電文を送信できないので、滞留を早く回復することができない。このように、優先度の違いによって、滞留した電文を送信完了できる時間が異なるので、滞留した電文を早期に送信完了させることができるとは言い難い。
1つの側面では、本発明は、滞留した電文を早期に送信完了させることができる電文送信制御プログラム、通信装置及び電文送信制御方法を提供することを目的とする。
本願の開示する電文送信制御プログラム、通信装置及び電文送信制御方法は、記憶された電文を読み出し、読み出した電文を相手装置へ送信する。電文送信制御プログラム、通信装置及び電文送信制御方法は、記憶される電文の滞留状況を監視する。電文送信制御プログラム、通信装置及び電文送信制御方法は、監視された滞留状況に基づいて、送信する電文数を制御する。
一つの態様によれば、滞留した電文を早期に送信完了させることができるという効果を奏する。
図1は、実施例1にかかる通信装置の構成を示すブロック図である。 図2は、実施例2にかかる通信装置の構成を示すブロック図である。 図3は、滞留状況記憶部が格納する情報の一例を示す図である。 図4は、滞留状況管理レコードとして格納される情報の一例を示す図である。 図5は、閾値記憶部が格納する情報の一例を示す図である。 図6は、格納制御部によって格納される電文と電文格納時刻との関係を示す図である。 図7は、格納制御部による電文格納時刻更新の一例を示す図である。 図8は、送信優先度の増加によって送信部Aが単位時間当たりに送信する電文数の変化の一例を示す図である。 図9は、送信部による電文格納時刻更新の一例を示す図である。 図10は、監視部による電文滞留の判定の一例を示す図である。 図11は、格納制御部による処理の処理手順を示すフローチャートである。 図12は、送信部による処理の処理手順を示すフローチャートである。 図13は、実施例2にかかる監視部による処理の処理手順を示すフローチャートである。 図14は、実施例2にかかる送信電文数制御部による処理の処理手順を示すフローチャートである。 図15は、実施例3にかかる通信装置の構成を示すブロック図である。 図16は、優先度範囲記憶部が格納する情報の一例を示す図である。 図17は、実施例3にかかる監視部による処理の処理手順を示すフローチャートである。 図18は、実施例3にかかる送信電文数制御部による処理の処理手順を示すフローチャートである。 図19は、電文送信制御プログラムを実行するコンピュータシステムを示す図である。 図20は、従来技術にかかるマルチプロセス/マルチスレッド構成を採用する通信装置の一例を示す図である。 図21は、通信装置が電文の滞留を局所化する一例を示す図である。
以下に、本願の開示する電文送信制御プログラム、通信装置及び電文送信制御方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図1は、実施例1にかかる通信装置の構成を示すブロック図である。図1に示すように、通信装置10は、記憶部11と、送信部12と、監視部13と、送信電文数制御部14とを有する。例えば、通信装置10は、携帯端末やサーバ装置などに適用できる。
記憶部11は、送信対象となる電文を記憶する。送信部12は、記憶部11に記憶された電文を読み出し、読み出した電文を相手装置へ送信する。監視部13は、記憶部11に記憶される電文の滞留状況を監視する。送信電文数制御部14は、監視部13によって監視された滞留状況に基づいて、送信部12が送信する電文数を制御する。
上述してきたように、本実施例1では、通信装置10において、監視部13が記憶部11の滞留状況を判定し、滞留が生じていると判定した場合には、送信電文数制御部14は、送信部12が単位時間当たりに送信する電文数を変化させる。すなわち、通信装置10は、記憶部11で滞留した電文を早期に送信完了させることができる。
[実施例2にかかる通信装置の構成]
次に、図2を用いて、実施例2にかかる通信装置100の構成を説明する。図2は、実施例2にかかる通信装置の構成を示すブロック図である。実施例2にかかる通信装置100は、記憶部110と、受信部120と、格納制御部130と、バッファ部140と、送信部150と、制御部160とを有する。
記憶部110は、例えば、半導体メモリ素子、又はハードディスクなどの記憶装置であり、滞留状況記憶部111と閾値記憶部112とを有する。さらに、記憶部110は、送信部と接続される通信装置の情報を格納する。滞留状況記憶部111は、各バッファ部の電文滞留状況を示す滞留状況管理レコードを記憶する。例えば、滞留状況記憶部111は、図3に示すように、バッファ部A141の滞留状況を示す滞留状況管理レコードAと、バッファ部Bの滞留状況を示す滞留状況管理レコードBと、バッファ部Cの滞留状況を示す滞留状況管理レコードCとを有する。なお、図3は、滞留状況記憶部が格納する情報の一例を示す図である。
ここで、図4を用いて、滞留状況管理レコードとして格納される情報の例を説明する。ここでは、一例として、滞留状況管理レコードAとして格納される情報について説明する。滞留状況管理レコードAには、図4に示すように、「バッファ部識別子」、「滞留電文数」、「滞留電文長」、「電文滞留時間」、「送信優先度」、「電文格納時刻」、「電文格納時刻先頭ポインタ」、「電文格納時刻末尾ポインタ」が対応付けて格納される。
「バッファ部識別子」は、バッファ部A141及びバッファ部A141と接続される送信部A151を一意に識別する情報である。また、「滞留電文数」は、バッファ部A141に存在する電文の総数を示す情報である。「滞留電文長」は、バッファ部A141に存在する電文の総電文長を示す情報である。「電文滞留時間」は、バッファ部A141の先頭に滞留している電文の格納時刻と、現在の時刻との差を示す情報である。「送信優先度」は、送信部A151の送信優先度を示す情報である。
「電文格納時刻」は、バッファ部A141に電文が格納された時刻を示す情報である。ここで、「電文格納時刻」は、「電文格納時刻0」、「電文格納時刻1」、「電文格納時刻n−1」を含む「電文格納時刻管理領域」として構成される。また、「電文格納時刻管理領域」は、サイクリックバッファとして使用される。言い換えると、「電文格納時刻管理領域」には、バッファ部A141に格納できる電文の最大数以上の電文格納時刻管理領域が設定される。そして、電文送信後には送信した電文の格納時刻が格納されていた「電文格納時刻領域」が再使用される。この結果、「電文格納時刻管理領域」には、バッファ部A141の電文格納回数に制限されることなく、バッファ部A141に電文が格納された時刻が格納される。
「電文格納時刻先頭ポインタ」は、バッファ部A141の先頭に位置する電文の格納時刻を示す情報である。ここで、例えば、「電文格納時刻管理領域」が「電文格納時刻0」から「電文格納時刻5」で構成される場合には、「電文格納時刻先頭ポインタ」は、「電文格納時刻5」の次には「電文格納時刻0」を示す。また、「電文格納時刻末尾ポインタ」は、バッファ部A141の末尾に位置する電文の格納時刻を示す情報である。ここで、例えば、「電文格納時刻管理領域」が「電文格納時刻0」から「電文格納時刻5」で構成される場合には、「電文格納時刻末尾ポインタ」は、「電文格納時刻5」の次には「電文格納時刻0」を示す。
例えば、滞留状況管理レコードAには、図4に示すように、「バッファ部識別子」が「A」で識別されるバッファ部の「滞留電文数」が「5」、「滞留電文長」が「640」、「電文滞留時間」が「500」、「送信優先度」が「低」であることを示す情報が格納される。
また、滞留状況管理レコードAには、「電文格納時刻0」が「3:12:43」、「電文格納時刻1」が「3:12:44」、「電文格納時刻n−1」が「3:12:xx」であることを示す情報が格納される。また、滞留状況管理レコードAには、「A」で識別されるバッファ部の先頭に格納された電文の格納時刻が「3:12:43」、末尾に格納された電文の格納時刻が「3:12:xx」であることを示す情報が格納される。なお、図4は、滞留状況管理レコードが格納する情報の一例を示す図である。また、滞留状況管理レコードB及び滞留状況管理レコードCは、滞留状況管理レコードAと同様の情報を格納するので詳細な説明を省略する。
閾値記憶部112は、バッファ部140に存在する電文が滞留しているか否かを判定する基準となる情報を記憶する。例えば、閾値記憶部112は、図5に示すように、「想定トランザクション量」と「送信部の数」と「最大1電文長」と「滞留電文数閾値」と「滞留電文長閾値」と「電文滞留時間閾値」とを記憶する。
ここで、図5に示す閾値記憶部112の「想定トランザクション量」は、想定される1秒当たりのトランザクション量を示す情報である。また、「送信部の数」は、送信部150に含まれる送信部の数を示す情報である。また、「最大1電文長」は、1電文当たりに許容できる電文長を示す情報である。また、「滞留電文数閾値」は、「想定トランザクション量/通信部の数」によって決定される滞留電文数の閾値を示す情報である。また、「滞留電文長閾値」は、「最大1電文長×想定トランザクション量/通信部の数」によって決定される滞留電文長の閾値を示す情報である。また、「電文滞留時間閾値」は、「通信部の数/想定トランザクション量」によって決定される電文滞留時間の閾値を示す情報である。
具体的には、図5に示す閾値記憶部112は、「想定トランザクション量」が「60」、「送信部の数」が「3」、「最大1電文長」が「300」であることを示す情報を記憶する。また、閾値記憶部112は、「滞留電文数閾値」が「20」、「滞留電文長閾値」が「6000」、「電文滞留時間閾値」が「0.05」であることを示す情報を記憶する。なお、図5は、閾値記憶部が格納する情報の一例を示す図である。また、上述した各閾値は、バッファ部140に含まれる複数のバッファ部間で共通である。
受信部120は、パスが確立された送信元の相手装置から電文を受信し、受信した電文を格納制御部130へ転送する。格納制御部130は、受信部120によって受信された電文をバッファ部140へ格納する制御部である。例えば、格納制御部130は、受信部120から電文を受信した場合、電文に付与された送信先の相手装置に関する情報を抽出し、送信先の相手装置とパスが確立される送信部のバッファ部へ電文を格納する。
また、格納制御部130は、バッファ部140へ電文を格納した場合、滞留状況管理レコードに格納された「滞留電文数」と「滞留電文長」の値を更新する。例えば、格納制御部130は、受信した電文の電文長を抽出し、抽出した「電文長」の値を滞留状況管理レコードに格納された「滞留電文長」の値に加算する。具体例として、格納制御部130は、電文長が「140」である電文をバッファ部A141に格納した場合を説明する。この場合、格納制御部130は、既にバッファ部A141に存在する電文数が「4」、電文長が「500」であった場合、滞留状況管理レコードに電文数「5」、電文長「640」を格納する。
また、格納制御部130は、電文をバッファ部A141に格納した時刻を示す「電文格納時刻」を滞留状況管理レコードに格納する。例えば、格納制御部130は、電文を受信部120から受信した場合、時間計測部163へ現在時刻の通知を要求することで現在時刻を取得する。そして、格納制御部130は、電文をバッファ部A141へ格納した時間として時間計測部163から取得した時刻を滞留状況管理レコードに格納する。
図6に示す具体例を用いて、電文と電文格納時刻との関係を説明する。図6に示すように、格納制御部130は、バッファ部A141に電文A、電文B、電文C、電文Dを順に格納する。この場合、格納制御部130は、滞留状況管理レコードの「電文格納時刻管理領域」に電文格納時刻を格納する。具体的には、格納制御部130は、滞留状況管理レコードの「電文格納時刻0」に、電文Aが格納された時刻を格納する。同様に、格納制御部130は、電文Bが格納された時刻を「電文格納時刻1」に、電文Cが格納された時刻を「電文格納時刻2」に、電文Dが格納された時刻を「電文格納時刻3」に格納する。
また、格納制御部130は、電文を格納した場合には、バッファ部140に存在する電文のうち、末尾の電文が格納された時刻を示す「電文格納時刻の末尾ポインタ」を更新する。例えば、格納制御部130は、現在の電文格納時刻の末尾のポインタが示す電文格納時刻を次の値に更新する。具体的には、図7に示す電文Eが格納された場合、格納制御部130は、「電文格納時刻の末尾ポインタ」を「電文格納時刻3」から「電文格納時刻4」へ更新した情報を滞留状況管理レコードに格納する。
続いて、格納制御部130は、「電文格納時刻の末尾ポインタ」を更新した後、電文格納時刻の末尾ポインタが電文格納時刻管理領域の最大値であるか否かを判定する。具体的には、格納制御部130は、現在の電文格納時刻の末尾ポインタが「電文格納時刻4」であった場合、「4」に「1」を加えた値「5」を算出する。そして、格納制御部130は、算出した電文格納時刻の末尾ポインタの値「5」が最大値を超えたか否かを判定する。ここで、最大値を「6」と仮定した場合、格納制御部130は、算出した値「5」を現在の電文格納時刻の末尾ポインタとして更新する。また、ここで、最大値を「4」と仮定した場合、格納制御部130は、算出した値「5」ではなく、「0」を現在の電文格納時刻の末尾ポインタとして更新する。すなわち、格納制御部130は、電文格納時刻管理領域の最大値まで使用した場合には、「電文格納時刻の末尾ポインタ」を「電文格納時刻0」に更新する。
バッファ部140は、バッファ部A141と、バッファ部B142とバッファ部C143とを有し、送信部110によって取り出されるまでの間、格納制御部130によって振り分けられた電文を一時的に格納する。このバッファ部140は、電文格納時刻が古い電文から先に取り出されるFIFO(First-In First-Out)で制御される。
バッファ部A141は、送信部A151によって取り出される電文を一時的に格納する。また、バッファ部B142は、送信部B152によって取り出される電文を一時的に格納する。バッファ部C143は、送信部C153によって取り出される電文を一時的に格納する。
送信部150は、バッファ部140に電文が存在する場合には、バッファ部140各々から電文を読み出し、パスが確立された相手装置へ送信電文数制御部162によって設定された送信優先度にしたがって読み出した電文を送信する。このような送信部150は、送信部A151と、送信部B152と、送信部C153とを有する。
送信部A151は、例えば、送信優先度を増加させる通知を受付けた場合には、送信部B152及び送信部C153が使用していないタイムスライスを優先的に使用することで、単位時間当たりの電文送信量を増加させる。
具体的には、送信部A151は、図8に示すように、送信部A151〜C153の優先度が「低」に設定されていた場合には、送信部A151は、単位時間当たりに2つの電文を送信する。ここで、送信電文数制御部162によって優先度が「高」に設定された場合には、送信部A151は、送信部B152及び送信部C153が使用していないタイムスライスを優先的に使用することで、単位時間当たりに4つの電文を送信する。なお、図8は、送信優先度の増加によって送信部Aが単位時間当たりに送信する電文数の変化の一例を示す図である。
また、送信部A151は、電文を送信した場合には、滞留状況管理レコードAを更新する。例えば、送信部A151は、読み出した電文の電文長を抽出し、抽出した「電文長」の値を滞留状況管理レコードAに格納された「滞留電文長」の値から減算する。具体例として、電文長が「200」である電文をバッファ部A141から読み出した場合を説明する。送信部A151は、既にバッファ部A141に存在する電文数が「5」、電文長が「640」であった場合、滞留状況管理レコードAに電文数「4」、電文長「440」を格納する。
また、送信部A151は、電文を送信した場合には、バッファ部A141に存在する電文のうち、先頭の電文が格納された時刻を示す「電文格納時刻の先頭ポインタ」を更新する。例えば、送信部A151は、現在の電文格納時刻の先頭のポインタが示す電文格納時刻を次の値に更新する。具体的には、送信部A151は、図9に示すように、電文Aを送信した場合、「電文格納時刻の先頭ポインタ」を「電文格納時刻0」から「電文格納時刻1」へ更新し、更新した情報を滞留状況管理レコードに格納する。
続いて、送信部A151は、「電文格納時刻の先頭ポインタ」を更新した後、電文格納時刻の先頭ポインタが電文格納時刻の最大値、すなわち「n−1」であるか否かを判定する。具体的には、送信部A151は、現在の電文格納時刻の先頭ポインタが「4」であった場合、「4」に「1」を加えた値「5」を算出する。そして、送信部A151は、算出した電文格納時刻の末尾ポインタの値「5」が最大値を超えたか否かを判定する。ここで、最大値を「6」と仮定した場合、送信部A151は、算出した値「5」を現在の電文格納時刻の先頭ポインタとして更新する。また、ここで、最大値を「4」と仮定した場合、送信部A151は、算出した値「5」ではなく、「0」を現在の電文格納時刻の先頭ポインタとして更新する。すなわち、送信部A151は、電文格納時刻を「n−1」まで使用した場合には、「電文格納時刻の先頭ポインタ」を「電文格納時刻0」に更新する。なお、送信部B152及び送信部C153は、送信部A151と同様の機能を有するので、送信部B152及び送信部C153について詳細な説明を省略する。
制御部160は、制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有する。制御部160は、監視部161と送信電文数制御部162と時間計測部163とを有する。例えば、制御部160は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路、又は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。
監視部161は、バッファ部140に存在する電文の滞留時間を監視し、滞留状況管理レコードA〜Cを更新する制御部である。監視部161は、バッファ部140を監視した時刻を取得し、取得した時刻から電文格納時刻の先頭ポインタが示す時刻を差し引いた時間を滞留時間として算出する。例えば、監視部161は、格納制御部130がバッファ部A141に電文を格納した場合、時間計測部163に現在時刻の取得を要求し、時間計測部163から現在時刻の通知を受付ける。そして、監視部161は、取得した現在の時刻が「3:12:55」、電文格納時刻の先頭ポインタが示す時刻が「3:12:43」であった場合、電文滞留時間を「12(秒)」として算出する。続いて、監視部161は、滞留状況管理レコードAの「電文滞留時間」に算出した電文滞留時間を格納する。
また、監視部161は、電文滞留時間と滞留電文数と滞留電文長とに基づいて、バッファ部の滞留状況を判定する。例えば、監視部161は、滞留状況管理レコードAから電文数、電文長、滞留時間を読み出し、読み出した各値が閾値記憶部112から読み出した電文数、電文長、滞留時間の閾値を超えたか否かを判定する。
具体例として、監視部161は、図5に示す滞留電文数閾値、滞留電文長閾値、電文滞留時間閾値を用いて電文の滞留を判定する場合を説明する。また、図10に示す「バッファ部識別子」、「滞留電文数」、「滞留電文長」、「電文滞留時間」、「送信優先度」は、バッファ部識別子に対応する滞留状況管理レコードから抜粋した値であると仮定する。なお、ここで、示す各値は、滞留状況管理レコードと同様であるため、説明は省略する。
図10は、バッファ部識別子「A」に対応するバッファ部A141において、滞留電文数が「5」、滞留電文長が「640」、電文滞留時間が「500」であり、送信優先度が「低」であることを示す。この場合、監視部161は、滞留電文数「5」と図5に示す滞留電文数閾値「20」とを比較し、滞留電文数が閾値を超えていないと判定する。また、監視部161は、滞留電文長「640」と図5に示す滞留電文長閾値「6000」とを比較し、滞留電文長が閾値を超えていないと判定する。また、監視部161は、電文滞留時間「500」と図5に示す電文滞留時間閾値「0.05」とを比較し、電文滞留時間が閾値を超えていると判定する。
同様に、監視部161は、電文滞留時間を算出し、算出した電文滞留時間を滞留状況管理レコードBに格納する。また、監視部161は、滞留状況管理レコードBから電文数、電文長、滞留時間を読み出し、読み出した各値が閾値記憶部112から読み出した電文数、電文長、滞留時間それぞれの閾値を超えたか否かを判定する。
図10は、バッファ部識別子「B」に対応するバッファ部B142において、滞留電文数が「30」、滞留電文長が「7680」、電文滞留時間が「2000」であり、送信優先度が「低」であることを示す。この場合、監視部161は、滞留電文数「30」と図5に示す滞留電文数閾値「20」とを比較し、滞留電文数が閾値を超えていると判定する。また、監視部161は、滞留電文長「7680」と図5に示す滞留電文長閾値「6000」とを比較し、滞留電文長が閾値を超えていると判定する。また、監視部161は、電文滞留時間「2000」と図5に示す電文滞留時間閾値「0.05」とを比較し、電文滞留時間が閾値を超えていると判定する。
同様に、監視部161は、電文滞留時間を算出し、算出した電文滞留時間を滞留状況管理レコードCに格納する。また、監視部161は、滞留状況管理レコードCから電文数、電文長、滞留時間を読み出し、読み出した各値が閾値記憶部112から読み出した電文数、電文長、滞留時間それぞれの閾値を超えたか否かを判定する。
図10は、バッファ部識別子「C」に対応するバッファ部C143における、滞留電文数が「10」、滞留電文長が「1920」、電文滞留時間が「1000」であり、送信優先度が「高」であることを示す。この場合、監視部161は、滞留電文数「10」と図5に示す滞留電文数閾値「20」とを比較し、滞留電文数が閾値を超えていないと判定する。また、監視部161は、滞留電文長「1920」と図5に示す滞留電文長閾値「6000」とを比較し、滞留電文長が閾値を超えていないと判定する。また、監視部161は、電文滞留時間「1000」と図5に示す電文滞留時間閾値「0.05」とを比較し、電文滞留時間が閾値を超えていると判定する。
続いて、監視部161は、監視したバッファ部の電文滞留状況に基づいて、送信優先度を増加させる送信部を判定する。ここでは、監視部161は、例えば、バッファ部のうち、最も電文が滞留しているバッファ部と接続された送信部の送信優先度を増加させるものとして説明する。
監視部161は、バッファ部140における電文滞留状況を判定した結果を比較する。例えば、監視部161は、バッファ部A141において閾値が1つ超えており、バッファ部B142において閾値が3つ超えており、バッファ部C143において閾値が1つ超えているので、バッファ部B142を最も電文が滞留しているバッファ部と判定する。そして、監視部161は、送信電文数制御部162に対して、最も電文が滞留しているバッファ部B142の送信優先度を増加させるように通知する。また、監視部161は、送信電文数制御部162に対して、バッファ部A141の送信優先度を減少させるように通知する。また、監視部161は、送信電文数制御部162に対して、バッファ部C143の送信優先度を減少させるように通知する。なお、図10は、監視部による電文滞留の判定の一例を示す図である。
送信電文数制御部162は、監視部161によって監視されたバッファ部140の電文滞留状況に基づいて、送信部150の送信優先度の設定を変更する制御部である。言い換えると、送信電文数制御部162は、送信部150によって送信される単位時間当たりの電文量を変更する。
例えば、送信電文数制御部162は、送信優先度を増加させると判定した送信部が有するプログラムにアクセスし、アクセスしたプログラムに記述された単位時間当たりの送信電文量を増加させる。また、送信電文数制御部162は、送信優先度を減少させると判定した送信部が有するプログラムにアクセスし、アクセスしたプログラムに記述された単位時間当たりの送信電文量を減少させる。
例えば、送信電文数制御部162は、監視部161から送信優先度の変更要求通知を受付けた場合には、要求種別を判定して、判定した要求に基づいて送信部150の優先度を変更する。具体的には、送信電文数制御部162は、監視部161から受付けた送信優先度の変更要求が送信部150各々に対して増加を指示するものであるか、減少を指示するものであるかを判定する。
送信電文数制御部162は、監視部161から送信優先度を増加させる通知を受付けた場合、最大優先度に設定されているか否かを判定する。すでに最大優先度である「高」に設定されていた場合には、送信電文数制御部162は、優先度を変更しない。最大優先度である「高」に設定されていない場合には、送信電文数制御部162は、滞留状況管理レコードの「送信優先度」を最大優先度である「高」へ更新する。
また、送信電文数制御部162は、送信優先度を減少させる通知を受付けた場合、デフォルト優先度に設定されているか否かを判定する。すでにデフォルト優先度である「低」に設定されていた場合には、送信電文数制御部162は、優先度を変更しない。デフォルト優先度である「低」に設定されていない場合には、送信電文数制御部162は、滞留状況管理レコードの「送信優先度」をデフォルト優先度である「低」へ更新する。
例えば、図10を例にして説明すると、送信電文数制御部162は、バッファ部A141について送信優先度を減少させる通知を受付ける。この場合、送信電文数制御部162は、滞留状況管理レコードAの送信優先度の値を検索し、この値が「低」であることから、すでにデフォルト優先度に設定されていると判定する。この場合、送信電文数制御部162は、滞留状況管理レコードAの送信優先度を変更しない。
また、図10を例にして説明すると、送信電文数制御部162は、バッファ部B142について送信優先度を増加させる通知を受付ける。この場合、送信電文数制御部162は、滞留状況管理レコードBの送信優先度の値を検索し、この値が「低」であることから、最大優先度には設定されていないと判定し、滞留状況管理レコードBの送信優先度の値を最大優先度である「高」に更新する。
また、図10を例にして説明すると、送信電文数制御部162は、バッファ部C143について送信優先度を減少させる通知を受付ける。この場合、送信電文数制御部162は、滞留状況管理レコードCの送信優先度の値を検索し、この値が「高」であることから、最大優先度に設定されていると判定し、滞留状況管理レコードCの送信優先度の値をデフォルト優先度である「低」に更新する。
時間計測部163は、格納制御部130からの要求に対して、現在の時刻を通知する制御部である。例えば、時間計測部163は、格納制御部130が電文を格納する場合に、格納制御部130からの要求に応答して現在の時刻を通知する。
時間計測部163は、所定の時間が経過した場合に、監視部161へ所定の時間が経過したことを通知する。具体的には、時間計測部163は、監視部161へ通知し、バッファ部140を監視させる。
また、時間計測部163は、監視部161が電文滞留時間を計測する場合に、監視部161からの要求に応答して現在の時刻を通知する。
[格納制御部による処理の処理手順]
次に、図11を用いて格納制御部130による処理の処理手順を説明する。図11は、格納制御部による処理の処理手順を示すフローチャートである。格納制御部130は、受信部120から電文を受信したと判定した場合(ステップS101、Yes)、バッファ部140に電文を格納し(ステップS102)、滞留状況管理レコードの「電文数」と「電文長」を更新する(ステップS103)。
続いて、格納制御部130は、電文格納時刻の末尾ポインタを更新し(ステップS104)、電文格納時刻の末尾ポインタが最大値であるか否かを判定する(ステップS105)。格納制御部130は、電文格納時刻の末尾ポインタが最大値であると判定した場合には(ステップS105、Yes)、電文格納時刻の末尾ポインタを0に戻し(ステップS106)、処理を終了する。一方、格納制御部130は、電文格納時刻の末尾ポインタが最大値ではないと判定した場合には(ステップS105、No)、処理を終了する。
[送信部による処理の処理手順]
次に、図12を用いて送信部150による処理の処理手順を説明する。図12は、送信部による処理の処理手順を示すフローチャートである。送信部150は、バッファ部140に電文が存在すると判定した場合(ステップS201、Yes)、電文を送信する(ステップS202)。送信部150は、電文格納時刻の先頭ポインタを更新し(ステップS203)、電文格納時刻の先頭ポインタが最大値であるか否かを判定する(ステップS204)。
送信部150は、電文格納時刻の先頭ポインタが最大値であると判定した場合には(ステップS204、Yes)、電文格納時刻の先頭ポインタを0に戻す(ステップS205)。続いて、送信部150は、滞留状況管理レコードの「電文数」と「電文長」を更新し(ステップS206)、処理を終了する。一方、送信部150は、電文格納時刻の先頭ポインタが最大値ではないと判定した場合には(ステップS204、No)、滞留状況管理レコードの「電文数」と「電文長」を更新し(ステップS206)、処理を終了する。
[監視部による処理の処理手順]
次に、図13を用いて実施例2にかかる監視部161による処理の処理手順を説明する。図13は、実施例2にかかる監視部による処理の処理手順を示すフローチャートである。監視部161は、所定の時間が経過したと判定した場合(ステップS301、Yes)、先頭のバッファ部140を監視する(ステップS302)。監視部161は、現在の時刻を取得し(ステップS303)、滞留状況管理レコードの「電文滞留時間」を更新する(ステップS304)。
続いて、監視部161は、閾値記憶部112から滞留電文数、滞留電文長、電文滞留時間についての閾値を読み出し、滞留状況管理レコードに格納された滞留電文数、滞留電文長、電文滞留時間の各値が閾値を超えたか否かを判定する(ステップS305)。
続いて、監視部161は、監視しているバッファ部140が最終のバッファ部であるか否かを判定する(ステップS306)。監視部161は、監視しているバッファ部140が最終バッファ部であると判定した場合には(ステップS306、Yes)、送信電文数制御部162へ送信優先度の変更を通知し(ステップS307)、処理を終了する。一方、監視部161は、監視しているバッファ部140が最終バッファ部ではないと判定した場合には(ステップS306、No)、次のバッファ部を監視し(ステップS308)、最終バッファ部であると判定するまで、ステップS304以降の処理を繰り返す。
[送信電文数制御部による処理の処理手順]
次に、図14を用いて実施例2にかかる送信電文数制御部162による処理の処理手順を説明する。図14は、実施例2にかかる送信電文数制御部による処理の処理手順を示すフローチャートである。送信電文数制御部162は、監視部161から送信優先度を変更させる通知を受付けた場合には(ステップS401、Yes)、通知が優先度の増加を指示するものであるか否かを判定する(ステップS402)。
送信電文数制御部162は、通知が優先度の増加を指示するものであると判定した場合には(ステップS402、Yes)、送信優先度が最大優先度であるか否かを判定する(ステップS403)。送信電文数制御部162は、送信優先度が最大優先度であると判定した場合には(ステップS403、Yes)、そのまま処理を終了する。一方、送信電文数制御部162は、送信優先度が最大優先度ではないと判定した場合には(ステップS403、No)、滞留状況管理レコードを更新し(ステップS404)、送信部150の送信優先度を変更する(ステップS405)。
一方、送信電文数制御部162は、通知が優先度の増加を指示するものではないと判定した場合には(ステップS402、No)、送信優先度がデフォルト優先度であるか否かを判定する(ステップS406)。送信電文数制御部162は、送信優先度がデフォルト優先度であると判定した場合には(ステップS406、Yes)、そのまま処理を終了する。一方、送信電文数制御部162は、送信優先度がデフォルト優先度ではないと判定した場合には(ステップS406、No)、滞留状況管理レコードを更新し(ステップS407)、送信部150の送信優先度を変更する(ステップS408)。
[実施例2の効果]
上述してきたように、本実施例2では、格納制御部130が電文を格納し、「電文数」と「電文長」を更新する。また、監視部161は、「電文滞留時間」を更新する。そして、監視部161は、バッファ部各々における「電文数」、「電文長」、「電文滞留時間」が所定の閾値を超えたか否かを判定し、送信電文数制御部162に閾値を最も超えたバッファ部140の送信優先度を変更させる。したがって、本実施例にかかる通信装置100は、「滞留電文数」、「滞留電文長」、「電文滞留時間」に応じて送信部150の送信優先度を動的に増加させることで、電文送信間隔を短縮することができる。言い換えると、本実施例にかかる通信装置100は、送信部150が単位時間当たり送信する電文数を増加させる。この結果、通信装置100は、バッファ部140で滞留した電文を早期に送信完了させることができる。
また、障害復旧作業中に送信部150の送信優先度を動的に増加させることにより、送信部150は、障害が復旧した時点で、送信優先度を高く設定して再開できる。また、送信部150の優先度を動的に変更させることで、バッファ部140における電文の滞留、また、障害回復中に送信優先度を動的に増加させることにより、障害が回復した時点で高い送信優先度で処理を再開できる。
また、本実施例にかかる通信装置100は、バッファ部140の滞留電文数、滞留電文長、電文滞留時間に応じて動的に送信部150の送信優先度を変更するので、送信優先度の事前設計が不要である。
また、本実施例にかかる通信装置100は、電文の滞留が解消したと判定した場合には、送信部150の送信優先度を動的に減少させるので、CPU資源の利用効率を向上させることができる。
実施例2では、監視部161が閾値を用いて電文の滞留を判定する例について説明したが、これに限定されるものではなく、例えば、閾値を用いずに電文の滞留を判定してもよい。そこで、実施例3では、通信装置200が閾値を用いずに電文の滞留を判定する場合について説明する。
[実施例3にかかる通信装置の構成]
次に、図15を用いて、実施例3にかかる通信装置200の構成を説明する。図15は、実施例3にかかる通信装置の構成を示すブロック図である。実施例3にかかる通信装置200は、記憶部210と、受信部120と、格納制御部130と、バッファ部140と、送信部150と、制御部260とを有する。なお、ここでは、図2に示した各部と同様の役割を果たす機能部については、同一符号を付すことにして、その詳細な説明を省略する。
記憶部210は、例えば、半導体メモリ素子、又はハードディスクなどの記憶装置であり、滞留状況記憶部111と優先度範囲記憶部212とを有する。優先度範囲記憶部212は、送信優先度の算出に必要な各種の値を記憶する。例えば、優先度範囲記憶部212は、図16に示すように、「想定トランザクション量」と「送信部の数」と「最大1電文長」と「優先度範囲」と「最大優先度」と「デフォルト優先度」と「係数α」と「係数β」と「係数γ」とを記憶する。
図16に示す優先度範囲記憶部212の「想定トランザクション量」は、想定される1秒当たりのトランザクション量を示す情報である。また、「送信部の数」は、通信装置200が有する送信部150の数を示す情報である。また、「最大1電文長」は、1電文当たりに許容できる電文長を示す情報である。また、「優先度範囲」は、「最大優先度−デフォルト優先度」によって決定される値を示す情報である。また、「最大優先度」は、送信優先度の最大値を示す情報である。また、「デフォルト優先度」は、通常状態における送信優先度の設定値を示す情報である。
また、「係数α」は、「優先度範囲/(想定トランザクション量/通信部の数)」によって決定される値である。また、「係数β」は、「優先度範囲/(最大1電文長×想定トランザクション量/通信部の数)」によって決定される値である。また、「係数γ」は、「優先度範囲/(通信部の数/想定トランザクション量)」によって決定される値である。
具体的には、図16に示す優先度範囲記憶部212は、「想定トランザクション量」が「60」、「送信部の数」が「3」、「最大1電文長」が「300」であることを示す情報を記憶する。また、優先度範囲記憶部212は、「優先度範囲」が「20」、「最大優先度」が「20」、「デフォルト優先度」が「0」であることを示す情報を記憶する。また、優先度範囲記憶部212は、「係数α」が「1」、「係数β」が「1/300」、「係数γ」が「400」であることを示す情報を記憶する。なお、図16は、優先度範囲記憶部が格納する情報の一例を示す図である。また、上述した各種設定値は、通信装置200が有する複数のバッファ部140間で共通である。
制御部260は、制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有する。制御部260は、監視部261と送信電文数制御部262と時間計測部163とを有する。例えば、制御部260は、ASICやFPGAなどの集積回路、又は、CPUやMPUなどの電子回路である。
監視部261は、バッファ部140に存在する電文の滞留時間を監視する制御部である。監視部261は、バッファ部140を監視した時刻を取得し、取得した時刻から電文格納時刻の先頭ポインタが示す時刻を差し引いた時間を滞留時間として算出する。例えば、監視部261は、時間計測部163に現在時刻の取得を要求し、時間計測部163から現在時刻の通知を受付ける。監視部261は、取得した現在の時刻が「3:12:55」、電文格納時刻の先頭ポインタが示す時刻が「3:12:43」であった場合、電文滞留時間を「12(秒)」として算出する。続いて、監視部261は、算出した電文滞留時間を滞留状況管理レコードに格納する。
同様に、監視部261は、バッファ部B142における電文滞留時間を算出し、算出した電文滞留時間を滞留状況管理レコードBに格納する。また、同様に、監視部261は、バッファ部C143における電文滞留時間を算出し、算出した電文滞留時間を滞留状況管理レコードCに格納する。
送信電文数制御部262は、監視部261によって監視されたバッファ部140の電文滞留状況に基づいて、送信部150の送信優先度を算出する制御部である。ここで、送信電文数制御部262は、計算式「送信優先度=デフォルト優先度+(α×滞留電文数+β
×滞留電文長+γ×電文滞留時間)/3」を用いて送信優先度を算出する。
具体例として、監視部261は、図16に示す「デフォルト優先度」、「α」、「β」、「γ」と、図10に示す「滞留電文数」、「滞留電文長」、「電文滞留時間」とを用いて送信優先度を算出する場合を説明する。また、図10に示す「バッファ部識別子」、「滞留電文数」、「滞留電文長」、「電文滞留時間」は、バッファ部識別子に対応する滞留状況管理レコードから抜粋した値であると仮定する。なお、ここで、示す各値は、滞留状況管理レコードと同様であるため、説明は省略する。
送信電文数制御部262は、バッファ部A141に対応する滞留状況管理レコードAから「滞留電文数」が「5」、「滞留電文長」が「640」、「電文滞留時間」が「500」であることを読み出し、読み出した値に基づいて、送信優先度を算出する。具体的には、送信電文数制御部262は、バッファ部A141の送信優先度を「6669」と算出する。
送信電文数制御部262は、バッファ部B142に対応する滞留状況管理レコードBから「滞留電文数」が「30」、「滞留電文長」が「7680」、「電文滞留時間」が「2000」であることを読み出し、読み出した値に基づいて、送信優先度を算出する。具体的には、送信電文数制御部262は、バッファ部B142の送信優先度を「266685」と算出する。
送信電文数制御部262は、バッファ部C143に対応する滞留状況管理レコードCから「滞留電文数」が「10」、「滞留電文長」が「1920」、「電文滞留時間」が「1000」であることを読み出し、読み出した値に基づいて、送信優先度を算出する。具体的には、送信電文数制御部262は、バッファ部C143の送信優先度を「133338」と算出する。
続いて、送信電文数制御部262は、算出した送信優先度に基づいて、滞留状況管理レコードの送信優先度を更新する。また、ここでは、送信電文数制御部262は、算出した送信優先度の値を比較し、値の大きい順にタイムスライスを割り当てるものとして説明する。
送信電文数制御部262は、算出した送信優先度の値を比較し、値が最大値である場合に、滞留状況管理レコードの送信優先度を「高」に設定する。具体的には、送信電文数制御部262は、算出した送信優先度が「266685」であるバッファ部B142に対応する滞留状況管理レコードBの送信優先度を「高」に更新する。また、送信電文数制御部262は、算出した送信優先度の値を比較し、値が最大値に次いで大きい値である場合に、滞留状況管理レコードの送信優先度を「中」に設定する。具体的には、送信電文数制御部262は、算出した送信優先度が「133338」であるバッファ部C143に対応する滞留状況管理レコードCを「中」に更新する。また、送信電文数制御部262は、算出した送信優先度の値を比較し、値が最小値である場合に、滞留状況管理レコードの送信優先度を「低」に設定する。具体的には、送信電文数制御部262は、算出した送信優先度が「6669」であるバッファ部A141に対応する滞留状況管理レコードAを「低」に更新する。
また、送信電文数制御部262は、送信部150が有するプログラムにアクセスし、アクセスしたプログラムに記述された単位時間当たりの送信電文量を変更する。例えば、送信電文数制御部262は、送信部150に割り当てることができるタイムスライスが「10」であった場合には、送信優先度が「高」である送信部B152にタイムスライスを「6」割り当てる。また、送信電文数制御部262は、送信優先度が「中」である送信部C153にタイムスライスを「3」割り当てる。また、送信電文数制御部262は、送信優先度が「低」である送信部A151にタイムスライスを「1」割り当てる。
[実施例3にかかる監視部による処理の処理手順]
次に、図17を用いて実施例3にかかる監視部261による処理の処理手順を説明する。図17は、実施例3にかかる監視部261による処理の処理手順を示すフローチャートである。監視部261は、所定の時間が経過したと判定した場合(ステップS501、Yes)、先頭のバッファ部140を監視する(ステップS502)。監視部261は、現在の時刻を取得し(ステップS503)、滞留状況管理レコードの「電文滞留時間」を更新する(ステップS504)。
監視部261は、監視しているバッファ部140が最終バッファ部であるか否かを判定する(ステップS505)。監視部261は、監視しているバッファ部140が最終バッファ部であると判定した場合には(ステップS505、Yes)、処理を終了する。一方、監視部261は、監視しているバッファ部140が最終バッファ部ではないと判定した場合には(ステップS505、No)、次のバッファ部を監視し(ステップS506)、最終バッファ部であると判定するまで、ステップS504以降の処理を繰り返す。
[送信電文数制御部による処理の処理手順]
次に、図18を用いて実施例3にかかる送信電文数制御部262による処理の処理手順を説明する。図18は、実施例3にかかる送信電文数制御部262による処理の処理手順を示すフローチャートである。送信電文数制御部262は、1秒休止したと判定した場合には(ステップS601、Yes)、送信優先度を算出する(ステップS602)。続いて、送信電文数制御部262は、滞留状況管理レコードを更新し(ステップS603)、送信部150の送信優先度を変更する(ステップS604)。
[実施例3の効果]
上述してきたように、本実施例3では、送信電文数制御部262は、送信優先度を算出し、算出した送信優先度に基づいて、送信部からの電文送信数を制御するので、厳密に送信優先度を変更することができる。この結果、通信装置200は、滞留した電文を早期に送信完了させることができる。
ところで、本願の開示する電文送信制御プログラム、通信装置及び電文送信制御方法は、上述した実施例以外にも、種々の異なる形態にて実施されてよい。そこで、実施例4では、本願の開示する電文送信制御プログラム、通信装置及び電文送信制御方法の他の実施例について説明する。
(システム構成等)
実施例において説明した各処理のうち自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文章中や図面中で示した処理手順、制御手順、具体的名称については、特記する場合を除いて任意に変更することができる。
また、図示した記憶部に格納された情報は一例に過ぎず、必ずしも図示のごとく情報が格納される必要はない。例えば、実施例2において、閾値記憶部112が格納する「想定トランザクション量」、「送信部の数」、「最大1電文長」は、任意に変更可能である。また、通信装置の負荷状況に応じて閾値を変化させてもよい。
実施例3において、優先度範囲記憶部212が格納する「想定トランザクション量」、「送信部の数」、「最大1電文長」、「優先度範囲」、「最大優先度」、「デフォルト優先度」は、任意に変更可能である。また、係数「α」、「β」、「γ」は固定値として説明したが、利用者が任意に選択する値を使用してもよい。
監視部161及び監視部261は、バッファ部140を所定の順序で監視してもよく、また、複数もしくは全てのバッファ部を同時に監視してもよい。また、全てのバッファ部において、電文が滞留している場合には、滞留状況が最小のバッファ部に電文を格納するようにしてもよい。
実施例2において、超えた閾値の数に基づいて、送信優先度を増加させる送信部を一つ選択するように説明した。また、実施例3において、算出した送信優先度の中から最も値の高い送信部を一つ選択して、送信優先度を増加させるように説明した。しかし、本願の開示する通信装置は、これに限定されず、任意の組み合わせで送信優先度を増加させる送信部を選択してもよい。
実施例2において、通信装置は、送信優先度を「低」と「高」の2段階で変更するものとして説明した。しかし、送信優先度の設定方法はこれに限定されるものではない。例えば、実施例2にかかる通信装置は、「低」、「中」、「高」の3段階で送信優先度を設定してもよく、また、より多段階で送信優先度を設定してもよい。
実施例3において、算出した送信優先度の値に基づいて、「低」、「中」、「高」の3段階で送信優先度を変更するものとして説明した。しかし、より多段階で送信優先度を設定してもよい。また、送信優先度に基づいて送信部が送信する電文の数の割り当てについては任意に変更可能である。
また、図示した各構成部は、機能概念的なものであり、必ずしも物理的に図示のごとく構成されていることを要しない。例えば、通信装置100は、監視部161と送信電文数制御部162とは統合されてもよい。さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
(プログラム)
ところで、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。
図19は、電文送信制御プログラムを実行するコンピュータシステムを示す図である。図19に示すように、コンピュータシステム300は、RAM310と、ROM330と、CPU320と、入力装置340と、出力装置350と、媒体読取装置360と、ネットワークインターフェース370とを有する。ここで、ROM330には、上記実施例と同様の機能を発揮するプログラムを予め記憶されている。つまり、図19に示すように、ROM330には、滞留状況判定プログラム331と送信電文数制御プログラム332とが予め記憶されている。
そして、CPU320には、滞留状況判定プログラム331と送信電文数制御プログラム332とを読み出してRAM310に展開する。そして、CPU320は、滞留状況判定プログラム331を滞留状況判定プロセス321として実行する。またCPU320は、送信電文数制御プログラム332を送信電文数制御プロセス322として実行する。なお、滞留状況判定プロセス321は、図2に示した監視部161に対応する。同様に、送信電文数制御プロセス322は、送信電文数制御部162に対応する。
ところで、上記したプログラム331及び332は、必ずしもROM330に記憶させておく必要はない。例えば、コンピュータシステム300に挿入されるフレキシブルディスク(FD)、CD−ROM、MOディスク、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に記憶させておくようにしてもよい。また、コンピュータシステム300の内外に備えられるハードディスクドライブ(HDD)などの「固定用の物理媒体」に記憶させておいてもよい。さらに、公衆回線、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などを介してコンピュータシステム300に接続される「他のコンピュータシステム」に記憶させておいてもよい。そして、コンピュータシステム300がこれらからプログラムを読み出して実行するようにしてもよい。
すなわち、このプログラムは、上記した「可搬用の物理媒体」、「固定用の物理媒体」、「通信媒体」などの記録媒体に、コンピュータ読み取り可能に記憶されるものである。そして、コンピュータシステム300は、このような記録媒体からプログラムを読み出して実行することで上記した実施例と同様の機能を実現する。なお、この他の実施例でいうプログラムは、コンピュータシステム300によって実行されることに限定されるものではない。例えば、他のコンピュータシステムまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
記憶部に記憶された電文を読み出し、読み出した電文を相手装置へ送信する送信手順と、
前記記憶部に記憶される電文の滞留状況を監視する監視手順と、
前記監視手順によって監視された滞留状況に基づいて、前記送信手順が送信する電文数を制御する送信電文数制御手順と
を実行させることを特徴とする電文送信制御プログラム。
(付記2)前記監視手順は、前記記憶部に記憶される電文の総数を示す滞留電文数と、当該電文の総数の長さを示す滞留電文長と、前記記憶部の先頭に格納される電文の格納経過時間を示す電文滞留時間とのそれぞれについて監視し、
前記送信電文数制御手順は、前記監視手順による監視結果に基づいて、前記送信手順が単位時間当たりに送信する電文数を制御することを特徴とする付記1に記載の電文送信制御プログラム。
(付記3)前記監視手順は、前記滞留電文数と滞留電文長と電文滞留時間とのそれぞれが、閾値を超えるか否かを監視することを特徴とする付記2に記載の電文送信制御プログラム。
(付記4)前記送信電文数制御手順は、前記監視手順による監視結果が前記滞留電文数と滞留電文長と電文滞留時間の少なくとも一つが閾値を越える場合には、前記送信手順が単位時間当たりに送信する電文数を増やすことを特徴とする付記3に記載の電文送信制御プログラム。
(付記5)前記送信電文数制御手順は、前記送信手順が単位時間当たりに送信する電文数を増やした後に、前記監視手順による監視結果が前記滞留電文数と滞留電文長と電文滞留時間とが閾値未満となった場合には、前記送信手順が単位時間当たりに送信する電文数を、増やす前の電文数に戻すことを特徴とする付記4に記載の電文送信制御プログラム。
(付記6)前記送信電文数制御手順は、前記監視手順による監視結果である前記滞留電文数と滞留電文長と電文滞留時間とのそれぞれに基づいて、前記送信手順が単位時間当たりに送信する電文数を決定する送信優先度を算出し、算出した送信優先度に基づいて、前記送信手順が単位時間当たりに送信する電文数を変化させることを特徴とする付記2に記載の電文送信制御プログラム。
(付記7)前記送信電文数制御手順は、前記監視手順によって算出された送信優先度が所定値以上である場合には、前記送信手順が単位時間当たりに送信する電文数を増やすことを特徴とする付記6に記載の電文送信制御プログラム。
(付記8)前記送信電文数制御手順は、前記送信手順が単位時間当たりに送信する電文数を増やした後に、前記監視手順によって算出された送信優先度が所定値未満となった場合には、前記送信手順が単位時間当たりに送信する電文数を、増やす前の電文数に戻すことを特徴とする付記7に記載の電文送信制御プログラム。
(付記9)送信対象となる電文を記憶する記憶部と、
前記記憶部に記憶された電文を読み出し、読み出した電文を相手装置へ送信する送信部と、
前記記憶部に記憶される電文の滞留状況を監視する監視部と、
前記監視部によって監視された滞留状況に基づいて、前記送信部が送信する電文数を制御する送信電文数制御部と
を有することを特徴とする通信装置。
(付記10)コンピュータが、
記憶部に記憶された電文を読み出し、読み出した電文を相手装置へ送信する送信ステップと、
前記記憶部に記憶される電文の滞留状況を監視する監視ステップと、
前記監視ステップによって監視された滞留状況に基づいて、前記送信ステップが送信する電文数を制御する送信電文数制御ステップと
を含んだことを特徴とする電文送信制御方法。
10 通信装置
11 記憶部
12 送信部
13 監視部
14 送信電文数制御部
100 通信装置
110 記憶部
111 滞留状況記憶部
112 閾値記憶部
120 受信部
130 格納制御部
140 バッファ部
141 バッファ部A
142 バッファ部B
143 バッファ部C
150 送信部
151 送信部A
152 送信部B
153 送信部C
160 制御部
161 監視部
162 送信電文数制御部
163 時間計測部
200 通信装置
210 記憶部
212 優先度範囲記憶部
260 制御部
261 監視部
262 送信電文数制御部
300 コンピュータシステム
310 RAM
320 CPU
321 滞留状況判定プロセス
322 送信電文数制御プロセス
330 ROM
331 滞留状況判定プログラム
332 送信電文数制御プログラム
340 入力装置
350 出力装置
360 媒体読取装置
370 ネットワークインターフェース

Claims (4)

  1. コンピュータに、
    記憶部に記憶された電文を読み出し、読み出した電文を相手装置へ送信する送信手順と、
    前記記憶部に記憶される電文の総数を示す滞留電文数と、当該電文の総数の長さを示す滞留電文長と、前記記憶部の先頭に格納される電文の格納経過時間を示す電文滞留時間とのそれぞれが、閾値を超えるか否かを監視する監視手順と、
    前記監視手順による監視の結果、閾値を超えた数が多いほど相手装置への送信優先度を高くし、送信優先度が高い相手装置ほど単位時間当たりに送信する電文数が多くなるように前記送信手順が送信する電文数を制御する送信電文数制御手順と
    を実行させることを特徴とする電文送信制御プログラム。
  2. 前記送信電文数制御手順は、前記監視手順による監視結果である前記滞留電文数と滞留電文長と電文滞留時間とのそれぞれに基づいて、前記送信手順が単位時間当たりに送信する電文数を決定する送信優先度を算出し、算出した送信優先度に基づいて、前記送信手順が単位時間当たりに送信する電文数を変化させることを特徴とする請求項に記載の電文送信制御プログラム。
  3. 送信対象となる電文を記憶する記憶部と、
    前記記憶部に記憶された電文を読み出し、読み出した電文を相手装置へ送信する送信部と、
    前記記憶部に記憶される電文の総数を示す滞留電文数と、当該電文の総数の長さを示す滞留電文長と、前記記憶部の先頭に格納される電文の格納経過時間を示す電文滞留時間とのそれぞれが、閾値を超えるか否かを監視する監視部と、
    前記監視部による監視の結果、閾値を超えた数が多いほど相手装置への送信優先度を高くし、送信優先度が高い相手装置ほど単位時間当たりに送信する電文数が多くなるように前記送信部が送信する電文数を制御する送信電文数制御部と
    を有することを特徴とする通信装置。
  4. コンピュータが、
    記憶部に記憶された電文を読み出し、読み出した電文を相手装置へ送信する送信ステップと、
    前記記憶部に記憶される電文の総数を示す滞留電文数と、当該電文の総数の長さを示す滞留電文長と、前記記憶部の先頭に格納される電文の格納経過時間を示す電文滞留時間とのそれぞれが、閾値を超えるか否かを監視する監視ステップと、
    前記監視ステップによる監視の結果、閾値を超えた数が多いほど相手装置への送信優先度を高くし、送信優先度が高い相手装置ほど単位時間当たりに送信する電文数が多くなるように前記送信ステップが送信する電文数を制御する送信電文数制御ステップと
    を含んだことを特徴とする電文送信制御方法。
JP2010156634A 2010-07-09 2010-07-09 電文送信制御プログラム、通信装置及び電文送信制御方法 Expired - Fee Related JP5552929B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010156634A JP5552929B2 (ja) 2010-07-09 2010-07-09 電文送信制御プログラム、通信装置及び電文送信制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010156634A JP5552929B2 (ja) 2010-07-09 2010-07-09 電文送信制御プログラム、通信装置及び電文送信制御方法

Publications (3)

Publication Number Publication Date
JP2012019445A JP2012019445A (ja) 2012-01-26
JP2012019445A5 JP2012019445A5 (ja) 2013-06-20
JP5552929B2 true JP5552929B2 (ja) 2014-07-16

Family

ID=45604330

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010156634A Expired - Fee Related JP5552929B2 (ja) 2010-07-09 2010-07-09 電文送信制御プログラム、通信装置及び電文送信制御方法

Country Status (1)

Country Link
JP (1) JP5552929B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7188206B2 (ja) * 2019-03-20 2022-12-13 富士通株式会社 通信装置、通信システム、及び通信方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0287747A (ja) * 1988-09-26 1990-03-28 Nippon Telegr & Teleph Corp <Ntt> パケット送受信ノード
JP4411980B2 (ja) * 2004-01-21 2010-02-10 Kddi株式会社 パケット送出の順序制御プログラム及び方法
JP2006245887A (ja) * 2005-03-02 2006-09-14 Kddi Corp 無線mac処理部における送信パケットスケジューリング方法、プログラム及び無線通信装置
JP4396657B2 (ja) * 2006-03-16 2010-01-13 ソニー株式会社 通信装置及び送信制御方法及び送信制御プログラム

Also Published As

Publication number Publication date
JP2012019445A (ja) 2012-01-26

Similar Documents

Publication Publication Date Title
KR100809261B1 (ko) QoS를 지원하는 고속 전력선 네트워크와 이더넷 간의브리지 시스템
JP2012199729A (ja) データ同期サーバ、システム、及びデータ転送帯域制御方法
JPWO2011071045A1 (ja) 情報共有システム
JP7211765B2 (ja) パケット転送装置、方法、及びプログラム
EP4044525A1 (en) Data transmission method and apparatus
JP5951888B2 (ja) 通信装置、通信方法、及び通信プログラム
JP2016161976A (ja) 通信システム、サーバー、及び通信システムの制御方法
US10951707B2 (en) Selection device, device selection method, and program
JP5552929B2 (ja) 電文送信制御プログラム、通信装置及び電文送信制御方法
KR101260561B1 (ko) 다중 레인 기반의 고속 이더넷에서 동적 레인 운영 방법 및 그 장치
JP6332834B2 (ja) 画像形成装置
JP5364600B2 (ja) 監視制御システム、被監視制御装置およびサーバ
JP2004179983A (ja) ネットワーク機器制御システム
JP6204287B2 (ja) 分散処理方法、処理サーバ、および、プログラム
JP2014057170A (ja) 転送装置、転送方法および転送プログラム
US11362890B2 (en) System management device, system management method, program, and information processing system
JP5786733B2 (ja) 監視装置、プログラム及び監視方法
JP2014112779A (ja) データ送信制御装置、データ送信制御方法、および、コンピュータ・プログラム
JP2016154307A (ja) データ転送プログラム、データ転送装置、及びデータ転送システム
JP4825276B2 (ja) 呼制御装置およびその制御方法
JP6399128B2 (ja) 選択装置、装置選択方法、プログラム
JP6995496B2 (ja) 通信制御装置、通信制御システム、通信制御プログラム、及び通信制御方法
JP4397283B2 (ja) 通信装置
US20240022517A1 (en) Quality-of-service network flow control
JP6569565B2 (ja) 管理装置、配信先登録方法及び配信先登録プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130430

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130430

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140331

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: 20140430

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140513

R150 Certificate of patent or registration of utility model

Ref document number: 5552929

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees