説明

通信装置、通信システム及び通信方法

【課題】通信中における伝送遅延時間の変動及びデータの送信順序と到達順序の逆転が生じ難い通信システム及び通信方法を提供する。
【解決手段】通信システムは、互いにデータの送受信を行う第1の通信装置2及び第2の通信装置3と、第1の通信装置2と第2の通信装置3を接続する複数の通信経路を有する通信網4と、複数の通信経路のうち、少なくとも一つの通信経路について通信品質を評価する通信経路評価部11と、通信経路評価部11による通信品質の評価結果に基づいて、複数の通信経路から少なくとも一つの通信経路を選択する経路管理部12とを有する。そして係る通信システムにおいて、第1の通信装置2は、選択された少なくとも一つの通信経路を経由して第2の通信装置3へデータを送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本願は、通信装置、通信システム及び通信方法に関し、特に複数の通信経路を有する通信ネットワークを通じてデータを送受信する通信装置、通信システム及び通信方法に関する。
【背景技術】
【0002】
近年、様々な通信サービスを提供するために、データを複数のパケットに分割して送信するための通信ネットワークが利用されている。また、そのような通信サービスには、音声通話のような、リアルタイムでデータを継続的に通信することが要求されるリアルタイム通信サービスも含まれる。このような通信ネットワークでは、互いにデータの送受信を行う通信装置間で、通信中のデータが消失しないようにデータを伝送することが重要である。そこで、データの消失を避けるために、様々な通信品質を確保する方法が採用されている。例えば、そのような方法の一つとして、再送制御が知られている。再送制御は、一方の通信装置で受信できなかったと考えられるパケットが存在する場合、再度他方の通信装置からそのパケットを送信するものである。再送制御を用いることにより、通信中にパケットの消失が発生した場合でも、消失したパケットと同一の内容を含むパケットが再度送信されるので、通信中のデータの消失の可能性を低減できる。しかし、再送制御では、パケットの到達順序が送信順序と逆転したり、伝送遅延時間が大きく変動することがある。一方、リアルタイム通信サービスでは、パケットの送信順序と到達順序が逆転したり、伝送遅延時間が変動すると、通信装置が正確にデータを再現できないおそれがある。そのため、リアルタイム通信サービスに対して、再送制御を通信品質を確保するために使用することは困難である。
【0003】
また、他の方法として、優先制御が知られている。優先制御は、個々のパケットに対する優先度を規定し、通信ネットワークにおいてパケットを転送する中継ノードが、優先度の高いパケットほど優先的に転送処理を行うものである。しかし、パケットが輻輳したり、中継ノードに障害が発生した場合、パケットの消失または伝送遅延時間の変動を完全に防止することは困難であった。
【0004】
そこで、一方の通信装置が、同じ内容を含む複数のパケットを、それぞれ複数の物理的に分離した通信網を通じて送信し、他方の通信装置において受信したパケットから、正常と考えられるデータのみを抽出する方法が開発されている(例えば、特許文献1を参照)。
【0005】
【特許文献1】特開平5−160813号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に開示された方法を使用するためには、物理的に独立した複数の通信ネットワークを構築しなければならない。独立した複数の通信ネットワークを構築するためには、それぞれの通信ネットワークごとに伝送線、中継器などを準備しなければならず、ネットワークの構築及びメンテナンスに要する費用が非常に高くなる。また、構築された通信ネットワークの一部において障害が発生した場合には、伝送遅延時間の変動及び送信順序と到達順序の逆転を十分に防止できなくなるおそれがあった。
【0007】
そこで、本願は、通信中における伝送遅延時間の変動及びデータの送信順序と到達順序の逆転が生じ難い通信システム及び通信方法を提供することを課題とする。
【課題を解決するための手段】
【0008】
一つの実施形態によれば、通信システムが提供される。係る通信システムは、互いにデータの送受信を行う第1の通信装置及び第2の通信装置と、第1の通信装置と第2の通信装置を接続する複数の通信経路を有する通信網と、複数の通信経路のうち、少なくとも一つの通信経路について通信品質を評価する通信経路評価部と、通信経路評価部による通信品質の評価結果に基づいて、複数の通信経路から少なくとも一つの通信経路を選択する経路管理部とを有する。そして係る通信システムにおいて、第1の通信装置は、選択された少なくとも一つの通信経路を経由して第2の通信装置へデータを送信する。
【0009】
また、他の実施形態によれば、複数の通信経路を有する通信網を経由して他の通信装置とデータの送受信を行う通信装置が提供される。係る通信装置は、複数の通信経路のうち、少なくとも一つの通信経路について通信品質を評価する通信経路評価部と、通信経路評価部による通信品質の評価結果に基づいて、複数の通信経路から少なくとも一つの通信経路を選択する経路管理部と、選択された少なくとも一つの通信経路を経由して他の通信装置へデータを送信するデータ送信部とを有する。
【0010】
さらに他の実施形態によれば、通信経路管理装置が提供される。係る通信経路管理装置は、互いにデータの送受信を行う第1の通信装置と第2の通信装置を接続する通信網に含まれる複数の通信経路のうち、少なくとも一つの通信経路について通信品質を評価する通信経路評価部と、通信経路評価部による通信品質の評価結果に基づいて、複数の通信経路から第1の通信装置と第2の通信装置を接続する少なくとも一つの通信経路を選択する経路管理部とを有する。
【0011】
さらに他の実施形態によれば、互いにデータの送受信を行う第1の通信装置と第2の通信装置を接続する複数の通信経路を有する通信網を経由してデータを送信する通信方法が提供される。係る通信方法は、複数の通信経路のうち、少なくとも一つの通信経路について通信品質を評価し、通信品質の評価結果に基づいて、複数の通信経路から少なくとも一つの通信経路を選択し、第1の通信装置により、選択された少なくとも一つの通信経路を経由して第2の通信装置へデータを送信することを含む。
【発明の効果】
【0012】
本願に開示された通信システム及び通信方法は、通信中における伝送遅延時間の変動及びデータの送信順序と到達順序の逆転が生じ難いという効果を奏する。
【発明を実施するための最良の形態】
【0013】
以下、図を参照しつつ、一つの実施形態による通信システムについて説明する。
一つの実施形態による通信システムでは、互いにデータの送受信を行う複数の通信装置が、複数の通信経路を有する通信ネットワークで接続される。そして、通信システムは、それら複数の通信経路のうちの少なくとも一つの通信経路について通信品質を評価し、その評価結果に基づいて、少なくとも一つの通信経路を選択する。そして一方の通信装置は、選択された各通信経路に対して、同一のデータを含むパケットを送信する。他方の通信装置は、同一のデータを含むパケットを複数受信すると、そのうちの最初に受信したパケットを選択してそのパケットからデータを取得し、残りのパケットを廃棄する。
【0014】
図1は、一つの実施形態による通信システム1の概略構成図である。図1に示すように、通信システム1は、サーバ2とクライアントホスト3とを有する。そして、サーバ2とクライアントホスト3は、通信ネットワーク4を介して接続され、互いに通信可能となっている。また、通信ネットワーク4は、複数の中継ノード5−1、5−2、・・・、5−8を含む。各中継ノードは、他の中継ノードの何れか、あるいはサーバ2若しくはクライアントホスト3と伝送線にて接続され、接続された機器との間でデータを送受信可能となっている。例えば、中継ノード5−1は、サーバ2、中継ノード5−3及び5−5とデータを送受信できる。なお、伝送線は、有線のものに限られず、無線によりデータを伝送するものであってもよい。
【0015】
通信ネットワーク4は、例えば、TCP/IPなどの通信プロトコルにしたがって通信するために使用されるIPネットワークである。各中継ノードは、ルーティング機能を有する装置であり、例えば、ルータあるいはスイッチングハブで構成される。また各中継ノード5−1〜5−8には、それぞれIPアドレスa〜hが付与されている。そして各中継ノードは、サーバ2またはクライアントホスト3から送信されたパケットを受信すると、そのパケットに含まれる宛先情報と、中継ノード自身が有するルーティングテーブルを参照して、パケットを送り出すルートを決定する。
【0016】
サーバ2及びクライアントホスト3は、CPUなどの制御回路と、ROM、RAM、磁気ディスクなどのメモリと、TCP/IPなど所定の通信規格にしたがって他の機器と通信するための通信インターフェースと、その周辺回路を有する。さらに、サーバ2及びクライアントホスト3は、ビデオカメラあるいはマイクロフォンと接続され、それらの機器から動画像データあるいは音声データを取得するように構成されていてもよい。そして、サーバ2は、例えば、サービスプロバイダあるいはコンテンツプロバイダによって設置され、動画像データ、音声データなどのリアルタイムデータをクライアントホスト3からの要求にしたがって配信する。あるいは、サーバ2は、ウェブサーバ、ftpサーバなど、データを他の機器へ送信するサーバであってもよい。一方、クライアントホスト3は、例えば、家庭内に設置されたPCまたは回線終端装置であり、サーバ2に対して所定のデータ取得要求を送信する。またクライアントホスト3も、サーバ2に対して、動画像データまたは音声データなどのリアルタイムデータを送信してもよい。
【0017】
図2は、サーバ2及びクライアントホスト3の概略構成を示す図である。サーバ2及びクライアントホスト3は、それぞれ互いに対してデータを送受信する通信装置である。そして、サーバ2及びクライアントホスト3は、それぞれ、通信経路評価部11と、経路管理部12と、アプリケーション処理部13と、パケット複製/選択部14と、IPレイヤ処理部15とを有する。これらの各部は、サーバ2のCPU及びCPU上で実行されるプログラムによって実装される機能モジュールである。あるいは、上記の各部を、ファームウェアとして実装してもよい。またサーバ2は、通信インターフェース及びその周辺回路で構成されるパケットデータ送受信部16と、ROM、RAMあるいは磁気記録媒体及びそのアクセス装置などで構成される記憶部17を有する。
【0018】
上記のように、サーバ2及びクライアントホスト3は、データの送受信に関して同一の機能及び構成を有する。そこで、以下では、サーバ2についてのみ詳細に説明する。
【0019】
通信経路評価部11は、一方の通信装置(例えば、サーバ2)から他方の通信装置(例えば、クライアントホスト3)までの通信経路の通信品質を評価する。そのために、通信経路評価部11は、記憶部17に記憶された経路情報テーブルに予め登録された通信経路から、評価を行う通信経路を選択する。そして、通信経路評価部11は、例えば、インターネット制御通知プロトコル(以下、ICMPという)にしたがって、選択された各通信経路についてtracerouteコマンドを実行する。そして通信経路評価部11は、各通信経路について、パケットが一方の通信装置から送信されてから他方の通信装置で受信されるまでの伝送遅延時間、伝送遅延時間の変動幅、パケット消失率、パケット転送数などの経路品質情報を得る。また通信経路評価部11は、他の通信プロトコルまたは他の方法に基づいて、経路品質情報を得てもよい。そして通信経路評価部11は、得られた情報を各通信経路ごとに関連付けて、経路情報テーブルに記録する。
【0020】
また通信経路評価部11は、シンプルネットワークマネージメントプロトコル(以下、SNMPという)にしたがって、各通信経路上に存在する中継ノードから、その中継ノードにおける障害発生状況、パケットの送受信数、パケット破棄数、エラーパケット受信数などのノード品質情報を得てもよい。さらに、通信経路評価部11は、SNMP以外の通信プロトコルまたは他の方法に基づいて、各中継ノードにおけるノード品質情報を得てもよい。通信経路評価部11は、得られた情報を各中継ノードごとに関連付けて、ノード情報テーブルとして記憶部17に保存する。
【0021】
通信経路評価部11は、定期的に(例えば、6時間ごと、1日ごと、あるいは1週間ごと)、またはネットワーク構成の変更時もしくはネットワークのメンテナンス時に、各通信経路の品質を測定し、経路情報テーブル及びノード情報テーブルを更新する。なお、通信経路評価部11は、一度に全ての通信経路の通信品質を評価してもよく、あるいは、一部の通信経路ごとに順番に通信品質を評価してもよい。
【0022】
図3に、経路情報テーブルの例を示す。経路情報テーブル300は、各通信経路ごとに一つのデータセットを有する。図3において、このデータセットは、一つの行として表示される。そして、各データセットには、通信経路を識別するための経路識別子(以下、経路IDという)301、通信経路に含まれる中継ノードのIPアドレスを通過順に示した経路情報302、その通信経路について測定された伝送遅延時間303、伝送遅延時間の変動幅304、パケット消失率305、及び経路使用状況識別フラグ306が含まれる。なお、伝送遅延時間の変動幅304は、経路品質評価時に、評価対象とする通信経路に複数のパケットを送信して、各パケットについて伝送遅延時間を測定し、その伝送遅延時間の最短値と最長値の差として測定される。また、最新の経路品質評価時と、前回の経路品質評価時との伝送遅延時間の差として、その変動幅304を測定してもよい。さらに、その変動幅304を、過去数回の経路品質評価時における伝送遅延時間の標準偏差としてもよい。パケット消失率305は、送信したパケット数に対する未受信パケット数の比である。経路使用状況識別フラグ306は、対応する通信経路を使用するか否かを表し、例えば、その値が'1'のとき、対応する通信経路は使用されることを示し、その値が'0'のとき、対応する通信経路は使用されないことを表す。
例えば、経路情報テーブル300を参照すると、経路IDが#0の通信経路では、サーバ2→中継ノード5−1(IPアドレスa)→中継ノード5−3(IPアドレスc)→中継ノード5−6(IPアドレスf)→中継ノード5−8(IPアドレスh)→クライアントホスト3の順にパケットが転送されることが示されている。また、その通信経路の伝送遅延時間、伝送遅延時間変動幅、パケット消失率は、それぞれ30msec、10msec、1%であり、その通信経路は未使用(経路使用状況識別フラグ=0)であることが分かる。
【0023】
また図4に、ノード情報テーブルの例を示す。ノード情報テーブル400は、各中継ノードごとに一つのデータセットを有する。図4において、このデータセットは、一つの行として表示される。そして、各データセットには、中継ノードのIPアドレス401、障害発生の有無を表す障害発生情報402、所定期間内のパケット送受信数403、所定期間内のパケット破棄数404、所定期間内のエラーパケット受信数405が含まれる。なお、障害発生情報は、例えばその値が'1'のとき、対応する中継ノードに障害が発生していることを示し、その値が'0'のとき、対応する中継ノードに障害が発生していないことを表す。また、上記の所定期間は、例えば、対象となる中継ノードについて、品質評価がされた時点における最新の1分間、1時間、あるいは1日間とすることができる。
【0024】
なお、通信装置間の通信経路は、例えば、初期設定時、ネットワーク構成の変更時もしくはネットワークのメンテナンス時に、手動で設定され、経路情報テーブルに書き込まれる。あるいは、通信経路評価部11が、既知のルーティングプロトコルを用いて通信装置間の通信経路を自動的に探索し、新たな通信経路を発見する度に、経路情報テーブルに追加してもよい。
【0025】
経路管理部12は、通信経路評価部11による各通信経路の通信品質の評価結果に基づいて、使用する通信経路を選択する。そのために、経路管理部12は、記憶部17から経路情報テーブル及びノード情報テーブルを読み込む。そして、経路管理部12は、経路情報テーブル又はノード情報テーブルを参照して、伝送遅延時間が短く、かつ伝送遅延時間の変動が少ない通信経路を使用する通信経路として選択する。あるいは、経路管理部12は、パケットが消失する確率が小さい通信経路を使用する通信経路として選択してもよい。
【0026】
図5及び図6のフローチャートを参照しつつ、経路選択手順の一例を示す。以下の例では、データの送信元をサーバ2とし、データの送信先をクライアントホスト3として説明する。まず、図5に示すように、通信経路評価部11は、経路情報テーブルを参照して、サーバ2とクライアントホスト3とを結ぶ全ての通信経路を抽出する(ステップS101)。次に、通信経路評価部11は、抽出された各通信経路の品質を評価し、その評価結果を示す伝送遅延時間、パケット消失率などの経路品質情報を経路情報テーブルに書き込む(ステップS102)。また、通信経路評価部11は、何れかの通信経路に含まれる全ての中継ノードから、障害発生状況などのノード品質情報を取得し、ノード情報テーブルに書き込む(ステップS103)。なお、通信経路の経路品質情報及び中継ノードのノード品質情報の取得については上述したとおりである。
次に、経路管理部12は、ノード情報テーブルを参照し、障害の発生している中継ノードを抽出する(ステップS104)。そして、経路管理部12は、障害の発生している中継ノードがあれば、抽出された通信経路から、障害の発生している中継ノードを含む通信経路を除外する(ステップS105)。
【0027】
ステップS104において、障害の発生している中継ノードが存在しない場合、あるいはステップS105の後、経路管理部12は、ノード情報テーブルを参照し、パケット送受信数に占めるエラーパケットの受信数の割合を示すエラーパケット受信率が所定の閾値Th1を超えている中継ノードを抽出する(ステップS106)。なお、この所定の閾値Th1は、要求されるサービスによって決定され、例えば、5%などの値に設定される。エラーパケット受信率の高い中継ノードが存在する場合、その中継ノードに対してパケットを直接送信している他の中継ノードが不正なパケットを多く送信していると考えられる。あるいは、エラーパケット受信率の高い中継ノードを含む何れかの通信経路において、パケットエラー(若しくはビットエラー)が多く発生していると考えられる。そこで経路管理部12は、エラーパケット受信率が所定数を超えている中継ノードがあれば、その中継ノードに対してパケットを直接送信している中継ノードを特定する(ステップS107)。経路管理部12は、SNMPを利用して、エラーパケット受信率が所定数を超えている中継ノードから、その中継ノードのルーティングテーブルを取得することにより、その特定を行うことができる。そして経路管理部12は、抽出された通信経路から、特定された中継ノードを含む通信経路を除外する(ステップS108)。
【0028】
図6に示すように、ステップS106において、エラーパケット受信率が所定の閾値Th1を超えている中継ノードが存在しない場合、あるいはステップS108の後、経路管理部12は、ノード情報テーブルを参照し、正常パケット送受信数に占める破棄パケット数の割合を示す破棄パケット率が所定の閾値Th2を超えている中継ノードを抽出する(ステップS109)。なお、正常パケット送受信数は、所定期間内におけるパケット送受信数から、その期間内におけるエラーパケット受信数を除いた数である。また所定の閾値Th2は、要求されるサービスによって決定され、例えば、5%などの値に設定される。破棄パケット率が高い中継ノードでは、その中継ノードの処理負荷が高くなっていると考えられる。そのため、そのような中継ノードを経由しない通信経路を選択する方が好ましい。そこで、経路管理部12は、抽出された通信経路から、破棄パケット率が閾値Th2を超える中継ノードを含む通信経路を除外する(ステップS110)。
【0029】
ステップS109において、破棄パケット率が所定の閾値Th2を超えている中継ノードが存在しない場合、あるいはステップS110の後、経路管理部12は、経路情報テーブルを参照して、伝送遅延時間の変動幅が所定時間Th3よりも大きい通信経路を除外する(ステップS111)。このような通信経路を除外することにより、パケットの送信順と到達順が逆転する可能性を低くすることができる。なお、所定時間Th3は、パケットの送信順と到着順が逆転しないことが推定される時間、例えば、その通信経路の伝送遅延時間の50%に相当する時間とすることができる。
【0030】
そして、経路管理部12は、除外されずに残った通信経路のうち、伝送遅延時間が短い方から順に、所定数の通信経路を、使用する通信経路として選択する(ステップS112)。なお、上記の所定数、すなわち、使用する通信経路の数は、通信サービスに応じて適宜設定され、最小数は1である。また、要求される通信品質が高くなるほど、上記の所定数は大きくなる。最後に経路管理部12は、選択された通信経路に対応する経路情報テーブルの経路使用状況識別フラグの値を、その通信経路が使用されることを示す値に書き換える(ステップS113)。
【0031】
また、上記のステップS104〜111において、ステップS101で抽出された全ての通信経路が除外された場合、経路管理部12は、上記の閾値Th1又はTh2の少なくとも一方を高くするか、所定時間Th3を大きくして再度ステップS104〜S111の処理を実行してもよい。あるいは、通信経路評価部11は、例えば既知の様々なルーティングプロトコルを用いて、経路情報テーブルに挙げられていない新規な通信経路を検索し、上記のステップS102〜S113の処理を実行してもよい。さらに、経路管理部12は、必ず経由しなければならない中継ノード(例えば、図1の例における中継ノード5−8)については、上記のステップS107及びS109の処理の対象から外してもよい。
【0032】
さらに、経路管理部12は、経路情報テーブルまたはノード情報テーブルに記載された何れか一部の情報のみを用いて、使用する通信経路を選択してもよい。例えば、経路管理部12は、上記のステップS101で抽出された通信経路のうち、障害の発生している中継ノードを含まない全ての通信経路を使用する通信経路として選択してもよい。あるいは、経路管理部12は、上記のステップS101で抽出された通信経路のうち、単純に伝送遅延時間が短い方から順に所定数の通信経路を、使用する通信経路として選択してもよい。さらにまた、経路管理部12は、通信経路の選択基準として、上述したものに加え、あるいは上述したものの代わりに、別の選択基準を用いてもよい。例えば、経路管理部12は、上記のステップS101で抽出された通信経路のうち、パケット消失率が低い方から順に所定数の通信経路を、使用する通信経路として選択してもよい。
【0033】
さらに、各通信経路の品質情報について、過去の評価結果を表す履歴情報も記録されている場合、経路管理部12は、その履歴情報も参照して使用する通信経路を選択してもよい。例えば、経路管理部12は、パケット消失率が前回の品質評価時よりも高い通信経路を、使用する通信経路から除外するようにしてもよい。また、経路管理部12は、過去数回の品質評価時におけるパケット消失率が、安定して低い(例えば、0.01%未満)通信経路を、優先的に使用する通信経路として選択してもよい。あるいは、経路管理部12は、過去数回の品質評価時の伝送遅延時間の平均値が低い方から順に、優先的に使用する通信経路として選択してもよい。
【0034】
アプリケーション処理部13は、サーバ2に実装されているアプリケーションからデータ送信要求があったとき、そのデータをパケット複製/選択部14へ送る。また逆に、サーバ2がクライアントホスト3からデータを受信した場合、アプリケーション処理部13は、パケット複製/選択部14において選択されたパケットに含まれるデータを、パケット複製/選択部14から受け取る。そして、サーバ2に実装されているアプリケーションへそのデータを通知する。
【0035】
パケット複製/選択部14は、複製部141と選択部142を有する。このうち、複製部141は、サーバ2がデータを送信する際、アプリケーション処理部13から受け取ったデータを、記憶部17に記憶されている経路情報テーブルの経路使用状況識別フラグを参照して、使用状態となっている通信経路の数だけ複製する。そして複製部141は、複製された各データに、データの内容を識別するためのシーケンス番号を付与する。複製部141は、複製された各データに対して同一のシーケンス番号を付与する。すなわち、同一内容を持つデータに対して、同一のシーケンス番号が付与される。一方内容の異なるデータには、異なるシーケンス番号が付与される。また複製部141は、使用状態となっている各通信経路の経路IDを、それぞれ複製されたデータに関連付ける。
そして複製部141は、各複製データ及び関連情報(シーケンス番号、経路識別子)をIPレイヤ処理部15へ送る。
【0036】
一方、パケット複製/選択部14の選択部142は、サーバ2が通信ネットワーク4を通じてパケットを受信した際に、重複して受信したパケットから一つのパケットを選択する。そして選択部142は、選択したパケットに含まれるデータをアプリケーション処理部13に渡す。例えば、選択部142は、同一内容のデータを含む複数のパケットのうち、最も早く受信したパケットのみを選択する。そのために、選択部142は、パケットを受信すると、パケット内に含まれるシーケンス番号を参照し、そのシーケンス番号を、選択部142に記憶されているシーケンス番号と比較する。受信したパケットに含まれたシーケンス番号が、選択部142に記憶されているシーケンス番号の何れとも一致しない場合、選択部142は、そのパケットに含まれるデータをアプリケーション処理部13へ渡す。そして選択部142は、受信したパケットに含まれたシーケンス番号を、既にそのパケットを受信したことを示すために記憶する。
【0037】
一方、受信したパケットに含まれたシーケンス番号が、選択部142に記憶されているシーケンス番号の何れかと一致する場合、選択部142は、そのパケットを廃棄する。なお、選択部142は、受信したパケットに含まれたシーケンス番号の照合を短時間で行うために、記憶している各シーケンス番号について、所定の条件を満たしたシーケンス番号を消去する。例えば、選択部142は、同一のシーケンス番号を有するパケットを、使用された通信経路の数と同数受信すると、そのシーケンス番号を消去する。また、同一の内容を含むデータを有するパケットのうち、最初のパケットを受信してから一定期間経過すると、選択部142は、そのパケットに対応するシーケンス番号を消去する。その一定期間は、例えば、使用された各通信経路について測定された伝送遅延時間のうち、最も長いものと等しい期間か、その最も長い伝送遅延時間に所定のマージンを加えた値(例えば、10msecなどの固定値を加えた値、あるいは上記の最も長い伝送遅延時間に1.1などの係数を乗じた値)とすることができる。このようにシーケンス番号を消去する条件を決定するために、サーバ2は、データの送信に使用された通信経路の伝送遅延時間などの情報を、データの送信元であるクライアントホスト3から予め取得する。
【0038】
また、選択部142は、別の選択基準に基づいて、重複して受信したパケットから一つのパケットを選択してもよい。例えば、選択部142は、後続のデータを含むパケットが到達するまでに、同一のデータを含むパケットを複数受信した場合、それらのパケットの中からエラービットの発生率が最も低いパケットを選択して、そのパケットからデータを取得するようにしてもよい。
【0039】
IPレイヤ処理部15は、サーバ2がデータを送信する場合、パケット複製/選択部14より送信すべきデータを受け取ると、IPプロトコルにしたがってデータを送信できるように、そのデータをパケット化する。そして、IPレイヤ処理部15は、パケットに所定のヘッダ情報を書き込む。IPレイヤ処理部15は、IPv4にしたがってデータを送信する場合、そのデータを含む各パケットのソース・ルーティング・オプションの領域に、そのデータと関連付けられた経路IDに対応する経路情報を書き込む。また、IPv6にしたがってデータを送信する場合、IPレイヤ処理部15は、そのデータを含む各パケットのルーティング・ヘッダの領域に、そのデータと関連付けられた経路IDに対応する経路情報を書き込む。このように、パケットのヘッダ情報の所定の領域に経路情報を書き込むことにより、サーバ2は、その経路情報に示される通信経路に沿ってパケットを送信することができる。さらに、IPレイヤ処理部15は、例えばパケットのデータ領域の先頭あるいは終端に、送信するデータに関連付けられたシーケンス番号を書き込む。IPレイヤ処理部15は、作成したパケットをパケットデータ送受信部16を介して通信ネットワーク3へ送出する。
【0040】
一方、サーバ2が通信ネットワーク3からパケットデータ送受信部16を介してパケットを受信した場合、IPレイヤ処理部15は、IPプロトコルにしたがってパケットからヘッダ情報を取り除き、そのパケットをパケット複製/選択部14へ送る。
【0041】
以下、データ送信手順を、図7に示したフローチャートを参照しつつ説明する。なお、以下の手順は、サーバ2からクライアントホスト3へデータを送信するものとして説明する。しかし、以下の手順は、クライアントホスト3からサーバ2へデータを送信する場合にも同様に適用される。
まず、アプリケーション処理部13にデータ送信要求が通知されると、アプリケーション処理部13は、送信すべきデータをパケット複製/選択部14へ送る(ステップS201)。パケット複製/選択部14の複製部141は、アプリケーション処理部13からデータを受け取ると、経路情報テーブルを参照して、経路管理部12で決定された使用通信経路の数だけデータを複製する(ステップS202)。なお、使用する通信経路は、例えば、図5及び図6に示した手順にしたがって予め決定される。そして複製部141は、複製されたデータのそれぞれに、それらのデータが通るべき通信経路に対応する経路ID及びデータの同一性を示すシーケンス番号を付す(ステップS203)。各複製データは、IPレイヤ処理部15に渡される。
【0042】
次に、IPレイヤ処理部15は、複製データごとに、付された経路IDに対応する経路情報を経路情報テーブルから取得する(ステップS204)。そして、IPレイヤ処理部15は、IPプロトコルにしたがって、複製データごとにそれぞれパケットを作成し、パケットのヘッダ情報の所定領域に経路情報を書き込み、パケットのデータ領域の所定位置にシーケンス番号を書き込む(ステップS205)。そして、IPレイヤ処理部15は、パケットデータ送受信部16を介して、クライアントホスト3へ各パケットを送信する(ステップS206)。
【0043】
また、データ受信手順を、図8に示したフローチャートを参照しつつ説明する。なお、以下の手順は、クライアントホスト3がサーバ2からデータを受信するものとして説明する。しかし、以下の手順は、サーバ2がクライアントホスト3からデータを受信する場合にも同様に適用される。
まず、クライアントホスト3は、サーバ2から通信ネットワーク4を介してパケットを受信すると、IPレイヤ処理部15において、受け取ったパケットからヘッダ情報を除去し、パケット複製/選択部14へそのパケットを渡す(ステップS301)。パケット複製/選択部14の選択部142は、受け取ったパケットに含まれるシーケンス番号を、自身が記憶しているシーケンス番号の何れかと一致するか否か照合する(ステップS302)。そして、受け取ったパケットに含まれるシーケンス番号が、選択部142が記憶しているシーケンス番号の何れとも一致しない場合、選択部142は、そのパケットに含まれるデータをアプリケーション処理部13に送る(ステップS303)。そして選択部142は、そのパケットに含まれるシーケンス番号を記憶する(ステップS304)。
【0044】
一方、ステップS302において、受け取ったパケットに含まれるシーケンス番号が、選択部142が記憶しているシーケンス番号の何れかと一致する場合、選択部142は、そのパケットを廃棄する(ステップS305)。
【0045】
以上説明してきたように、一つの実施形態に係る通信システムは、データを送信する前に、複数の通信経路を含む通信ネットワークのうちの少なくとも一つの通信経路の通信品質を評価し、その評価結果に基づいて、最適な通信経路を一つ以上選択する。そして、一方の通信装置は、選択された各通信経路に同一内容のデータを含むパケットをそれぞれ送信する。また、他方の通信装置は、同一内容のデータを含むパケットを複数受信すると、そのうちの最も早く受信したパケットを選択してデータを取得し、他のパケットを廃棄する。そのため、通信途中におけるパケットの消失、伝送遅延時間の変動、及びパケットの送信順序と到着順序の逆転などの可能性を低減できる。したがって、係る通信システムは、音声通話サービス、ライブ映像配信サービスなどのリアルタイム通信サービスに好適に用いることができる。
【0046】
以上、一つの実施形態に係る通信システムについて説明してきたが、本発明は上記の実施形態に限定されるものではない。例えば、上記の通信システムに含まれるサーバ及びクライアントホストの数は、それぞれ1台に限られない。そして、サーバ同士、あるいはクライアントホスト同士で通信する場合にも、上記と同様に、通信経路の経路品質が評価され、その結果に基づいて選択された通信経路を介して、データの送受信が行われる。また、データの送受信を行う一組の通信装置のうちの一方、例えば、サーバだけが上記の構成及び機能を有し、他方の通信装置は公知のものであってもよい。さらに、中継ノードの数及び通信ネットワークの構成も、上記の実施形態に限られない。
【0047】
また、上記の実施形態においてサーバ及びクライアントホストに含まれる通信経路評価部及び経路管理部は、サーバ及びクライアントホストと独立して設置され、通信ネットワークに接続される通信経路管理装置が有していてもよい。
図9に、サーバとクライアントホストから独立して通信経路管理装置を設置した場合の通信システム10の構成図を示す。なお、図9において、上記の実施形態と同一の機能を有するものには、上記の実施形態において使用した参照番号と同一の参照番号を付した。図9に示す通信システム10において、通信経路管理装置9は、例えば、CPUなどの制御回路と、ROM、RAM、磁気ディスクなどのメモリと、TCP/IPなど所定の通信規格にしたがって他の機器と通信するための通信インターフェースと、その周辺回路を有する。そして、上述した手順に従い、サーバ2とクライアントホスト3間の通信経路を通信経路評価部11で評価し、経路管理部12で最適な通信経路を選択する。なお、通信ネットワーク4に接続されたサーバ2とクライアントホスト3が複数存在する場合、それらのうちの何れか二つを互いにデータの送受信を行う通信装置として、それぞれ最適な通信経路が選択される。そして通信経路管理装置9は、複数のサーバ2及びクライアントホスト3から選択された二つの通信装置の組み合わせごとに、それらの通信装置のアドレスと関連付けて、選択された経路情報を記憶しておく。一方、サーバ2及びクライアントホスト3は、予め通信経路管理装置9のアドレスを記憶しておく。そして、データを送信しようとするサーバ2又はクライアントホスト3は、自身のアドレス及び通信の相手となる通信装置のアドレスを通信経路管理装置9に通知して、最適な通信経路を問い合わせる。そして、通信経路管理装置9は、通知された通信装置の組み合わせに該当する経路情報を、問い合わせを行ったサーバ2又はクライアントホスト3へ返信する(さらに、通信経路管理装置9は、通信の相手となる通信装置にもその経路情報を通知してもよい)。そして、サーバ2又はクライアントホスト3は、通信経路管理装置9から通知された経路情報に基づいて、データを送信する。なお、通信経路管理装置9とサーバ2又はクライアントホスト3を、通信ネットワーク4とは独立に設置された通信線により接続してもよい。さらに、通信経路管理装置9の機能を、通信ネットワークに含まれる何れかの中継ノードが有していてもよい。
【0048】
さらに、別の実施形態として、上記の通信経路管理装置9が通信経路評価部11を有し、サーバ2及びクライアントホスト3が経路管理部12を有していてもよい。この場合には、通信経路管理装置9は、サーバ2とクライアントホスト3間の通信経路を通信経路評価部11で評価し、その評価結果である経路品質情報及びノード品質情報を記憶する。一方、サーバ2及びクライアントホスト3は、通信に使用する通信経路を選択するために、通信の相手となる通信装置までの通信経路に関する経路品質情報及びノード品質情報を、通信経路管理装置9から取得する。
【0049】
以上のように、当業者は、本発明の範囲内で、実施される形態に合わせて様々な変更を行うことができる。
【0050】
以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。
(付記1)
互いにデータの送受信を行う第1の通信装置(2)及び第2の通信装置(3)と、
前記第1の通信装置(2)と第2の通信装置(3)を接続する複数の通信経路を有する通信網(4)と、
前記複数の通信経路のうち、少なくとも一つの通信経路について通信品質を評価する通信経路評価部(11)と、
前記通信経路評価部による通信品質の評価結果に基づいて、前記複数の通信経路から少なくとも一つの通信経路を選択する経路管理部(12)とを有し、
前記第1の通信装置(2)は、前記選択された少なくとも一つの通信経路を経由して前記第2の通信装置(3)へデータを送信する通信システム。
(付記2)
前記経路管理部(12)は、前記複数の通信経路のうち、少なくとも二つの通信経路を選択し、前記第1の通信装置(2)は送信しようとするデータを該選択された通信経路の数だけ複製するデータ複製部(14)を有し、かつ、前記第1の通信装置(2)は該選択された全ての通信経路に対して前記複製されたデータを送信する、付記1に記載の通信システム。
(付記3)
前記第2の通信装置(3)は、前記選択された通信経路のうちの少なくとも二つから別個に前記複製されたデータを受信した場合、該受信した複製されたデータのうち、最初に受信したデータを選択し、他のデータを廃棄する、付記2に記載の通信システム。
(付記4)
前記通信品質の評価結果は、前記第1の通信装置(2)から前記第2の通信装置(3)へのデータ転送に要する伝送遅延時間を含み、前記経路管理部(12)は、該伝送遅延時間が短い方から順に少なくとも一つの通信経路を選択する、付記1に記載の通信システム。
(付記5)
前記通信網(4)は、前記複数の通信経路のうち、データが伝送される経路を切り替える中継ノード(5−1、..、5−8)を複数有し、前記通信経路評価部(11)は、該複数の中継ノード(5−1、..、5−8)のうちの少なくとも一つに関する通信状態を評価して、該通信状態を表すノード品質情報を前記通信品質の評価結果として取得し、前記経路管理部(12)は、該ノード品質情報に基づいて前記複数の通信経路から少なくとも一つの通信経路を選択する、付記1に記載の通信システム。
(付記6)
前記ノード品質情報は、前記複数の中継ノード(5−1、..、5−8)のうちの何れかの中継ノードにおいて通信障害が発生しているか否かを示す障害情報を含み、前記経路管理部(12)は、該障害情報を参照して、前記複数の通信経路から通信障害が発生している中継ノードを含まない少なくとも一つの通信経路を選択する、付記1に記載の通信システム。
(付記7)
前記ノード品質情報は、前記複数の中継ノード(5−1、..、5−8)のうちの何れかの中継ノードにおける不正なデータの受信数を含み、前記経路管理部(12)は、該受信数が所定数より多い場合、前記複数の中継ノードのうち、該受信数が所定数より多い中継ノードへデータを送信する中継ノードを含まない少なくとも一つの通信経路を前記複数の通信経路から選択する、付記1に記載の通信システム。
(付記8)
前記通信品質の評価結果は、伝送遅延時間の変動幅を含み、前記経路管理部(12)は、前記複数の通信経路から、該伝送遅延時間の変動幅が所定時間以下の通信経路を少なくとも一つ選択する、付記1に記載の通信システム。
(付記9)
複数の通信経路を有する通信網を経由して他の通信装置(3)とデータの送受信を行う通信装置(2)であって、
前記複数の通信経路のうち、少なくとも一つの通信経路について通信品質を評価する通信経路評価部(11)と、
前記通信経路評価部(11)による通信品質の評価結果に基づいて、前記複数の通信経路から少なくとも一つの通信経路を選択する経路管理部(12)と、
前記選択された少なくとも一つの通信経路を経由して前記他の通信装置(3)へデータを送信するデータ送信部(16)と、
を有する通信装置。
(付記10)
互いにデータの送受信を行う第1の通信装置(2)と第2の通信装置(3)を接続する通信網(4)に含まれる複数の通信経路のうち、少なくとも一つの通信経路について通信品質を評価する通信経路評価部(11)と、
前記通信経路評価部(11)による通信品質の評価結果に基づいて、前記複数の通信経路から前記第1の通信装置(2)と第2の通信装置(3)を接続する少なくとも一つの通信経路を選択する経路管理部(12)と、
を有する通信経路管理装置(9)。
(付記11)
互いにデータの送受信を行う第1の通信装置(2)と第2の通信装置(3)を接続する複数の通信経路を有する通信網(4)を経由してデータを送信する通信方法であって、
前記複数の通信経路のうち、少なくとも一つの通信経路について通信品質を評価し、
前記通信品質の評価結果に基づいて、前記複数の通信経路から少なくとも一つの通信経路を選択し、
前記第1の通信装置(2)により、前記選択された少なくとも一つの通信経路を経由して前記第2の通信装置(3)へデータを送信することを含む通信方法。
(付記12)
前記通信経路の選択は、前記複数の通信経路のうち少なくとも二つの通信経路を選択し、かつ、前記データの送信は、送信しようとするデータを該選択された通信経路の数だけ複製し、該選択された全ての通信経路に対して前記複製されたデータを送信する、付記11に記載の通信方法。
(付記13)
前記第2の通信装置(3)が前記選択された通信経路のうちの少なくとも二つから別個に前記複製されたデータを受信した場合、該受信した複製されたデータのうち、最初に受信したデータを選択し、他のデータを廃棄することをさらに含む、付記12に記載の通信方法。
(付記14)
前記通信品質の評価結果は、前記第1の通信装置(2)から前記第2の通信装置(3)へのデータ転送に要する伝送遅延時間を含み、前記通信経路の選択は、該伝送遅延時間が短い方から順に少なくとも一つの通信経路を選択する、付記11に記載の通信方法。
(付記15)
前記通信網(4)は、前記複数の通信経路のうち、データが伝送される経路を切り替える中継ノード(5−1、..、5−8)を複数有し、
前記通信品質の評価は、前記複数の中継ノード(5−1、..、5−8)のうちの少なくとも一つに関する通信状態を評価して、該通信状態を表すノード品質情報を前記通信品質の評価結果として取得し、
前記通信経路の選択は、該ノード品質情報に基づいて前記複数の通信経路から少なくとも一つの通信経路を選択する、付記11に記載の通信方法。
(付記16)
前記ノード品質情報は、前記複数の中継ノード(5−1、..、5−8)のうちの何れかの中継ノードにおいて通信障害が発生しているか否かを示す障害情報を含み、前記通信経路の選択は、該障害情報を参照して、前記複数の通信経路から通信障害が発生している中継ノードを含まない少なくとも一つの通信経路を選択する、付記11に記載の通信方法。
(付記17)
前記ノード品質情報は、前記複数の中継ノード(5−1、..、5−8)のうちの何れかの中継ノードにおける不正なデータの受信数を含み、前記通信経路の選択は、該受信数が所定数より多い場合、前記複数の中継ノードのうち、該受信数が所定数より多い中継ノードへデータを送信する中継ノードを含まない少なくとも一つの通信経路を前記複数の通信経路から選択する、付記11に記載の通信方法。
(付記18)
前記通信品質の評価結果は、伝送遅延時間の変動幅を含み、前記通信経路の選択は、前記複数の通信経路から、該伝送遅延時間の変動幅が所定時間以下の通信経路を少なくとも一つ選択する、付記11に記載の通信方法。
【図面の簡単な説明】
【0051】
【図1】本発明の一実施形態による通信システムの概略構成図である。
【図2】本発明の一実施形態で使用されるサーバの概略構成図である。
【図3】経路情報テーブルの一例を示す図である。
【図4】ノード情報テーブルの一例を示す図である。
【図5】経路選択手順の一例を示すフローチャートである。
【図6】経路選択手順の一例を示すフローチャートである。
【図7】データを送信する手順の一例を示すフローチャートである。
【図8】データを受信する手順の一例を示すフローチャートである。
【図9】本発明の他の実施形態による通信システムの概略構成図である。
【符号の説明】
【0052】
1、10 通信システム
2 サーバ
3 クライアントホスト
4 通信ネットワーク
5−1、5−2、・・・、5−8 中継ノード
9 通信経路管理装置
11 通信経路評価部
12 経路管理部
13 アプリケーション処理部
14 パケット複製/選択部
141 複製部
142 選択部
15 IPレイヤ処理部
16 パケットデータ送受信部
17 記憶部

【特許請求の範囲】
【請求項1】
互いにデータの送受信を行う第1の通信装置及び第2の通信装置と、
前記第1の通信装置と第2の通信装置を接続する複数の通信経路を有する通信網と、
前記複数の通信経路のうち、少なくとも一つの通信経路について通信品質を評価する通信経路評価部と、
前記通信経路評価部による通信品質の評価結果に基づいて、前記複数の通信経路から少なくとも一つの通信経路を選択する経路管理部とを有し、
前記第1の通信装置は、前記選択された少なくとも一つの通信経路を経由して前記第2の通信装置へデータを送信する通信システム。
【請求項2】
複数の通信経路を有する通信網を経由して他の通信装置とデータの送受信を行う通信装置であって、
前記複数の通信経路のうち、少なくとも一つの通信経路について通信品質を評価する通信経路評価部と、
前記通信経路評価部による通信品質の評価結果に基づいて、前記複数の通信経路から少なくとも一つの通信経路を選択する経路管理部と、
前記選択された少なくとも一つの通信経路を経由して前記他の通信装置へデータを送信するデータ送信部と、
を有する通信装置。
【請求項3】
互いにデータの送受信を行う第1の通信装置と第2の通信装置を接続する複数の通信経路を有する通信網を経由してデータを送信する通信方法であって、
前記複数の通信経路のうち、少なくとも一つの通信経路について通信品質を評価し、
前記通信品質の評価結果に基づいて、前記複数の通信経路から少なくとも一つの通信経路を選択し、
前記第1の通信装置により、前記選択された少なくとも一つの通信経路を経由して前記第2の通信装置へデータを送信することを含む通信方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2009−177739(P2009−177739A)
【公開日】平成21年8月6日(2009.8.6)
【国際特許分類】
【出願番号】特願2008−16836(P2008−16836)
【出願日】平成20年1月28日(2008.1.28)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】