JP4172522B1 - マルチキャスト配信システム及びマルチキャスト配信方法 - Google Patents

マルチキャスト配信システム及びマルチキャスト配信方法 Download PDF

Info

Publication number
JP4172522B1
JP4172522B1 JP2007105211A JP2007105211A JP4172522B1 JP 4172522 B1 JP4172522 B1 JP 4172522B1 JP 2007105211 A JP2007105211 A JP 2007105211A JP 2007105211 A JP2007105211 A JP 2007105211A JP 4172522 B1 JP4172522 B1 JP 4172522B1
Authority
JP
Japan
Prior art keywords
multicast
distribution
router
tree
communication
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
JP2007105211A
Other languages
English (en)
Other versions
JP2008263449A (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.)
Yamaha Corp
Original Assignee
Yamaha Corp
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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP2007105211A priority Critical patent/JP4172522B1/ja
Priority to PCT/JP2008/057381 priority patent/WO2008133124A1/ja
Priority to US12/450,710 priority patent/US8089905B2/en
Priority to EP20080740466 priority patent/EP2136510A1/en
Priority to CN2008800117037A priority patent/CN101658001B/zh
Application granted granted Critical
Publication of JP4172522B1 publication Critical patent/JP4172522B1/ja
Publication of JP2008263449A publication Critical patent/JP2008263449A/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/121Shortest path evaluation by minimising delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】マルチキャストグループが要求する通信特性を満たす通信経路を選択して、マルチキャスト配信を行うことができるマルチキャスト配信システムを提供する。
【解決手段】複数のルータRが接続されたメッシュ仮想網において、ルータRsは、アプリケーションに応じたマルチキャストグループに対してマルチキャスト配信を行う。ルータRsは、CPU負荷率及びマルチキャストグループの通信特性(帯域幅、通信遅延)が閾値を超えると、ルータRsからパケットを配信するマルチキャストツリーの枝数と深さとを更新して、マルチキャストツリーの再構築を開始する。ルータRsは、マルチキャストツリーの構築時、メッシュ仮想網の経路特性(帯域幅、通信遅延)を参照して、経路特性に余裕のある通信経路を優先的に選択する。ルータRsは、マルチキャストツリーに基づいて、ルーティングテーブル10を生成する。
【選択図】図1

Description

この発明は、メッシュ仮想網におけるパケットのマルチキャスト配信システム及びその方法に関する。
従来、マルチキャストパケットを配信する際に、PIM−SM(Protocol Independent Multicast−Sparse Mode)、PIM−DM(Protocol Independent Multicast−Dence Mode)、DVMRP(Distance Vector Multicast Routing Protocol)等のマルチキャストルーティングプロトコルを用いて、マルチキャストツリーを構築し、パケットの配信に利用している。これらのマルチキャストルーティングプロトコルは、通信遅延を短縮するために、最短ホップ数の経路を構築している(特許文献1参照)。
特許文献1の仮想マルチキャストネットワーク方法及びそのシステムでは、マルチキャスト配信をサポートしないネットワーク網において、仮想マルチキャストルータを用いて、上述したPIM−SM、PIM−DM、DVMRP等のマルチキャストルーティングプロトコルにより、パケット配信する方法が記載されている。
特表2004−531143号公報
しかしながら、メッシュ仮想網において、PIM−SM、PIM−DM、DVMRP等のマルチキャストルーティングプロトコルを用いると、配信元のルータから、全ルータに対して、パケットを送信するようになるため、配信元のルータに負荷がかかる。また、アプリケーションソフトウェア(以下、アプリケーションと称す。)に応じて構成されるマルチキャストグループ(パケットの配信先)毎に要求する帯域幅や遅延量等が異なる。
そこで、この発明は、アプリケーションに応じて構成されるマルチキャストグループ毎に、その特性を満たすように、配信順序を決定するマルチキャストツリーを生成し、このマルチキャストツリーに基づいてデータ配信を行うマルチキャスト配信システム及びマルチキャスト配信方法を提供することを目的とする。
この発明のマルチキャスト配信システムは、メッシュ仮想網上に形成されたマルチキャスト網を構成する複数の配信先ルータに、配信元ルータからマルチキャスト配信を行うマルチキャスト配信システムであって、前記配信元ルータは、該配信元ルータのCPU負荷率と前記マルチキャスト網に構成されたマルチキャストグループの通信特性と前記メッシュ仮想網の経路特性とを監視・検出する第1の監視手段と、前記CPU負荷率の閾値と前記マルチキャストグループの通信特性の閾値とを記憶する記憶手段と、前記第1の監視手段が検出したCPU負荷率と前記記憶手段に記憶されたCPU負荷率の閾値との比較結果、及び前記第1の監視手段が検出したマルチキャストグループの通信特性と前記記憶手段に記憶されたマルチキャストグループの通信特性の閾値との比較結果の少なくとも一方と、前記第1の監視手段が検出した前記メッシュ仮想網の経路特性と、に基づいて、該配信元ルータからパケットを配信するマルチキャストツリーの再構築を開始し、さらに、このマルチキャストツリーに基づいてマルチキャスト配信の経路を決定するためのルーティングテーブルの再生成を開始する第1の制御手段と、を備えることを特徴とする。
この構成では、配信元ルータは、マルチキャスト網に構成されるマルチキャストグループの複数の配信先ルータにマルチキャスト配信を行う。また、マルチキャスト網は、メッシュ仮想網上に形成される。配信元ルータは、配信元ルータのCPU負荷率とマルチキャストグループの通信特性とメッシュ仮想網の経路特性とを監視する。このマルチキャストグループの通信特性とは、帯域幅及び通信遅延の少なくとも一方を含み、マルチキャストグループのパケットを監視して算出される。このメッシュ仮想網の経路特性は、帯域幅及び通信特性の少なくとも一方を含み、メッシュ仮想網上を流れるパケットを監視して算出される。更に、配信元ルータは、CPU負荷率とマルチキャストグループの通信特性とを記憶する。加えて、配信元ルータは、CPU負荷率と閾値との比較結果、及びマルチキャストグループの通信特性と閾値との比較結果の少なくとも一方と、メッシュ仮想網の経路特性と、に基づいて、マルチキャストツリーの再構築を開始する。配信元ルータは、構築したマルチキャストツリーに基づいてルーティングテーブルを再生成する。これにより、配信元のルータの負荷状況と、マルチキャストグループの通信特性と、メッシュ仮想網の経路特性とに応じて、マルチキャスト配信の経路を選択することができる。このため、マルチキャストグループが要求する通信特性を満たす通信経路を選択して、マルチキャスト配信を行うことができる。また、パケットの配信数の増加等により、配信元ルータに負荷がかかったとしても、配信元ルータのCPU負荷率を一定値(閾値)以下に保つことができる。更に、メッシュ仮想網上を流れるパケット数の増加等により、メッシュ仮想網上の一部の仮想経路に通信遅延等が発生したとしても、余裕のある経路を選択してマルチキャスト配信することで、通信遅延等を発生せずにマルチキャスト配信することができる。このように、配信元ルータの負荷の減少やメッシュ仮想網を構成する実網の帯域負荷を低減することができるので、配信元ルータや実網のハードウェア設備の投資を行わずに、マルチキャスト配信のスケーラビリティを確保することができる。
また、この発明のマルチキャスト配信システムは、前記配信元ルータの第1の制御手段は、前記第1の監視手段が監視するCPU負荷率及び前記第1の監視手段が監視するマルチキャストグループの通信特性の少なくとも一方の値が該閾値を超えた場合は、マルチキャストツリーの枝数と深さとを変更し、このマルチキャストツリーの枝数と深さとに基づいて、マルチキャストツリーの再構築を開始することを特徴とする。
この構成では、配信元ルータは、CPU負荷率及びマルチキャストグループの通信特性の少なくとも一方が閾値を超えている場合は、マルチキャストツリーの枝数と深さとを変更する。配信元ルータは、マルチキャストツリーの枝数と深さとに基づいて、マルチキャストツリーの再構築を開始する。これにより、配信元ルータから全ての配信先ルータに直接マルチキャストパケットを配信せずに、配信先ルータを経由してマルチキャストパケットの配信を行う。このため、配信元ルータにかかる負荷を確実に分散することができる。
更に、この発明のマルチキャスト配信システムは、前記配信先ルータの各々は、前記メッシュ仮想網の経路特性を監視する第2の監視手段と、パケットの配信を指示する配信情報を配信及び受信する通信手段と、前記配信情報に含まれるマルチキャストツリーの枝数と深さと、前記第2の監視手段により取得した前記メッシュ仮想網の経路特性と、に基づいて、該配信元ルータからパケットを配信するマルチキャストツリーの再構築を進め、このマルチキャストツリーに基づいてマルチキャスト配信の経路を決定するルーティングテーブルの再生成を進める第2の制御手段と、を備え、前記配信元ルータの第1の制御手段は、すべての配信先ルータのルーティングテーブルの再生成が完了した時に前記マルチキャストツリーを完成させることを特徴とする。
この構成では、配信先ルータの各々は、マルチキャストツリーの枝数と深さとに基づいて、自装置からのパケットの配信経路を決定するマルチキャストツリーの再構築を進める。また、配信先ルータは、メッシュ仮想網の経路特性を監視し、メッシュ仮想網の経路特性に基づいて、パケットの配信経路を決定する。配信先ルータは、構築したマルチキャストツリーに基づいてルーティングテーブルの再生成を進める。また、マルチキャストツリーは、全ての配信先ルータのルーティングテーブルの再生成が完了すると完成する。これにより、配信先ルータのメッシュ仮想網の経路特性を考慮して、余裕のある通信経路を選択するように、配信先ルータからのパケットの配信経路を決定することができる。このため、配信先ルータは、自装置からマルチキャストパケットを配信する、メッシュ仮想網を構成する実網の帯域負荷を低減することができるので、実網のハードウェア設備の投資を行わずに、マルチキャスト配信のスケーラビリティを確保することができる。
加えて、この発明のマルチキャスト配信システムは、前記配信元ルータの記憶手段は、該配信元ルータの第1の監視手段が最初に検出した前記マルチキャストグループの通信特性をマルチキャストグループの通信特性の閾値として記憶することを特徴とする。
この構成では、マルチキャストグループの通信特性の閾値に、マルチキャストグループの最初に検出した通信特性を用いる。これにより、マルチキャスト配信時に、マルチキャストグループ毎にマルチキャストグループの通信特性の閾値を自動で設定することができる。このため、マルチキャストグループ毎に要求する通信特性に応じたルーティングテーブルを自動で生成することができる。
また、この発明のマルチキャスト配信システムは、前記配信元ルータの第1の制御手段は、マルチキャスト配信時にマルチキャストツリーを再構築するか否かを予め設定したタイミング毎に判断することを特徴とする。
この構成では、予め設定したタイミング毎に、例えば、時間やパケットの送信数等に応じて、マルチキャストツリーを再構築するか否かの判断を行う。これにより、マルチキャスト配信時に、ルータの負荷状態や、マルチキャストグループを形成するマルチキャスト網の帯域幅や通信遅延の変化に対応して、動的にマルチキャストツリーを再構築することができる。例えば、マルチキャスト配信中に、ルータに負荷がかかったり、マルチキャストグループの仮想経路上のパケット数が増加したりした場合等に対応して、動的にマルチキャストツリーを再構築することができる。このため、マルチキャストグループが要求する通信特性を満たす経路を常に選択して、マルチキャスト配信を行うことができる。
この発明のマルチキャスト配信方法は、メッシュ仮想網上に形成されたマルチキャスト網を構成する複数の配信先ルータに、配信元ルータからマルチキャスト配信を行うマルチキャスト配信方法であって、前記配信元ルータは、該配信元ルータのCPU負荷率と前記マルチキャスト網に構成されたマルチキャストグループの通信特性と前記メッシュ仮想網の経路特性とを監視・検出し、記憶手段に記憶している前記CPU負荷率の閾値と前記マルチキャストグループの通信特性の閾値とを読み出し、該CPU負荷率及び該マルチキャストグループの通信特性の少なくとも一方の値が前記CPU負荷率の閾値及び該マルチキャストグループの通信特性の閾値を超えた場合は、マルチキャストツリーの枝数と深さとを変更し、このマルチキャストツリーの枝数と深さと、前記メッシュ仮想網の経路特性に基づいて、該配信元ルータからパケットを配信するマルチキャストツリーの再構築を開始し、さらに、このマルチキャストツリーに基づいてマルチキャスト配信の経路を決定するためのルーティングテーブルの再生成を開始することを特徴とする。
本発明によれば、配信元ルータの負荷状況及びマルチキャストグループの通信特性に応じて、マルチキャストツリーを再構築するので、マルチキャストグループが要求する通信特性を満たす通信経路を選択して、マルチキャスト配信を行うことができる。
図1は、メッシュ仮想網に接続された複数のルータ間のマルチキャスト配信に関する説明図である。メッシュ仮想網に接続された複数のルータR(Rs,R1〜R5)は、それぞれが通信機器(パーソナルコンピュータ、携帯電話等)PC(PCs,PC1〜PC5)に接続されている。ルータRsは、自装置に接続された通信機器PCsからマルチキャスト配信を行うアプリケーションのパケットを受信すると、自装置から他のルータR1〜R5に対してマルチキャスト配信を行う。ルータRsは、アプリケーションに応じたマルチキャストグループを生成する。このマルチキャストグループは、マルチキャスト網上に形成され、マルチキャストパケットの配信先アドレス(ルータR1〜R5)から構成される。このマルチキャスト網は、メッシュ仮想網上に形成され、配信元ルータRsから配信先ルータR1〜R5へのマルチキャストパケットの通信経路を形成する網のことである。
ルータRsからのマルチキャスト配信時、ルータRsは、予め設定されたタイミング毎に、自装置のCPU負荷率とCPU負荷率の閾値、及びマルチキャストグループの通信特性とマルチキャストグループの通信特性の閾値を比較する。ここで、自装置のCPU負荷率とは、ルータRsのCPUの負荷率である。CPU負荷率の閾値とは、ユーザが予め設定したCPU負荷率の閾値である。また、マルチキャストグループの通信特性とは、定期的に測定され、マルチキャストグループの帯域幅及び通信遅延の少なくとも一方を含む。マルチキャストグループの通信特性の閾値とは、マルチキャストグループの帯域幅及び通信遅延の少なくとも一方を含み、本実施形態では、最初に測定されたマルチキャストグループの通信特性である。
なお、マルチキャストグループの通信特性が帯域幅又は通信遅延のみの場合は、マルチキャストグループの通信特性の閾値は、帯域幅の閾値又は通信遅延の閾値のことである。マルチキャストグループの通信特性が帯域幅と通信遅延との場合は、マルチキャストグループの通信特性の閾値は、帯域幅の閾値と通信遅延の閾値のことである。
ルータRsは、CPUの負荷率がCPUの負荷率の閾値以下の場合で、且つマルチキャストグループの通信特性がマルチキャストグループの通信特性の閾値以下の場合は、既存のルーティングテーブルを参照してマルチキャストパケットを配信する。また、ルータRsは、CPU負荷率がCPU負荷率の閾値を超えた場合、又はマルチキャストグループの通信特性がマルチキャストグループの通信特性の閾値を超えた場合は、マルチキャストツリーの枝数と深さとを変更し、この変更した内容と、メッシュ仮想網の経路特性に基づいてマルチキャストツリーの再構築を開始する、さらに、ルーティングテーブルの再生成を開始する。
ルータRsよりマルチキャストツリーの再構築を開始するとは、ルータRsからパケットを次に配信するルータRまでのツリーを作成することであり、後述のように、各配信先ルータRにおいてもツリーの再構築が進んでいき、全部の配信先ルータRにおいて、ツリーの再構築が行われると、同ツリーが完成することとなる。また、ルーティングテーブルの再生成を開始するとは、ルータRsからパケットを次に配信するルータRまでのツリーに基づいて、次に配信するルータRのアドレスをルーティングテーブルに登録することであり、後述のように、各配信先ルータRにおいても、ルーティングテーブルの再生成が進んでいき、全部の配信先ルータRにおいて、ルーティングテーブルの再生成が完了すると、マルチキャストツリーが完成する。このマルチキャストツリーの内容がルータRsのルーティングテーブルに反映されると、各ルータRs,Rのルーティングテーブルが完成することとなる。
また、マルチキャストツリーとルーティングテーブルを完成するために必要なメッシュ仮想網の経路特性は、マルチキャストグループの通信特性とは別に測定され、メッシュ仮想網の帯域幅と通信遅延との少なくとも一つを含む。
上記のようにしてマルチキャストツリーとルーティングテーブルが完成すると、ルータRsは、再生成したルーティングテーブルに基づいて、マルチキャストパケットを配信する。これにより、ルータRsは、マルチキャストグループが要求する通信特性を満たさない場合は、配信元ルータであるルータRsと配信先ルータであるルータRとにより、そのマルチキャストグループの通信特性に適応するマルチキャストツリーとルーティングテーブルを自動的に作成し、このルーティングテーブルを使用して、マルチキャストパケットの配信を行う。例えば、閾値を超えた場合には、ルータRsにおいてマルチキャストツリーの再構築とルーティングテーブルの再生成が開始され、それらの再構築と再生成が完了すると、ルータRsから他のルータR1〜R5に、次の順序でマルチキャストパケットが配信される。
まず、ルータRsは、ルータR1,R5にパケットを配信する。次に、パケットを受信したルータR1は、ルータR2,R3にパケットを配信し、ルータR5はルータR4にパケットを配信する。このように、ルータRsを頂点ノードとして、他のルータR1〜R5を仮想的にツリー状に配置して、親ノードに設定されたルータ(ルータR1,R5)から子ノードに設定されたルータ(ルータR2,R3,R4)へと順にパケットを配信する。これにより、ルータRsは、ルータR1〜R5の全部に対して、マルチキャストパケットを配信することができる。このように、マルチキャストグループにおいて要求されるルータRsのCPU負荷率が大きい場合や、マルチキャストグループの通信特性が閾値を超えた場合に、マルチキャストツリーの再構築とルーティングテーブルの再作成を行うことにより、ルータRsからルータR1〜R5にパケットが直接配信されないようになるため、ルータRsのCPUの負荷を減少することができる。
次に、ルータRの構成について、図2を参照して説明する。図2は、ルータRの構成を示すブロック図である。ルータRsと他のルータR1〜R5とは、構成において略同一であり、以下の説明では、ルータRsを代表して説明し、相違点について、両者の異なる部分が分かるように説明する。図2に示すように、ルータRsは、ルーティングテーブル(Table_new)10、インタフェース部11、フォワーディングエンジン12、監視部13、探索用データベース(以下、探索用DBと称す。)14、ルーティングテーブル管理部15から構成される。
ルーティングテーブル(Table_new)10は、パケットの宛先となるネットワークアドレスと、使用するネットワークインタフェースとからなるエントリを複数記憶する。このルーティングテーブル10は、ルータRsが他のルータR1〜R5にパケットを送信する際に、後述するフォワーディングエンジン12に参照される。具体的には、フォワーディングエンジン12は、ルーティングテーブル10が記憶するエントリに、パケットの宛先が該当するか否かを調べ、該当すると、該当するエントリのネットワークインタフェースから、ネットワークアドレスを持つルータRにパケットを送信する。また、フォワーディングエンジン12は、パケットの宛先がこれらのエントリに該当しない場合は、デフォルトゲートウェイに設定されているルータRへパケットを送信する。
インタフェース部11は、メッシュ仮想網を構成する実網とのインタフェース部分で、実網と接続され、データの送受信を行う。詳述すると、インタフェース部11は、後述するフォワーディングエンジン12からパケットが入力されると、実網へパケットを出力し、実網からパケットが入力されるとフォワーディングエンジン12へ出力する。
フォワーディングエンジン(請求項の通信手段に該当する。)12は、ルーティングテーブル10を参照して、インタフェース部11を介して、他のルータR1〜R5等とデータの送受信を行う。また、フォワーディングエンジン12は、ルーティングテーブル10の再生成時、ルーティングテーブル10の再生成に必要なリスト情報(宛先リスト、次宛先リスト、マルチキャストツリー(以下、ツリーと称す。)の枝数及び深さ)を、インタフェース部11を介して他のルータR1〜R5と送受信する。
詳述すると、フォワーディングエンジン12は、インタフェース部11からパケットが入力されると、ルーティングテーブル10を参照して、パケットの宛先(送信先のルータR)を取得する。フォワーディングエンジン12は、入力されたパケットを、インタフェース部11を介して送信先ルータRへ出力する。この際、フォワーディングエンジン12は、インタフェース部11へ出力するパケット量に応じて、優先順位の低いパケットを破棄する。
また、フォワーディングエンジン12は、ルーティングテーブル10の再生成時、他のルータR1〜R5からリスト情報が入力されると、後述するルーティングテーブル管理部15へ出力する。フォワーディングエンジン12は、ルーティングテーブル管理部15からリスト情報が入力されると、ルーティングテーブル管理部15から指示されたルータRへリスト情報を出力する。
ルータRsにおいては、監視部(請求項の監視手段に該当する。)13は、インタフェース部11を介して、マルチキャストグループの通信特性とメッシュ仮想網の経路特性とを定期的に測定し、後述する探索用DB14へ出力する。また、監視部13は、自装置のCPU負荷率を測定して、後述するルーティングテーブル管理部15へ出力する。他のルータR1〜R5においては、監視部13は、メッシュ仮想網の経路特性のみを定期的に測定する。
マルチキャストグループの通信特性とは、マルチキャスト網上に形成されたマルチキャストグループのパケットを監視して算出される帯域幅と通信遅延との少なくとも一つを含む特性である。メッシュ仮想網の経路特性とは、メッシュ仮想網上を流れるパケットを監視して算出される帯域幅と通信遅延との少なくとも一つを含む特性である。したがって、マルチキャストグループの通信特性とメッシュ仮想網の経路特性とは異なった値である。すなわち、前者は、マルチキャスト網上に流れるマルチキャストグループのマルチキャストパケットに基づいて算出され、後者は、メッシュ仮想網上を流れるマルチキャストパケットやユニキャストパケット等に基づいて算出される。
図3は、探索用データベース(以下、DBという)の構成を示している。ルータRsにおいては、探索用DB(請求項の記憶手段に該当する。)14は、CPU負荷率閾値テーブル(以下、CPU閾値テーブルと称す。)、マルチキャストグループの通信特性閾値テーブル(以下、通信特性閾値テーブルと称す。)、メッシュ仮想網の経路特性テーブル(以下、経路特性テーブルと称す。)、マルチキャストグループの通信特性テーブル(以下、通信特性テーブルと称す。)を備える。また、他のルータR1〜R5においては、探索用DB14は、経路特性テーブルのみを備える。なお、以下の説明では、マルチキャストグループの通信特性及びメッシュ仮想網の経路特性は、それぞれ帯域幅と通信遅延とを含むものとする。
CPU閾値テーブルには、ルータRsのCPU負荷率の閾値が登録される。このCPU負荷率の閾値は、ユーザによって設定される。マルチキャスト配信を行うルータRsは、自装置のCPU負荷率が閾値を超えると、ツリーの再構築を開始し、ルーティングテーブル10の再生成を開始する。先に述べたように、ルータRsよりマルチキャストツリーの再構築を開始するとは、ルータRsからパケットを次に配信するルータRまでのツリーを作成することであり、後述のように、各配信先ルータRにおいてもツリーの再構築が進んでいき、全部の配信先ルータRにおいて、ツリーの再構築が行われると、同ツリーが完成することとなる。また、ルーティングテーブル10の再生成を開始するとは、ルータRsからパケットを次に配信するルータRまでのツリーに基づいて、ルーティングテーブル10に次に配信するルータRのアドレスを登録することであり、後述のように、各配信先ルータRにおいても、ルーティングテーブル10の再生成が進んでいき、全部の配信先ルータRにおいて、ルーティングテーブルの再生成が完了すると、ツリーの再構築が完了する。
通信特性閾値テーブルには、マルチキャストグループが要求する帯域幅と通信遅延とをマルチキャストグループの通信特性の閾値として登録される。本実施形態では、マルチキャストグループの通信特性の閾値は、マルチキャスト配信時に、監視部13(ルータRsの)により最初に測定されたマルチキャストグループの通信特性が閾値として登録される。これにより、マルチキャストグループ毎に、マルチキャストグループの通信特性の閾値を自動で設定することができる。
経路特性テーブルには、メッシュ仮想網の帯域幅と通信遅延とが定期的に登録される。このメッシュ仮想網の経路特性は、自装置から他のルータR1〜R5への仮想経路毎に測定されて登録される。この特性値は、監視部13により定期的に更新される。ルータRsは、この経路特性テーブルに登録されているメッシュ仮想網の経路特性に基づいて余裕のある通信経路を選択して、ルータRsにおけるルーティングテーブル10を生成する。他のルータR1〜R5においても、同様に、経路特性テーブルを定期的に更新し、そのテーブルに登録されているメッシュ仮想網の経路特性に基づいて余裕のある通信経路を選択して、ルータR1〜R5におけるルーティングテーブル10を生成する。
通信特性テーブルは、マルチキャストグループの帯域幅と通信遅延とが登録される。このマルチキャストグループの通信特性は、自装置からマルチキャストグループ内の他のルータR1〜R5への仮想経路毎に登録され、監視部13により定期的に更新される。このマルチキャストグループの通信特性は、上記CPU負荷率と同様に、ツリーを再構築するか否かの判断値として用いられる。具体的には、マルチキャストグループの通信特性が閾値を超えた時、ツリーの再構築が開始される。マルチキャストグループの通信特性が閾値を超えない場合は、ツリーの再構築は行われず、既存のルーティングテーブル10をそのまま用いて、マルチキャスト配信を行う。
なお、以上の説明では、配信元ルータであるルータRsが図3に示す探索用DB14を備え、配信先ルータである他のルータR1〜R5が図3に示す探索用DB14内の経路特性テーブルのみを備えるものとしているが、他のルータR1〜R5のいずれかが配信元ルータになった場合には、当然にそのルータが図3に示す探索用DB14を備えることになる。
ルーティングテーブル管理部(請求項の制御手段に該当する。)15は、ルーティングテーブル10の作成と、ルーティングテーブル10の再生成とを行う。ルーティングテーブル10の再生成時、ルーティングテーブル管理部15は、CPU負荷率とその閾値に基づいて、又はマルチキャストグループの通信特性とその閾値に基づいて、ツリーの枝数と深さとを決定し、メッシュ仮想網の経路特性に基づいてルーティングテーブル10の再作成を開始する。
詳述すると、ルーティングテーブル管理部15は、マルチキャストグループの作成時、一般的な方法でデフォルトのルーティングテーブル10を作成する。一般的な方法では、ルーティングテーブル管理部15は、マルチキャスト配信を行うルータRsから他のルータR1〜R5へのホップ数を算出し、パケットが最短ホップ数の経路を通過するようにマルチキャスト配信を行うデフォルトのルーティングテーブル10を作成する。メッシュ仮想網において、このデフォルトのルーティングテーブル10を利用すると、マルチキャスト配信を行うルータRsから他のルータR1〜R5へ直接パケットが配信される。
また、ルーティングテーブル管理部15は、予め設定されたタイミングで、ツリーの再構築が必要か否か、すなわち、ルーティングテーブル10の再生成が必要か否かを判断し、必要な場合はルーティングテーブル10の再生成を行う。ルーティングテーブル10の再生成が必要か否かの判断は、ルーティングテーブル管理部15により、自装置のCPU負荷率、マルチキャストグループの通信特性が閾値を超えるか否かにより判断される。ルーティングテーブル管理部15は、自装置のCPU負荷率又はマルチキャストグループの帯域幅が閾値を超える場合は、ツリーの枝数を半分に設定する。マルチキャストグループの帯域幅が閾値を超えるとは、マルチキャストグループの帯域幅が閾値より狭くなることをいう。また、マルチキャストグループの通信遅延が閾値を超える場合は、ツリーの深さを1段深く設定する。ルーティングテーブル管理部15は、設定したツリーの枝数と深さ、及び、仮想網の経路特性に基づいてツリーの再構築を開始する。
ツリーの再構築が必要であるが否かの判断は、配信元のルータRsからマルチキャスト配信を行う最初のタイミングで行われるが、さらに、その後のタイミングで同様の判断を行うことができる。そのタイミングは、ユーザにより設定されたり、マルチキャストグループ毎に自動で設定されたりする。例えば、10秒毎、1分毎のように時間で設定されたタイミング、パケットの配信数が100パケット毎、1000パケット毎のようにパケットの配信数で設定されたタイミング、パケットを配信する都度のようなタイミング等が設定される。
更に、ルーティングテーブル管理部15は、ルーティングテーブル10を予め設定されたタイミングでリセットする。つまり、ルーティングテーブル管理部15は、ツリーを再構築するか否かを、例えば10回、20回判断したタイミング毎に、ツリーを例えば5回、10回再構築したタイミング毎に、ルーティングテーブル10を一般的な方法で再生成する。これにより、ルータRを通過するパケットが一時的に増加し、枝数が少なく深いツリーが構築された場合であっても、一時的なパケットの増加が解消されると、予め設定されたタイミングでツリーをリセットし、その時点でマルチキャストグループの要求する通信特性に応じたツリーに再構築することができる。
次に、ツリーの再構築を行いながら、そのツリーに基づいてルーティングテーブル10の再生成を行う手順について、図4〜図13を参照して説明する。図4〜図11は、ツリーが再構築されていきながら、各ルータRにおいてルーティングテーブルが再生成されていく手順を示す図であり、図4〜図11の順にツリーが再構築されていき、ルーティングテーブル10の再生成が進む。図12、図13は、ツリーを再構築しながらルーティングテーブルを再生成していく手順を示す図である。以下、ルータRsからマルチキャストグループA(ルータR1〜R5)へマルチキャスト配信を行う時に、ルーティングテーブル10が再生成されていく手順を例にあげて説明する。つまり、ルータRsを頂点ノードとして、ツリーが再構築されていくときの手順について説明する。ここで、ルータRsは、図3に示す探索用DB14を記憶するものとする。また、他のルータR1〜R5は、図4〜図11に示すように配置されるものとする。更に、図4に示すように、各ルータRとメッシュ仮想網とのインタフェースは、反時計回りにインタフェースIF1〜IF5とする。
まず、マルチキャスト配信を行うルータRsの動作について図12を参照して説明する。図12に示すように、ルータRsのルーティングテーブル管理部15は、初期設定が存在するか否かを調べる(S101)。初期設定とは、探索用DB14の通信特性閾値テーブル(図3参照)にマルチキャストグループAの通信特性が登録されているか否かにより判断される。具体的には、この初期設定は、パケットが最初に配信される時に登録される。すなわち、パケットが2番目以降に配信される時は、既に初期設定が存在する。
初期設定が存在する(マルチキャストグループAの通信特性が登録済)場合は(S101:Yes)、ステップS103へ進む。初期設定が存在しない(マルチキャストグループAの通信特性が未登録)場合は(S101:No)、ルーティングテーブル管理部15は、監視部13が測定した、マルチキャストグループAの通信特性を通信特性閾値テーブルに登録して(S102)、ステップS103へ進む。
ステップS103にて、ルーティングテーブル管理部15は、探索用DB14の通信特性テーブル(図3参照)を参照して、マルチキャストグループの通信特性を取得する。このマルチキャストグループの通信特性は、監視部13により定期に測定され、通信特性テーブルに反映される。
ルーティングテーブル管理部15は、監視部13にて測定したCPUの負荷率を取得して、探索用DB14のCPU閾値テーブル(図3参照)に登録されたCPU負荷率の閾値(50%)を超えているか否かを調べる(S104)。閾値を超えている場合は(S104:Yes)、ステップS106へ進む。
CPUの負荷率が閾値(50%)を超えていない場合は(S104:No)、通信特性テーブルに登録されたマルチキャストグループAの帯域幅CAwが、通信特性閾値テーブルに登録されたマルチキャストグループAの帯域幅の閾値Awを超えているか否かを調べる(S105)。つまり、ここでは、監視部13が測定したマルチキャストグループAの最新の帯域幅CAwが閾値Awを超えているか否かを調べる。また、マルチキャストグループの帯域幅が閾値を超えるとは、マルチキャストグループの帯域幅が閾値より狭くなることをいう。閾値Awを超えている場合は(S105:Yes)、ステップS106へ進む。
ステップS106にて、ルーティングテーブル管理部15は、ツリーの枝数を半分に設定して、ステップS109へ進み、ツリーの再構築を開始する。この際、ツリーの深さは、ツリーの枝数に対応するように更新される。
通信特性テーブルに登録されたマルチキャストグループAの帯域幅CAwが閾値Awを超えていない場合は(S105:No)、ルーティングテーブル管理部15は、通信特性テーブルに登録されたマルチキャストグループAの通信遅延CAdが、通信特性閾値テーブルに登録されたマルチキャストグループAの通信遅延の閾値Adを超えているか否かを調べる(S107)。つまり、ここでは、監視部13が測定したマルチキャストグループAの最新の通信遅延CAdが閾値Adを超えているか否かを調べる。閾値Adを超えている場合は(S107:Yes)、ルーティングテーブル管理部15は、ツリーの深さを1段深く設定して(S108)、ステップS109へ進み、ツリーの再構築を開始する。この際、ツリーの枝数は、ツリーの深さに対応するように更新される。
通信特性テーブルに登録されたマルチキャストグループAの通信遅延CAdが閾値Adを超えていない場合は(S107:No)、処理を終了する。この場合、一般的なルーティングテーブル10を用いて、マルチキャストパケットの配信を行う。
なお、本実施形態では、CPU負荷率、帯域幅、通信遅延の順に閾値を満たしているか否かを判断しているが、CPU負荷率、通信遅延、帯域幅の順に閾値を満たしているか否かを判断してもよい。また、CPU負荷率と帯域幅とが閾値を満たしているか否かを判断したり、CPU負荷率と通信遅延とが閾値を満たしているか否かを判断したりしてもよい。このように、CPU負荷率が閾値を満たしているか否かを最初に調べることで、ルータRsが高負荷な状態になることを確実に避けることができる。また、マルチキャストグループ毎に要求する通信特性を満たさない場合は、ルータRsは、マルチキャストツリーの再構築を開始するので、マルチキャストグループ毎に要求する通信特性を満たすマルチキャスト配信を行うことができる。
ステップS109にて、ルーティングテーブル管理部15は、パケットの送信先ルータR1〜R5を登録した宛先リスト(List_dest)を作成する。ルーティングテーブル管理部15は、経路特性テーブルに登録された各仮想経路a〜cの経路特性(帯域幅、通信遅延)を参照し(S110)、経路特性に基づいて、宛先リストに登録されたルータR1〜R5をソートする(S111)。つまり、ここでは、監視部13が測定したメッシュ仮想網の各仮想経路の最新の帯域幅と通信遅延とに基づいて、宛先リストに登録されたルータR1〜R5をソートする。また、この際、ルータR1〜R5は、帯域幅が大きい順に、通信遅延が少ない順に、順位が上位に位置づけられる。すなわち、ルータRsは、各ルータR1〜R5への仮想経路のうち、余裕のある仮想経路を利用するように選択する。これにより、ルータRsから各ルータR1〜R5の仮想経路を構成する実網の帯域負荷を低減することができる。以上より、図4に示すように、ルータR1,R5,R4,R2,R3の順にソートされたルータRsの宛先リストが作成される。
以下、説明の簡単化のため、ステップS101〜S108の処理によりツリーの枝数が2に設定されたものとして説明する。ルーティングテーブル管理部15は、設定された枝数(2)に宛先リストを分割して(S112)、分割後の宛先リストの先頭アドレス(ルータR1,R5)を次宛先リスト(List_nexthop)に登録する(S113)。以上より、図5に示すようなルータRsの宛先リストと次宛先リストとが作成される。
ルーティングテーブル管理部15は、ルーティングテーブル(Table_new)10に、次宛先リストに登録したアドレス(ルータR1,R5)と、ルータR1,R5とメッシュ仮想網とのインタフェースIF1,IF5とを登録する(S114)。ルーティングテーブル管理部15は、リスト情報(宛先リスト、次宛先リスト、ツリーの枝数と深さ)をフォワーディングエンジン12に出力する。フォワーディングエンジン12は、インタフェース部11を介して、次宛先リストに登録されたルータR1,R5にそれぞれのリスト情報を送信する(S115)。以上より、図6に示すようなRsのルーティングテーブル10が作成され、ルータR1,R5のそれぞれに宛先リストと次宛先リストとが送付される。
次に、ルータRsからリスト情報を受信したルータR1の動作について、図13を参照して説明する。なお、ルータR5の動作については、説明の簡単化のため省略する。図13に示すように、ルータR1のフォワーディングエンジン12は、インタフェース部11を介して、リスト情報(宛先リスト、次宛先リスト、ツリーの枝数と深さ)を受信すると、ルーティングテーブル管理部15へ出力する(S116)。ルーティングテーブル管理部15は、自装置が記憶するルーティングテーブル10に送信元アドレス(ルータRs)が登録されているか調べる(S117)。登録されていないので(S117:Yes)、ルーティングテーブル10に、送信元アドレス(ルータRs)と、ルータRsとメッシュ仮想網とのインタフェースIF5とを登録する(S118)。
ルーティングテーブル管理部15は、自装置が記憶する宛先リストにアドレスが登録されているか否かを調べる(S119)。宛先リストにアドレスが登録されているので(S119:Yes)、ルーティングテーブル管理部15は、自装置の経路特性テーブルに登録された各仮想経路の経路特性(帯域幅、通信遅延)を参照し(S120)、経路特性に基づいて、宛先リストに登録されたルータR2,R3をソートする(S121)。つまり、ここでは、監視部13が測定したメッシュ仮想網の各仮想経路の最新の帯域幅と通信遅延とに基づいて、宛先リストに登録されたルータR1〜R5をソートする。また、この際、ルータR2,R3は、帯域幅が大きい順に、通信遅延が少ない順に、順位が上位に位置づけられる。すなわち、ルータR1は、各ルータR2,R3への仮想経路のうち、余裕のある仮想経路を利用するように選択する。これにより、ルータR1から各ルータR2,R3の仮想経路を構成する実網の帯域負荷を低減することができる。
ルーティングテーブル管理部15は、宛先リストをツリーの枝数(2)に分割する(S122)。ルーティングテーブル管理部15は、分割後の宛先リストの先頭アドレス(ルータR3,R2)を次宛先リストに追加する(S123)。ルーティングテーブル管理部15は、次宛先リストに登録したアドレス(ルータR3,R2)と、ルータR3,R2とメッシュ仮想網とのインタフェースIF2,IF1とをルーティングテーブル10に登録する(S124)。以上より、図7に示すようなルータR1の宛先リストと次宛先リストとルーティングテーブル10とが作成される。また、ルータR1と同様の手順で、図7に示すようなルータR5の宛先リストと次宛先リストとルーティングテーブル10とが作成される。
ルータR1のルーティングテーブル管理部15は、リスト情報(宛先リスト、次宛先リスト、ツリーの枝数と深さ)をフォワーディングエンジン12に出力する。フォワーディングエンジン12は、インタフェース部11を介して、次宛先リストに登録されたルータR3,R2にリスト情報を送信する(S125)。以上より、図8に示すように、ルータR3,R2のそれぞれに宛先リストと次宛先リストとが送信される。また、ルータR1と同様の手順で、図8に示すように、ルータR4に宛先リストと次宛先リストとが送信される、つまり、ルータRsを頂点ノードとした、片方向のツリーが完成する。
次に、ルータR1からリスト情報を受信したルータR2の動作について、図13を参照して説明する。なお、ルータR3,R4の動作については、説明の簡単化のため省略する。図13に示すように、ルータR2のフォワーディングエンジン12は、インタフェース部11を介して、リスト情報(宛先リスト、次宛先リスト、ツリーの枝数と深さ)を受信すると、ルーティングテーブル管理部15へ出力する(S116)。ルーティングテーブル管理部15は、自装置が記憶するルーティングテーブル10に送信元アドレス(ルータRs)が登録されているか調べる(S117)。登録されていないので(S117:Yes)、ルーティングテーブル10に、送信元アドレス(ルータR1)と、ルータR1とメッシュ仮想網とのインタフェースIF5とを登録する(S118)。
ルーティングテーブル管理部15は、自装置が記憶する宛先リストにアドレスが登録されているか否かを調べる(S119)。宛先リストにアドレスが登録されていないので(S119:No)、ルーティングテーブル管理部15は、自装置が頂点ノードか否かを調べる(S126)。ルータR2は頂点ノードではないので(S126:No)、ルーティングテーブル管理部15は、自装置の親アドレス(ルータR1)をデフォルト経路として、ルーティングテーブル10に登録する(S127)。ルーティングテーブル管理部15は、リスト情報(次宛先リスト)をフォワーディングエンジン12に出力する。フォワーディングエンジン12は、インタフェース部11を介して、自装置の親アドレスのルータR1にリスト情報を送信する(S128)。以上より、図9に示すようなルータR2のルーティングテーブル10が完成され、ルータR1に次宛先リストが送信される。また、ルータR2と同様の手順で、ルータR3,R4のルーティングテーブル10が作成され、ルータR1,R5に次宛先リストが送信される。
次に、ルータR2,R3からリスト情報(次宛先リスト)を受信したルータR1の動作について、図13を参照して説明する。なお、ルータR5の動作については、説明の簡単化のため省略する。図13に示すように、ルータR1のフォワーディングエンジン12は、インタフェース部11を介して、リスト情報(次宛先リスト)を受信すると、ルーティングテーブル管理部15へ出力する(S116)。ルーティングテーブル管理部15は、自装置が記憶するルーティングテーブル10に送信元アドレス(ルータR2,R3)が登録されているか調べる(S117)。登録されているので(S117:Yes)、ルーティングテーブル管理部15は、自装置が記憶する宛先リストにアドレスが登録されているか否かを調べる(S119)。宛先リストにアドレスが登録されていないので(S119:No)、ルーティングテーブル管理部15は、自装置が頂点ノードか否かを調べる(S126)。ルータR1は頂点ノードではないので(S126:No)、ルーティングテーブル管理部15は、自装置の親アドレス(ルータRs)をデフォルト経路として、ルーティングテーブル10に登録する(S127)。ルーティングテーブル管理部15は、リスト情報(次宛先リスト)をフォワーディングエンジン12に出力する。フォワーディングエンジン12は、インタフェース部11を介して、自装置の親アドレスのルータRsにリスト情報を送信する(S128)。以上より、図10に示すようなルータR1のルーティングテーブル10が完成され、ルータRsに次宛先リストが送信される。また、ルータR1と同様の手順で、図10に示すようなルータR5のルーティングテーブル10が作成され、ルータRsに次宛先リストが送信される。
次に、ルータR1,R5からリスト情報(次宛先リスト)を受信したルータRsの動作について、図13を参照して説明する。図13に示すように、ルータRsのフォワーディングエンジン12は、インタフェース部11を介して、リスト情報(次宛先リスト)を受信すると、ルーティングテーブル管理部15へ出力する(S116)。ルーティングテーブル管理部15は、自装置が記憶するルーティングテーブル10に送信元アドレス(ルータR1)が登録されているか調べる(S117)。登録されているので(S117:Yes)、ルーティングテーブル管理部15は、自装置が記憶する宛先リストにアドレスが登録されているか否かを調べる(S119)。宛先リストにアドレスが登録されていないので(S119:No)、ルーティングテーブル管理部15は、自装置が頂点ノードか否かを調べる(S126)。ルータRsは頂点ノードなので(S126:Yes)、ルーティングテーブル管理部15は、次宛先リストに登録されたアドレスをルーティングテーブル10へ登録する(S129)。以上より、図11に示すようなルータRsのルーティングテーブル10が完成される。
以上で、ルータRsからマルチキャスト配信する際に利用する各ルータRのルーティングテーブル10が完成する。つまり、ルータRsを頂点ノードとした、両方向のツリーが完成する。すなわち、ルータRsからマルチキャスト配信時に利用する、各ルータRのルーティングテーブル10が完成する。ルータRsは、完成したルーティングテーブル10に基づいて、パケットの配信を行う。
なお、本実施形態では、6台のルータRによりメッシュ仮想網が形成されたが、これに限らず、複数台のルータRによりメッシュ仮想網が形成されればよい。また、他のマルチキャストツリーを構成するルータRに接続されてもよい。更に、本実施形態では、各ルータRに1台の通信機器PCが接続されたが、これに限らず、各ルータRに複数台の通信機器PCが接続されてもよい。
以上より、本実施形態に係るマルチキャスト配信システムでは、メッシュ仮想網において、マルチキャスト配信を行う際に、マルチキャストグループ毎に閾値が設けられ、マルチキャストグループの通信特性が閾値を超える場合に、メッシュ仮想網の経路特性に基づいてツリーが再構築される。これにより、マルチキャストグループに対応するルーティングテーブル10が生成される。このため、マルチキャスト配信システムは、マルチキャストグループが要求する通信特性に応じたマルチキャスト配信を行うことができる。
また、マルチキャストグループが要求する通信特性に応じたルーティングテーブル10を利用すると、マルチキャスト配信を行うルータRsを頂点ノードとして、他のルータR1〜R5を仮想的にツリー状に配置して、親ノードに設定されたルータから子ノードに設定されたルータへと順にパケットを配信する。これにより、マルチキャストパケットの配信を行うルータRsから他のルータR1〜R5へ直接パケットを配信しないので、マルチキャストパケットの配信を行うルータRsのCPU負荷を減少することができる。
更に、マルチキャストパケットの配信を行うルータRsのCPU負荷を減少させ、マルチキャストパケットを配信するルータRからの実網の帯域負荷を低減することができる。これにより、ルータRsのCPU負荷が増加したり、ルータRからの実網の帯域負荷が増加したりした場合にも、ルータRsのCPU増設や、実網の帯域を広げる等のハードウェアの増強をせずに、マルチキャストパケットの配信経路を変更することで、マルチキャストグループが要求する通信特性を満たすマルチキャスト配信を行うことができる。このため、不要な設備投資を抑制することができ、マルチキャスト配信のスケーラビリティを確保することができる。
加えて、一般的に、他のルータR1〜R5からの新たなパケット送信等により、メッシュ仮想網を通過するパケット数等が増加して帯域幅が狭くなると、ルータRから配信するパケットの破棄による通信遅延が生じる。しかしながら、本実施形態に係るルータRでは、ルーティングテーブル10の再生成を定期的に行うので、マルチキャストパケットを破棄することなく配信を行うことができる。
また、本実施形態に係るルータRでは、ルーティングテーブル10をルータRsから他のルータR1〜R5へ直接マルチキャストパケットを配信するようなデフォルトのルーティングテーブル10に定期的にリセットする。そして、ルータRは、マルチキャスト配信時、通信特性の閾値を満たすか否かを判断し、ルーティングテーブル10を再生成する。これにより、メッシュ仮想網に一時的に通過するパケット数が増加して通信遅延が発生した場合であっても、通信遅延が解消すると、通信経路を変更して、マルチキャストパケットの配信を行うことができる。このように、メッシュ仮想網の経路特性に応じて、ルーティングテーブル10を変更することができるので、ルータRは、メッシュ仮想網の経路特性に応じて、マルチキャストグループの要求する通信特性に応じた通信経路を選択して、マルチキャストパケットの配信を行うことができる。
メッシュ仮想網に接続された複数のルータ間のマルチキャスト配信に関する説明図である。 ルータの機能構成を示すブロック図である。 探索用データベースの説明図である。 ツリーが再構築されていきながら、各ルータRにおいてルーティングテーブルが再生成されていく手順を示す図である。 ツリーが再構築されていきながら、各ルータRにおいてルーティングテーブルが再生成されていく手順を示す図である。 ツリーが再構築されていきながら、各ルータRにおいてルーティングテーブルが再生成されていく手順を示す図である。 ツリーが再構築されていきながら、各ルータRにおいてルーティングテーブルが再生成されていく手順を示す図である。 ツリーが再構築されていきながら、各ルータRにおいてルーティングテーブルが再生成されていく手順を示す図である。 ツリーが再構築されていきながら、各ルータRにおいてルーティングテーブルが再生成されていく手順を示す図である。 ツリーが再構築されていきながら、各ルータRにおいてルーティングテーブルが再生成されていく手順を示す図である。 ツリーが再構築されていきながら、各ルータRにおいてルーティングテーブルが再生成されていく手順を示す図である。 ツリーを再構築しながらルーティングテーブルを再生成していく手順を示す図である。 ツリーを再構築しながらルーティングテーブルを再生成していく手順を示す図である。
符号の説明
10−ルーティングテーブル,11−インタフェース部,12−フォワーディングエンジン,13−監視部,14−探索用DB,15−ルーティングテーブル管理部,R(Rs,R1〜R5)−ルータ,IF(IF1〜IF5)−インタフェース,PC(PCs,PC1〜PC5)−通信機器

Claims (6)

  1. メッシュ仮想網上に形成されたマルチキャスト網を構成する複数の配信先ルータに、配信元ルータからマルチキャスト配信を行うマルチキャスト配信システムであって、
    前記配信元ルータは、
    該配信元ルータのCPU負荷率と前記マルチキャスト網に構成されたマルチキャストグループの通信特性と前記メッシュ仮想網の経路特性とを監視・検出する第1の監視手段と、
    前記CPU負荷率の閾値と前記マルチキャストグループの通信特性の閾値とを記憶する記憶手段と、
    前記第1の監視手段が検出したCPU負荷率と前記記憶手段に記憶されたCPU負荷率の閾値との比較結果、及び前記第1の監視手段が検出したマルチキャストグループの通信特性と前記記憶手段に記憶されたマルチキャストグループの通信特性の閾値との比較結果の少なくとも一方と、前記第1の監視手段が検出した前記メッシュ仮想網の経路特性と、に基づいて、該配信元ルータからパケットを配信するマルチキャストツリーの再構築を開始し、さらに、このマルチキャストツリーに基づいてマルチキャスト配信の経路を決定するためのルーティングテーブルの再生成を開始する第1の制御手段と、
    を備えるマルチキャスト配信システム。
  2. 前記配信元ルータの第1の制御手段は、前記第1の監視手段が監視するCPU負荷率及び前記第1の監視手段が監視するマルチキャストグループの通信特性の少なくとも一方の値が該閾値を超えた場合は、マルチキャストツリーの枝数と深さとを変更し、このマルチキャストツリーの枝数と深さ、及び、前記メッシュ仮想網の経路特性に基づいて、マルチキャストツリーの再構築を開始する請求項1に記載のマルチキャスト配信システム。
  3. 前記配信先ルータの各々は、
    前記メッシュ仮想網の経路特性を監視する第2の監視手段と、
    パケットの配信を指示する配信情報を配信及び受信する通信手段と、
    前記配信情報に含まれるマルチキャストツリーの枝数と深さと、前記第2の監視手段により取得した前記メッシュ仮想網の経路特性と、に基づいて、該配信元ルータからパケットを配信するマルチキャストツリーの再構築を進め、このマルチキャストツリーに基づいてマルチキャスト配信の経路を決定するルーティングテーブルの再生成を進める第2の制御手段と、
    を備え、
    前記配信元ルータの第1の制御手段は、すべての配信先ルータのルーティングテーブルの再生成が完了した時に前記マルチキャストツリーを完成させる請求項1又は請求項2に記載のマルチキャスト配信システム。
  4. 前記配信元ルータの記憶手段は、該配信元ルータの第1の監視手段が最初に検出した前記マルチキャストグループの通信特性をマルチキャストグループの通信特性の閾値として記憶する請求項1〜請求項3の何れか1項に記載のマルチキャスト配信システム。
  5. 前記配信元ルータの第1の制御手段は、マルチキャスト配信時にマルチキャストツリーを再構築するか否かを予め設定したタイミング毎に判断する請求項1〜請求項4の何れか1項に記載のマルチキャスト配信システム。
  6. メッシュ仮想網上に形成されたマルチキャスト網を構成する複数の配信先ルータに、配信元ルータからマルチキャスト配信を行うマルチキャスト配信方法であって、
    前記配信元ルータは、
    該配信元ルータのCPU負荷率と前記マルチキャスト網に構成されたマルチキャストグループの通信特性と前記メッシュ仮想網の経路特性とを監視・検出し、
    記憶手段に記憶している前記CPU負荷率の閾値と前記マルチキャストグループの通信特性の閾値とを読み出し、
    該CPU負荷率及び該マルチキャストグループの通信特性の少なくとも一方の値が前記CPU負荷率の閾値及び該マルチキャストグループの通信特性の閾値を超えた場合は、マルチキャストツリーの枝数と深さとを変更し、このマルチキャストツリーの枝数と深さと、前記メッシュ仮想網の経路特性に基づいて、該配信元ルータからパケットを配信するマルチキャストツリーの再構築を開始し、さらに、このマルチキャストツリーに基づいてマルチキャスト配信の経路を決定するためのルーティングテーブルの再生成を開始するマルチキャスト配信方法。
JP2007105211A 2007-04-12 2007-04-12 マルチキャスト配信システム及びマルチキャスト配信方法 Expired - Fee Related JP4172522B1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2007105211A JP4172522B1 (ja) 2007-04-12 2007-04-12 マルチキャスト配信システム及びマルチキャスト配信方法
PCT/JP2008/057381 WO2008133124A1 (ja) 2007-04-12 2008-04-09 マルチキャスト配信システム及びマルチキャスト配信方法
US12/450,710 US8089905B2 (en) 2007-04-12 2008-04-09 Multicast distribution system and method for distributing data on a mesh virtual network
EP20080740466 EP2136510A1 (en) 2007-04-12 2008-04-09 Multicast distribution system and multicast distribution method
CN2008800117037A CN101658001B (zh) 2007-04-12 2008-04-09 组播分发系统和组播分发方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007105211A JP4172522B1 (ja) 2007-04-12 2007-04-12 マルチキャスト配信システム及びマルチキャスト配信方法

Publications (2)

Publication Number Publication Date
JP4172522B1 true JP4172522B1 (ja) 2008-10-29
JP2008263449A JP2008263449A (ja) 2008-10-30

Family

ID=39925581

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007105211A Expired - Fee Related JP4172522B1 (ja) 2007-04-12 2007-04-12 マルチキャスト配信システム及びマルチキャスト配信方法

Country Status (5)

Country Link
US (1) US8089905B2 (ja)
EP (1) EP2136510A1 (ja)
JP (1) JP4172522B1 (ja)
CN (1) CN101658001B (ja)
WO (1) WO2008133124A1 (ja)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101350807B (zh) * 2007-07-20 2012-04-04 华为技术有限公司 多地址空间移动网络架构、主机信息注册及数据发送方法
JP5014244B2 (ja) * 2008-05-02 2012-08-29 キヤノン株式会社 映像配信装置及びその制御方法、映像配信システム、プログラム
US20090300209A1 (en) * 2008-06-03 2009-12-03 Uri Elzur Method and system for path based network congestion management
JP5205289B2 (ja) 2009-01-14 2013-06-05 パナソニック株式会社 端末装置およびパケット送信方法
JP4950239B2 (ja) * 2009-03-04 2012-06-13 日本電信電話株式会社 マルチキャスト・トラヒック測定システムおよび測定方法ならびにプログラム
US8554506B2 (en) * 2009-08-07 2013-10-08 Advanced Processor Srchitectures, LLC Distributed computing
US11042211B2 (en) 2009-08-07 2021-06-22 Advanced Processor Architectures, Llc Serially connected computing nodes in a distributed computing system
US9645603B1 (en) 2013-09-12 2017-05-09 Advanced Processor Architectures, Llc System clock distribution in a distributed computing environment
US9429983B1 (en) 2013-09-12 2016-08-30 Advanced Processor Architectures, Llc System clock distribution in a distributed computing environment
JP5016657B2 (ja) * 2009-11-12 2012-09-05 日本電信電話株式会社 ネクストホップ検索装置、ネクストホップ検索方法およびプログラム
US8271656B2 (en) * 2010-05-04 2012-09-18 Alcatel Lucent Decreasing latency in anonymity networks
JP5371111B2 (ja) * 2010-06-03 2013-12-18 Necシステムテクノロジー株式会社 ファイル配信装置、ファイル配信方法およびファイル配信プログラム
KR101308088B1 (ko) 2011-12-09 2013-09-12 주식회사 시큐아이 고가용성 정적 멀티캐스트 라우팅 방법 및 시스템
JP6015057B2 (ja) * 2012-03-28 2016-10-26 日本電気株式会社 配信システム
US9064216B2 (en) * 2012-06-06 2015-06-23 Juniper Networks, Inc. Identifying likely faulty components in a distributed system
US9898317B2 (en) 2012-06-06 2018-02-20 Juniper Networks, Inc. Physical path determination for virtual network packet flows
US8959185B2 (en) * 2012-06-06 2015-02-17 Juniper Networks, Inc. Multitenant server for virtual networks within datacenter
JP5875699B2 (ja) * 2013-01-07 2016-03-02 三菱電機株式会社 データ配信システム、ルート無線機および無線機
US9473388B2 (en) * 2013-08-07 2016-10-18 Netspeed Systems Supporting multicast in NOC interconnect
CN103546559B (zh) * 2013-10-24 2018-02-02 网宿科技股份有限公司 数据分发方法和装置
US9363158B2 (en) * 2014-02-05 2016-06-07 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Reduce size of IPV6 routing tables by using a bypass tunnel
US9578588B2 (en) * 2014-03-27 2017-02-21 Intel IP Corporation Apparatus, method and system of tethering between a mobile device and a network
US9479457B2 (en) 2014-03-31 2016-10-25 Juniper Networks, Inc. High-performance, scalable and drop-free data center switch fabric
US20150358368A1 (en) * 2014-06-04 2015-12-10 CafeX Communications, Ltd. Network optimization of peer-to-peer teleconferencing
US9742630B2 (en) 2014-09-22 2017-08-22 Netspeed Systems Configurable router for a network on chip (NoC)
US9866408B2 (en) 2014-12-12 2018-01-09 Oracle International Corporation Methods, systems, and computer readable media for configuring a flow interface on a network routing element
US10230589B2 (en) * 2014-12-12 2019-03-12 Oracle International Corporation Methods, systems, and computer readable media for configuring service networks
US10348563B2 (en) 2015-02-18 2019-07-09 Netspeed Systems, Inc. System-on-chip (SoC) optimization through transformation and generation of a network-on-chip (NoC) topology
US10218580B2 (en) 2015-06-18 2019-02-26 Netspeed Systems Generating physically aware network-on-chip design from a physical system-on-chip specification
US10284381B1 (en) * 2015-12-28 2019-05-07 Amazon Technologies, Inc. Low latency data distribution in a computing service environment
US10452124B2 (en) 2016-09-12 2019-10-22 Netspeed Systems, Inc. Systems and methods for facilitating low power on a network-on-chip
US20180159786A1 (en) 2016-12-02 2018-06-07 Netspeed Systems, Inc. Interface virtualization and fast path for network on chip
US10063496B2 (en) 2017-01-10 2018-08-28 Netspeed Systems Inc. Buffer sizing of a NoC through machine learning
US10469337B2 (en) 2017-02-01 2019-11-05 Netspeed Systems, Inc. Cost management against requirements for the generation of a NoC
US10243840B2 (en) 2017-03-01 2019-03-26 Juniper Networks, Inc. Network interface card switching for virtual networks
CN107979824B (zh) * 2017-10-20 2020-11-17 西安电子科技大学 一种无线网络虚拟化场景下的d2d多播资源分配方法
US10896476B2 (en) 2018-02-22 2021-01-19 Netspeed Systems, Inc. Repository of integration description of hardware intellectual property for NoC construction and SoC integration
US10983910B2 (en) 2018-02-22 2021-04-20 Netspeed Systems, Inc. Bandwidth weighting mechanism based network-on-chip (NoC) configuration
US10547514B2 (en) 2018-02-22 2020-01-28 Netspeed Systems, Inc. Automatic crossbar generation and router connections for network-on-chip (NOC) topology generation
US11144457B2 (en) 2018-02-22 2021-10-12 Netspeed Systems, Inc. Enhanced page locality in network-on-chip (NoC) architectures
US11023377B2 (en) 2018-02-23 2021-06-01 Netspeed Systems, Inc. Application mapping on hardened network-on-chip (NoC) of field-programmable gate array (FPGA)
US11176302B2 (en) 2018-02-23 2021-11-16 Netspeed Systems, Inc. System on chip (SoC) builder

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6111858A (en) * 1997-02-18 2000-08-29 Virata Limited Proxy-controlled ATM subnetwork
US6047331A (en) * 1997-02-19 2000-04-04 Massachusetts Institute Of Technology Method and apparatus for automatic protection switching
US6728205B1 (en) * 1997-02-19 2004-04-27 Massachusetts Institute Of Technology Method and apparatus for automatic protection switching
US6778531B1 (en) * 1999-11-04 2004-08-17 Lucent Technologies Inc. Multicast routing with service-level guarantees between ingress egress-points in a packet network
US20030135644A1 (en) * 2000-03-31 2003-07-17 Barrett Mark A Method for determining network paths
KR20020023100A (ko) 2001-05-28 2002-03-28 박현제 가상 멀티캐스트 네트워크 구축을 위한 시스템
US7245614B1 (en) * 2001-06-27 2007-07-17 Cisco Technology, Inc. Managing access to internet protocol (IP) multicast traffic
US7843855B2 (en) * 2001-09-13 2010-11-30 Network Foundation Technologies, Llc System and method for broadcasting content to nodes on computer networks
US7453807B2 (en) * 2002-06-04 2008-11-18 Lucent Technologies Inc. Efficient rendezvous point tree to shortest path tree switch-over process
US20050169183A1 (en) * 2002-06-14 2005-08-04 Jani Lakkakorpi Method and network node for selecting a combining point
US20040213395A1 (en) * 2003-02-03 2004-10-28 Kenji Ishii Apparatus and a method for optimizing network resources employed in data communication
US7562143B2 (en) * 2004-01-13 2009-07-14 International Business Machines Corporation Managing escalating resource needs within a grid environment
US7418454B2 (en) * 2004-04-16 2008-08-26 Microsoft Corporation Data overlay, self-organized metadata overlay, and application level multicasting
US7403495B2 (en) * 2004-06-30 2008-07-22 Sap Ag Method and system for compressing a tree
US8086755B2 (en) * 2004-11-29 2011-12-27 Egenera, Inc. Distributed multicast system and method in a network
JP2006287919A (ja) 2005-03-08 2006-10-19 Nec Corp 通信ネットワーク、コンテンツ配信ノード、ツリー構築方法、コンテンツ配信制御プログラム
US7729285B2 (en) * 2005-03-22 2010-06-01 Itt Manufacturing Enterprises, Inc. Energy-efficient network protocol and node device for sensor networks
US7457257B2 (en) * 2005-11-17 2008-11-25 International Business Machines Corporation Apparatus, system, and method for reliable, fast, and scalable multicast message delivery in service overlay networks
US7953027B2 (en) * 2006-02-16 2011-05-31 Cisco Technology, Inc. Rerouting multicast traffic in response to detecting imminent network disruption
US7379450B2 (en) * 2006-03-10 2008-05-27 International Business Machines Corporation System and method for peer-to-peer multi-party voice-over-IP services
JP4825696B2 (ja) * 2007-01-22 2011-11-30 アラクサラネットワークス株式会社 パケット中継装置
US7630370B2 (en) * 2007-02-28 2009-12-08 Sharp Laboratories Of America, Inc. Overlay join latency reduction using preferred peer list
JP4518169B2 (ja) * 2008-03-24 2010-08-04 ブラザー工業株式会社 ツリー型放送システム、モード切替指示方法、放送装置、及び放送処理プログラム

Also Published As

Publication number Publication date
US20110044336A1 (en) 2011-02-24
CN101658001B (zh) 2013-06-19
JP2008263449A (ja) 2008-10-30
EP2136510A1 (en) 2009-12-23
CN101658001A (zh) 2010-02-24
US8089905B2 (en) 2012-01-03
WO2008133124A1 (ja) 2008-11-06

Similar Documents

Publication Publication Date Title
JP4172522B1 (ja) マルチキャスト配信システム及びマルチキャスト配信方法
US10341141B2 (en) Flow entry generating method and apparatus
US8750121B2 (en) Addressing the large flow problem for equal cost multi-path in the datacenter
JP6510115B2 (ja) 負荷分散を実現するための方法、装置、およびネットワークシステム
US7623533B2 (en) Switch meshing using multiple directional spanning trees
EP2892188A1 (en) Method for determining packet forwarding path, network device and control device
WO2014101849A1 (en) Apparatus for a high performance and highly available multi-controllers in a single sdn/openflow network
JP2011502306A5 (ja)
EP3166268B1 (en) Load sharing method and routing device
JP2008206095A (ja) 経路計算制御方法、経路計算制御プログラムおよび経路計算制御装置
US11805047B2 (en) Method and apparatus for controlling network traffic path
CN103609063B (zh) 协议无关组播最后一跳路由器发现的方法及设备
US11032185B2 (en) Communication system, edge node, communication method and program
CN107547367B (zh) 一种组播切换方法、装置和机器可读存储介质
KR102482102B1 (ko) 네트워크에서 자원 예약의 해지 방법
CN109379283A (zh) 基于物联网异构设备的自组网通信方法、装置及自组网
WO2015010532A1 (zh) 生成路由表项的方法和边界网关协议演讲者
JP6043307B2 (ja) ネットワーク制御装置
JP5673268B2 (ja) 通信装置、およびプログラム
JP7094086B2 (ja) 配信構成管理装置、配信構成管理プログラム、及び情報配信システム
US7742475B2 (en) Techniques for distributing replication points for traffic using point-to-point links
JP2013118537A (ja) マルチキャスト配信システム、ルータ及びマルチキャスト配信方法
KR100975018B1 (ko) 인터넷 그룹 관리 프로토콜 프락시 장치
US10855520B1 (en) Utilizing upstream routing of multicast traffic from redundant multicast sources to increase multicast resiliency and availability
CA2902402A1 (en) Multicast traffic management within a wireless mesh network

Legal Events

Date Code Title Description
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: 20080722

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080804

R150 Certificate of patent or registration of utility model

Ref document number: 4172522

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110822

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120822

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130822

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees