【解決手段】中継装置は、複数の送信装置のうちの一の送信装置が、複数の受信装置のうちの一の受信装置に向けて対象データを送信したことに対し、受信装置が対象データを受信したことを示す受信通知が送信されないことを検知する場合、対象データを中継データ11に格納するオーバーヒア処理部21と、前回、所定の受信装置宛にアグリゲートした対象データの設定アグリゲート数を、通信システム5における混雑状況の指標である遅延時間と、遅延時間に対する許容値である許容遅延時間に基づいて増減して、今回の設定アグリゲート数を算出する設定アグリゲート数算出部23と、所定の受信装置宛の各対象データの数が、今回の設定アグリゲート数になった場合、所定の受信装置宛の各対象データをアグリゲートしたデータを、所定の受信装置に向けて送信する中継部22を備える。
【発明を実施するための形態】
【0016】
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号を付している。
【0017】
(通信システム)
図1を参照して、本発明の実施の形態に係る通信システム5を説明する。通信システム5は、複数の通信装置1を備え、各通信装置が網状に接続され、無線メッシュネットワークを構成する。
【0018】
図1に示す通信システム5は、第1の通信装置1a、第2の通信装置1b、第3の通信装置1cおよび第4の通信装置1dを備える。本発明の実施の形態において第1の通信装置1a、第2の通信装置1b、第3の通信装置1cおよび第4の通信装置1dを特に区別しない場合、単に通信装置1と記載する場合がある。また
図1は、4つの通信装置を備えるが、通信装置の数はこれに限るものではない。
【0019】
本発明の実施の形態において、各通信装置1は、各通信における役割に応じて、送信装置、受信装置または中継装置として機能する。各通信装置1は、対象データを送信する際は送信装置として機能する場合がある。また各通信装置1は、対象データの送信先となる際は受信装置として機能する場合がある。また各通信装置1は、送信装置および受信装置間の通信を中継する中継装置として機能する場合がある。ここで対象データは、送信装置が受信装置に向けて送信するリクエストまたは応答に係るデータであって、後述の代理通信の対象となるデータである。
【0020】
本発明の実施の形態に係る通信システム5は、例えば乗用車の内部などの限られた空間に設けられる。各通信装置1は、コントローラに設置されるとともに、例えば車のドア、ルームランプ、窓などの各設備に対応して設置され、各設備の状態をコントローラに送信したり、コントローラから各設備の状態を変更する指示を受信したりする。
【0021】
通信システム5は、アドホック方式で、各通信装置1間の無線通信を実現する。各通信装置1の位置、電波環境等により、各通信装置1は直接通信できない場合がある。本発明の実施の形態において第1の通信装置1aは、第2の通信装置1bおよび第3の通信装置1cと通信可能であるが、第4の通信装置1dと通信できない。第2の通信装置1bは、第1の通信装置1a、第3の通信装置1cおよび第4の通信装置1dと通信可能である。第3の通信装置1cは、第1の通信装置1a、第2の通信装置1bおよび第4の通信装置1dとは通信可能である。第4の通信装置1dは、第2の通信装置1bおよび第3の通信装置1cとは通信可能であるが、第1の通信装置1aと通信できない。
【0022】
このような状況において、第1の通信装置1aが、第4の通信装置1dに対象データの送信を試みる場合、第1の通信装置1aと第4の通信装置1dは直接に通信できない。従って第2の通信装置1b(または第3の通信装置1c)が、第1の通信装置1aに代わって通信する(代理通信)。具体的には、第1の通信装置1aが対象データを第4の通信装置1dに送信する際、下記の手順で通信が行われる。
【0023】
(1)オーバーヒア
第1の通信装置1aが対象データを第4の通信装置1dに向けて送信すると、第2の通信装置1bは、オーバーヒアを行う。オーバーヒアにおいて第2の通信装置1bは、第1の通信装置1aから第4の通信装置1d宛に対象データが送信されたことを検知する。さらに第2の通信装置1bは、対象データが送信された後、対象データに対する受信通知(Ack)が送信されなかったことを検知する。
【0024】
(2)代理通信
第2の通信装置1bは、オーバーヒアした後、代理通信を行う。代理通信において第2の通信装置1bは、その対象データを含む代理通信データを、第1の通信装置1aに代わって第4の通信装置1dに向けて送信する。代理通信した後、第2の通信装置1bは、第4の通信装置1dから代理通信データについての受信通知を待機する。第4の通信装置1dから受信通知を受信しない場合、第2の通信装置1bは、所定の時間間隔かつ所定回数、代理通信データの送信を繰り返しても良い。
【0025】
(3)代理通信の完了通知
第2の通信装置1bは、第4の通信装置1dに対象データを代理通信したことに対し、第4の通信装置1dから受信通知を受信すると、第1の通信装置1aに代理通信の完了通知を通知する。第1の通信装置1aは、代理通信の完了通知を受信すると、対象データが第4の通信装置1dに受信されたと認識する。これにより、送信元から送信先に対象データを送信する一連の通信が完了する。
【0026】
このような代理通信において第2の通信装置1bが送受信する代理通信に関するデータは、例えば
図2に示すように、リンクアドレスとして送信元アドレスP1および宛先アドレスP2、エンドアドレスとして送信元アドレスP3および宛先アドレスP4、種別P5およびデータP6を備える。代理通信に関するデータは、
図2に示す項目以外の項目を含んでも良い。
【0027】
リンクアドレスは、第2の通信装置1bが行う代理通信のデータについて、Link to Linkで直接接続する通信装置1のアドレスを特定する。エンドアドレスは、第2の通信装置1bが送信する代理通信データに対する対象データを送受信する、End to Endの通信装置1のアドレスが設定される。第2の通信装置1bが、第1の通信装置1aから第4の通信装置1dへの通信を代理通信する場合、リンクアドレスの送信元アドレスP1に第2の通信装置1bのアドレスが設定され、宛先アドレスP2に第4の通信装置1dのアドレスが設定される。エンドアドレスの送信元アドレスP3に第1の通信装置1aのアドレスが設定され、宛先アドレスP4に第4の通信装置1dのアドレスが設定される。種別P5には、代理通信または代理通信の完了通知等の、代理通信に関するデータ種別を設定する。
【0028】
データP6は、送信対象のデータ(ペイロード)であって、対象データが設定されたり、完了通知の旨が設定されたりする。データP6は固定長であっても良いし可変長であっても良い。可変長である場合、データ長を示す項目が設けられても良い。本発明の実施の形態においてデータP6は、遅延時間を含む。
【0029】
(通信方法)
図3を参照して、本発明の実施の形態に係る通信方法を説明する。
図3に示す例において、実線は通信可能であることを示し、破線は通信できないことを示す。
図3において、第2の通信装置1bが中継装置として機能する場合を説明する。
【0030】
ステップS1において第2の通信装置1bは、設定アグリゲート数を算出する。第2の通信装置1bは、例えば、所定の受信装置宛の対象データをアグリゲートした後、その所定の受信装置宛の対象データをアグリゲートするために中継データ(バッファ)に格納する際、設定アグリゲート数を算出する。第2の通信装置1bは、その所定の受信装置宛の対象データが、ステップS1で算出した設定アグリゲート数になると、対象データをアグリゲートして、受信装置に向けて送信する。
図3に示す例において第2の通信装置1bは、第4の通信装置1d宛の対象データに関する設定アグリゲート数を算出する。
【0031】
まず直接通信が成功する場合を説明する。ここでは、送信装置は、第1の通信装置1aであり、受信装置は、第3の通信装置1cである。
【0032】
ステップS2において、第1の通信装置1aが第3の通信装置1cへの第1の対象データの直接通信を試みる。このとき第2の通信装置1bは、ステップS2の通信を傍受し、ステップS3において第1の対象データを一時保存し、第1の対象データに関する受信通知(Ack)を、所定時間監視する。ステップS4において、所定時間内に第3の通信装置1cから第1の通信装置1aに第1の対象データに対する受信通知が送信されると、第2の通信装置1bは、その受信通知を検知する。ステップS5において第2の通信装置1bは、ステップS3で一時保存した第1の対象データを削除する。
【0033】
一方、直接通信が失敗し、代理通信を行う場合を説明する。ここでは、送信装置は、第1の通信装置1aであり、受信装置は、第4の通信装置1dである。第1の通信装置1aと第4の通信装置1dは直接通信できないので、第2の通信装置1bが、代理通信を行う中継装置となる。
【0034】
ステップS6において第1の通信装置1aは、第4の通信装置1dへの第2の対象データの直接通信を試みる。このとき第2の通信装置1bは、ステップS6の通信を傍受し、ステップS7において第2の対象データを一時保存し、第2の対象データに関する受信通知を所定時間監視する。ステップS6で試みた第2の対象データの直接通信は、第4の通信装置1dに送信されないので、ステップS8において、所定時間内に第4の通信装置1dから第1の通信装置1aに第2の対象データに対する受信通知が、送信されない。従って、第2の通信装置1bは、ステップS9において、ステップS7で一時保存した第2の対象データを中継データに格納し、第2の対象データの代理通信を待機する。
【0035】
第2の対象データは、送信条件を満たすまで中継データ内で待機する。この間、通信システム5において、複数の対象データの直接送信が試みられる。第2の通信装置1bは、オーバーヒアした際には、中継データに逐次、オーバーヒアした対象データを格納する。その結果、中継データに複数の対象データが格納される。中継データに格納された対象データの宛先は、複数存在しても良いし、ある宛先に送信される対象データが複数あっても良い。
【0036】
ステップS10において第2の通信装置1bは、中継データに格納した対象データについて所定の送信条件を満たすか否かを判定する。例えば第2の通信装置1bは、中継データに格納された対象データのうち、第4の通信装置1d宛の対象データの数が、ステップS1で算出した設定アグリゲート数に達するか否かを判定する。ステップS10の処理は、第2の通信装置1bが送信可能なタイミングで実行されても良い。
【0037】
第4の通信装置1d宛の対象データの数が、ステップS1で算出した設定アグリゲート数に達すると判定した場合、ステップS11において第2の通信装置1bは、第4の通信装置1d宛の対象データをアグリゲートして、代理通信する。その場合、第2の通信装置1bは、例えばリンクアドレスの送信元アドレスP1に、第2の通信装置1bのアドレスを設定し、宛先アドレスP2に、第4の通信装置1dのアドレスを設定する。第2の通信装置1bは、エンドアドレス、種別およびデータに、中継データに格納された各対象データに対応する値を設定する。各対象データのエンドアドレスが共通する場合、エンドアドレスを繰り返し設定しないなど、データの項目は適宜設定されても良い。
【0038】
ステップS12において、ステップS11に対する受信通知を受信すると、ステップS13において第2の通信装置1bは、代理通信した通信装置1に、代理通信が完了した旨の完了通知を送信する。ステップS11で代理通信した複数の対象データのエンドアドレスの送信元が複数ある場合、第2の通信装置1bは、それぞれの送信元の通信装置1に、代理通信の完了通知を送信する。
【0039】
(通信装置)
図4を参照して、本発明の実施の形態に係る通信装置1を説明する。
図4は、通信装置1が中継装置として機能する場合の構成を示し、通信装置1が送信装置または受信装置として機能する場合の構成は割愛する。通信装置1は、送信装置および受信装置と直接接続しても良いし、他の通信装置1を介して接続しても良い。
【0040】
通信装置1は、記憶装置10、処理装置20、通信制御装置30を備える一般的なコンピュータである。一般的な通信プログラム(中継プログラム)を実行することにより、
図4に示す機能を実現する。
【0041】
記憶装置10は、ROM(Read Only Memory)、RAM(Random access memory)、ハードディスク等であって、処理装置20が処理を実行するための入力データ、出力データおよび中間データなどの各種データを記憶する。処理装置20は、CPU(Central Processing Unit)であって、記憶装置10に記憶されたデータを読み書きしたり、通信制御装置30とデータを入出力したりして、通信装置1における処理を実行する。通信制御装置30は、通信装置1が、他の通信装置1と通信可能に接続するためのインタフェースである。
【0042】
記憶装置10は、通信プログラムを記憶するとともに、中継データ11および設定アグリゲート数データ12を記憶する。また記憶装置10は、通信装置1がオーバーヒアする際に傍受したデータも一時的に保存する。
【0043】
中継データ11は、通信装置1の代理通信の対象となる対象データ群であって、対象データのバッファである。中継データ11は、
図5に示すように、代理通信の対象となる対象データを順にスタックする。
図5は、対象データA、対象データB、対象データCの順で、通信装置1がオーバーヒアしたことを示す。
【0044】
中継データ11は、同じ受信装置に送信される各対象データが送信条件を満たすまで、代理通信の対象となる対象データを保持する。本発明の実施の形態において、送信条件は、設定アグリゲート数を満たす対象データが集まったか否か、および、中継データ11に対象データが格納されてから最大の待ち時間を経過したか否かのうち、いずれか早い方である。中継データ11は、各対象データの保持を開始してからの経過時間を保持する。この経過時間は、送信時間として設定された最大の待ち時間との比較に用いられる。また同時に複数の受信装置宛の対象データが送信条件と満たした場合、より経過時間の長い対象データを含む受信装置宛の対象データを送信するために、経過時間が用いられても良い。また、ある受信装置宛の対象データが、設定アグリゲート数を越えている場合に、設定アグリゲート数以内の対象データを選択する際に用いられても良い。
【0045】
設定アグリゲート数データ12は、中継部22が、複数の対象データをアグリゲートして送信する際に、アグリゲートされる対象データの数である。設定アグリゲート数は、宛先となる受信端末毎に設定される。
【0046】
処理装置20は、オーバーヒア処理部21、中継部22および設定アグリゲート数算出部23を備える。
【0047】
オーバーヒア処理部21は、複数の送信装置のうちの一の送信装置が、複数の受信装置のうちの一の受信装置に向けて対象データを送信したことに対し、受信装置がこの対象データを受信したことを示す受信通知が送信されないことを検知する場合、この対象データを中継データ11に格納する。オーバーヒア処理部21は、定期的または所定のタイミングで、通信が行われているか否かを問い合わせても良い。
【0048】
オーバーヒア処理部21は、複数の送信装置のうちの一の送信装置が、複数の受信装置のうちの一の受信装置に向けて対象データを送信した際に、その対象データを記憶装置10に一時保存する。オーバーヒア処理部21は、所定時間内に受信装置がこの対象データを受信したことを示す受信通知が送信されないことを検知すると、一時保存した対象データを中継データ11に格納し、代理通信に備える。
【0049】
図6を参照して、オーバーヒア処理部21の処理を説明する。
【0050】
まずステップS101において、オーバーヒア処理部21が通信システム5において対象データが送信されたことを検知すると、ステップS102において、その対象データに関する受信通知を、所定時間待機する。所定時間内に受信通知が送信されなかった場合、ステップS103において、ステップS101で検知した対象データを、中継データ11に格納して、処理を終了する。
【0051】
中継部22は、所定の受信装置宛の各対象データの数が、今回の設定アグリゲート数になった場合、所定の受信装置宛の各対象データをアグリゲートしたデータを、所定の受信装置に向けて送信する。設定アグリゲート数は、後述の設定アグリゲート数算出部23によって予め算出される。
【0052】
また中継部22は、中継データ11において、各対象データの保持を開始してからの経過時間が、最大の待ち時間を超えた場合、対象データの数が設定アグリゲート数を越えなくても、対象データを送信しても良い。このとき中継部22は、経過時間が最大の待ち時間を超えた対象データの宛先と同一の宛先を有する対象データを、アグリゲートして送信しても良い。
【0053】
図7を参照して、中継部22の処理を説明する。中継部22は、通信装置1が送信可能なタイミングで実行する。
【0054】
まずステップS201において中継部22は、中継データ11が有する対象データのうち、最大待ち時間を経過した対象データがあるか否かを判定する。最大待ち時間を経過した対象データがある場合、ステップS203において中継部22は、その対象データを送信する。このとき、その対象データと同じ受信装置宛のデータをアグリゲートして送信する。
【0055】
最大待ち時間を経過した対象データがない場合、ステップS202に進む。ステップS202において中継部22は、中継データ11が有する各対象データの宛先となる受信装置ごとの対象データの数が、設定アグリゲート数に達するか否かを判定する。設定アグリゲート数に達する受信装置がない場合、中継部22はステップS201に戻る。
【0056】
設定アグリゲート数に達する受信装置がある場合、ステップS203において中継部22は、設定アグリゲート数に達した受信装置宛の対象データをアグリゲートして、代理通信を行う。
【0057】
設定アグリゲート数算出部23は、前回、所定の受信装置宛にアグリゲートした対象データの設定アグリゲート数を、遅延時間と許容遅延時間に基づいて増減して、今回の設定アグリゲート数を算出する。遅延時間は、通信システム5にける混雑状況の指標であって、許容遅延時間は、遅延時間に対する許容値である。
【0058】
設定アグリゲート数が多い場合、アグリゲートしないで対象データを都度送信する場合に比べて、通信システム5におけるトラヒック数を削減し、中継装置1における負荷を軽減することができるメリットがある。しかしながら、設定アグリゲート数が多い場合、設定アグリゲート数の対象データが揃うまで対象データは中継装置1において待機する場合があり、遅延時間は長くなるデメリットがある。一方、設定アグリゲート数が少ない場合、対象データが中継装置1で待機する時間が短くなり、遅延時間は短くなるメリットがある。しかしながら、設定アグリゲート数が少ない場合、対象データの送信頻度が高くなることで通信システム5のトラヒック数の増加につながり、通信システム5の負荷を高めるデメリットがある。そこで設定アグリゲート数算出部23は、遅延時間と許容遅延時間に基づいて、設定アグリゲート数を適切に設定する。
【0059】
本発明の実施の形態において遅延時間は、設定アグリゲート数算出部23が、設定アグリゲート数を算出する動機となった対象データに設定される。中継データ11に所定の受信装置宛の対象データがない状態で、その受信装置当ての対象データが中継データ11に格納された場合、遅延時間は、中継データ11に格納された対象データに設定される。
【0060】
図3に示す例において遅延時間は、対象データの送信元である第1の通信装置1aにおいて設定される。遅延時間は、第1の通信装置1aが、対象データを送信してから、その対象データに関する代理通信完了通知を受信するまでの時間である。具体的には遅延時間は、
図3において、第1の通信装置1aが、ステップS2において第1の対象データを送信してから、ステップS13において代理通信の完了通知を受信するまでの時間である。遅延時間は、エンドアドレスの送信元の通信装置が、直近の通信において要した時間が設定されても良いし、所定期間内の通信で要した時間の平均値が設定されても良い。このように遅延時間は、通信装置1が対象データを送信してから、対象データが送信されたことを確認するのに要した時間であり、通信システム5および通信装置1における混雑状況を反映したものである。
【0061】
一方、許容遅延時間は、中継装置1において予め設定される固定値である。許容遅延時間は、通信システム5の規模および処理負荷、中継装置1の位置および処理負荷等に応じて、予め設定される。第1の通信装置1aが、対象データを送信してから、その対象データに関する代理通信完了通知を受信するまでの時間が許容遅延時間以内に収まるように、中継装置1は制御する。
【0062】
設定アグリゲート数算出部23は、許容遅延時間から遅延時間を引いた値が、所定の範囲内の場合、前回の設定アグリゲート数を今回の設定アグリゲート数として算出し、許容遅延時間から遅延時間を引いた値が、所定の範囲よりも大きい場合、前回の設定アグリゲート数を増やして今回の設定アグリゲート数を算出し、許容遅延時間から遅延時間を引いた値が、所定の範囲よりも小さい場合、前回の設定アグリゲート数を減らして今回の設定アグリゲート数を算出する。算出した設定アグリゲート数は、宛先となる受信装置毎に算出され、中継部22によって参照される。これにより中継装置1は、通信システム5における混雑状況を考慮して設定アグリゲート数を適切に増減することができる。
【0063】
許容遅延時間から遅延時間を引いた値が、所定の範囲内の場合、通信システム5の混雑状況は中程度で、許容遅延時間内にデータを送受信できており、安定した状態である。設定アグリゲート数算出部23は、今回の設定アグリゲート数を、前回の設定アグリゲート数と同じに設定する。
【0064】
許容遅延時間から遅延時間を引いた値が、所定の範囲よりも大きい場合、通信システム5の混雑状況は軽度で、許容遅延時間内に余裕を持ってデータを送受信できている状態である。設定アグリゲート数算出部23は、今回の設定アグリゲート数を、前回の設定アグリゲート数よりも増やして設定する。これにより中継部22は、より多くの対象データをアグリゲートして受信装置に送信することができるので、通信システム5におけるトラヒック数を減らし、負荷を軽減することができる。また中継装置1において対象データが待機する時間が増えるものの、許容遅延時間内に余裕を持ってデータを送受信できているので、設定アグリゲート数を増やしたとしても、許容遅延時間内にデータを送受信することが期待できる。
【0065】
許容遅延時間から遅延時間を引いた値が、所定の範囲よりも小さい場合、通信システム5の混雑状況は甚大で、許容遅延時間内に余裕なくデータを送受信している状態である。設定アグリゲート数算出部23は、今回の設定アグリゲート数を、前回の設定アグリゲート数よりも減らして設定する。これにより中継部22は、より早いタイミングで対象データをアグリゲートして受信装置に送信することができるので、中継装置1における待機時間が短く、遅延時間の短縮が期待できる。
【0066】
本発明の実施の形態において、前回の設定アグリゲート数からの増減数は、固定値である。増減数を固定値とすることにより、設定アグリゲート数算出部23における処理負荷を軽減することができる。
【0067】
また設定アグリゲート数の上限値および下限値は予め決め、上限値および下限値を超えないように、制御されても良い。例えば、前回の設定アグリゲート数が上限値の場合、許容遅延時間から遅延時間を引いた値が、所定の範囲よりも大きくても、今回の設定アグリゲート数は、前回の設定アグリゲート数から変更しない。同様に前回の設定アグリゲート数が下限値の場合、許容遅延時間から遅延時間を引いた値が、所定の範囲よりも小さくても、今回の設定アグリゲート数は、前回の設定アグリゲート数から変更しない。
【0068】
本発明の実施の形態において設定アグリゲート数算出部23は、オーバーヒア処理部21がオーバーヒアすると、中継データ11に、オーバーヒアした対象データと同じ宛先の対象データがあるか否か判定する。同じ宛先の対象データがなく、オーバーヒアした対象データの宛先が、最初の宛先となる場合、設定アグリゲート数算出部23は、オーバーヒアした対象データの宛先について設定アグリゲート数を算出する。他の実施例として、中継部22が、所定の受信装置宛にデータを送信した後、その受信装置について設定アグリゲート数を算出しても良い。
【0069】
図8を参照して、設定アグリゲート数算出部23の処理を説明する。
図8に示す例では、設定アグリゲート数を1ずつ増減する場合を示す。なお
図8において、閾値a>閾値bである。
【0070】
まずステップS301において、設定アグリゲート数算出部23は、オーバーヒア処理部21によってオーバーヒアされた対象データの宛先が、中継データ11の対象データの宛先に含まれるか、判定する。オーバーヒアされた対象データの宛先が、中継データ11の対象データの宛先に含まれる場合、設定アグリゲート数は既に算出されているので、そのまま処理を終了する。
【0071】
中継データ11の対象データの宛先に、オーバーヒアされた対象データの宛先が含まれていない場合、ステップS302において設定アグリゲート数算出部23は、対象データにおいて遅延時間の設定があるか否かを判定する。遅延時間の設定がない場合、そのまま処理を終了する。
【0072】
遅延時間の設定がある場合、ステップS303において設定アグリゲート数算出部23は、許容遅延時間(X)と遅延時間(t)との関係に基づいて、処理を振り分ける。
【0073】
許容遅延時間(X)から遅延時間(t)を引いた値が、所定の閾値a以上の場合、ステップS304に進む。ステップS304において設定アグリゲート数算出部23は、前回の設定アグリゲート数に1加算した数を、今回の設定アグリゲート数に設定する。
【0074】
許容遅延時間(X)から遅延時間(t)を引いた値が、所定の閾値bより大きく、所定の閾値aより小さい場合、ステップS305に進む。ステップS305において設定アグリゲート数算出部23は、前回の設定アグリゲート数を、今回の設定アグリゲート数に設定する。
【0075】
許容遅延時間(X)から遅延時間(t)を引いた値が、所定の閾値b以下の場合、ステップS306に進む。ステップS306において設定アグリゲート数算出部23は、前回の設定アグリゲート数から1減算した数を、今回の設定アグリゲート数に設定する。
【0076】
本発明の実施の形態に係る中継装置1は、通信システム5にける混雑状況の指標となる遅延時間を参照して、許容遅延時間に対する遅延時間の余裕度に応じて、設定アグリゲート数を増減する。これにより、許容遅延時間内にデータを送受信可能な範囲内で、アグリゲート数を調整して、通信にかかる負荷を軽減することができる。
【0077】
このように本発明の実施の形態に係る中継装置は、中継装置の中継データに溜まっているデータを適切にアグリゲートすることができる。
【0078】
(第1の変形例)
本発明の実施の形態において設定アグリゲート数算出部23が、前回の設定アグリゲート数に対して固定値を増減する場合を説明したが、第1の変形例において、許容遅延時間から遅延時間を引いた値の大きさに応じて、増減する値を変更する場合を説明する。
【0079】
第1の変形例において前回の設定アグリゲート数からの増減数は、許容遅延時間から遅延時間を引いた値と増減数の関係を定める関数によって決められる。関数は、例えば、X−tが所定の範囲から離れるほど、増減数が大きくなることを示し、具体的には
図9に示す三次関数である。
図9に示す三次関数は、TCP CUBICで用いられているものである。
図9に示す三次関数は、X−tが所定の範囲の場合(左右方向の中程)の増減数よりも、X−tが所定の範囲外の場合(左右方向の脇側)の増減数の方が大きくなることを示す。
【0080】
第1の変形例において、X−tが所定の範囲から離れるほど、前回の設定アグリゲート数に対して大きい値を増減して、今回の設定アグリゲート数を算出する。これにより通信システム5が急激に混雑した場合、または急激に混雑が解消した場合など、通信システム5における急激な変化が生じたとしても、アグリゲート数を大きく変更することにより、即座に対応しやすくなる。
【0081】
(第2の変形例)
本発明の実施の形態において遅延時間は、対象データの送信元の通信装置1が設定する場合を説明したがこれに限らない。遅延時間は、通信システムにおける混雑状況の指標であればよく、例えば、中継装置1が、対象データをオーバーヒアしてから、代理通信の完了通知に対する受信通知(Ack)を受信するまでの時間であっても良い。対象データをオーバーヒアしてから、代理通信完了通知に対する受信通知を受信するまでの時間は、
図3に示す例において、ステップS3から、ステップS13で送信した代理通信の完了通信に対する受信通知を中継装置1が受領するまでの時間である。
【0082】
遅延時間を、中継装置1が、対象データをオーバーヒアしてから、代理通信の完了通知に対するAcKを受信するまでの時間とする場合、中継装置1自身が遅延時間を計測することができる。従って、通信システム5の全体を改変することなく、中継装置1の処理を変更すれば足りるので、システム改変を行いやすい効果もある。
【0083】
このように、遅延時間は、通信システム5における混雑状況の指標であればよく、具体的な時間の計測方法は問わない。
【0084】
(その他の実施の形態)
上記のように、本発明の実施の形態によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例および運用技術が明らかとなる。
【0085】
例えば、シーケンス図またはフローチャートに示す処理の流れは一例であって、異なる順序で処理が行われても良い。
【0086】
本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。