(57)【要約】【課題】いずれかのマルチキャスト配信経路の障害時においても十分な通信品質を保つことを図る。【解決手段】ゲートウェイ１２には同じマルチキャストパケットが重複しない２つの配信経路１０１、１０２を通ってそれぞれ送られてくる。ゲートウェイ１２はマルチキャストパケットの受信時に、当該受信パケットがまだ重複受信していない新規パケットであるか判断し、受信パケットが新規パケットである場合に当該受信パケットを送信する。【選択図】図１
2007274332.tif 000002
【特許請求の範囲】
【請求項１】
同じマルチキャストパケットが重複しない複数の配信経路を通ってそれぞれ送られてくるマルチキャストパケット転送装置であり、
前記マルチキャストパケットの受信時に、当該受信パケットがまだ重複受信していない新規パケットであるか判断する重複受信判断手段と、
前記受信パケットが新規パケットである場合に、当該受信パケットを送信する送信手段と、
を備えたことを特徴とするマルチキャストパケット転送装置。
【請求項２】
連続したシーケンス番号を有する所定個数のマルチキャストパケットの各々に対応して設けられる領域を有するバッファと、
前記領域に対応するマルチキャストパケットが送信済であることを表す送信済フラグと、を備え、
前記受信パケットが送信済のパケットである場合に、当該受信パケットを破棄することを特徴とする請求項１に記載のマルチキャストパケット転送装置。
【請求項３】
前記バッファの範囲に対応するマルチキャストパケット以降に送られてくるマルチキャストパケットを受信した場合に、当該受信パケットを含めるようにバッファの範囲を調整することを特徴とする請求項２に記載のマルチキャストパケット転送装置。
【請求項４】
前記領域に対応するマルチキャストパケットの送信時点からの経過時間を計測するタイマを備え、
前記タイマがタイムアウトした場合に、当該領域に対応するマルチキャストパケットを含め、それ以前に送られているマルチキャストパケットに対応する領域を破棄し、バッファを再構成することを特徴とする請求項２又は３に記載のマルチキャストパケット転送装置。
【請求項５】
同じマルチキャストパケットが重複しない複数の配信経路を通ってそれぞれ送られてくるマルチキャストパケット転送装置であり、
前記マルチキャストパケットの受信時に、当該受信パケットが重複受信であるか判断する重複受信判断手段と、
重複受信であるいずれかのマルチキャストパケットを送信する送信手段と、
を備えたことを特徴とするマルチキャストパケット転送装置。
【請求項６】
連続したシーケンス番号を有する所定個数のマルチキャストパケットの各々に対応して設けられるパケット格納領域を有するバッファと、
前記パケット格納領域に対応するマルチキャストパケットが受信済であることを表す受信済フラグと、を備え、
前記受信パケットが受信済のパケットである場合に、当該受信パケットを含め、それ以前に送られていて前記パケット格納領域に保持されているマルチキャストパケットを送信することを特徴とする請求項５に記載のマルチキャストパケット転送装置。
【請求項７】
前記パケット格納領域に対応するマルチキャストパケットの受信時点からの経過時間を計測するタイマを備え、
前記タイマがタイムアウトした場合に、当該パケット格納領域に格納されているマルチキャストパケットを送信することを特徴とする請求項６に記載のマルチキャストパケット転送装置。
【請求項８】
前記タイマがタイムアウトした場合に、当該パケット格納領域に対応するマルチキャストパケットを含め、それ以前に送られていて前記パケット格納領域に保持されているマルチキャストパケットを送信するとともに、該タイムアウトに係るマルチキャストパケットを含め、それ以前に送られているマルチキャストパケットに対応するパケット格納領域を破棄し、バッファを再構成することを特徴とする請求項６又は７に記載のマルチキャストパケット転送装置。
【請求項９】
前記パケット格納領域に対応するマルチキャストパケットが送信済であることを表す送信済フラグを備え、
前記受信パケットが送信済のパケットである場合に、当該受信パケットを破棄することを特徴とする請求項６から８のいずれかの項に記載のマルチキャストパケット転送装置。
【請求項１０】
前記バッファの範囲に対応するマルチキャストパケット以降に送られてくるマルチキャストパケットを受信した場合に、当該受信パケットを含めるようにバッファの範囲を調整するとともに、破棄される前記パケット格納領域に保持されているマルチキャストパケットを送信することを特徴とする請求項６から９のいずれかの項に記載のマルチキャストパケット転送装置。
【請求項１１】
前記バッファの範囲に対応するマルチキャストパケット以前に送られているマルチキャストパケットを受信した場合に、当該受信パケットを破棄することを特徴とする請求項６から１０のいずれかの項に記載のマルチキャストパケット転送装置。
【請求項１２】
同じマルチキャストパケットが重複しない複数の配信経路を通ってそれぞれ送られてくるマルチキャストパケット配信システムであり、
前記複数の配信経路の各々に対応して設けられる入力ポートと、
前記入力ポートに入力したマルチキャストパケットを全て出力する出力ポートとを有するルータを備え、
前記出力ポートから出力されたマルチキャストパケットを、請求項１から１１のいずれかの項に記載のマルチキャストパケット転送装置に入力することを特徴とするマルチキャストパケット配信システム。
【請求項１３】
同じマルチキャストパケットが重複しない複数の配信経路を通ってそれぞれ送られてくるマルチキャストパケット配信システムであり、
前記複数の配信経路の各々に対応して設けられる入力ポートを有するルータの前記入力ポートの各々に対応して、マルチキャストパケットを分岐するパケット分岐手段を設け、
前記パケット分岐手段から出力されたマルチキャストパケットを、請求項１から１１のいずれかの項に記載のマルチキャストパケット転送装置に入力することを特徴とするマルチキャストパケット配信システム。
【請求項１４】
同じマルチキャストパケットが重複しない複数の配信経路を通ってそれぞれ送られてくるマルチキャストパケット転送方法であり、
前記マルチキャストパケットの受信時に、当該受信パケットがまだ重複受信していない新規パケットであるか判断する過程と、
前記受信パケットが新規パケットである場合に、当該受信パケットを送信する過程と、
を含むことを特徴とするマルチキャストパケット転送方法。
【請求項１５】
同じマルチキャストパケットが重複しない複数の配信経路を通ってそれぞれ送られてくるマルチキャストパケット転送方法であり、
前記マルチキャストパケットの受信時に、当該受信パケットが重複受信であるか判断する過程と、
重複受信であるいずれかのマルチキャストパケットを送信する過程と、
を含むことを特徴とするマルチキャストパケット転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチキャストパケット転送装置及びマルチキャストパケット転送方法、マルチキャスト配信システムに関する。
【背景技術】
【０００２】
近年、動画配信等のサービスを実現するために、OSI Layer 3層のIP（Internet Protocol）においてマルチキャストが定義され、これに対応した各種のプロトコルが実装され運用されている（例えば、非特許文献１参照）。また、データ紛失のないマルチキャスト通信をサポートするために、各種の高信頼マルチキャスト通信プロトコルが提案されている（例えば、非特許文献２参照）。
【０００３】
現在実用化されているマルチキャスト配信ネットワークにおけるパケット紛失補償方式としては、FEC（Forward Error Correction）ベースの方式が非特許文献２などにより一般に知られている。そのFECベースの方式では、１〜数パケット分の誤り訂正情報を転送データと同時に送信し、受信側で誤り訂正を行う。また、非特許文献２によれば、受信側からの到達確認（ACK：ACKnowledgement）あるいは未到達確認（NACK：Negative-ACKnowledgement）の返信に基づくデータ再送をベースとする各種方式が提案されている。また、特許文献１によれば、冗長構成を持つIPネットワークに対して、経路切替時の通信断時間を保証しサービス可用性を向上するための手法が提案されている。
【非特許文献１】IPマルチキャストネットワーク開発ガイド  Vol.1, ISBN4-7973-1212-2
【非特許文献２】The Reliable Multicast Design Space for Bulk Data Transfer, RFC2887
【特許文献１】特開２００５−２５２６７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上述した従来技術では、障害等に伴うマルチキャスト配信経路の動的な変更時に、十分な通信品質が保てないという問題がある。一般的にマルチキャスト配信ネットワークでは、ルータ（Ｌ３（レイヤ３）スイッチ）の冗長構成をとることで配信経路の冗長化を図り、高信頼なＩＰネットワークを構築している。しかしながら、従来のマルチキャスト経路制御プロトコルでは、L3スイッチやリンクの障害等に伴うマルチキャスト配送経路の動的な変更時には、その経路変更完了までに数秒から数十秒程度の時間がかかる。このため、その間に配信されたデータは全て紛失することになるが、上述のFECベースのパケット紛失補償方式では、パケット紛失の有無に関わらず常に一定比率の冗長データ転送が必要となるために、連続的かつ大量のパケット紛失を補償することはできない、また、再送ベースのパケット紛失補償方式では、端末側へのACK/NACK返信機能の追加や、ルータ及び送信端末への再送機能の追加が必要となる。また、全パケットの到着を保障するプロトコルでは、終了時刻が予測できず遅延保障が困難である。
【０００５】
他方、予め予備経路のマルチキャストパケットを送信する手法が推奨されているが、この手法においても切替えに数秒程度必要となる。上述の特許文献１記載の技術によれば、経路切替時の通信断時間を保証することができるが、その経路切替時には、ゲートウェイがルータより受信したパケットを、宛先及び送信元を変更して再び同じルータに戻すので、同じパケットが繰り返しゲートウェイとルータ間を行き来するパケット転送ループが発生する可能性がある。
【０００６】
本発明は、このような事情を考慮してなされたもので、その目的は、いずれかのマルチキャスト配信経路の障害時においても十分な通信品質を保つことのできるマルチキャストパケット転送装置及びマルチキャストパケット転送方法、マルチキャスト配信システムを提供することにある。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本発明に係るマルチキャストパケット転送装置は、同じマルチキャストパケットが重複しない複数の配信経路を通ってそれぞれ送られてくるマルチキャストパケット転送装置であり、前記マルチキャストパケットの受信時に、当該受信パケットがまだ重複受信していない新規パケットであるか判断する重複受信判断手段と、前記受信パケットが新規パケットである場合に、当該受信パケットを送信する送信手段とを備えたことを特徴とする。
【０００８】
本発明に係るマルチキャストパケット転送装置においては、連続したシーケンス番号を有する所定個数のマルチキャストパケットの各々に対応して設けられる領域を有するバッファと、前記領域に対応するマルチキャストパケットが送信済であることを表す送信済フラグと、を備え、前記受信パケットが送信済のパケットである場合に、当該受信パケットを破棄することを特徴とする。
【０００９】
本発明に係るマルチキャストパケット転送装置においては、前記バッファの範囲に対応するマルチキャストパケット以降に送られてくるマルチキャストパケットを受信した場合に、当該受信パケットを含めるようにバッファの範囲を調整することを特徴とする。
【００１０】
本発明に係るマルチキャストパケット転送装置においては、前記領域に対応するマルチキャストパケットの送信時点からの経過時間を計測するタイマを備え、前記タイマがタイムアウトした場合に、当該領域に対応するマルチキャストパケットを含め、それ以前に送られているマルチキャストパケットに対応する領域を破棄し、バッファを再構成することを特徴とする。
【００１１】
本発明に係るマルチキャストパケット転送装置は、同じマルチキャストパケットが重複しない複数の配信経路を通ってそれぞれ送られてくるマルチキャストパケット転送装置であり、前記マルチキャストパケットの受信時に、当該受信パケットが重複受信であるか判断する重複受信判断手段と、重複受信であるいずれかのマルチキャストパケットを送信する送信手段とを備えたことを特徴とする。
【００１２】
本発明に係るマルチキャストパケット転送装置においては、連続したシーケンス番号を有する所定個数のマルチキャストパケットの各々に対応して設けられるパケット格納領域を有するバッファと、前記パケット格納領域に対応するマルチキャストパケットが受信済であることを表す受信済フラグと、を備え、前記受信パケットが受信済のパケットである場合に、当該受信パケットを含め、それ以前に送られていて前記パケット格納領域に保持されているマルチキャストパケットを送信することを特徴とする。
【００１３】
本発明に係るマルチキャストパケット転送装置においては、前記パケット格納領域に対応するマルチキャストパケットの受信時点からの経過時間を計測するタイマを備え、前記タイマがタイムアウトした場合に、当該パケット格納領域に格納されているマルチキャストパケットを送信することを特徴とする。
【００１４】
本発明に係るマルチキャストパケット転送装置においては、前記タイマがタイムアウトした場合に、当該パケット格納領域に対応するマルチキャストパケットを含め、それ以前に送られていて前記パケット格納領域に保持されているマルチキャストパケットを送信するとともに、該タイムアウトに係るマルチキャストパケットを含め、それ以前に送られているマルチキャストパケットに対応するパケット格納領域を破棄し、バッファを再構成することを特徴とする。
【００１５】
本発明に係るマルチキャストパケット転送装置においては、前記パケット格納領域に対応するマルチキャストパケットが送信済であることを表す送信済フラグを備え、前記受信パケットが送信済のパケットである場合に、当該受信パケットを破棄することを特徴とする。
【００１６】
本発明に係るマルチキャストパケット転送装置においては、前記バッファの範囲に対応するマルチキャストパケット以降に送られてくるマルチキャストパケットを受信した場合に、当該受信パケットを含めるようにバッファの範囲を調整するとともに、破棄される前記パケット格納領域に保持されているマルチキャストパケットを送信することを特徴とする。
【００１７】
本発明に係るマルチキャストパケット転送装置においては、前記バッファの範囲に対応するマルチキャストパケット以前に送られているマルチキャストパケットを受信した場合に、当該受信パケットを破棄することを特徴とする。
【００１８】
本発明に係るマルチキャストパケット配信システムは、同じマルチキャストパケットが重複しない複数の配信経路を通ってそれぞれ送られてくるマルチキャストパケット配信システムであり、前記複数の配信経路の各々に対応して設けられる入力ポートと、前記入力ポートに入力したマルチキャストパケットを全て出力する出力ポートとを有するルータを備え、前記出力ポートから出力されたマルチキャストパケットを、上述のいずれかのマルチキャストパケット転送装置に入力することを特徴とする。
【００１９】
本発明に係るマルチキャストパケット配信システムは、同じマルチキャストパケットが重複しない複数の配信経路を通ってそれぞれ送られてくるマルチキャストパケット配信システムであり、前記複数の配信経路の各々に対応して設けられる入力ポートを有するルータの前記入力ポートの各々に対応して、マルチキャストパケットを分岐するパケット分岐手段を設け、前記パケット分岐手段から出力されたマルチキャストパケットを、上述のいずれかのマルチキャストパケット転送装置に入力することを特徴とする。
【００２０】
本発明に係るマルチキャストパケット転送方法は、同じマルチキャストパケットが重複しない複数の配信経路を通ってそれぞれ送られてくるマルチキャストパケット転送方法であり、前記マルチキャストパケットの受信時に、当該受信パケットがまだ重複受信していない新規パケットであるか判断する過程と、前記受信パケットが新規パケットである場合に、当該受信パケットを送信する過程とを含むことを特徴とする。
【００２１】
本発明に係るマルチキャストパケット転送方法は、同じマルチキャストパケットが重複しない複数の配信経路を通ってそれぞれ送られてくるマルチキャストパケット転送方法であり、前記マルチキャストパケットの受信時に、当該受信パケットが重複受信であるか判断する過程と、重複受信であるいずれかのマルチキャストパケットを送信する過程とを含むことを特徴とする。
【発明の効果】
【００２２】
本発明によれば、複数の配信経路をそれぞれ通って送られてくる同じマルチキャストパケットを受信し、その受信したマルチキャストパケットからパケット送信を行なう。これにより、複数の配信経路のいずれかで障害が発生しても、マルチキャストの無瞬断化を実現し、パケット紛失を防止することができる。この結果、いずれかのマルチキャスト配信経路の障害時においても十分な通信品質を保つことが可能になる。
【発明を実施するための最良の形態】
【００２３】
以下、図面を参照し、本発明の一実施形態について説明する。
図１は、本発明の一実施形態に係るマルチキャスト配信システムの構成を示すブロック図である。図１に示すマルチキャスト配信システムにおいて、マルチキャストサーバ１０は、複数のルータ１１ａ、１１ｂ、１１ｃ、１１ｄから構成されるマルチキャスト配信ネットワークに、マルチキャストパケットを送信する。マルチキャストサーバ１０はルータ１１ａに接続されている。該マルチキャスト配信ネットワークにおいては、重複しない２つの配信経路１０１、１０２が構成されている。一つの配信経路１０１は、ルータ１１ａからルータ１１ｂを経由してルータ１１ｄに至る。もう一つの配信経路１０２は、ルータ１１ａからルータ１１ｃを経由してルータ１１ｄに至る。
【００２４】
マルチキャストサーバ１０から送信されたマルチキャストパケットは、ルータ１１ａから配信経路１０１、１０２の両方にそれぞれ出力され、配信経路１０１と配信経路１０２をそれぞれ通ってルータ１１ｄに到達する。したがって、配信経路１０１及び配信経路１０２がともに正常であるときには、ルータ１１ｄは、同じマルチキャストパケットを配信経路１０１経由及び配信経路１０２経由で重複して受信する。
【００２５】
ゲートウェイ１２はルータ１１ｄに接続されている。ゲートウェイ１２には、ルータ１１ｄから、配信経路１０１及び配信経路１０２の両方のマルチキャストパケットが送られる。ゲートウェイ１２は、ルータ１１ｄから送られたマルチキャストパケットを、マルチキャストユーザの受信端末１４（以下、「ユーザ端末１４」と称する）方向に送信する際に、送信制御を行う。この送信制御処理については後述する。
【００２６】
ゲートウェイ１２から送信されたマルチキャストパケットは、分配器１３を介して各ユーザ端末１４に送られる。
【００２７】
図２には、ルータ１１ｄの一実施例が示されている。図２に示すルータ１１ｄにおいて、配信経路１０１側のルータ１１ｂからのパケットは、入力ポート２１−１に入力される。配信経路１０２側のルータ１１ｃからのパケットは、入力ポート２１−２に入力される。ここで、入力ポート２１−１及び入力ポート２１−２に入力されたマルチキャストパケットＭＰは、特定の出力ポート２３から出力されるように設定されている。その出力ポート２３は、ゲートウェイ１２へ接続される回線に接続されている。これにより、配信経路１０１及び配信経路１０２の両方のマルチキャストパケットは、ゲートウェイ１２へ送られる。なお、出力ポート２３としては、例えば、一般の出力ポート２２とは異なるミラーポートと呼ばれる特殊なポートが利用可能である。或いは、ＶＬＡＮ（バーチャルＬＡＮ）のセグメントを入力ポート２１−１、２１−２と同じに設定した一般の出力ポート２２を用いることもできる。
【００２８】
なお、ゲートウェイ１２には、配信経路１０１及び配信経路１０２の両方のマルチキャストパケットを送ることができればよく、例えば、図３に示す構成としてもよい。図３には、配信経路１０１及び配信経路１０２の両方のマルチキャストパケットをゲートウェイ１２に送るための他の構成が示されている。図３においては、ルータ１１ｄの入力側に、配信経路１０１、１０２の各々に対応してパケット分岐装置３０が設けられている。一方のパケット分岐装置３０には、配信経路１０１側のルータ１１ｂからのパケットが入力される。もう一方のパケット分岐装置３０には、配信経路１０２側のルータ１１ｃからのパケットが入力される。各パケット分岐装置３０の出力は、ルータ１１ｄに接続されるポートと、ゲートウェイ１２に接続されるポートとに分かれている。パケット分岐装置３０は、入力されたマルチキャストパケットＭＰをゲートウェイ１２に接続されるポートに出力する。非マルチキャストパケットについては、ルータ１１ｄに接続されるポートに出力する。これにより、配信経路１０１、１０２の各々のマルチキャストパケットＭＰは、各パケット分岐装置３０からゲートウェイ１２に送られる。
【００２９】
次に、本実施形態に係るゲートウェイ１２が、マルチキャストパケットをユーザ端末１４方向に送信する際の送信制御処理について、各実施例を挙げて詳細に説明する。
【実施例１】
【００３０】
図４、図５は、本実施形態に係るゲートウェイ１２の実施例１の送信制御処理のフローチャートである。
【００３１】
ゲートウェイ１２には、図６に示されるようなバッファ４０を設ける。バッファ４０は、タイムアウト時間（図６の例では５０ｍＳ）と、マルチキャストパケットの平均転送レート（図６の例では２４Ｍｂｐｓ）との積以上のサイズを有する。また、バッファ４０には、マルチキャストパケット（以下、単に「パケット」と称する）のシーケンス番号に各々対応する領域４１を設ける。図６の例では、バッファ４０は８個の領域４１を有し、図６（１）の例ではシーケンス番号１〜８に各々割り当てられ、図６（２）の例ではシーケンス番号７〜１４に各々割り当てられている。なお、シーケンス番号は１ずつカウントアップされるものとする。
【００３２】
各領域４１にはそれぞれ、送信済フラグとタイマが設けられている。送信済フラグがオンならば、当該領域４１が割り当てられたシーケンス番号のパケットは既に送信済であることを表す。送信済フラグがオフならば、当該領域４１が割り当てられたシーケンス番号のパケットは未送信であることを表す。図６（１）の例では、シーケンス番号２、４、６、７の各領域４１の送信済フラグはオンであり、それらシーケンス番号の各パケットは送信済である。一方、シーケンス番号１、３、５、８の各領域４１の送信済フラグはオフであり、それらシーケンス番号の各パケットは未送信である。図６（２）の例では、シーケンス番号７の領域４１のみ送信済フラグはオンであり、シーケンス番号７のパケットは送信済であるが、その他のシーケンス番号８〜１４の各領域４１の送信済フラグはオフであり、それらシーケンス番号の各パケットは未送信となっている。
【００３３】
タイマは起動されると、タイムアウト時間経過後にタイムアウトを発動する。
【００３４】
バッファ４０の初期状態では、シーケンス番号の初期値から所定個分（図６の例では８個分）のシーケンス番号に対して各領域４１が割り当てられ、各領域４１の送信済フラグはオフであり、タイマはリセットされている。
【００３５】
ゲートウェイ１２は、マルチキャストパケット（以下、単に「パケット」と称する）を受信すると、図４及び図５の送信制御処理を開始する。
図４において、シーケンス番号ｉのパケットを受信すると（ステップＳ１）、そのシーケンス番号ｉはバッファ４０の範囲内であるか（つまり、領域４１が割り当てられているか）を判断する（ステップＳ２）。ここで、範囲内（領域４１が割り当てられている）ならば、シーケンス番号ｉの領域４１の送信済フラグをチェックし、オン（送信済を表す）であるか確認する（ステップＳ３）。ここで、送信済フラグがオフであり未送信ならば、今回受信したシーケンス番号ｉのパケットを送信する（ステップＳ４）。
【００３６】
次いで、そのシーケンス番号ｉの領域４１の送信済フラグをオンにし送信済とする（ステップＳ５）。また、シーケンス番号ｉの領域４１のタイマを起動する（ステップＳ６）。
【００３７】
ステップＳ３で、シーケンス番号ｉの領域４１の送信済フラグがオンであり送信済ならば、今回受信したシーケンス番号ｉのパケットを破棄する（ステップＳ７）。
【００３８】
ステップＳ２で、シーケンス番号ｉがバッファ４０の範囲外（領域４１が割り当てられていない）ならば、シーケンス番号ｉがバッファ４０の範囲のシーケンス番号より大きいか小さいかを判断する（ステップＳ８）。この結果、シーケンス番号ｉがバッファ４０の範囲のシーケンス番号より大きいならば、シーケンス番号ｉがバッファ４０の範囲に含まれるように（つまり、領域４１が割り当てられるように）、バッファ４０の範囲を調整し、ステップＳ４に移行する（ステップＳ９）。
【００３９】
一方、ステップＳ８の判断の結果、シーケンス番号ｉがバッファ４０の範囲のシーケンス番号より小さいならば、今回受信したシーケンス番号ｉのパケットを破棄もしくは送信する（ステップＳ１０）。ここでの破棄もしくは送信の選択は任意に設定すればよい。
【００４０】
また、シーケンス番号ｉの領域４１のタイマが起動され、タイムアウトした場合には、図５においてステップＳ２０の処理が行われる。ステップＳ２０では、シーケンス番号ｉ以下のシーケンス番号の各領域４１を全て破棄し、バッファ４０の範囲を調整する。つまり、シーケンス番号「ｉ＋１」以上のシーケンス番号に対して、バッファ４０の領域４１を割り当てる。
【００４１】
本実施例１においては、パケットを受信した時、そのパケットがまだ重複受信していない新規パケットであった場合には、当該パケットを送信し、当該パケットの送信済を記録する。例えば、図６（１）において、シーケンス番号３のパケットが到着した時、シーケンス番号３の領域４１の送信済フラグはオフであるので、当該パケットを送信し、当該送信済フラグをオンにする。このとき、シーケンス番号３の領域４１のタイマを起動する。
【００４２】
一方、送信済フラグがオンであるシーケンス番号のパケットを受信した場合、これはパケットの重複受信であり、当該シーケンス番号のパケットは既に送信済であるので、当該受信パケットは破棄する。例えば、図６（１）において、シーケンス番号４のパケットを受信した場合、その送信済フラグはオンであるので、短期間での重複送信を避けるために、当該受信パケットは破棄する。
【００４３】
また、現在のバッファ４０の範囲に含まれるシーケンス番号より小さいシーケンス番号のパケットを受信した場合には、その受信パケットを送信するか破棄するかは任意とする。例えば、図６（２）において、シーケンス番号３のパケットを受信した場合には、そのパケットを送信してもよく、或いは破棄してもよい。この理由は、ユーザ端末１４における十分な受信間隔が取られているので、重複送信となったとしても特に問題が生じることはないからである。
【００４４】
一方、現在のバッファ４０の範囲に含まれるシーケンス番号より大きいパケットを受信した場合には、その受信パケットのシーケンス番号がバッファ４０の範囲に含まれるように調整する。例えば、図６（１）において、シーケンス番号１０のパケットを受信した場合には、シーケンス番号１、２の両方の領域４１を破棄し、シーケンス番号３〜１０の各領域４１を有するバッファ４０として再構成する。
【００４５】
また、起動したタイマがタイムアウトした場合には、当該領域４１のシーケンス番号以下のシーケンス番号の各領域４１を全て破棄し、バッファ４０を再構成する。例えば、図６（１）において、シーケンス番号６の領域４１のタイマがタイムアウトした場合には、シーケンス番号６以下のシーケンス番号１〜５の各領域４１を全て破棄し、図６（２）のバッファ４０として、シーケンス番号７以上のシーケンス番号７〜１４の各領域４１を有するように再構成する。
【００４６】
上述の実施例１によれば、配信経路１０１及び配信経路１０２の両方のマルチキャストパケットを受信し、その受信したマルチキャストパケットからパケット送信を行なう。これにより、配信経路１０１又は配信経路１０２のいずれかで障害が発生しても、マルチキャストの無瞬断化を実現し、パケット紛失を防止することができる。この結果、いずれかのマルチキャスト配信経路の障害時においても十分な通信品質を保つことが可能になる。さらに、本実施例１によれば、配信経路１０１又は配信経路１０２のいずれか早くゲートウェイ１２に到着した方のマルチキャストパケットを送信するので、パケット遅延をできる限り小さくすることができる。
【実施例２】
【００４７】
図７、図８、図９は、本実施形態に係るゲートウェイ１２の実施例２の送信制御処理のフローチャートである。
【００４８】
ゲートウェイ１２には、実施例１と同様に、図６に示されるようなバッファ４０を設け、各領域４１にはそれぞれ送信済フラグとタイマが設けられる。さらに、実施例２では、各領域４１にそれぞれ受信済フラグを設ける。受信済フラグがオンならば、当該領域４１が割り当てられたシーケンス番号のパケットは既に受信済であることを表す。受信済フラグがオフならば、当該領域４１が割り当てられたシーケンス番号のパケットは未送信であることを表す。
【００４９】
ゲートウェイ１２は、パケットを受信すると、図７〜図９の送信制御処理を開始する。
図７において、シーケンス番号ｉのパケットを受信すると（ステップＳ３１）、そのシーケンス番号ｉはバッファ４０の範囲内であるか（つまり、領域４１が割り当てられているか）を判断する（ステップＳ３２）。ここで、範囲内（領域４１が割り当てられている）ならば、シーケンス番号ｉの領域４１の送信済フラグをチェックし、オン（送信済を表す）であるか確認する（ステップＳ３３）。ここで、送信済フラグがオフであり未送信ならば、シーケンス番号ｉの領域４１のタイマ状態をチェックし、タイムアウト済であるか確認する（ステップＳ３４）。ここで、タイムアウトが未発生ならば、シーケンス番号ｉの領域４１の受信済フラグをチェックし、オン（受信済を表す）であるか確認する（ステップＳ３５）。ここで、受信済フラグがオフであり未受信ならば、今回受信したシーケンス番号ｉのパケットを該当の領域４１に格納する（ステップＳ３６）。
【００５０】
次いで、そのシーケンス番号ｉの領域４１の受信済フラグをオンにし受信済とする（ステップＳ３７）。また、シーケンス番号ｉの領域４１のタイマを起動する（ステップＳ３８）。
【００５１】
ステップＳ３５で、シーケンス番号ｉの領域４１の受信済フラグがオンであり受信済ならば、シーケンス番号ｉ以下のシーケンス番号の各領域４１に保持されているパケットを全て送信する（ステップＳ３９）。次いで、その送信した領域４１の送信済フラグをオンにし送信済とし、シーケンス番号ｉ以下のシーケンス番号で未送信の領域４１のタイマをタイムアウト済に設定する（ステップＳ４０）。
【００５２】
ステップＳ３４で、シーケンス番号ｉの領域４１のタイマがタイムアウト済ならば、今回受信したパケットを送信し（ステップＳ４１）、当該領域４１の送信済フラグをオンにし送信済とする（ステップＳ４２）。
【００５３】
ステップＳ３３で、シーケンス番号ｉの領域４１の送信済フラグがオンであり送信済ならば、今回受信したシーケンス番号ｉのパケットを破棄する（ステップＳ４３）。
【００５４】
ステップＳ３２で、シーケンス番号ｉがバッファ４０の範囲外（領域４１が割り当てられていない）ならば、図８のステップＳ５０で、シーケンス番号ｉがバッファ４０の範囲のシーケンス番号より大きいか小さいかを判断する。この結果、シーケンス番号ｉがバッファ４０の範囲のシーケンス番号より大きいならば、シーケンス番号ｉがバッファ４０の範囲に含まれるように（つまり、領域４１が割り当てられるように）、バッファ４０の範囲を調整する（ステップＳ５１）。ここで、破棄される領域４１に格納されているパケットについては送信する（ステップＳ５２）。この後、ステップＳ３６に移行する。
【００５５】
一方、ステップＳ５０の判断の結果、シーケンス番号ｉがバッファ４０の範囲のシーケンス番号より小さいならば、今回受信したシーケンス番号ｉのパケットを破棄する（ステップＳ５３）。
【００５６】
また、シーケンス番号ｉの領域４１のタイマが起動され、タイムアウトした場合には、図９においてステップＳ６０の処理が行われる。ステップＳ６０では、シーケンス番号ｉ以下のシーケンス番号の各領域４１に保持されているパケットを全て送信する。さらに、シーケンス番号ｉ以下のシーケンス番号の全領域４１を破棄してバッファ４０の範囲を調整する。つまり、シーケンス番号「ｉ＋１」以上のシーケンス番号に対して、バッファ４０の領域４１を割り当てる。
【００５７】
本実施例２においては、パケットを受信した時、そのパケットがまだ重複受信していない新規パケットであった場合には、当該パケットをバッファ４０の該当の領域４１に格納し、当該パケットの受信済を記録するとともにタイマを起動する。例えば、図６（１）において、シーケンス番号３のパケットが到着した時、シーケンス番号３の領域４１の受信済フラグはオフであるので、当該パケットをその領域４１に格納し、当該受信済フラグをオンにするとともにタイマを起動する。
【００５８】
一方、既にバッファリング済であって受信済フラグがオンであるシーケンス番号のパケットを受信した場合には、当該受信パケット並びにその受信パケットより小さいシーケンス番号を持つバッファリング済のパケットを送信する。そして、その送信したシーケンス番号の各領域４１については送信済フラグをオンにし、未送信のシーケンス番号の各領域４１についてはタイマをタイムアウト済とする。例えば、図６（１）において、シーケンス番号４のパケットを受信した時、シーケンス番号２、４の各領域４１（送信済フラグはオフ、受信済フラグはオン）に格納されているパケットを送信するとともにシーケンス番号２、４の各領域４１の送信済フラグをオンにし、シーケンス番号１、３の各領域（送信済フラグ及び受信済フラグともにオフ）のタイマをタイムアウト済にする。
【００５９】
また、送信済フラグがオンであるシーケンス番号のパケットを受信した場合、当該シーケンス番号のパケットは既に送信済であるので、当該受信パケットは破棄する。
また、タイマがタイムアウト済であるシーケンス番号のパケットを受信した場合には、当該受信パケットを送信する。
【００６０】
また、現在のバッファ４０の範囲に含まれるシーケンス番号より小さいシーケンス番号のパケットを受信した場合には、その受信パケットを破棄する。例えば、図６（２）において、シーケンス番号３のパケットを受信した場合には、そのパケットを破棄する。
【００６１】
一方、現在のバッファ４０の範囲に含まれるシーケンス番号より大きいパケットを受信した場合には、その受信パケットのシーケンス番号がバッファ４０の範囲に含まれるように調整する。例えば、図６（１）において、シーケンス番号１０のパケットを受信した場合には、シーケンス番号１、２の両方の領域４１を破棄し、シーケンス番号３〜１０の各領域４１を有するバッファ４０として再構成する。このとき、破棄される領域４１に格納されているパケットは送信する。
【００６２】
また、起動したタイマがタイムアウトした場合には、当該領域４１のシーケンス番号以下のシーケンス番号の各領域４１を全て破棄し、バッファ４０を再構成する。このとき、破棄される領域４１に格納されているパケットは送信する。例えば、図６（１）において、シーケンス番号６の領域４１のタイマがタイムアウトした場合には、シーケンス番号６以下のシーケンス番号１〜５の各領域４１を全て破棄し、図６（２）のバッファ４０として、シーケンス番号７以上のシーケンス番号７〜１４の各領域４１を有するように再構成する。
【００６３】
上述の実施例２においても、配信経路１０１及び配信経路１０２の両方のマルチキャストパケットを受信し、その受信したマルチキャストパケットからパケット送信を行なう。これにより、配信経路１０１又は配信経路１０２のいずれかで障害が発生しても、マルチキャストの無瞬断化を実現し、パケット紛失を防止することができる。この結果、いずれかのマルチキャスト配信経路の障害時においても十分な通信品質を保つことが可能になる。但し、実施例２では、実施例１とは異なり、配信経路１０１及び配信経路１０２の両方のマルチキャストパケットの重複受信後に、パケット送信を行なう。
【００６４】
また、上述した実施形態によれば、以下に示す効果が得られる。
【００６５】
（１）従来のマルチキャストルーティングプロトコルによる動的切替え機能では、ルータ故障、リンク断、運用断等に伴い、数秒程度の長時間にわたるマルチキャスト通信路の遮断が発生するが、本実施形態によれば、２つの配信経路からのマルチキャストパケットを利用して、途切れのないマルチキャスト通信路を保障することができる。
【００６６】
（２）既存の冗長化されたネットワークに手を加えることなく、マルチキャストの無瞬断化が可能となる。
【００６７】
（３）特許文献１記載の技術のように、同じパケットが繰り返しゲートウェイとルータ間を行き来するパケット転送ループが発生することがないので、マルチキャストの無瞬断化を安定的に行うことができる。
【００６８】
以上、本発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
例えば、上述の実施形態では、２つの重複しない配信経路を構成する場合を例に挙げたが、本発明は３つ以上の互いに重複しない配信経路を構成する場合にも拡張して適用することが可能である。
【図面の簡単な説明】
【００６９】
【図１】本発明の一実施形態に係るマルチキャスト配信システムの構成を示すブロック図である。
【図２】図１に示すルータ１１ｄの一実施例を示すブロック図である。
【図３】本発明の一実施形態に係る配信経路１０１及び配信経路１０２の両方のマルチキャストパケットをゲートウェイ１２に送るための他の構成を示すブロック図である。
【図４】本発明に係る実施例１の送信制御処理のフローチャートである。
【図５】本発明に係る実施例１の送信制御処理のフローチャートである。
【図６】本発明の一実施形態に係るバッファ４０の構成例を示す概念図である。
【図７】本発明に係る実施例２の送信制御処理のフローチャートである。
【図８】本発明に係る実施例２の送信制御処理のフローチャートである。
【図９】本発明に係る実施例２の送信制御処理のフローチャートである。
【符号の説明】
【００７０】
１０…マルチキャストサーバ、１１ａ〜１１ｄ…ルータ、１２…ゲートウェイ（マルチキャストパケット転送装置）、１３…分配器、１４…ユーザ端末、２１−１，２１−２…入力ポート、２３…出力ポート、３０…パケット分岐装置、１０１，１０２…配信経路
【図１】
2007274332.tif 000003
【図２】
2007274332.tif 000004
【図３】
2007274332.tif 000005
【図４】
2007274332.tif 000006
【図５】
2007274332.tif 000007
【図６】
2007274332.tif 000008
【図７】
2007274332.tif 000009
【図８】
2007274332.tif 000010
【図９】
2007274332.tif 000011