(57)【要約】【課題】中継装置のバッファに溜まっているデータを適切にアグリゲートする。【解決手段】中継装置は、複数の送信装置のうちの一の送信装置が、複数の受信装置のうちの一の受信装置に向けて対象データを送信したことに対し、受信装置が対象データを受信したことを示す受信通知が送信されないことを検知する場合、対象データを中継データ１１に格納するオーバーヒア処理部２１と、前回、所定の受信装置宛にアグリゲートした対象データの設定アグリゲート数を、通信システム５における混雑状況の指標である遅延時間と、遅延時間に対する許容値である許容遅延時間に基づいて増減して、今回の設定アグリゲート数を算出する設定アグリゲート数算出部２３と、所定の受信装置宛の各対象データの数が、今回の設定アグリゲート数になった場合、所定の受信装置宛の各対象データをアグリゲートしたデータを、所定の受信装置に向けて送信する中継部２２を備える。【選択図】      図４
2020205555.tif 000002
【特許請求の範囲】
【請求項１】
対象データの送信先となる複数の受信装置と、
前記複数の送信装置のそれぞれと通信可能な中継装置を備える通信システムであって、
前記中継装置は、
前記複数の送信装置のうちの一の送信装置が、前記複数の受信装置のうちの一の受信装置に向けて対象データを送信したことに対し、前記受信装置が前記対象データを受信したことを示す受信通知が送信されないことを検知する場合、前記対象データを中継データに格納するオーバーヒア処理部と、
前回、所定の受信装置宛にアグリゲートした対象データの設定アグリゲート数を、前記通信システムにおける混雑状況の指標である遅延時間と、遅延時間に対する許容値である許容遅延時間に基づいて増減して、今回の設定アグリゲート数を算出する設定アグリゲート数算出部と、
所定の受信装置宛の各対象データの数が、前記今回の設定アグリゲート数になった場合、前記所定の受信装置宛の各対象データをアグリゲートしたデータを、前記所定の受信装置に向けて送信する中継部
を備えることを特徴とする通信システム。
【請求項２】
前記設定アグリゲート数算出部は、
許容遅延時間から遅延時間を引いた値が、所定の範囲内の場合、前回の設定アグリゲート数を今回の設定アグリゲート数として算出し、
許容遅延時間から遅延時間を引いた値が、所定の範囲よりも大きい場合、前回の設定アグリゲート数を増やして今回の設定アグリゲート数を算出し、
許容遅延時間から遅延時間を引いた値が、所定の範囲よりも小さい場合、前回の設定アグリゲート数を減らして今回の設定アグリゲート数を算出する
ことを特徴とする請求項１に記載の通信システム。
【請求項３】
前回の設定アグリゲート数からの増減数は、固定値である
ことを特徴とする請求項２に記載の通信システム。
【請求項４】
前回の設定アグリゲート数からの増減数は、許容遅延時間から遅延時間を引いた値と増減数の関係を定める関数によって決められる
ことを特徴とする請求項２に記載の通信システム。
【請求項５】
対象データの送信先となる複数の受信装置と、前記複数の送信装置のそれぞれと通信可能な中継装置を備える通信システムに用いられる中継装置であって、
前記複数の送信装置のうちの一の送信装置が、前記複数の受信装置のうちの一の受信装置に向けて対象データを送信したことに対し、前記受信装置が前記対象データを受信したことを示す受信通知が送信されないことを検知する場合、前記対象データを中継データに格納するオーバーヒア処理部と、
前回、所定の受信装置宛にアグリゲートした対象データの設定アグリゲート数を、前記通信システムにおける混雑状況の指標である遅延時間と、遅延時間に対する許容値である許容遅延時間に基づいて増減して、今回の設定アグリゲート数を算出する設定アグリゲート数算出部と、
所定の受信装置宛の各対象データの数が、前記今回の設定アグリゲート数になった場合、前記所定の受信装置宛の各対象データをアグリゲートしたデータを、前記所定の受信装置に向けて送信する中継部
を備えることを特徴とする中継装置。
【請求項６】
対象データの送信先となる複数の受信装置と、前記複数の送信装置のそれぞれと通信可能な中継装置を備える通信システムに用いられる中継方法であって、
前記中継装置が、複数の送信装置のうちの一の送信装置が、前記複数の受信装置のうちの一の受信装置に向けて対象データを送信したことに対し、前記受信装置が前記対象データを受信したことを示す受信通知が送信されないことを検知する場合、前記対象データを中継データに格納するステップと、
前記中継装置が、前回、所定の受信装置宛にアグリゲートした対象データの設定アグリゲート数を、前記通信システムにおける混雑状況の指標である遅延時間と、遅延時間に対する許容値である許容遅延時間に基づいて増減して、今回の設定アグリゲート数を算出するステップと、
前記中継装置が、所定の受信装置宛の各対象データの数が、前記今回の設定アグリゲート数になった場合、前記所定の受信装置宛の各対象データをアグリゲートしたデータを、前記所定の受信装置に向けて送信するステップ
を備えることを特徴とする中継方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の装置を備える通信システム、通信システムに用いられる中継装置および中継方法に関する。
【背景技術】
【０００２】
無線を使用するアドホックネットワークにおける複数の装置間の通信プロトコルとして、AODV(Ad hoc On-Demand Distance Vector)、DSR(Dynamic Source Routing)等が知られている。これらのプロトコルは、動的に転送経路を選択するので、自動車の車内など、通信環境、乗車人数、乗車位置などの様々な条件で通信品質が変化する環境に好適である。
【０００３】
また無線を使用するアドホックネットワークにおいて、送信装置が受信装置に直接通信できない場合、ネットワークに属するその他の装置が中継装置となって、送信装置の代わりに、受信装置に向けて送信する。これを短時間に行う方式として、代理通信の方法がある（特許文献１参照）。
【０００４】
また中継装置は、バッファに溜まっているデータが複数ある場合に、その複数のデータをアグリゲートして他の中継装置に一括送信することが知られている（特許文献２参照）。特許文献２において中継装置は、所定時間毎にバッファに溜められているデータをアグリゲートする。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−２２５８５９号公報
【特許文献２】特開２０１４−２７４０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１は、代理通信について開示し、特許文献２は、バッファに複数のデータが溜まっている場合にこれらのデータを定期的にアグリゲートすることを開示する。しかしながら、通信が生じるタイミングは一定ではないことから、中継装置がデータを定期的にアグリゲートする場合、中継装置において、データが滞留したり、データの無駄な待機が生じたりする場合がある。
【０００７】
従って本発明の目的は、中継装置のバッファに溜まっているデータを適切にアグリゲートする通信システム、通信システムに用いられる中継装置および中継方法を提供することである。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の第１の特徴は、対象データの送信先となる複数の受信装置と、複数の送信装置のそれぞれと通信可能な中継装置を備える通信システムに関する。第１の特徴に係る通信システムにおいて中継装置は、複数の送信装置のうちの一の送信装置が、複数の受信装置のうちの一の受信装置に向けて対象データを送信したことに対し、受信装置が対象データを受信したことを示す受信通知が送信されないことを検知する場合、対象データを中継データに格納するオーバーヒア処理部と、前回、所定の受信装置宛にアグリゲートした対象データの設定アグリゲート数を、通信システムにおける混雑状況の指標である遅延時間と、遅延時間に対する許容値である許容遅延時間に基づいて増減して、今回の設定アグリゲート数を算出する設定アグリゲート数算出部と、所定の受信装置宛の各対象データの数が、今回の設定アグリゲート数になった場合、所定の受信装置宛の各対象データをアグリゲートしたデータを、所定の受信装置に向けて送信する中継部を備える。
【０００９】
設定アグリゲート数算出部は、許容遅延時間から遅延時間を引いた値が、所定の範囲内の場合、前回の設定アグリゲート数を今回の設定アグリゲート数として算出し、許容遅延時間から遅延時間を引いた値が、所定の範囲よりも大きい場合、前回の設定アグリゲート数を増やして今回の設定アグリゲート数を算出し、許容遅延時間から遅延時間を引いた値が、所定の範囲よりも小さい場合、前回の設定アグリゲート数を減らして今回の設定アグリゲート数を算出しても良い。
【００１０】
前回の設定アグリゲート数からの増減数は、固定値であっても良い。
【００１１】
前回の設定アグリゲート数からの増減数は、許容遅延時間から遅延時間を引いた値と増減数の関係を定める関数によって決められても良い。
【００１２】
本発明の第２の特徴は、対象データの送信先となる複数の受信装置と、複数の送信装置のそれぞれと通信可能な中継装置を備える通信システムに用いられる中継装置に関する。本発明の第２の特徴に係る中継装置は、複数の送信装置のうちの一の送信装置が、複数の受信装置のうちの一の受信装置に向けて対象データを送信したことに対し、受信装置が対象データを受信したことを示す受信通知が送信されないことを検知する場合、対象データを中継データに格納するオーバーヒア処理部と、前回、所定の受信装置宛にアグリゲートした対象データの設定アグリゲート数を、通信システムにおける混雑状況の指標である遅延時間と、遅延時間に対する許容値である許容遅延時間に基づいて増減して、今回の設定アグリゲート数を算出する設定アグリゲート数算出部と、所定の受信装置宛の各対象データの数が、今回の設定アグリゲート数になった場合、所定の受信装置宛の各対象データをアグリゲートしたデータを、所定の受信装置に向けて送信する中継部を備える。
【００１３】
本発明の第３の特徴は、対象データの送信先となる複数の受信装置と、複数の送信装置のそれぞれと通信可能な中継装置を備える通信システムに用いられる中継方法に関する。本発明の第３の特徴に係る中継方法は、中継装置が、複数の送信装置のうちの一の送信装置が、複数の受信装置のうちの一の受信装置に向けて対象データを送信したことに対し、受信装置が対象データを受信したことを示す受信通知が送信されないことを検知する場合、対象データを中継データに格納するステップと、中継装置が、前回、所定の受信装置宛にアグリゲートした対象データの設定アグリゲート数を、通信システムにおける混雑状況の指標である遅延時間と、遅延時間に対する許容値である許容遅延時間に基づいて増減して、今回の設定アグリゲート数を算出するステップと、中継装置が、所定の受信装置宛の各対象データの数が、今回の設定アグリゲート数になった場合、所定の受信装置宛の各対象データをアグリゲートしたデータを、所定の受信装置に向けて送信するステップを備える。
【発明の効果】
【００１４】
本発明によれば、中継装置のバッファに溜まっているデータを適切にアグリゲートする通信システム、通信システムに用いられる中継装置および中継方法を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態に係る通信システムのシステム構成図である。
【図２】本発明の実施の形態に係る中継装置が送信するデータ構造の一例である。
【図３】本発明の実施の形態に係る通信方法のシーケンス図である。
【図４】本発明の実施の形態に係る中継装置のハードウエア構成と機能ブロックを説明する図である。
【図５】本発明の実施の形態に係る中継データの構造とデータの一例を説明する図である。
【図６】本発明の実施の形態に係るオーバーヒア処理部の処理を説明するフローチャートである。
【図７】本発明の実施の形態に係る中継部の処理を説明するフローチャートである。
【図８】本発明の実施の形態に係るアグリゲート数算出部の処理を説明するフローチャートである。
【図９】第１の変形例において、設定アグリゲート数の増減数を決定する際に参照される関数の一例である。
【発明を実施するための形態】
【００１６】
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号を付している。
【００１７】
（通信システム）
図１を参照して、本発明の実施の形態に係る通信システム５を説明する。通信システム５は、複数の通信装置１を備え、各通信装置が網状に接続され、無線メッシュネットワークを構成する。
【００１８】
図１に示す通信システム５は、第１の通信装置１ａ、第２の通信装置１ｂ、第３の通信装置１ｃおよび第４の通信装置１ｄを備える。本発明の実施の形態において第１の通信装置１ａ、第２の通信装置１ｂ、第３の通信装置１ｃおよび第４の通信装置１ｄを特に区別しない場合、単に通信装置１と記載する場合がある。また図１は、４つの通信装置を備えるが、通信装置の数はこれに限るものではない。
【００１９】
本発明の実施の形態において、各通信装置１は、各通信における役割に応じて、送信装置、受信装置または中継装置として機能する。各通信装置１は、対象データを送信する際は送信装置として機能する場合がある。また各通信装置１は、対象データの送信先となる際は受信装置として機能する場合がある。また各通信装置１は、送信装置および受信装置間の通信を中継する中継装置として機能する場合がある。ここで対象データは、送信装置が受信装置に向けて送信するリクエストまたは応答に係るデータであって、後述の代理通信の対象となるデータである。
【００２０】
本発明の実施の形態に係る通信システム５は、例えば乗用車の内部などの限られた空間に設けられる。各通信装置１は、コントローラに設置されるとともに、例えば車のドア、ルームランプ、窓などの各設備に対応して設置され、各設備の状態をコントローラに送信したり、コントローラから各設備の状態を変更する指示を受信したりする。
【００２１】
通信システム５は、アドホック方式で、各通信装置１間の無線通信を実現する。各通信装置１の位置、電波環境等により、各通信装置１は直接通信できない場合がある。本発明の実施の形態において第１の通信装置１ａは、第２の通信装置１ｂおよび第３の通信装置１ｃと通信可能であるが、第４の通信装置１ｄと通信できない。第２の通信装置１ｂは、第１の通信装置１ａ、第３の通信装置１ｃおよび第４の通信装置１ｄと通信可能である。第３の通信装置１ｃは、第１の通信装置１ａ、第２の通信装置１ｂおよび第４の通信装置１ｄとは通信可能である。第４の通信装置１ｄは、第２の通信装置１ｂおよび第３の通信装置１ｃとは通信可能であるが、第１の通信装置１ａと通信できない。
【００２２】
このような状況において、第１の通信装置１ａが、第４の通信装置１ｄに対象データの送信を試みる場合、第１の通信装置１ａと第４の通信装置１ｄは直接に通信できない。従って第２の通信装置１ｂ（または第３の通信装置１ｃ）が、第１の通信装置１ａに代わって通信する（代理通信）。具体的には、第１の通信装置１ａが対象データを第４の通信装置１ｄに送信する際、下記の手順で通信が行われる。
【００２３】
（１）オーバーヒア
第１の通信装置１ａが対象データを第４の通信装置１ｄに向けて送信すると、第２の通信装置１ｂは、オーバーヒアを行う。オーバーヒアにおいて第２の通信装置１ｂは、第１の通信装置１ａから第４の通信装置１ｄ宛に対象データが送信されたことを検知する。さらに第２の通信装置１ｂは、対象データが送信された後、対象データに対する受信通知（Ack）が送信されなかったことを検知する。
【００２４】
（２）代理通信
第２の通信装置１ｂは、オーバーヒアした後、代理通信を行う。代理通信において第２の通信装置１ｂは、その対象データを含む代理通信データを、第１の通信装置１ａに代わって第４の通信装置１ｄに向けて送信する。代理通信した後、第２の通信装置１ｂは、第４の通信装置１ｄから代理通信データについての受信通知を待機する。第４の通信装置１ｄから受信通知を受信しない場合、第２の通信装置１ｂは、所定の時間間隔かつ所定回数、代理通信データの送信を繰り返しても良い。
【００２５】
（３）代理通信の完了通知
第２の通信装置１ｂは、第４の通信装置１ｄに対象データを代理通信したことに対し、第４の通信装置１ｄから受信通知を受信すると、第１の通信装置１ａに代理通信の完了通知を通知する。第１の通信装置１ａは、代理通信の完了通知を受信すると、対象データが第４の通信装置１ｄに受信されたと認識する。これにより、送信元から送信先に対象データを送信する一連の通信が完了する。
【００２６】
このような代理通信において第２の通信装置１ｂが送受信する代理通信に関するデータは、例えば図２に示すように、リンクアドレスとして送信元アドレスＰ１および宛先アドレスＰ２、エンドアドレスとして送信元アドレスＰ３および宛先アドレスＰ４、種別Ｐ５およびデータＰ６を備える。代理通信に関するデータは、図２に示す項目以外の項目を含んでも良い。
【００２７】
リンクアドレスは、第２の通信装置１ｂが行う代理通信のデータについて、Link to Linkで直接接続する通信装置１のアドレスを特定する。エンドアドレスは、第２の通信装置１ｂが送信する代理通信データに対する対象データを送受信する、End to Endの通信装置１のアドレスが設定される。第２の通信装置１ｂが、第１の通信装置１ａから第４の通信装置１ｄへの通信を代理通信する場合、リンクアドレスの送信元アドレスＰ１に第２の通信装置１ｂのアドレスが設定され、宛先アドレスＰ２に第４の通信装置１ｄのアドレスが設定される。エンドアドレスの送信元アドレスＰ３に第１の通信装置１ａのアドレスが設定され、宛先アドレスＰ４に第４の通信装置１ｄのアドレスが設定される。種別Ｐ５には、代理通信または代理通信の完了通知等の、代理通信に関するデータ種別を設定する。
【００２８】
データＰ６は、送信対象のデータ（ペイロード）であって、対象データが設定されたり、完了通知の旨が設定されたりする。データＰ６は固定長であっても良いし可変長であっても良い。可変長である場合、データ長を示す項目が設けられても良い。本発明の実施の形態においてデータＰ６は、遅延時間を含む。
【００２９】
（通信方法）
図３を参照して、本発明の実施の形態に係る通信方法を説明する。図３に示す例において、実線は通信可能であることを示し、破線は通信できないことを示す。図３において、第２の通信装置１ｂが中継装置として機能する場合を説明する。
【００３０】
ステップＳ１において第２の通信装置１ｂは、設定アグリゲート数を算出する。第２の通信装置１ｂは、例えば、所定の受信装置宛の対象データをアグリゲートした後、その所定の受信装置宛の対象データをアグリゲートするために中継データ（バッファ）に格納する際、設定アグリゲート数を算出する。第２の通信装置１ｂは、その所定の受信装置宛の対象データが、ステップＳ１で算出した設定アグリゲート数になると、対象データをアグリゲートして、受信装置に向けて送信する。図３に示す例において第２の通信装置１ｂは、第４の通信装置１ｄ宛の対象データに関する設定アグリゲート数を算出する。
【００３１】
まず直接通信が成功する場合を説明する。ここでは、送信装置は、第１の通信装置１ａであり、受信装置は、第３の通信装置１ｃである。
【００３２】
ステップＳ２において、第１の通信装置１ａが第３の通信装置１ｃへの第１の対象データの直接通信を試みる。このとき第２の通信装置１ｂは、ステップＳ２の通信を傍受し、ステップＳ３において第１の対象データを一時保存し、第１の対象データに関する受信通知（Ack）を、所定時間監視する。ステップＳ４において、所定時間内に第３の通信装置１ｃから第１の通信装置１ａに第１の対象データに対する受信通知が送信されると、第２の通信装置１ｂは、その受信通知を検知する。ステップＳ５において第２の通信装置１ｂは、ステップＳ３で一時保存した第１の対象データを削除する。
【００３３】
一方、直接通信が失敗し、代理通信を行う場合を説明する。ここでは、送信装置は、第１の通信装置１ａであり、受信装置は、第４の通信装置１ｄである。第１の通信装置１ａと第４の通信装置１ｄは直接通信できないので、第２の通信装置１ｂが、代理通信を行う中継装置となる。
【００３４】
ステップＳ６において第１の通信装置１ａは、第４の通信装置１ｄへの第２の対象データの直接通信を試みる。このとき第２の通信装置１ｂは、ステップＳ６の通信を傍受し、ステップＳ７において第２の対象データを一時保存し、第２の対象データに関する受信通知を所定時間監視する。ステップＳ６で試みた第２の対象データの直接通信は、第４の通信装置１ｄに送信されないので、ステップＳ８において、所定時間内に第４の通信装置１ｄから第１の通信装置１ａに第２の対象データに対する受信通知が、送信されない。従って、第２の通信装置１ｂは、ステップＳ９において、ステップＳ７で一時保存した第２の対象データを中継データに格納し、第２の対象データの代理通信を待機する。
【００３５】
第２の対象データは、送信条件を満たすまで中継データ内で待機する。この間、通信システム５において、複数の対象データの直接送信が試みられる。第２の通信装置１ｂは、オーバーヒアした際には、中継データに逐次、オーバーヒアした対象データを格納する。その結果、中継データに複数の対象データが格納される。中継データに格納された対象データの宛先は、複数存在しても良いし、ある宛先に送信される対象データが複数あっても良い。
【００３６】
ステップＳ１０において第２の通信装置１ｂは、中継データに格納した対象データについて所定の送信条件を満たすか否かを判定する。例えば第２の通信装置１ｂは、中継データに格納された対象データのうち、第４の通信装置１ｄ宛の対象データの数が、ステップＳ１で算出した設定アグリゲート数に達するか否かを判定する。ステップＳ１０の処理は、第２の通信装置１ｂが送信可能なタイミングで実行されても良い。
【００３７】
第４の通信装置１ｄ宛の対象データの数が、ステップＳ１で算出した設定アグリゲート数に達すると判定した場合、ステップＳ１１において第２の通信装置１ｂは、第４の通信装置１ｄ宛の対象データをアグリゲートして、代理通信する。その場合、第２の通信装置１ｂは、例えばリンクアドレスの送信元アドレスＰ１に、第２の通信装置１ｂのアドレスを設定し、宛先アドレスＰ２に、第４の通信装置１ｄのアドレスを設定する。第２の通信装置１ｂは、エンドアドレス、種別およびデータに、中継データに格納された各対象データに対応する値を設定する。各対象データのエンドアドレスが共通する場合、エンドアドレスを繰り返し設定しないなど、データの項目は適宜設定されても良い。
【００３８】
ステップＳ１２において、ステップＳ１１に対する受信通知を受信すると、ステップＳ１３において第２の通信装置１ｂは、代理通信した通信装置１に、代理通信が完了した旨の完了通知を送信する。ステップＳ１１で代理通信した複数の対象データのエンドアドレスの送信元が複数ある場合、第２の通信装置１ｂは、それぞれの送信元の通信装置１に、代理通信の完了通知を送信する。
【００３９】
（通信装置）
図４を参照して、本発明の実施の形態に係る通信装置１を説明する。図４は、通信装置１が中継装置として機能する場合の構成を示し、通信装置１が送信装置または受信装置として機能する場合の構成は割愛する。通信装置１は、送信装置および受信装置と直接接続しても良いし、他の通信装置１を介して接続しても良い。
【００４０】
通信装置１は、記憶装置１０、処理装置２０、通信制御装置３０を備える一般的なコンピュータである。一般的な通信プログラム（中継プログラム）を実行することにより、図４に示す機能を実現する。
【００４１】
記憶装置１０は、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random access memory）、ハードディスク等であって、処理装置２０が処理を実行するための入力データ、出力データおよび中間データなどの各種データを記憶する。処理装置２０は、ＣＰＵ（Central Processing Unit）であって、記憶装置１０に記憶されたデータを読み書きしたり、通信制御装置３０とデータを入出力したりして、通信装置１における処理を実行する。通信制御装置３０は、通信装置１が、他の通信装置１と通信可能に接続するためのインタフェースである。
【００４２】
記憶装置１０は、通信プログラムを記憶するとともに、中継データ１１および設定アグリゲート数データ１２を記憶する。また記憶装置１０は、通信装置１がオーバーヒアする際に傍受したデータも一時的に保存する。
【００４３】
中継データ１１は、通信装置１の代理通信の対象となる対象データ群であって、対象データのバッファである。中継データ１１は、図５に示すように、代理通信の対象となる対象データを順にスタックする。図５は、対象データＡ、対象データＢ、対象データＣの順で、通信装置１がオーバーヒアしたことを示す。
【００４４】
中継データ１１は、同じ受信装置に送信される各対象データが送信条件を満たすまで、代理通信の対象となる対象データを保持する。本発明の実施の形態において、送信条件は、設定アグリゲート数を満たす対象データが集まったか否か、および、中継データ１１に対象データが格納されてから最大の待ち時間を経過したか否かのうち、いずれか早い方である。中継データ１１は、各対象データの保持を開始してからの経過時間を保持する。この経過時間は、送信時間として設定された最大の待ち時間との比較に用いられる。また同時に複数の受信装置宛の対象データが送信条件と満たした場合、より経過時間の長い対象データを含む受信装置宛の対象データを送信するために、経過時間が用いられても良い。また、ある受信装置宛の対象データが、設定アグリゲート数を越えている場合に、設定アグリゲート数以内の対象データを選択する際に用いられても良い。
【００４５】
設定アグリゲート数データ１２は、中継部２２が、複数の対象データをアグリゲートして送信する際に、アグリゲートされる対象データの数である。設定アグリゲート数は、宛先となる受信端末毎に設定される。
【００４６】
処理装置２０は、オーバーヒア処理部２１、中継部２２および設定アグリゲート数算出部２３を備える。
【００４７】
オーバーヒア処理部２１は、複数の送信装置のうちの一の送信装置が、複数の受信装置のうちの一の受信装置に向けて対象データを送信したことに対し、受信装置がこの対象データを受信したことを示す受信通知が送信されないことを検知する場合、この対象データを中継データ１１に格納する。オーバーヒア処理部２１は、定期的または所定のタイミングで、通信が行われているか否かを問い合わせても良い。
【００４８】
オーバーヒア処理部２１は、複数の送信装置のうちの一の送信装置が、複数の受信装置のうちの一の受信装置に向けて対象データを送信した際に、その対象データを記憶装置１０に一時保存する。オーバーヒア処理部２１は、所定時間内に受信装置がこの対象データを受信したことを示す受信通知が送信されないことを検知すると、一時保存した対象データを中継データ１１に格納し、代理通信に備える。
【００４９】
図６を参照して、オーバーヒア処理部２１の処理を説明する。
【００５０】
まずステップＳ１０１において、オーバーヒア処理部２１が通信システム５において対象データが送信されたことを検知すると、ステップＳ１０２において、その対象データに関する受信通知を、所定時間待機する。所定時間内に受信通知が送信されなかった場合、ステップＳ１０３において、ステップＳ１０１で検知した対象データを、中継データ１１に格納して、処理を終了する。
【００５１】
中継部２２は、所定の受信装置宛の各対象データの数が、今回の設定アグリゲート数になった場合、所定の受信装置宛の各対象データをアグリゲートしたデータを、所定の受信装置に向けて送信する。設定アグリゲート数は、後述の設定アグリゲート数算出部２３によって予め算出される。
【００５２】
また中継部２２は、中継データ１１において、各対象データの保持を開始してからの経過時間が、最大の待ち時間を超えた場合、対象データの数が設定アグリゲート数を越えなくても、対象データを送信しても良い。このとき中継部２２は、経過時間が最大の待ち時間を超えた対象データの宛先と同一の宛先を有する対象データを、アグリゲートして送信しても良い。
【００５３】
図７を参照して、中継部２２の処理を説明する。中継部２２は、通信装置１が送信可能なタイミングで実行する。
【００５４】
まずステップＳ２０１において中継部２２は、中継データ１１が有する対象データのうち、最大待ち時間を経過した対象データがあるか否かを判定する。最大待ち時間を経過した対象データがある場合、ステップＳ２０３において中継部２２は、その対象データを送信する。このとき、その対象データと同じ受信装置宛のデータをアグリゲートして送信する。
【００５５】
最大待ち時間を経過した対象データがない場合、ステップＳ２０２に進む。ステップＳ２０２において中継部２２は、中継データ１１が有する各対象データの宛先となる受信装置ごとの対象データの数が、設定アグリゲート数に達するか否かを判定する。設定アグリゲート数に達する受信装置がない場合、中継部２２はステップＳ２０１に戻る。
【００５６】
設定アグリゲート数に達する受信装置がある場合、ステップＳ２０３において中継部２２は、設定アグリゲート数に達した受信装置宛の対象データをアグリゲートして、代理通信を行う。
【００５７】
設定アグリゲート数算出部２３は、前回、所定の受信装置宛にアグリゲートした対象データの設定アグリゲート数を、遅延時間と許容遅延時間に基づいて増減して、今回の設定アグリゲート数を算出する。遅延時間は、通信システム５にける混雑状況の指標であって、許容遅延時間は、遅延時間に対する許容値である。
【００５８】
設定アグリゲート数が多い場合、アグリゲートしないで対象データを都度送信する場合に比べて、通信システム５におけるトラヒック数を削減し、中継装置１における負荷を軽減することができるメリットがある。しかしながら、設定アグリゲート数が多い場合、設定アグリゲート数の対象データが揃うまで対象データは中継装置１において待機する場合があり、遅延時間は長くなるデメリットがある。一方、設定アグリゲート数が少ない場合、対象データが中継装置１で待機する時間が短くなり、遅延時間は短くなるメリットがある。しかしながら、設定アグリゲート数が少ない場合、対象データの送信頻度が高くなることで通信システム５のトラヒック数の増加につながり、通信システム５の負荷を高めるデメリットがある。そこで設定アグリゲート数算出部２３は、遅延時間と許容遅延時間に基づいて、設定アグリゲート数を適切に設定する。
【００５９】
本発明の実施の形態において遅延時間は、設定アグリゲート数算出部２３が、設定アグリゲート数を算出する動機となった対象データに設定される。中継データ１１に所定の受信装置宛の対象データがない状態で、その受信装置当ての対象データが中継データ１１に格納された場合、遅延時間は、中継データ１１に格納された対象データに設定される。
【００６０】
図３に示す例において遅延時間は、対象データの送信元である第１の通信装置１ａにおいて設定される。遅延時間は、第１の通信装置１ａが、対象データを送信してから、その対象データに関する代理通信完了通知を受信するまでの時間である。具体的には遅延時間は、図３において、第１の通信装置１ａが、ステップＳ２において第１の対象データを送信してから、ステップＳ１３において代理通信の完了通知を受信するまでの時間である。遅延時間は、エンドアドレスの送信元の通信装置が、直近の通信において要した時間が設定されても良いし、所定期間内の通信で要した時間の平均値が設定されても良い。このように遅延時間は、通信装置１が対象データを送信してから、対象データが送信されたことを確認するのに要した時間であり、通信システム５および通信装置１における混雑状況を反映したものである。
【００６１】
一方、許容遅延時間は、中継装置１において予め設定される固定値である。許容遅延時間は、通信システム５の規模および処理負荷、中継装置１の位置および処理負荷等に応じて、予め設定される。第１の通信装置１ａが、対象データを送信してから、その対象データに関する代理通信完了通知を受信するまでの時間が許容遅延時間以内に収まるように、中継装置１は制御する。
【００６２】
設定アグリゲート数算出部２３は、許容遅延時間から遅延時間を引いた値が、所定の範囲内の場合、前回の設定アグリゲート数を今回の設定アグリゲート数として算出し、許容遅延時間から遅延時間を引いた値が、所定の範囲よりも大きい場合、前回の設定アグリゲート数を増やして今回の設定アグリゲート数を算出し、許容遅延時間から遅延時間を引いた値が、所定の範囲よりも小さい場合、前回の設定アグリゲート数を減らして今回の設定アグリゲート数を算出する。算出した設定アグリゲート数は、宛先となる受信装置毎に算出され、中継部２２によって参照される。これにより中継装置１は、通信システム５における混雑状況を考慮して設定アグリゲート数を適切に増減することができる。
【００６３】
許容遅延時間から遅延時間を引いた値が、所定の範囲内の場合、通信システム５の混雑状況は中程度で、許容遅延時間内にデータを送受信できており、安定した状態である。設定アグリゲート数算出部２３は、今回の設定アグリゲート数を、前回の設定アグリゲート数と同じに設定する。
【００６４】
許容遅延時間から遅延時間を引いた値が、所定の範囲よりも大きい場合、通信システム５の混雑状況は軽度で、許容遅延時間内に余裕を持ってデータを送受信できている状態である。設定アグリゲート数算出部２３は、今回の設定アグリゲート数を、前回の設定アグリゲート数よりも増やして設定する。これにより中継部２２は、より多くの対象データをアグリゲートして受信装置に送信することができるので、通信システム５におけるトラヒック数を減らし、負荷を軽減することができる。また中継装置１において対象データが待機する時間が増えるものの、許容遅延時間内に余裕を持ってデータを送受信できているので、設定アグリゲート数を増やしたとしても、許容遅延時間内にデータを送受信することが期待できる。
【００６５】
許容遅延時間から遅延時間を引いた値が、所定の範囲よりも小さい場合、通信システム５の混雑状況は甚大で、許容遅延時間内に余裕なくデータを送受信している状態である。設定アグリゲート数算出部２３は、今回の設定アグリゲート数を、前回の設定アグリゲート数よりも減らして設定する。これにより中継部２２は、より早いタイミングで対象データをアグリゲートして受信装置に送信することができるので、中継装置１における待機時間が短く、遅延時間の短縮が期待できる。
【００６６】
本発明の実施の形態において、前回の設定アグリゲート数からの増減数は、固定値である。増減数を固定値とすることにより、設定アグリゲート数算出部２３における処理負荷を軽減することができる。
【００６７】
また設定アグリゲート数の上限値および下限値は予め決め、上限値および下限値を超えないように、制御されても良い。例えば、前回の設定アグリゲート数が上限値の場合、許容遅延時間から遅延時間を引いた値が、所定の範囲よりも大きくても、今回の設定アグリゲート数は、前回の設定アグリゲート数から変更しない。同様に前回の設定アグリゲート数が下限値の場合、許容遅延時間から遅延時間を引いた値が、所定の範囲よりも小さくても、今回の設定アグリゲート数は、前回の設定アグリゲート数から変更しない。
【００６８】
本発明の実施の形態において設定アグリゲート数算出部２３は、オーバーヒア処理部２１がオーバーヒアすると、中継データ１１に、オーバーヒアした対象データと同じ宛先の対象データがあるか否か判定する。同じ宛先の対象データがなく、オーバーヒアした対象データの宛先が、最初の宛先となる場合、設定アグリゲート数算出部２３は、オーバーヒアした対象データの宛先について設定アグリゲート数を算出する。他の実施例として、中継部２２が、所定の受信装置宛にデータを送信した後、その受信装置について設定アグリゲート数を算出しても良い。
【００６９】
図８を参照して、設定アグリゲート数算出部２３の処理を説明する。図８に示す例では、設定アグリゲート数を１ずつ増減する場合を示す。なお図８において、閾値ａ＞閾値ｂである。
【００７０】
まずステップＳ３０１において、設定アグリゲート数算出部２３は、オーバーヒア処理部２１によってオーバーヒアされた対象データの宛先が、中継データ１１の対象データの宛先に含まれるか、判定する。オーバーヒアされた対象データの宛先が、中継データ１１の対象データの宛先に含まれる場合、設定アグリゲート数は既に算出されているので、そのまま処理を終了する。
【００７１】
中継データ１１の対象データの宛先に、オーバーヒアされた対象データの宛先が含まれていない場合、ステップＳ３０２において設定アグリゲート数算出部２３は、対象データにおいて遅延時間の設定があるか否かを判定する。遅延時間の設定がない場合、そのまま処理を終了する。
【００７２】
遅延時間の設定がある場合、ステップＳ３０３において設定アグリゲート数算出部２３は、許容遅延時間（Ｘ）と遅延時間（ｔ）との関係に基づいて、処理を振り分ける。
【００７３】
許容遅延時間（Ｘ）から遅延時間（ｔ）を引いた値が、所定の閾値ａ以上の場合、ステップＳ３０４に進む。ステップＳ３０４において設定アグリゲート数算出部２３は、前回の設定アグリゲート数に１加算した数を、今回の設定アグリゲート数に設定する。
【００７４】
許容遅延時間（Ｘ）から遅延時間（ｔ）を引いた値が、所定の閾値ｂより大きく、所定の閾値ａより小さい場合、ステップＳ３０５に進む。ステップＳ３０５において設定アグリゲート数算出部２３は、前回の設定アグリゲート数を、今回の設定アグリゲート数に設定する。
【００７５】
許容遅延時間（Ｘ）から遅延時間（ｔ）を引いた値が、所定の閾値ｂ以下の場合、ステップＳ３０６に進む。ステップＳ３０６において設定アグリゲート数算出部２３は、前回の設定アグリゲート数から１減算した数を、今回の設定アグリゲート数に設定する。
【００７６】
本発明の実施の形態に係る中継装置１は、通信システム５にける混雑状況の指標となる遅延時間を参照して、許容遅延時間に対する遅延時間の余裕度に応じて、設定アグリゲート数を増減する。これにより、許容遅延時間内にデータを送受信可能な範囲内で、アグリゲート数を調整して、通信にかかる負荷を軽減することができる。
【００７７】
このように本発明の実施の形態に係る中継装置は、中継装置の中継データに溜まっているデータを適切にアグリゲートすることができる。
【００７８】
（第１の変形例）
本発明の実施の形態において設定アグリゲート数算出部２３が、前回の設定アグリゲート数に対して固定値を増減する場合を説明したが、第１の変形例において、許容遅延時間から遅延時間を引いた値の大きさに応じて、増減する値を変更する場合を説明する。
【００７９】
第１の変形例において前回の設定アグリゲート数からの増減数は、許容遅延時間から遅延時間を引いた値と増減数の関係を定める関数によって決められる。関数は、例えば、Ｘ−ｔが所定の範囲から離れるほど、増減数が大きくなることを示し、具体的には図９に示す三次関数である。図９に示す三次関数は、ＴＣＰ  ＣＵＢＩＣで用いられているものである。図９に示す三次関数は、Ｘ−ｔが所定の範囲の場合（左右方向の中程）の増減数よりも、Ｘ−ｔが所定の範囲外の場合（左右方向の脇側）の増減数の方が大きくなることを示す。
【００８０】
第１の変形例において、Ｘ−ｔが所定の範囲から離れるほど、前回の設定アグリゲート数に対して大きい値を増減して、今回の設定アグリゲート数を算出する。これにより通信システム５が急激に混雑した場合、または急激に混雑が解消した場合など、通信システム５における急激な変化が生じたとしても、アグリゲート数を大きく変更することにより、即座に対応しやすくなる。
【００８１】
（第２の変形例）
本発明の実施の形態において遅延時間は、対象データの送信元の通信装置１が設定する場合を説明したがこれに限らない。遅延時間は、通信システムにおける混雑状況の指標であればよく、例えば、中継装置１が、対象データをオーバーヒアしてから、代理通信の完了通知に対する受信通知(Ack)を受信するまでの時間であっても良い。対象データをオーバーヒアしてから、代理通信完了通知に対する受信通知を受信するまでの時間は、図３に示す例において、ステップＳ３から、ステップＳ１３で送信した代理通信の完了通信に対する受信通知を中継装置１が受領するまでの時間である。
【００８２】
遅延時間を、中継装置１が、対象データをオーバーヒアしてから、代理通信の完了通知に対するＡｃＫを受信するまでの時間とする場合、中継装置１自身が遅延時間を計測することができる。従って、通信システム５の全体を改変することなく、中継装置１の処理を変更すれば足りるので、システム改変を行いやすい効果もある。
【００８３】
このように、遅延時間は、通信システム５における混雑状況の指標であればよく、具体的な時間の計測方法は問わない。
【００８４】
（その他の実施の形態）
上記のように、本発明の実施の形態によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例および運用技術が明らかとなる。
【００８５】
例えば、シーケンス図またはフローチャートに示す処理の流れは一例であって、異なる順序で処理が行われても良い。
【００８６】
本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【符号の説明】
【００８７】
１  通信装置（中継装置）
５  通信システム
１０  記憶装置
１１  中継データ
１２  設定アグリゲート数データ
２０  処理装置
２１  オーバーヒア処理部
２２  中継部
２３  設定アグリゲート数算出部
３０  通信制御装置
【図１】
2020205555.tif 000003
【図２】
2020205555.tif 000004
【図３】
2020205555.tif 000005
【図４】
2020205555.tif 000006
【図５】
2020205555.tif 000007
【図６】
2020205555.tif 000008
【図７】
2020205555.tif 000009
【図８】
2020205555.tif 000010
【図９】
2020205555.tif 000011