(57)【要約】【課題】代理通信によるトラフィック数を抑制する。【解決手段】送信装置２は、対象データＴを受信装置４に向けて送信し、対象データを受信装置４に向けて送信して所定時間以内に、受信装置４が対象データＴを受信したことを示す通知を受信しない場合、対象データＴを受信装置４に向けて再送する。中継装置３は、送信装置２が、受信装置４に向けて対象データＴを送信したことに対し、受信装置４が対象データＴを受信したことを示す受信通知が送信されないことを検知した場合、対象データＴを、受信装置４に向けて代理通信し、送信装置２に、受信装置４が対象データＴを受信したことを示す通知を送信する。中継装置３はさらに、送信装置２による対象データＴの再送が検知されると、送信装置２に、受信装置４が対象データＴを受信したことを示す通知を送信する。【選択図】      図３
2020065222.tif 000002
【特許請求の範囲】
【請求項１】
複数の装置を備える通信システムであって、
対象データを送信する送信装置と、
対象データの送信先となる受信装置と、
前記送信装置と通信可能な中継装置を備え、
前記送信装置は、
前記対象データを前記受信装置に向けて送信し、前記対象データを前記受信装置に向けて送信して所定時間以内に、前記受信装置が前記対象データを受信したことを示す通知を受信しない場合、前記対象データを前記受信装置に向けて再送する送信部を備え、
前記中継装置は、
前記送信装置が、前記受信装置に向けて対象データを送信したことに対し、前記受信装置が前記対象データを受信したことを示す受信通知が送信されないことを検知した場合、前記対象データを中継データに格納するオーバーヒア処理部と、
前記中継データに格納された前記対象データを、前記受信装置に向けて代理通信し、前記受信装置が前記対象データを受信したことを示す通知を受信すると、前記送信装置に、前記通知を送信する中継部と、
前記送信装置による前記対象データの再送が検知されると、前記送信装置に、前記通知を送信する受信再通知部を備える
ことを特徴とする通信システム。
【請求項２】
複数の装置を備える通信システムに用いられる中継装置であって、
前記通信システムは、
対象データを送信する送信装置と、
対象データの送信先となる受信装置と、
前記送信装置と通信可能な中継装置を備え、
前記中継装置は、
前記送信装置が、前記受信装置に向けて対象データを送信したことに対し、前記受信装置が前記対象データを受信したことを示す受信通知が送信されないことを検知した場合、前記対象データを中継データに格納するオーバーヒア処理部と、
前記中継データに格納された前記対象データを、前記受信装置に向けて代理通信し、前記受信装置が前記対象データを受信したことを示す通知を受信すると、前記送信装置に、前記通知を送信する中継部と、
前記送信装置による前記対象データの再送が検知されると、前記送信装置に、前記通知を送信する受信再通知部
を備えることを特徴とする中継装置。
【請求項３】
前記中継部によって、前記送信装置に、前記通知を送信して所定時間経過した後、前記送信装置による前記対象データの再送が検知されない場合、前記受信再通知部は、前記通知を破棄し、
所定時間経過するまでに、前記送信装置による前記対象データの再送が検知された場合、前記受信再通知部は、前記送信装置に、前記通知を再送する
ことを特徴とする請求項２に記載の中継装置。
【請求項４】
前記中継装置は、さらに前記受信装置と通信可能であって、
前記中継部が受信する前記通知は、前記受信装置が、前記代理通信で前記対象データを受信したことを示す受信通知であって、
前記受信再通知部が送信する前記通知は、代理通信の完了通知である
ことを特徴とする請求項２または３に記載の中継装置。
【請求項５】
前記通信システムはさらに、前記中継装置と前記受信装置と通信可能な他の中継装置を備え、
前記中継部が受信する前記通知は、前記中継装置が前記対象データを代理通信したことに対し、前記受信装置が前記対象データを受信したことを示す受信通知が送信されていないことを検知した前記他の中継装置が、前記受信装置に前記対象データをさらに代理通信したことに対し、前記受信装置からさらなる代理通信で前記対象データを受信したことを示す受信通知を受信した際に、前記他の中継装置が送信する代理通信の完了通知であって、
前記中継部は、前記他の中継装置が前記代理通信の完了通知を送信したことに対し、前記送信装置が前記代理通信の完了通知を受信したことを示す受信通知が送信されていないことを検知した場合、前記他の中継装置が送信した前記代理通信の完了通知を代理通信し、
前記受信再通知部が送信する前記通知は、前記中継部が代理通信する前記代理通信の完了通知である
ことを特徴とする請求項２または３に記載の中継装置。
【請求項６】
複数の装置を備える通信システムに用いられる通信方法であって、
前記通信システムは、
対象データを送信する送信装置と、
対象データの送信先となる受信装置と、
前記送信装置と通信可能な中継装置を備え、
前記送信装置が、前記対象データを前記受信装置に向けて送信するステップと、
前記中継装置が、前記送信装置が、前記受信装置に向けて対象データを送信したことに対し、前記受信装置が前記対象データを受信したことを示す受信通知が送信されないことを検知した場合、前記対象データを中継データに格納するステップと、
前記中継装置が、前記中継データに格納された前記対象データを、前記受信装置に向けてし、前記受信装置が前記対象データを受信したことを示す通知を受信すると、前記送信装置に、前記通知を送信するステップと、
前記送信装置が、前記対象データを前記受信装置に向けて送信して所定時間以内に、前記受信装置が前記対象データを受信したことを示す通知を受信しない場合、前記対象データを前記受信装置に向けて再送するステップと、
前記中継装置が、前記送信装置による前記対象データの再送が検知されると、前記送信装置に、前記通知を送信するステップ
を備えることを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の装置を備える通信システム、通信システムに用いられる中継装置および通信方法に関する。
【背景技術】
【０００２】
無線を使用するアドホックネットワークにおける複数の装置間の通信プロトコルとして、AODV(Ad hoc On-Demand Distance Vector)、DSR(Dynamic Source Routing)等が知られている。また無線を使用するアドホックネットワークにおいて、送信装置が受信装置に直接通信できない場合、ネットワークに属するその他の装置が中継装置となって、送信装置の代わりに、受信装置に向けて送信する代理通信の方法がある（特許文献１参照）。
【０００３】
特許文献１において中継装置は、送信装置から受信装置宛の直接データを傍受し、その後直接データに対する受信通知を受信できなかった場合、その直接データを、送信装置に代わって受信装置に向けて代理通信する。また中継装置が受信装置から受信通知を受信すると、送信装置に代理通信の完了通知を通知する。これにより、送信装置から受信装置まで、迅速にデータを送信することが可能になる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−２２５８５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１において、送信装置が、中継装置から代理通信の完了通知を受信できない場合、直接データが受信装置によって受信されているにもかかわらず、送信装置は、受信装置宛に直接データを再送する。送信装置が直接データを再送すると、中継装置による代理通信が再び行われ、通信システムにおいて代理通信によるトラフィック数が増加する場合がある。
【０００６】
従って本発明の目的は、代理通信によるトラフィック数を抑制する通信システム、中継装置および通信方法を提供することである。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の第１の特徴は、複数の装置を備える通信システムに関する。本発明の第１の特徴に係る通信システムは、対象データを送信する送信装置と、対象データの送信先となる受信装置と、送信装置と通信可能な中継装置を備える。送信装置は、対象データを受信装置に向けて送信し、対象データを受信装置に向けて送信して所定時間以内に、受信装置が対象データを受信したことを示す通知を受信しない場合、対象データを受信装置に向けて再送する送信部を備える。中継装置は、送信装置が、受信装置に向けて対象データを送信したことに対し、受信装置が対象データを受信したことを示す受信通知が送信されないことを検知した場合、対象データを中継データに格納するオーバーヒア処理部と、中継データに格納された対象データを、受信装置に向けて代理通信し、受信装置が対象データを受信したことを示す通知を受信すると、送信装置に、受信装置が対象データを受信したことを示す通知を送信する中継部と、送信装置による対象データの再送が検知されると、送信装置に、受信装置が対象データを受信したことを示す通知を送信する受信再通知部を備える。
【０００８】
本発明の第２の特徴は、複数の装置を備える通信システムに用いられる中継装置に関する。本発明の第２の特徴に係る中継装置が用いられる通信システムは、対象データを送信する送信装置と、対象データの送信先となる受信装置と、送信装置と通信可能な中継装置を備える。中継装置は、送信装置が、受信装置に向けて対象データを送信したことに対し、受信装置が対象データを受信したことを示す受信通知が送信されないことを検知した場合、対象データを中継データに格納するオーバーヒア処理部と、中継データに格納された対象データを、受信装置に向けて代理通信し、受信装置が対象データを受信したことを示す通知を受信すると、送信装置に、受信装置が対象データを受信したことを示す通知を送信する中継部と、送信装置による対象データの再送が検知されると、送信装置に、受信装置が対象データを受信したことを示す通知を送信する受信再通知部を備える。
【０００９】
中継部によって、送信装置に、受信装置が対象データを受信したことを示す通知を送信して所定時間経過した後、送信装置による対象データの再送が検知されない場合、受信再通知部は、受信装置が対象データを受信したことを示す通知を破棄し、所定時間経過するまでに、送信装置による対象データの再送が検知された場合、受信再通知部は、送信装置に、受信装置が対象データを受信したことを示す通知を再送しても良い。
【００１０】
中継装置は、さらに受信装置と通信可能であって、中継部が受信する受信装置が対象データを受信したことを示す通知は、受信装置が、代理通信で対象データを受信したことを示す受信通知であって、受信再通知部が送信する受信装置が対象データを受信したことを示す通知は、代理通信の完了通知であっても良い。
【００１１】
通信システムはさらに、中継装置と受信装置と通信可能な他の中継装置を備え、中継部が受信する受信装置が対象データを受信したことを示す通知は、中継装置が対象データを代理通信したことに対し、受信装置が対象データを受信したことを示す受信通知が送信されていないことを検知した他の中継装置が、受信装置に対象データをさらに代理通信したことに対し、受信装置からさらなる代理通信で対象データを受信したことを示す受信通知を受信した際に、他の中継装置が送信する代理通信の完了通知であって、中継部は、他の中継装置が代理通信の完了通知を送信したことに対し、送信装置が代理通信の完了通知を受信したことを示す受信通知が送信されていないことを検知した場合、他の中継装置が送信した代理通信の完了通知を代理通信し、受信再通知部が送信する受信装置が対象データを受信したことを示す通知は、中継部が代理通信する代理通信の完了通知であっても良い。
【００１２】
本発明の第３の特徴は、複数の装置を備える通信システムに用いられる通信方法に関する。本発明の第３の特徴に係る通信方法が用いられる通信システムは、対象データを送信する送信装置と、対象データの送信先となる受信装置と、送信装置と通信可能な中継装置を備える。通信方法は、送信装置が、対象データを受信装置に向けて送信するステップと、中継装置が、送信装置が、受信装置に向けて対象データを送信したことに対し、受信装置が対象データを受信したことを示す受信通知が送信されないことを検知した場合、対象データを中継データに格納するステップと、中継装置が、中継データに格納された対象データを、受信装置に向けて代理通信し、受信装置が対象データを受信したことを示す通知を受信すると、送信装置に、受信装置が対象データを受信したことを示す通知を送信するステップと、送信装置が、対象データを受信装置に向けて送信して所定時間以内に、受信装置が対象データを受信したことを示す通知を受信しない場合、対象データを受信装置に向けて再送するステップと、中継装置が、送信装置による対象データの再送が検知されると、送信装置に、受信装置が対象データを受信したことを示す通知を送信するステップを備える。
【発明の効果】
【００１３】
本発明によれば、代理通信によるトラフィック数を抑制する通信システム、中継装置および通信方法を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態に係る通信システムのシステム構成図である。
【図２】本発明の実施の形態に係る中継装置が送信するデータ構造の一例である。
【図３】本発明の実施の形態に係る通信方法の処理を説明するシーケンス図である。
【図４】本発明の実施の形態に係る送信装置のハードウエア構成と機能ブロックを説明する図である。
【図５】本発明の実施の形態に係る送信部の処理を説明するフローチャートである。
【図６】本発明の実施の形態に係る中継装置のハードウエア構成と機能ブロックを説明する図である。
【図７】本発明の実施の形態に係る中継データのデータ構造とデータの一例を説明する図である。
【図８】本発明の実施の形態に係る受信再通知蓄積データのデータ構造とデータの一例を説明する図である。
【図９】本発明の実施の形態に係るオーバーヒア処理部の処理を説明するフローチャートである。
【図１０】本発明の実施の形態に係る中継部の処理を説明するフローチャートである。
【図１１】本発明の実施の形態に係る中継部が、対象データを再送する処理を説明するフローチャートである。
【図１２】本発明の実施の形態に係る中継部が、代理通信の完了通知を再送する処理を説明するフローチャートである。
【図１３】本発明の実施の形態に係る受信再通知部の処理を説明するフローチャートである。
【図１４】変形例に係る通信システムのシステム構成図である。
【図１５】変形例に係る通信方法の処理を説明するシーケンス図である。
【発明を実施するための形態】
【００１５】
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号を付している。
【００１６】
（通信システム）
図１を参照して、本発明の実施の形態に係る通信システム５を説明する。通信システム５は、複数の通信装置１を備え、各通信装置が網状に接続され、無線メッシュネットワークを構成する。
【００１７】
図１に示す通信システム５は、第１の通信装置１ａ、第２の通信装置１ｂ、第３の通信装置１ｃおよび第４の通信装置１ｄを備える。本発明の実施の形態において第１の通信装置１ａ、第２の通信装置１ｂ、第３の通信装置１ｃおよび第４の通信装置１ｄを特に区別しない場合、単に通信装置１と記載する場合がある。また図１は、４つの通信装置を備えるが、通信装置の数はこれに限るものではない。
【００１８】
本発明の実施の形態において、各通信装置１は、各通信における役割に応じて、送信装置２、受信装置４または中継装置３として機能する。各通信装置１は、対象データを送信する際は送信装置２として機能する場合がある。また各通信装置１は、対象データの送信先となる際は受信装置４として機能する場合がある。また各通信装置１は、送信装置２および受信装置４間の通信を中継する中継装置３として機能する場合がある。ここで対象データは、送信装置２が受信装置４に向けて送信するリクエストまたは応答に係るデータであって、後述の代理通信の対象となるデータである。
【００１９】
本発明の実施の形態に係る通信システム５は、例えば乗用車の内部などの限られた空間に設けられる。各通信装置１は、コントローラに設置されるとともに、例えば車のドア、ルームランプ、窓などの各設備に対応して設置され、各設備の状態をコントローラに送信したり、コントローラから各設備の状態を変更する指示を受信したりする。
【００２０】
通信システム５は、アドホック方式で、各通信装置１間の無線通信を実現する。各通信装置１の位置、電波環境等により、各通信装置１は直接通信できない場合がある。本発明の実施の形態において第１の通信装置１ａは、第２の通信装置１ｂと通信可能であるが、第３の通信装置１ｃおよび第４の通信装置１ｄと通信できない。第２の通信装置１ｂは、第１の通信装置１ａおよび第３の通信装置１ｃと通信可能であるが、第４の通信装置１ｄと通信できない。第３の通信装置１ｃは、第２の通信装置１ｂおよび第４の通信装置１ｄとは通信可能であるが、第１の通信装置１ａと通信できない。第４の通信装置１ｄは、第３の通信装置１ｃとは通信可能であるが、第１の通信装置１ａおよび第２の通信装置１ｂと通信できない。
【００２１】
このような状況において、第１の通信装置１ａが、第３の通信装置１ｃに対象データの送信を試みる場合、第１の通信装置１ａと第３の通信装置１ｃは、直接に通信できないので、第２の通信装置１ｂが、第１の通信装置１ａに代わって通信する（代理通信）。
【００２２】
具体的には、第１の通信装置１ａが対象データを第３の通信装置１ｃに送信する際、下記の手順で通信が行われる。
【００２３】
（１）オーバーヒア
第１の通信装置１ａが対象データを第３の通信装置１ｃに向けて送信すると、第２の通信装置１ｂは、オーバーヒアを行う。オーバーヒアにおいて第２の通信装置１ｂは、第１の通信装置１ａから第３の通信装置１ｃ宛に対象データが送信されたことを検知する。さらに第２の通信装置１ｂは、対象データが送信された後、対象データに対する受信通知（Ack）を受信できなかったことを検知する。
【００２４】
（２）代理通信
第２の通信装置１ｂは、オーバーヒアした後、代理通信を行う。代理通信において第２の通信装置１ｂは、その対象データを、第１の通信装置１ａに代わって第３の通信装置１ｃに向けて代理通信する。代理通信した後、第２の通信装置１ｂは、第３の通信装置１ｃから、代理通信された対象データについての受信通知を待機する。第３の通信装置１ｃから受信通知を受信しない場合、第２の通信装置１ｂは、所定の時間間隔かつ所定回数、対象データの代理通信を繰り返しても良い。
【００２５】
（３）代理通信の完了通知
第２の通信装置１ｂは、第３の通信装置１ｃに対象データを代理通信したことに対し、第３の通信装置１ｃから受信通知を受信すると、第１の通信装置１ａに代理通信の完了通知を通知する。第１の通信装置１ａは、代理通信の完了通知を受信すると、対象データが第３の通信装置１ｃに受信されたと認識する。これにより、送信元から送信先に対象データを送信する一連の通信が完了する。
【００２６】
このような代理通信において第２の通信装置１ｂが送受信する代理通信に関するデータは、例えば図２に示すように、リンクアドレスとして送信元アドレスＰ１および宛先アドレスＰ２、エンドアドレスとして送信元アドレスＰ３および宛先アドレスＰ４、種別Ｐ５、シーケンス番号Ｐ６およびデータＰ７を備える。代理通信に関するデータは、図２に示す項目以外の項目を含んでも良い。
【００２７】
リンクアドレスは、第２の通信装置１ｂが行う代理通信のデータについて、Link to Linkで直接接続する通信装置１のアドレスを特定する。エンドアドレスは、第２の通信装置１ｂが代理通信する対象データを送受信する、End to Endの通信装置１のアドレスが設定される。第２の通信装置１ｂが、第１の通信装置１ａから第３の通信装置１ｃへの通信を代理通信する場合、リンクアドレスの送信元アドレスＰ１に第２の通信装置１ｂのアドレスが設定され、宛先アドレスＰ２に第３の通信装置１ｃのアドレスが設定される。エンドアドレスの送信元アドレスＰ３に第１の通信装置１ａのアドレスが設定され、宛先アドレスＰ４に第３の通信装置１ｃのアドレスが設定される。種別Ｐ５には、代理通信または代理通信の完了通知等の、代理通信に関するデータ種別を設定する。シーケンス番号Ｐ６は、代理通信のトリガとなる対象データを特定する識別子である。所定の対象データに関する代理通信、代理通信の完了通知等の各データのシーケンス番号Ｐ６には、共通する値が設定される。データＰ７は、送信対象のデータ（ペイロード）であって、対象データが設定されたり、完了通知の旨が設定されたりする。データＰ７は固定長であっても良いし可変長であっても良い。可変長である場合、データ長を示す項目が設けられても良い。
【００２８】
（通信方法）
図３を参照して、本発明の実施の形態に係る通信方法を説明する。図３は、第１の通信装置１ａが第４の通信装置１ｄに対象データを送信する場合の処理を示す。図３に示す例において、実線は通信可能であることを示し、破線は通信できないことを示す。図３に示す例において、「代理通信」、「受信通知」および「代理通信の完了通知」に続く記号「＃」および番号は、各データを識別するものである。また図３は、第２の通信装置１ｂおよび第３の通信装置１ｃが代理通信等を再送するステップを割愛する。
【００２９】
まずステップＳ１において第１の通信装置１ａは、対象データを第４の通信装置１ｄに向けて送信して、対象データの直接通信を試みる。第１の通信装置１ａは、対象データを送信した後、ステップＳ２において、所定時間、対象データが第４の通信装置１ｄに受信されたことの通知を待機する。所定時間以内に第４の通信装置１ｄに受信されたことの通知を受信しない場合、第１の通信装置１ａは、所定の時間間隔かつ所定回数、対象データを再送する。第１の通信装置１ａが待機する通知は、第１の通信装置１ａと第４の通信装置１ｄが通信可能な場合、第４の通信装置１ｄから受信する受信通知である。しかしながら本実施の形態において第１の通信装置１ａと第４の通信装置１ｄは通信できないので、他の通信装置１（第２の通信装置１ｂ）が送信した代理通信の完了通知である。ここでは、後述のステップＳ２０まで、第１の通信装置１ａは、対象データを再送せずに、対象データが受信されたことの通知を待機する。
【００３０】
第２の通信装置１ｂは、オーバーヒアで、ステップＳ１で対象データが送信されたことを検知し、ステップＳ３において対象データの直接通信に対する受信通知＃１を監視する。
【００３１】
第１の通信装置１ａと第４の通信装置１ｄは直接通信できないので、ステップＳ４において、第１の通信装置１ａは、第４の通信装置１ｄから、ステップＳ１の対象データの直接通信に対する受信通知＃１を取得することはできない。第２の通信装置１ｂは、受信通知＃１が送信されないことを検知すると、ステップＳ５において、第４の通信装置１ｄに対して、対象データの代理通信＃１を行う。第２の通信装置１ｂは、対象データの代理通信＃１を行った後、ステップＳ６において、所定時間、対象データの代理通信＃１が第４の通信装置１ｄに受信されたことの通知を待機する。所定時間以内に受信されたことの通知を受信しない場合、第２の通信装置１ｂは、所定の時間間隔かつ所定回数、対象データの代理通信＃１を再送する。第２の通信装置１ｂが待機する通知は、第２の通信装置１ｂと第４の通信装置１ｄが通信可能な場合、第４の通信装置１ｄからの受信通知である。しかしながら本実施の形態において第２の通信装置１ｂと第４の通信装置１ｄは通信できないので、他の通信装置１（第３の通信装置１ｃ）が送信した代理通信の完了通知である。
【００３２】
第３の通信装置１ｃは、オーバーヒアで、ステップＳ５で対象データの代理通信＃１が行われたことを検知し、ステップＳ７において対象データの代理通信＃１に対する受信通知＃２を監視する。
【００３３】
第２の通信装置１ｂと第４の通信装置１ｄは直接通信できないので、ステップＳ８において、第２の通信装置１ｂは、第４の通信装置１ｄから、ステップＳ５の対象データの代理通信＃１に対する受信通知＃２を取得することはできない。第３の通信装置１ｃは、受信通知＃２が送信されないことを検知すると、ステップＳ９において、第４の通信装置１ｄに対して、対象データの代理通信＃２を行う。第３の通信装置１ｃは、対象データの代理通信＃２を行った後、ステップＳ１０において、所定時間、対象データの代理通信＃２が第４の通信装置１ｄに受信されたことの通知を待機する。所定時間以内に受信されたことの通知を受信しない場合、第３の通信装置１ｃは、所定の時間間隔かつ所定回数、対象データの代理通信＃２を再送する。第３の通信装置１ｃが待機する通知は、第３の通信装置１ｃと第４の通信装置１ｄが通信可能なので、第４の通信装置１ｄからの受信通知である。
【００３４】
ステップＳ１１において第３の通信装置１ｃは、第４の通信装置１ｄからステップＳ９の代理通信＃２に対する受信通知＃３を受信する。ステップＳ１２において第３の通信装置１ｃは、ステップＳ９で送信した対象データの代理通信＃２に関するデータを破棄する。ステップＳ１３において第３の通信装置１ｃは、第１の通信装置１ａに向けて、代理通信の完了通知＃１の送信を試みる。第３の通信装置１ｃは、対象データの代理通信の完了通知＃１を行った後、ステップＳ１４において、所定時間、対象データの代理通信の完了通知＃１が第１の通信装置１ａに受信されたことの通知を待機する。所定時間以内に受信されたことの通知を受信しない場合、第３の通信装置１ｃは、所定の時間間隔かつ所定回数、対象データの代理通信の完了通知＃１を再送する。
【００３５】
第２の通信装置１ｂは、オーバーヒアで、ステップＳ１３で代理通信の完了通知＃１が送信されたことを検知する。ステップＳ１５において第２の通信装置１ｂは、ステップＳ５で送信した代理通信データの対象データについて、代理通信の完了通知が送信されたと判断し、ステップＳ５で送信した代理通信データを削除する。また第２の通信装置１ｂは、代理通信の完了通知＃１の受信通知＃４を監視する。
【００３６】
第３の通信装置１ｃと第１の通信装置１ａは直接通信できないので、ステップＳ１６において、第３の通信装置１ｃは、第１の通信装置１ａから、ステップＳ１３の代理通信の完了通知＃１に対する受信通知＃４を取得することはできない。第２の通信装置１ｂは、受信通知＃４が送信されないことを検知すると、ステップＳ１７において、第１の通信装置１ａに対して、代理通信の完了通知＃２を送信する。代理通信の完了通知＃２は、代理通信の完了通知＃１を、第２の通信装置１ｂが代理通信する対象である。第２の通信装置１ｂは、対象データの代理通信の完了通知＃２を行った後、ステップＳ１８において、所定時間、対象データの代理通信の完了通知＃２が第１の通信装置１ａに受信されたことの通知を待機する。所定時間以内に受信されたことの通知を受信しない場合、第２の通信装置１ｂは、所定の時間間隔かつ所定回数、対象データの代理通信の完了通知＃２を再送する。
【００３７】
ここで通信環境の変化等により、第１の通信装置１ａが代理通信の完了通知＃２を受信できない場合、ステップＳ１９において第２の通信装置１ｂは、ステップＳ１７の代理通信の完了通知＃２に対する受信通知＃５を取得することはできない。
【００３８】
一方、ステップＳ２で、所定時間、対象データの再送または通知待ちであった第１の通信装置１ａが所定時間内に通知を受信しなかった場合、ステップＳ２０において第１の通信装置１ａは、対象データの再送を試みる。ステップＳ２１において第２の通信装置１ｂは、第１の通信装置１ａによる対象データの再送を検知すると、その対象データに関する代理通信の完了通知＃２を、第１の通信装置１ａに向けて再送する。また第２の通信装置１ｂは、第１の通信装置１ａによる対象データの再送について、受信通知を監視せず、対象データの代理通信を行わない。
【００３９】
このように本発明の実施の形態に係る通信方法において、第１の通信装置１ａが対象データを送信した後に、対象データが第４の通信装置１ｄに受信されたことの通知を受信しない場合、第１の通信装置１ａが対象データを再送する。第２の通信装置１ｂが対象データの再送を検知すると、第２の通信装置１ｂは、対象データが第４の通信装置１ｄに受信されたことを把握する場合、対象データが第４の通信装置１ｄに受信されたことを示す通知を、第１の通信装置１ａに送信する。図３に示す例において第２の通信装置１ｂは、第３の通信装置１ｃが対象データに関する代理通信の完了通知＃１を送信したことを把握しているので、第１の通信装置１ａに、対象データが第４の通信装置１ｄに受信されたことを通知することができる。
【００４０】
従来の通信方法において、第１の通信装置１ａが対象データを再送する場合、図３のステップＳ１ないしステップＳ２０の処理が繰り返され、通信システム５におけるトラフィック数が増加する。一方本発明の実施の形態に係る通信方法は、第２の通信装置１ｂが第１の通信装置１ａに、対象データが第４の通信装置１ｄに受信されたことを通知する。これにより第１の通信装置１ａは、その後、対象データを再送することなく、また第２の通信装置１ｂが、再送された対象データについての代理通信を行わないので、通信システム５におけるトラフィック数を抑制することができる。また本発明の実施の形態に係る通信方法において、送信装置および受信装置間で通信を中継する中継装置の数が多いほど、トラフィック数の抑制の効果は顕著になる。
【００４１】
図３に示す例において、ステップＳ１７の代理通信の完了通知＃２について、受信通知＃５を受信できないと判定した後に、第１の通信装置１ａによる対象データの再送が検知された場合に代理通信の完了通知＃２を再送する場合を説明したがこれに限られない。例えば、ステップＳ１７において代理通信の完了通知＃２の再送を待機している間などであっても、第１の通信装置１ａによる対象データの再送が検知された場合に代理通信の完了通知＃２を再送しても良い。
【００４２】
さらに、図３に示す例において、第１の通信装置１ａの対象データの送信を代理通信した第２の通信装置１ｂが、第１の通信装置１ａによる対象データの再送が検知された場合に代理通信の完了通知を送信する場合を説明したがこれに限られない。対象データの送信を代理通信した通信装置でなくとも、第１の通信装置１ａによる対象データの再送を検知し、その対象データが第４の通信装置１ｄによって受信されたことを把握している通信装置１が、その旨を第１の通信装置１ａに通知しても良い。
【００４３】
また図３において、第１の通信装置１ａは、ステップＳ２での通知または再送待ちの後、ステップＳ２０において対象データを再送するまでの間、対象データを再送しない場合を説明したが、これに限らない。第１の通信装置１ａは、予め定められた条件に従って対象データを再送しても良い。その場合、第２の通信装置１ｂが、第１の通信装置１ａによる対象データの再送を検知した際に、対象データが第４の通信装置１ｄに送信された確認を取れているか否かによって、第２の通信装置１ｂの動作が異なる。
【００４４】
対象データが第４の通信装置１ｄに送信された確認を取れていない場合、ステップＳ３以降と同様に、代理通信が行われる。対象データが第４の通信装置１ｄに送信された確認を取れていない場合は、具体的には、図３のステップＳ１３において、第２の通信装置１ｂが、代理通信の完了通知＃１をオーバーヒアする前において、第１の通信装置１ａが対象データを再送した場合である。一方対象データが第４の通信装置１ｄに送信された確認を取れている場合、ステップＳ２１に示すように、第２の通信装置１ｂが、その対象データに関する代理通信の完了通知を、第１の通信装置１ａに送信する。対象データが第４の通信装置１ｄに送信された確認を取れている場合は、具体的には、図３のステップＳ１３において、第２の通信装置１ｂが、代理通信の完了通知＃１をオーバーヒアした後において、第１の通信装置１ａが対象データを再送した場合である。
【００４５】
（送信装置）
図４を参照して、本発明の実施の形態に係る通信装置である送信装置２を説明する。図４に示す送信装置２は、図３に示す第１の通信装置１ａに対応する。図４は、通信装置１が送信装置２として機能する場合の構成を示し、通信装置１が中継装置３または受信装置４として機能する場合の構成は割愛する。
【００４６】
送信装置２は、記憶装置２１、処理装置２５、通信制御装置２９を備える一般的なコンピュータである。一般的なコンピュータが送信プログラムを実行することにより、図４に示す機能を実現する。
【００４７】
記憶装置２１は、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random access memory）、ハードディスク等であって、処理装置２５が処理を実行するための入力データ、出力データおよび中間データなどの各種データを記憶する。処理装置２５は、ＣＰＵ（Central Processing Unit）であって、記憶装置２１に記憶されたデータを読み書きしたり、通信制御装置２９とデータを入出力したりして、送信装置２における処理を実行する。通信制御装置２９は、送信装置２が、他の通信装置１（中継装置３および受信装置４）と通信可能に接続するためのインタフェースである。
【００４８】
記憶装置２１は、送信プログラムを記憶するとともに、対象データＴを記憶する。対象データＴは、送信装置２が受信装置４に送信するデータである。
【００４９】
処理装置２５は、送信部２６を有する。送信部２６は、対象データＴを受信装置４に向けて送信する。送信部２６は、対象データＴを受信装置４に向けて送信して所定時間以内に、受信装置４が対象データＴを受信したことを示す通知を受信しない場合、対象データＴを受信装置４に向けて再送する。受信装置４が対象データＴを受信したことを示す通知は、送信装置２と受信装置４が直接通信可能な場合、受信装置４が対象データＴを送信装置２から受信したことを示す受信通知である。一方中継装置３による代理通信を用いて受信装置４に対象データＴを送信する場合、受信装置４が対象データＴを受信したことを示す通知は、中継装置３による対象データの代理通信の完了通知である。
【００５０】
送信部２６は、対象データＴを受信装置４に向けて送信して所定時間以内に、受信装置４がデータを受信したことを示す通知を受信すると、対象データＴが受信装置４に受信されたことを確認し、対象データＴを削除する。
【００５１】
図５を参照して、送信部２６による送信処理を説明する。
【００５２】
まずステップＳ１０１において送信部２６は、対象データＴを送信する。ステップＳ１０２において送信部２６は、ステップＳ１０１で送信した対象データについての受信通知または代理通信の完了通知の受信を待機する。受信通知または代理通信の完了通知を受信すると、そのまま処理を終了する。
【００５３】
ステップＳ１０２において受信通知または代理通信の完了通知を受信しない場合、ステップＳ１０３において送信部２６は、対象データＴの再送時間が到来したか否かを判定する。再送時間が到来するまで、ステップＳ１０２において、受信通知または代理通信の完了通知の受信を待機する。
【００５４】
ステップＳ１０３において対象データＴの再送時間が到来した場合、ステップＳ１０４において送信部２６は、対象データＴを再送し、再送回数をカウントアップする。さらにステップＳ１０５においてステップＳ１０４で再送した対象データについての受信通知または代理通信の完了通知の受信を待機する。受信通知または代理通信の完了通知を受信すると、そのまま処理を終了する。
【００５５】
ステップＳ１０６において送信部２６は、所定の再送回数をオーバーしたか否かを判定する。オーバーしていない場合、ステップＳ１０２に戻り、ステップＳ１０２において送信部２６は、ステップＳ１０４で送信した対象データについての受信通知または代理通信の完了通知の受信を待機する。ステップＳ１０５において所定の再送回数をオーバーした場合、ステップＳ１０７において送信部２６は、対象データに関連するデータを破棄して対象データＴの送信を断念し、処理を終了する。
【００５６】
（中継装置）
図６を参照して、本発明の実施の形態に係る通信装置である中継装置３を説明する。図４に示す中継装置３は、図３に示す第２の通信装置１ｂまたは第３の通信装置１ｃに対応する。図６は、通信装置１が中継装置３として機能する場合の構成を示し、通信装置１が送信装置２または受信装置４として機能する場合の構成は割愛する。
【００５７】
中継装置３は、記憶装置３１、処理装置３５、通信制御装置３９を備える一般的なコンピュータである。一般的なコンピュータが中継プログラムを実行することにより、図６に示す機能を実現する。
【００５８】
記憶装置３１は、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random access memory）、ハードディスク等であって、処理装置３５が処理を実行するための入力データ、出力データおよび中間データなどの各種データを記憶する。処理装置３５は、ＣＰＵ（Central Processing Unit）であって、記憶装置３１に記憶されたデータを読み書きしたり、通信制御装置３９とデータを入出力したりして、中継装置３における処理を実行する。通信制御装置３９は、中継装置３が、他の通信装置１（送信装置２および受信装置４）と通信可能に接続するためのインタフェースである。
【００５９】
記憶装置３１は、中継プログラムを記憶するとともに、中継データ３２および受信再通知蓄積データ３３を記憶する。
【００６０】
中継データ３２は、中継部３７によって送信されるデータを保持するバッファである。中継データ３２は、例えばFIFO形式で送信される。中継データ３２は、図７に示すように、送信装置２から送信され受信装置４から受信通知が通知されていない対象データの代理通信、代理通信の完了通知等の各データを保有する。各データについて、所定の時間間隔かつ所定回数再送する場合、中継データ３２において、再送した回数や再送までの時間を計測するタイマーなどの情報が対応づけられても良い。
【００６１】
受信再通知蓄積データ３３は、受信再通知部３８によって送信されるデータを保持するバッファである。受信再通知蓄積データ３３は、図８に示すように、中継装置３が代理通信の完了通知を送信したものの、送信装置２から受信通知を受信していない代理通信の完了通知の各データを保有する。受信再通知蓄積データ３３の各データは、送信装置２が関連する対象データＴを再送した際に送信される。受信再通知蓄積データ３３の各データは、所定時間保持された後破棄され、図８に示すように、破棄されるまでの再送を待機する時間が関連づけられる。
【００６２】
受信再通知蓄積データ３３は、中継部３７によって、所定の時間間隔かつ所定回数再送しても受信通知を得られないデータを保持しても良い。また、受信再通知蓄積データ３３は、中継部３７によって所定回数再送されたか否かを問わず、受信通知を得られないデータを保持しても良い。
【００６３】
処理装置２５は、オーバーヒア処理部３６、中継部３７および受信再通知部３８を備える。
【００６４】
オーバーヒア処理部３６は、送信装置２が、受信装置４に向けて対象データＴを送信したことに対し、受信装置４が対象データＴを受信したことを示す受信通知が送信されないことを検知した場合、対象データを中継データ３２に格納する。オーバーヒア処理部３６は、送信装置２が受信装置４に向けてデータを送信した際に、そのデータを記憶装置３１に一時保存する。オーバーヒア処理部３６は、所定時間内に受信装置４がこのデータを受信したことを示す受信通知が送信されないことを検知すると、一時保存したデータを中継データ３２に格納し、中継部３７による代理通信に備える。
【００６５】
図９を参照して、オーバーヒア処理部３６によるオーバーヒア処理を説明する。
【００６６】
ステップＳ２０１においてオーバーヒア処理部３６は、受信可能領域で送受信される通信データを検知すると、ステップＳ２０２において、検知した通信データの種別を判定する。
【００６７】
検知した通信データが、送信装置２による対象データＴの再送に関する場合、ステップＳ２０３において受信再通知部３８に、対象データＴが再送された旨と、その対象データＴのシーケンス番号等を通知する。受信再通知部３８は、オーバーヒア処理部３６からの通知内容に従って、対象データＴが受信装置４によって受信されていることを把握する場合、対象データＴが受信装置４によって受信されている旨を送信装置２に通知する。オーバーヒア処理部３６は、検知した通信データが、例えばログ等を参照して、送信装置２による対象データＴの再送に関するか否かを判定する。
【００６８】
一方検知した通信データが、対象データＴの１回目の送信または代理通信の完了通知の場合、ステップＳ２０４に進む。ステップＳ２０４においてオーバーヒア処理部３６は、通信データに対する受信通知が送信されたか否かを判定する。受信通知が送信された場合、オーバーヒア処理部３６は処理を終了する。送信されなかった場合、オーバーヒア処理部３６は、ステップＳ２０５においてステップＳ２０１において検知した通信データを中継データ３２に格納して処理を終了する。中継データ３２に格納されたデータは、中継部３７によって代理通信される。
【００６９】
中継部３７は、中継データ３２に格納された対象データＴを、受信装置４に向けて代理通信し、受信装置４が対象データＴを受信したことを示す「通知」を受信すると、送信装置２に、通知を送信する。中継部３７は、受信装置４が対象データＴを受信したことを示す通知を受信しない場合、所定の時間間隔かつ所定回数、対象データＴの代理通信を繰り返しても良い。
【００７０】
本発明の実施の形態に示すように、第２の通信装置１ｂが、対象データＴの送信先である第４の通信装置１ｄと通信できない場合、中継部３７が受信する「通知」は、第３の通信装置１ｃ（他の中継装置）が送信する代理通信の完了通知である。第３の通信装置１ｃ（他の中継装置）は、第２の通信装置１ｂ（中継装置３）が対象データＴを代理通信したことに対し、第４の通信装置１ｄ（受信装置４）が対象データＴを受信したことを示す受信通知が送信されていないことを検知すると、第４の通信装置１ｄ（受信装置４）に対象データＴをさらに代理通信する。第３の通信装置１ｃは、第４の通信装置１ｄ（受信装置４）からさらなる代理通信で対象データＴを受信したことを示す受信通知を受信した際に、代理通信の完了通知を、第２の通信装置１ｂ（中継装置３）に送信する。
【００７１】
中継部３７は、さらに、第３の通信装置１ｃ（他の中継装置）が代理通信の完了通知を送信したことに対し、送信装置２が代理通信の完了通知を受信したことを示す受信通知が送信されていないことを検知した場合、第３の通信装置１ｃ（他の中継装置）が送信した代理通信の完了通知を代理通信する。中継部３７は、所定の時間間隔かつ所定回数、代理通信の完了通知の送信を繰り返し、送信装置２から受信通知を受信できなかった場合、受信再通知蓄積データ３３に、代理通信の完了通知を蓄積する。
【００７２】
図１０を参照して、中継部３７による中継処理を説明する。
【００７３】
まずステップＳ３０１において、オーバーヒア処理部３６によってオーバーヒアされたデータ種別によって処理を振り分ける。対象データＴの場合、ステップＳ３０２において中継部３７は、対象データＴを代理通信する。ステップＳ３０３において受信装置４から対象データＴの受信通知を受信しなかった場合、ステップＳ３０４において中継部３７は、対象データＴの再送を待機する。一方受信装置４から受信通知を受信した場合、ステップＳ３１１において中継部３７は、中継データ３２から対象データＴに関連するデータを破棄し、ステップＳ３２１に進む。
【００７４】
ステップＳ３２１において中継部３７は、送信装置２に、対象データＴの代理通信の完了通知を送信する。ステップＳ３２２において中継部３７は、ステップＳ３２１で送信した代理通信の完了通知に対して、送信装置２から受信通知を受信したか否かを判定する。送信装置２から受信通知を受信した場合、ステップＳ３２３において中継部３７は、代理通信の完了通知に関連するデータを破棄する。一方送信装置２から代理通知の完了通知を受信しない場合、ステップＳ３２４において中継部３７は、代理通信の完了通知の再送を待機する。
【００７５】
一方オーバーヒア処理部３６によってオーバーヒアされたデータ種別が代理通信の完了通知の場合、ステップＳ３１０において中継部３７は、中継データ３２に、代理通信の完了通知に対する対象データＴに関連するデータを有するか否かを判定する。代理通信の完了通知に対する対象データＴに関連するデータを有する場合、ステップＳ３１１において中継部３７は、中継データ３２から対象データＴに関連するデータを破棄し、ステップＳ３２１に進む。
【００７６】
ステップＳ３２１において中継部３７は、送信装置２に代理通信の完了通知を送信（代理通信）する。ここで送信される代理通信の完了通知は、他の中継装置が送信装置２宛に送信したが、送信装置２に受信されなかったデータである。ステップＳ３２２において、ステップＳ３２１で送信した代理通信の完了通知に対して送信装置２から受信通知を受信すると、ステップＳ３２３において、代理通信の完了通知に関連するデータを破棄する。一方送信装置２から代理通知の完了通知を受信しない場合、ステップＳ３２４において代理通信の完了通知の再送を待機する。
【００７７】
図１１を参照して、図１０のステップＳ３０４以降において、中継部３７が対象データＴを再送する処理を説明する。対象データＴは、所定の時間間隔で、所定の回数、再送される。
【００７８】
ステップＳ４０１において対象データＴの再送時間が到来していない場合、再送時間の到来を待機する。再送時間が到来した場合、ステップＳ４０２において中継部３７は、対象データＴを受信装置４に再送し、再送回数をカウントアップする。さらにステップＳ４０３において中継部３７は、ステップＳ４０２で送信した対象データＴについての受信通知または代理通信の完了通知を待機する。受信通知または代理通信の完了通知を受信すると、ステップＳ４０４において、送信装置２に、代理通信の完了通知を送信し、代理通信の完了通知に対する受信通知を待機する。ステップＳ４０５で送信装置２から受信通知を受信すると、ステップＳ４０６において対象データおよび代理通信の完了通知に関連するデータを破棄する。一方ステップＳ４０５において、送信装置２から代理通信の完了通知に対する受信通知を受信しない場合、ステップＳ４０７において中継部３７は、代理通信の完了通知の再送を待機する。
【００７９】
ステップＳ４０３において、ステップＳ４０２で送信した対象データＴの再送に対して受信装置４から受信通知を受信しない場合、ステップＳ４０８において中継部３７は、再送回数がオーバーしたか否かを判定する。オーバーしていない場合、中継部３７は、そのまま処理を終了し、次の再送時間の到来を待機する。オーバーした場合、ステップＳ４０９において中継部３７は、対象データおよび代理通信の完了通知に関連するデータを破棄して、処理を終了する。
【００８０】
図１２を参照して、図１０のステップＳ３２４以降および図１１のステップＳ４０７以降において、中継部３７が代理通信の完了通知を再送する処理を説明する。
【００８１】
ステップＳ５０１において代理通信の完了通知の再送時間が到来していない場合、再送時間の到来を待機する。再送時間が到来した場合、ステップＳ５０２において中継部３７は、送信装置２に代理通信の完了通知を再送し、再送回数をカウントアップする。さらにステップＳ５０３において中継部３７は、ステップＳ５０２で送信装置２に送信した代理通信の完了通知についての受信通知を待機する。受信通知を受信すると、ステップＳ５０４において中継部３７は、代理通信の完了通知に関連するデータを破棄する。
【００８２】
ステップＳ５０３において、ステップＳ５０２で送信した代理通信の完了通知についての受信通知を受信しない場合、ステップＳ５０５において中継部３７は、再送回数がオーバーしたか否かを判定する。再送回数がオーバーしていない場合、中継部３７は、そのまま処理を終了し、次の再送時間の到来を待機する。再送回数がオーバーした場合、ステップＳ５０６において中継部３７は、送信装置２に送信した代理通信の完了通知を受信再通知蓄積データ３３に格納して、処理を終了する。受信再通知蓄積データ３３に格納された代理通信の完了通知は、受信再通知部３８によって処理される。
【００８３】
受信再通知部３８は、送信装置２による対象データＴの再送が検知されると、送信装置２に、受信装置４が対象データＴを受信したことを示す「通知」を送信する。
【００８４】
中継装置３は、対象データＴの代理通信を行ったことに対し、受信装置４から受信通知を受信した場合、または他の中継装置から代理通信の完了通知を受信した場合、受信装置４が対象データＴを受信したことを把握することになる。本発明の実施の形態において、第２の通信装置１ｂ（中継装置３）は、第４の通信装置１ｄ（受信装置４）と通信することができないので、受信再通知部３８が送信する「通知」は、中継部３７が代理通信する代理通信の完了通知である。この代理通信の完了通知は、第３の通信装置１ｃ（他の中継装置）が第１の通信装置１ａ（送信装置２）に送信した代理通信の完了通知を、中継部３７が代理通信するものである。
【００８５】
受信再通知部３８は、受信再通知蓄積データ３３に含まれる複数の代理通信の完了通知のうち、再送された対象データとシーケンス番号およびエンドアドレスの２つのアドレスが共通する代理通信の完了通知の有無を確認する。
【００８６】
なお、代理通信の完了通知は、対象データの送信の返信になる。従って受信再通知部３８は、送信装置２が送信する対象データのエンドアドレスの送信元アドレスが、中継装置３が送信する代理通信の完了通知の宛先アドレスと一致するか否かを判定する。さらに受信再通知部３８は、送信装置２が送信する対象データのエンドアドレスの宛先アドレスが、中継装置３が送信する代理通信の完了通知の送信元アドレスと一致するか否かを判定する。
【００８７】
シーケンス番号と各アドレスが一致する場合、受信再通知部３８は、シーケンス番号等が共通する完了通知を送信装置２に送信する。一方共通する完了通知を有しない場合、受信再通知部３８は、送信装置２に完了通知を送信することなく、中継部３７によって代理通信されてもよい。本発明の実施の形態において、受信再通知部３８が、シーケンス番号とアドレスで、受信装置４が対象データＴを受信したことを示す「通知」を有するか否かを判定したが、これに限られない。例えば、受信再通知部３８は、シーケンス番号のみで判定しても良い。
【００８８】
受信再通知部３８は、対象データＴに関する受信通知または代理通信の完了通知を受領した後に、送信装置２による対象データＴの再送が検知されると、送信装置２に、受信装置４が対象データＴを受信したことを示す通知を送信する。なお、対象データＴに関する受信通知または代理通信の完了通知を受領する前に、送信装置２による対象データＴの再送を検知した場合、中継部３７が対象データＴの代理通信を行う。
【００８９】
中継部３７によって、送信装置２に代理通信の完了通知を送信して所定時間経過するまでに、オーバーヒア処理部３６によって、送信装置２による対象データＴの再送が検知された場合、受信再通知部３８は、送信装置２に、受信装置４が対象データＴを受信したことを示す通知を再送する。一方、中継部３７によって、送信装置２に代理通信の完了通知を送信して所定時間経過した後、オーバーヒア処理部３６によって、送信装置２による対象データＴの再送が検知されない場合、受信再通知部３８は、受信装置４が対象データＴを受信したことを示す通知に関連するデータを破棄する。中継部３７によって対象データＴに関連する代理通信の完了通知に対して受信確認を受領できない場合、代理通信の完了通知は、所定時間保持される。所定時間保持される間に送信装置２による対象データＴの再送が検知されない場合、受信再通知部３８は、代理通信の完了通知に関連するデータを破棄する。この場合送信装置２が、他の通信装置１から受信装置４が対象データＴを受信したことを示す通知を受信した、あるいは対象データＴの送信を断念したと、考えられる。
【００９０】
図１３を参照して、受信再通知部３８による受信再通知処理を説明する。図１３に示す処理は、図１２のステップＳ５０６に示す処理の後に実行される。
【００９１】
まずステップＳ６０１において、受信再通知部３８が送信装置２による対象データＴの再送を検知すると、ステップＳ６０２に進む。オーバーヒア処理部３６が周辺の通信を傍受し、送信装置２による対象データＴの再送を検知した場合、オーバーヒア処理部３６が受信再通知部３８に、対象データＴの再送を検知したことを通知しても良い。送信装置２による対象データＴの再送を検知することなく所定時間が経過すると、受信再通知部３８は、そのまま処理を終了する。このとき受信再通知部３８は、対象データＴに関連するデータを、受信再通知蓄積データ３３から削除する。
【００９２】
ステップＳ６０２において受信再通知部３８は、受信再通知蓄積データ３３に、再送が検知された対象データＴに関連する代理通信の完了通知を保持するか否かを判定する。受信再通知部３８は、受信再通知蓄積データ３３のうち、シーケンス番号等が共通する代理通信の完了通知を保持しているか否かを判定する。保持していない場合、受信再通知部３８は、そのまま処理を終了する。
【００９３】
保持している場合、ステップＳ６０３において受信再通知部３８は、ステップＳ６０２でシーケンス番号等が共通すると特定した代理通信の完了通知を、送信装置２に再送する。受信再通知部３８は、ステップＳ６０３で送信した代理通信の完了通知に対して、送信装置２から送信される受信通知を待機する。
【００９４】
ステップＳ６０４において、送信装置２から代理通信の完了通知に対する受信通知を受信した場合、ステップＳ６０５において受信再通知部３８は、ステップＳ６０３で送信した代理通信の完了通知に関連するデータを、受信再通知蓄積データ３３から破棄する。一方代理通信の完了通知を受信しない場合、ステップＳ６０６において受信再通知部３８は、ステップＳ６０３で送信した代理通信の完了通知の再送を待機する。受信再通知部３８が所定の時間間隔かつ所定回数、代理通信の完了通知を再送しても受信通知を受信しない場合、代理通信の完了通知は、受信再通知蓄積データ３３に再度格納される。その後受信再通知蓄積データ３３に所定時間蓄積される間、送信装置２から対象データＴの再送が検知されない場合、その対象データＴに関連する代理通信の完了通知に関連するデータは、受信再通知蓄積データ３３から破棄される。受信再通知蓄積データ３３に所定時間蓄積される間、送信装置２から対象データＴの再送が検知された場合、ステップＳ６０１以降の処理と同様に、代理通信の完了通知が、送信装置２に再送される。
【００９５】
なお本発明の実施の形態において、中継部３７が、送信装置２宛に代理通信の完了通知を所定の時間間隔かつ所定回数、再送しても、送信装置２から受信通知を受信できなかった後に、受信再通知部３８が、代理通信の完了通知を送信したが、これに限らない、例えば、中継部３７が、送信装置２宛に代理通信の完了通知を、所定の時間間隔かつ所定回数の再送を完了する前であっても、送信装置２による対象データＴの再送が検知された場合、受信再通知部３８が、代理通信の完了通知を送信しても良い。
【００９６】
このような本発明の実施の形態に係る通信システム５によれば、中継装置３が対象データＴを代理通信して、その対象データＴが受信装置４に受信されたことを示す通知を受信した後に、送信装置２が対象データＴを再送した場合、その通知を送信装置２に送信する。従来、再送された対象データＴが受信装置４に受信されたか否かに関わらず、中継装置３が対象データＴを代理通信するので、トラフィック量が増大する場合があった。これに対し本発明の実施の形態によれば、対象データＴが受信装置４に受信されている場合、その旨の通知を送信装置２に送信する。これにより本発明の実施の形態に係る通信システム５は、再送された対象データＴが受信装置４に受信されたか否かに関わらず、中継装置３が対象データＴを代理通信する状況を回避するので、トラフィック量の増大を回避することができる。
【００９７】
（変形例）
本発明の実施の形態において、第２の通信装置１ｂ（中継装置３）が第４の通信装置１ｄ（受信装置４）と直接通信できず、第３の通信装置１ｃ（他の中継装置）による代理通信により、第４の通信装置１ｄと通信する場合を説明したが、これに限られない。変形例において、第２の通信装置１ｂが、第４の通信装置１ｄと直接通信できる場合を説明する。
【００９８】
図１４に示す通信システム５’は、第１の通信装置１ａ、第２の通信装置１ｂおよび第４の通信装置１ｄを備える。図１４は、３つの通信装置を備えるが、通信装置の数はこれに限るものではない。
【００９９】
変形例に係る通信システム５’において第１の通信装置１ａは、第２の通信装置１ｂと通信可能であるが、第４の通信装置１ｄと通信できない。第２の通信装置１ｂは、第１の通信装置１ａおよび第４の通信装置１ｄと通信可能である。第４の通信装置１ｄは、第２の通信装置１ｂとは通信可能であるが、第１の通信装置１ａと通信できない。
【０１００】
このような状況において、第１の通信装置１ａが、第４の通信装置１ｄに対象データの送信を試みる場合、第１の通信装置１ａと第４の通信装置１ｄは、直接に通信できないので、第２の通信装置１ｂが、第１の通信装置１ａに代わって通信する（代理通信）。
【０１０１】
第１の通信装置１ａは、送信装置２として機能し、第４の通信装置１ｄは、受信装置４として機能する。変形例において第２の通信装置１ｂは、中継装置３’として機能し、図６等を参照して説明した中継装置３と同様の構成を有する。
【０１０２】
ただし、中継部３７が受信する、対象データＴが受信装置４に受信されたことを示す通知は、受信装置４が、中継部３７が対象データを受信したことを示す受信通知である。中継装置３’と受信装置４は通信可能であるので、中継部３７は、対象データの代理通信を受信装置４に送信し、受信装置４から代理通信に対する受信通知を受信した際に、受信装置４が、対象データを受信したことを把握する。
【０１０３】
また受信再通知部３８は、対象データの再送を検知した場合、中継装置３’が送信した代理通信が完了したことを示す代理通信の完了通知を、送信装置２に送信する。
【０１０４】
図１５を参照して、変形例に係る通信方法を説明する。
【０１０５】
まずステップＳ５１において第１の通信装置１ａは、対象データを第４の通信装置１ｄに向けて送信して、対象データの直接通信を試みる。第１の通信装置１ａは、対象データを送信した後、ステップＳ５２において、所定時間、対象データが第４の通信装置１ｄに受信されたことの通知を待機する。所定時間以内に第４の通信装置１ｄに受信されたことの通知を受信しない場合、第２の通信装置１ｂは、所定の時間間隔かつ所定回数、対象データを再送する。第１の通信装置１ａが待機する通知は、第１の通信装置１ａと第４の通信装置１ｄが通信可能な場合、第４の通信装置１ｄから受信する受信通知である。しかしながら変形例において第１の通信装置１ａと第４の通信装置１ｄは通信できないので、第２の通信装置１ｂが送信した代理通信の完了通知である。ここでは、後述のステップＳ６０まで、第１の通信装置１ａは、対象データが第４の通信装置１ｄに受信されたことの通知および再送を待機する。
【０１０６】
第２の通信装置１ｂは、オーバーヒアで、ステップＳ５１で対象データが送信されたことを検知し、ステップＳ５３において対象データの直接通信に対する受信通知＃１を監視する。
【０１０７】
第１の通信装置１ａと第４の通信装置１ｄは直接通信できないので、ステップＳ５４において、第１の通信装置１ａは、第４の通信装置１ｄから、ステップＳ５１の対象データの直接通信に対する受信通知＃１を取得することはできない。第２の通信装置１ｂは、受信通知＃１が送信されないことを検知すると、ステップＳ５５において、第４の通信装置１ｄに対して、対象データの代理通信＃１を行う。
【０１０８】
ステップＳ５６において第２の通信装置１ｂは、ステップＳ５５で送信した対象データＴの代理通信＃１に対して、受信通知＃２を受信すると、ステップＳ５７において、ステップＳ５５で送信した代理通信＃１のデータを破棄する。ステップＳ５８において、第１の通信装置１ａに、代理通信の完了通知＃１を送信する。第２の通信装置１ｂは、対象データの代理通信の完了通知＃１を送信した後、ステップＳ５９において、所定時間、対象データの代理通信の完了通知＃１が第１の通信装置１ａに受信されたことの通知を待機する。所定時間以内に第１の通信装置１ａに受信されたことの通知を受信しない場合、第２の通信装置１ｂは、所定の時間間隔かつ所定回数、対象データの代理通信の完了通知＃１を再送する。
【０１０９】
ここで通信環境の変化等により、第１の通信装置１ａが代理通信の完了通知＃１を受信できない場合、ステップＳ６０において第２の通信装置１ｂは、ステップＳ５８の代理通信の完了通知＃１に対する受信通知＃３を取得することはできない。
【０１１０】
一方、ステップＳ５２で、所定時間、対象データの再送または通知待ちであった第１の通信装置１ａが所定時間内に通知を受信しなかった場合、ステップＳ６１において第１の通信装置１ａは、対象データの再送を試みる。ステップＳ６２において第２の通信装置１ｂは、第１の通信装置１ａによる対象データの再送を検知すると、その対象データに関する代理通信の完了通知＃１を、第１の通信装置１ａに向けて再送する。
【０１１１】
このように、中継装置３’が送信装置２および受信装置４と直接通信可能であっても、中継装置３’が、送信装置２による対象データの再送を検知した場合、中継装置３’が送信した代理通信が完了したことを示す代理通信の完了通知を再送することができる。図１４に示す変形例に係る通信システム５’においても、本発明の実施の形態と同様に、トラフィック量の増大を回避することができる。
【０１１２】
（その他の実施の形態）
上記のように、本発明の実施の形態とその変形例によって記載したが、この開示の一部をなす論述および図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例および運用技術が明らかとなる。
【０１１３】
例えば、本発明の実施の形態に記載した通信装置は、図４または図６に示すように一つのハードウエア上に構成されても良いし、その機能や処理数に応じて複数のハードウエア上に構成されても良い。また、既存の処理装置上に実現されても良い。
【０１１４】
また本発明の実施の形態に係る通信システムは、アドホックネットワークを前提に説明したが、基地局と移動局で構成されるモバイルネットワーク等の他のネットワークに適用されても良い。
【０１１５】
なお、本発明の実施の形態および変形例において、「時間」、「時間間隔」、「回数」、「再送回数」等に「所定」が付されている場合がある。この「所定」は、「予め定められた」あるいは「予め定められた手順によって特定される」意味で用いられ、適宜適切な値が設定される。また、「所定」に共通する値が設定されることまでを意味するものではない。例えば、「所定時間」と記載された全ての箇所に、同じ時間が設定されるものではない。
【０１１６】
本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。従って、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【符号の説明】
【０１１７】
１  通信装置
２  送信装置
３  中継装置
４  受信装置
５  通信システム
２１、３１  記憶装置
２５、３５  処理装置
２６  送信部
２９、３９  通信制御装置
３２  中継データ
３３  受信再通知蓄積データ
３６  オーバーヒア処理部
３７  中継部
３８  受信再通知部
Ｔ  対象データ
【図１】
2020065222.tif 000003
【図２】
2020065222.tif 000004
【図３】
2020065222.tif 000005
【図４】
2020065222.tif 000006
【図５】
2020065222.tif 000007
【図６】
2020065222.tif 000008
【図７】
2020065222.tif 000009
【図８】
2020065222.tif 000010
【図９】
2020065222.tif 000011
【図１０】
2020065222.tif 000012
【図１１】
2020065222.tif 000013
【図１２】
2020065222.tif 000014
【図１３】
2020065222.tif 000015
【図１４】
2020065222.tif 000016
【図１５】
2020065222.tif 000017