(57)【要約】【課題】  同一チャネルを要求した複数のクライアントが異なる分岐装置に分散されたときに、サーバから分岐機能体に対して同一データが重複して配信されることを回避する。【解決手段】  あるクライアントに続いて別のクライアントが受信を開始する場合、その別のクライアントからの受信要求を分散装置が受信する。分散装置は登録表にチャネルを検索する（Ｓ１）。そのチャネルが既に分岐装置の行に記録されていることを発見すると（Ｓ２：Ｙ）、その分岐装置を選択して（Ｓ３）、受信要求を送信する。【選択図】    図１
2005341378.tif 000002
【特許請求の範囲】
【請求項１】
１以上のサーバと、２以上のクライアント、１以上の分岐装置が設置され、相互に通信可能であるネットワークであり、分岐装置は、各行に１つのチャネルと複数のクライアントあるいは分岐装置が記録可能である配送表を保持しており、クライアントがサーバ宛に送信した受信要求を、経路上に設置された分岐装置が捕獲し、その分岐装置は自身の配送表の要求チャネルの行に受信要求元を記録し、さらにその分岐装置はそのサーバ宛の新たな受信要求を生成して送信し、この一連の動作を受信要求がそのサーバに到達するまで繰り返すことでそのサーバを根とした木状の配信経路を構築し、そのサーバは自身の配送表の要求チャネルの行に記録されている配信先にデータを送信し、データを受信した分岐装置も同様にして自身の配送表の要求チャネルの行に記録されている配信先にデータを送信し、この一連の動作をデータが全クライアントに到達するまで繰り返すマルチキャスト方式であって、１以上の受信要求負荷分散装置と２以上の分岐装置を論理的に組み合わせ、分散装置が受信要求を各分岐装置に転送することで仮想分岐装置を構成する方式において、
分散装置は登録表を保持しており、登録表は各行に１つの分岐装置と複数のチャネルが記録可能であり、
クライアントあるいは分岐装置がチャネルに対して受信要求を送信し、受信要求が分散装置に到達すると分散装置は登録表からチャネルを検索し、
チャネルが存在しない場合には、登録表に記載されている分岐装置から分岐装置を選択し、分岐装置が記載されている行にチャネルを追加し、受信要求を分岐装置に転送し、
チャネルが存在する場合には、チャネルが記載されている行の分岐装置に受信要求を転送することを特徴とするマルチキャスト転送装置の負荷分散方式。
【請求項２】
サーバ側から受信されるデータ流パケットを分岐機能体で複写生成して各クライアント側に送信するマルチキャスト通信方式において、前記分岐機能体は、分岐機能を備えた複数の分岐装置と、受信要求パケットをクライアント側から受信すると前記複数の分岐装置から１つを選択する分散処理を行う分散装置とを有し、分岐装置の一覧を登録した登録表を参照し負荷分散アルゴリズムに従って前記分散処理を行う方法であって、前記登録表には各分岐装置が担当するチャネルを前記一覧に付加して登録することとし、前記分散処理にあたって、負荷分散アルゴリズムに先立って受信した制御パケットのチャネルを前記登録表の中から検索し、同一チャネルが検索された場合にはその担当の分岐装置を選択することを特徴とするマルチキャスト分岐機能体における負荷分散方法。
【請求項３】
サーバ側から受信されるデータ流パケットを分岐機能体で複写生成して各クライアント側に送信するマルチキャスト通信方式であって、前記分岐機能体は、分岐機能を備えた複数の分岐装置と、受信要求パケットをクライアント側から受信すると前記複数の分岐装置から１つを選択する分散処理を行う分散装置とを有し、選択されている分岐装置の一覧を登録した登録表を参照し負荷分散アルゴリズムに従って前記分散処理を行う方式において、分岐装置が選択されると担当するチャネルを前記登録表に付加して登録する登録手段と、負荷分散アルゴリズムに先立って受信した受信要求パケットのチャネルを前記登録表のチャネルの中から検索する検索手段と、同一チャネルが検索された場合にはその担当の分岐装置を選択する担当装置選択手段とを備えたこと特徴とするマルチキャスト分岐機能体における分散装置。
【請求項４】
マルチキャストクライアント側から受信要求を受信するステップと、選択されている分岐装置の一覧からなる登録表を作成するステップと、分岐装置が選択されると担当するチャネルを登録表に付加して登録するステップと、負荷分散アルゴリズムに先立って受信した受信要求パケットのチャネルを前記登録表のチャネルの中から検索する検索ステップと、同一チャネルが検索された場合にはその担当の分岐装置を選択するステップとをコンピュータに実行させるための情報出力プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分岐機能体を節とする木状の配信経路を構築し、サーバが送出したデータを分岐機能体により複製することで複数のクライアントに配信するマルチキャストサービス技術に関し、特に分岐機能体内の負荷を分散する技術に関する。
【背景技術】
【０００２】
従来、複数のクライアントに対してデータを同報するマルチキャスト通信を実現するものとして、クライアントからの受信要求を分岐装置が捕獲し、その分岐装置が分岐点となることで、木状の配信経路を構築するマルチキャスト方式がある。
【０００３】
この種の方式では、たとえば特許文献１に記載されているように、クライアントはリクエストパケットと呼ばれる受信要求を繰り返しサーバ宛に送信し、クライアントからサーバへの経路上に設置された分岐装置が受信要求を捕獲し、その送信元を登録に記録することで分岐点となる。
【０００４】
また、マルチキャストに限らずパケット通信の分野では、サーバ負荷分散を行う技術がある。これらの技術では、分散装置は、クライアントからの受信要求パケットを検査し、クライアント装置を特定するアドレスやクライアント装置内でのアプリケーションを特定するポート番号によって負荷分散先分岐装置を決定する。つまり、サーバからのデータに対する識別子ではなく、クライアントの識別子を用いて負荷分散を行っている。例えば、非特許文献１の１８５ページには、アドレスとポート番号を用いた負荷分散方式に関する記述がある。
【特許文献１】特開２００３−３２３００号公報
【非特許文献１】トニー・ブルーク“サーバ負荷分散技術”株式会社オーム社  ２００１年１２月１３日初版
【０００５】
図１２，２を参照してこの種の従来の方式を説明すると、図１２では、サーバ２１とクライアント２２，２３，２４、分岐装置２，３が分散装置１によって接続されている。また図２では、サーバ２１とクライアント２２，２３，２４、分散装置１、分岐装置２，３がルータ４によって接続されている。
【０００６】
各クライアントは、サーバ宛に受信要求を定期的に送信する。受信要求には、その送信元とサーバとチャネルが記載されている。チャネルとは、番組名やマルチキャストアドレスのようにデータ流を識別するために用いられるＩＤのことである。マルチキャストでは、サーバとマルチキャストアドレスの組をチャネルとして用いることが一般的である。
【０００７】
受信要求が分散装置に到着すると、分散装置は後述の方法によって受信要求を転送する分岐装置を選択し、転送を行う。図２のように、分散装置がクライアントとサーバを結ぶ経路から外れている場合、ルータは受信要求のみを分散装置に転送する。受信要求以外については図１２，２のパケットの流れに違いはない。
サーバ２１と各分岐装置２，３は、受信要求元をチャネル毎に配送表に記録する。例えばクライアント２２，２３からチャネル４１への受信要求を受け取った場合、「チャネル４１：クライアント２２：クライアント２３」という行が記録される。これは、そのサーバあるいは分岐装置が、チャネル４１のデータをクライアント２２，２３に転送することを意味する。受信要求を受信したのが分岐装置であれば、さらに受信要求をサーバに送信する。
【０００８】
分散装置１は、各分岐装置が担当する受信要求元を登録表１１に記録する。例えば「分岐装置２：クライアント２２」と記録されていれば、分岐装置２がクライアント２２へのデータ転送を担当していることを意味する。
【０００９】
登録表は次のようにして作成される。まず、各分岐装置は、分散装置に定期的にキープアライブを送信する。分散装置は、キープアライブを継続的に受信している分岐装置を登録表に記録する。キープアライブが途絶えた分岐装置は、登録表から削除する。次に、分散装置は受信要求を受信すると、その要求元が登録表に記録されているかどうかを確認する。記録されていれば、担当分岐装置にその受信要求を転送する。記録されていなければ、なんらかのアルゴリズムによって登録表の中から分岐装置をひとつ選択し、その分岐装置の行に受信要求元を追加する。そして、その分岐装置に受信要求を転送する。
【００１０】
図３、９，１０はクライアント２２，２３がチャネル４１のデータに対して受信要求を行った場合のシーケンス図である。まず図３に示すように、分岐装置２，３はそれぞれキープアライブ１０１，１０２を分散装置１に定期的に送信する。分散装置１は、キープアライブ１０１，１０２を受信すると、それぞれの送信元である分岐装置２，３を登録表１１に記録する。
【００１１】
次に、配信経路構築について説明する。図９に示すように、クライアント２２が、サーバ２１宛に受信要求１５１を送信する。受信要求１５１には、チャネル４１が記載されている。チャネル４１は、サーバに到達する前に、分散装置１に到達する。図３の構成であれば、ルータ４によって分散装置１に転送される。
【００１２】
分散装置１は、後述のアルゴリズムによって、クライアント２２からの受信要求の転送先として分岐装置２を選択する。登録表１１の分岐装置２の行に、クライアント２２を追加し、受信要求１５２を分岐装置２に転送する。受信要求１５２には、チャネル４１、送信元クライアント２２が記載されている。
【００１３】
なお、アルゴリズムには、例えばラウンドロビンアルゴリズムが利用可能である。ラウンドロビンアルゴリズムは、選択項目を順に選択していくアルゴリズムである。登録表１１に分岐装置２，３が登録されているため、アルゴリズムは、分岐装置２，３を順に選択する。
【００１４】
分岐装置２は、受信要求１５２を受信すると、配送表１２にチャネル４１の行を作成し、受信要求元のクライアント２２を追加する。そしてさらに、受信要求１５３をサーバ２１に転送する。
【００１５】
サーバ２１は、受信要求１５３を受信すると、配送表３１にチャネル４１の行を作成し、受信要求元の分岐装置２を追加する。
【００１６】
次に、データ転送について説明する。サーバ２１は、配送表３１を参照し、データ１５４を分岐装置２に送信する。
【００１７】
分岐装置２は、データ１５４を受信すると、配送表１２を参照し、クライアント２２に転送する（データ１５５）。
【００１８】
図１０に示すように、クライアント２２に続いてクライアント２３が受信を開始する場合、クライアント２２と同様にクライアント２３も受信要求を送信する。これを分散装置１が受信すると、登録表１１にクライアント２３を検索する。存在しないため上記のアルゴリズムによってクライアント２３の担当分岐装置を選択する。今度は分岐装置３が選択される。分散装置１は、登録表１１の分岐装置３の行に、クライアント２３を追加する。そして受信要求１５７を分岐装置３に送信する。
【００１９】
分岐装置３は、受信要求１５７を受信すると、配送表１３にチャネル４１の行を作成し、受信要求元のクライアント２３を追加する。そしてさらに受信要求１５８をサーバ２１に転送する。サーバ２１は、受信要求１５８を受信すると、受信要求元の分岐装置３を追加する。
【００２０】
次に、データ転送について説明する。サーバ２１は、配送表３１を参照し、分岐装置２，３それぞれにデータ１５９，１６１を送信する。
【００２１】
分岐装置２は、データ１５９を受信すると、配送表１２を参照し、クライアント２２に転送する（データ１６０）。同様に分岐装置３は、データ１６１を受信すると、配送表１２を参照し、クライアント２２に転送する（データ１６０）。
【発明の開示】
【発明が解決しようとする課題】
【００２２】
従来のアドレスやポート番号を用いた負荷分散方式では、次のような課題が生じる。すなわち図１０に示すように複数のクライアント２２，２３が同一チャネルを要求し、かつ、それらのクライアントが異なる分岐装置２，３に分散された場合、分岐装置２，３は、それぞれがサーバに対してデータを要求し、その結果、サーバ２１から分岐機能体に対して、同一データ１５９，１６１が重複して配信されることになる。
【００２３】
本発明は、かかる問題点に鑑みてなされたもので、上記のような重複を回避できる技術を提供することを課題とする。
【課題を解決するための手段】
【００２４】
上記の課題を解決するため、請求項１記載の発明は、１以上のサーバと、２以上のクライアント、１以上の分岐装置が設置され、相互に通信可能であるネットワークであり、分岐装置は、各行に１つのチャネルと複数のクライアントあるいは分岐装置が記録可能である配送表を保持しており、クライアントがサーバ宛に送信した受信要求を、経路上に設置された分岐装置が捕獲し、その分岐装置は自身の配送表の要求チャネルの行に受信要求元を記録し、さらにその分岐装置はそのサーバ宛の新たな受信要求を生成して送信し、この一連の動作を受信要求がそのサーバに到達するまで繰り返すことでそのサーバを根とした木状の配信経路を構築し、そのサーバは自身の配送表の要求チャネルの行に記録されている配信先にデータを送信し、データを受信した分岐装置も同様にして自身の配送表の要求チャネルの行に記録されている配信先にデータを送信し、この一連の動作をデータが全クライアントに到達するまで繰り返すマルチキャスト方式であって、１以上の受信要求負荷分散装置と２以上の分岐装置を論理的に組み合わせ、分散装置が受信要求を各分岐装置に転送することで仮想分岐装置を構成する方式において、
分散装置は登録表を保持しており、登録表は各行に１つの分岐装置と複数のチャネルが記録可能であり、
クライアントあるいは分岐装置がチャネルに対して受信要求を送信し、受信要求が分散装置に到達すると分散装置は登録表からチャネルを検索し、
チャネルが存在しない場合には、登録表に記載されている分岐装置から分岐装置を選択し、分岐装置が記載されている行にチャネルを追加し、受信要求を分岐装置に転送し、
チャネルが存在する場合には、チャネルが記載されている行の分岐装置に受信要求を転送することを特徴とするマルチキャスト転送装置の負荷分散方式を提供する。
【００２５】
また請求項２記載の発明は、サーバ側から受信されるデータ流パケットを分岐機能体で複写生成して各クライアント側に送信するマルチキャスト通信方式において、前記分岐機能体は、分岐機能を備えた複数の分岐装置と、受信要求パケットをクライアント側から受信すると前記複数の分岐装置から１つを選択する分散処理を行う分散装置とを有し、分岐装置の一覧を登録した登録表を参照し負荷分散アルゴリズムに従って前記分散処理を行う方法であって、前記登録表には各分岐装置が担当するチャネルを前記一覧に付加して登録することとし、前記分散処理にあたって、負荷分散アルゴリズムに先立って受信した制御パケットのチャネルを前記登録表の中から検索し、同一チャネルが検索された場合にはその担当の分岐装置を選択することを特徴とするマルチキャスト分岐機能体における負荷分散方法を提供するものである。
【００２６】
また請求項３記載の発明は、サーバ側から受信されるデータ流パケットを分岐機能体で複写生成して各クライアント側に送信するマルチキャスト通信方式であって、前記分岐機能体は、分岐機能を備えた複数の分岐装置と、受信要求パケットをクライアント側から受信すると前記複数の分岐装置から１つを選択する分散処理を行う分散装置とを有し、選択されている分岐装置の一覧を登録した登録表を参照し負荷分散アルゴリズムに従って前記分散処理を行う方式において、分岐装置が選択されると担当するチャネルを前記登録表に付加して登録する登録手段と、負荷分散アルゴリズムに先立って受信した受信要求パケットのチャネルを前記登録表のチャネルの中から検索する検索手段と、同一チャネルが検索された場合にはその担当の分岐装置を選択する担当装置選択手段とを備えたこと特徴とするマルチキャスト分岐機能体における分散装置を提供するものである。
【００２７】
また請求項４記載の発明は、マルチキャストクライアント側から受信要求を受信するステップと、選択されている分岐装置の一覧からなる登録表を作成するステップと、分岐装置が選択されると担当するチャネルを登録表に付加して登録するステップと、負荷分散アルゴリズムに先立って受信した受信要求パケットのチャネルを前記登録表のチャネルの中から検索する検索ステップと、同一チャネルが検索された場合にはその担当の分岐装置を選択するステップとをコンピュータに実行させるための情報出力プログラムを提供するものである。
【発明の効果】
【００２８】
以上説明したように、この発明によれば、受信要求分散装置と複数の分岐装置によって構成される分岐機能体において、複数のクライアントから同一のチャネルについて受信要求があった場合、その通信を１つの分岐装置に担当させることにより、同一のデータが当該分岐機能体に重複して送信されることを回避し、サーバ側及び分岐機能体の負荷を軽減すると共にネットワーク全体のトラフィックを抑えることができる。
【発明を実施するための最良の形態】
【００２９】
以下、図面を参照しつつ本発明の実施形態にかかるマルチキャスト方式を説明する。この実施形態は、データ流を分岐中継する分岐装置と、データ流の配送元になるマルチキャストサーバと、配送先になるマルチキャストクライアントとがそれぞれ複数存在するＩＰ（インターネットプロトコル）ネットワークを前提とする。このネットワークにおいて、複数の分岐装置と分散装置を論理的に組み合わせて分岐機能体（一般にクラスタと呼ばれる）が構成されている。ここでは説明の便宜上、１つの分岐機能体のみを示し、その分岐機能体も１つの分散装置と２つの分岐装置を備えたシンプルな構成を例示することにするが、実際にはもっと多くの分散装置と分岐装置から分岐機能体が構成されていても構わない。
【００３０】
図１２，２は、この実施形態が前提とするネットワークの接続を示す。図１２では、サーバ２１とクライアント２２，２３，２４、分岐装置２，３が分散装置１によって接続されている。また図２では、サーバ２１とクライアント２２，２３，２４、分散装置１、分岐装置２，３がルータ４によって接続されている。
【００３１】
各クライアントは、サーバ宛に受信要求を定期的に送信する。受信要求には、その送信元とサーバとチャネルが記載されている。チャネルとは、番組名やマルチキャストアドレスのようにデータ流を識別するために用いられるＩＤのことである。マルチキャストでは、サーバとマルチキャストアドレスの組をチャネルとして用いることが一般的である。
【００３２】
受信要求が分散装置に到着すると、分散装置は後述の方法によって受信要求を転送する分岐装置を選択し、転送を行う。図２のように、分散装置がクライアントとサーバを結ぶ経路から外れている場合、ルータは受信要求のみを分散装置に転送する。受信要求以外については図１２，２のパケットの流れに違いはない。
【００３３】
サーバ２１と各分岐装置２，３は、受信要求元をチャネル毎に配送表に記録する。例えばクライアント２２，２３からチャネル４１への受信要求を受け取った場合、「チャネル４１：クライアント２２：クライアント２３」という行が記録される。これは、そのサーバあるいは分岐装置が、チャネル４１のデータをクライアント２２，２３に転送することを意味する。受信要求を受信したのが分岐装置であれば、さらに受信要求をサーバに送信する。
【００３４】
分散装置１は、各分岐装置が担当するチャネルを登録表１１に記録する。例えば「分岐装置２：チャネル４１」と記録されていれば、分岐装置２がチャネル４１のデータ転送を担当していることを意味する。
登録表は次のようにして作成される。まず、各分岐装置は、分散装置に定期的にキープアライブを送信する。分散装置は、キープアライブを継続的に受信している分岐装置を登録表に記録する。キープアライブが途絶えた分岐装置は、登録表から削除する。次に、分散装置は受信要求を受信すると、その要求チャネルが登録表に記録されているかどうかを確認する。記録されていれば、担当分岐装置にその受信要求を転送する。記録されていなければ、なんらかのアルゴリズムによって登録表の中から分岐装置をひとつ選択し、その分岐装置の行に要求チャネルを追加する。そして、その分岐装置に受信要求を転送する。
【００３５】
図３は、分散装置の登録表が作成されるシーケンス図である。まず同図に示すように、分岐装置２，３はそれぞれキープアライブ１０１，１０２を分散装置１に定期的に送信する。分散装置１は、キープアライブ１０１，１０２を受信すると、それぞれの送信元である分岐装置２，３を登録表１１に記録する。
【００３６】
次に、配信経路構築について説明する。図４は、配信経路の構築を示すシーケンス図である。同図に示すように、クライアント２２が、サーバ２１宛に受信要求１０３を送信する。受信要求１０３には、チャネル４１が記載されている。チャネル４１は、サーバに到達する前に、分散装置１に到達する。図２の構成であれば、ルータ４によって分散装置１に転送される。
【００３７】
分散装置１は所定の負荷分散アルゴリズムによって、チャネル４１への受信要求の転送先として分岐装置２を選択する（図１Ｓ４参照）。登録表１１の分岐装置２の行に、チャネル４１を追加し、受信要求１０４を分岐装置２に転送する（図１Ｓ５参照）。受信要求１０４には、チャネル４１、送信元クライアント２２が記載されている。
【００３８】
なお、アルゴリズムには、例えばラウンドロビンアルゴリズムが利用可能である。ラウンドロビンアルゴリズムは、選択項目を順に選択していくアルゴリズムである。登録表１１に分岐装置２，３が登録されているため、アルゴリズムは、分岐装置２，３を順に選択する。
【００３９】
分岐装置２は、受信要求１０５を受信すると、配送表１２にチャネル４１の行を作成し、受信要求元のクライアント２２を追加する。そしてさらに、受信要求１０５をサーバ２１に転送する。
【００４０】
サーバ２１は、受信要求１０５を受信すると、配送表３１にチャネル４１の行を作成し、受信要求元の分岐装置２を追加する。
【００４１】
次に、データ転送について説明する。サーバ２１は、配送表３１を参照し、データ１０６を分岐装置２に送信する。
【００４２】
分岐装置２は、データ１０６を受信すると、配送表１２を参照し、クライアント２２に転送する（データ１０７）。
【００４３】
図５は、クライアント２２に続いてクライアント２３が受信を開始するときのシーケンス図である。また図１は、分散装置の分散処理の概略を示す流れ図である。これらの図に示すように、クライアント２２に続いてクライアント２３が受信を開始する場合、クライアント２２と同様にクライアント２３も受信要求１０８を送信する。これを分散装置１が受信すると、登録表１１にチャネル４１を検索し（Ｓ１）、分岐装置２の行に記録されていることを発見する（Ｓ２：Ｙ）。そしてこの分岐装置２を選択して（Ｓ３）、受信要求１０９を送信する。
【００４４】
ここで仮に、チャネル４１がまだ記録されてない場合は、上記のようにラウンドロビンアルゴリズムのような負荷分散アルゴリズムに従って担当する分岐装置を選択し（Ｓ４）、登録表１１の分岐装置の行にチャネル４１を登録したうえで（Ｓ５）、受信要求１０９を分岐装置２に送信することになる。
【００４５】
図５のケースに戻って説明を続けると分岐装置２は、受信要求１０９を受信すると、チャネル４１の行にクライアント２３を追加する。
【００４６】
次に、データ転送について説明する。サーバ２１は、配送表３１を参照し、分岐装置２にデータ１１０を送信する。分岐装置２は、データ１１０を受信すると、配送表１２を参照し、クライアント２２，２３それぞれに転送する（データ１１１，１１２）。
【００４７】
同様に分岐装置３は、データ１６１を受信すると、配送表１２を参照し、クライアント２２に転送する（データ１６０）。
【００４８】
このように本実施形態では、同一分岐機能体に同一チャネルのデータが重複して配信されることはない。このため、従来方式に比べてネットワーク全体のトラフィックを抑えることができる。
【００４９】
さらに図６を用いて異なるチャネルに対して受信要求が行われたときの動作を説明する。クライアント２４は、チャネル４２に対する受信要求１１３を送信する。これを分散装置１が受信すると、登録表１１にチャネル４２を検索する。存在しないため、前記のアルゴリズムによってチャネル４２の分担分岐装置を選択する。今度は分岐装置３が選択される。分散装置１は、登録表１１の分岐装置３の行にチャネル４２を追加する。そして受信要求１１４を分岐装置３に送信する。
分岐装置３は、受信要求１１４を受信すると、配送表１３にチャネル４２の行を作成し、クライアント２４を追加する。そしてさらに、受信要求１１５をサーバ２１に転送する。
【００５０】
サーバ２１は、受信要求１１５を受信すると、配送表３１にチャネル４２の行を作成し、受信要求元の分岐装置３を追加する。
【００５１】
次に、チャネル４２のデータ転送について説明する。サーバ２１は、配送表３１を参照し、データ１１６を分岐装置２に送信する。
【００５２】
分岐装置３は、データ１１６を受信すると、配送表１３を参照し、クライアント２４に転送する（データ１１７）。
【００５３】
このように本実施形態の方式では、異なるチャネルへの受信要求があった場合には、分岐装置間で負荷分散が行われる。
【００５４】
図７，８を用いて分岐装置３がダウンした場合にもデータ配信が継続される様子を説明する。図７に示すように、分岐装置３がダウンし、キープアライブを送信しなくなったとする。その後、分散装置１は分岐装置３からキープアライブを受信しなくなったため、登録表１１から分岐装置３を削除する。このとき分岐装置３の行に記録されてきたチャネル４２も削除される。
【００５５】
続いて図８のようにクライアント２４が受信要求１１９を送信する。上述のように各クライアントは定期的に受信要求を送信している。これを分散装置１が受信すると、登録表１１にチャネル４２を検索する。存在しないため、アルゴリズムによってチャネル４２の担当分岐装置を選択する。この場合、登録表１１には分岐装置２しか記録されていないため、必ず分岐装置２が選択される。分散装置１は、登録表１１の分岐装置２の行に、チャネル４２を追加する。そして、受信要求１２０を分岐装置２に送信する。
【００５６】
分岐装置２は、受信要求１２０を受信すると、配送表１２にチャネル４２の行を作成し、クライアント２４を追加する。
【００５７】
サーバ２１は、受信要求１２０を受信すると、配送表３１にチャネル４２の行に受信要求元の分岐装置２を追加する。なお、チャネル４２の行に記録されている分岐装置３については、一定時間受信要求が届かなかった後に、タイムアウトと判断され、配送表３１から削除される。
【００５８】
次に、チャネル４２のデータ転送について説明する。サーバ２１は、配送表３１を参照し、データ１１６を分岐装置２に送信する。分岐装置３は、データ１１６を受信すると、配送表１３を参照し、クライアント２４に転送する（データ１１７）。
【００５９】
分岐装置２は、データ１２２を受信すると、配送表１２を参照し、クライアント２４に転送する（データ１２３）。
【００６０】
このように本実施形態の方式では、分岐装置がダウンした場合であっても、他の分岐装置が代理を務めることで配信を継続することが出来る。
【００６１】
最後に図１１を用いて分散処理の動作を説明する。図１１は分散装置を構成する要素のうち、キープアライブ処理、受信要求処理、キープアライブタイムアウト処理に関する部分である。分散装置は、パケット受信部２００からパケットを受信すると、パケット種判別部２０２でパケットの種類を判別する。キープアライブを受信した場合は、処理が登録表操作部２０３に移る。登録表操作部２０３は、登録表２０６を検索し、キープアライブの送信元の行が存在しなければ、送信元の行を作成する。
【００６２】
受信要求を指示した場合は、処理が振分先選択アルゴリズム２０５に移る。振分先選択アルゴリズム２０５は、登録表２０６から受信要求元を検索する。受信要求元が存在すれば、その担当分岐装置に受信要求を転送する。存在しなければラウンドロビンアルゴリズムなどによって担当分岐装置を選択し、登録表２０６の担当分岐装置の行に受信要求元を追加した後に、その担当分岐装置に受信要求を転送する。
【００６３】
タイマ２０４は、登録表２０６に登録されている各分岐装置に対し、最後にキープアライブを受信してからの経過時間をカウントする。経過時間が設定値を超えると登録表操作部２０３にその分岐装置の削除を依頼し、登録表操作部２０３が登録表２０６から削除する。
【００６４】
また、図1１の各部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより分散装置の構築を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【００６５】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
【００６６】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【図面の簡単な説明】
【００６７】
【図１】本発明の実施形態における分散装置の動作概略を示す流れ図である。
【図２】本発明の実施形態が前提とするネットワークの接続概念図である。
【図３】分散装置の登録表が作成されるシーケンス図である。
【図４】配信経路の構築を示すシーケンス図である。
【図５】クライアント２２に続いてクライアント２３が受信を開始するときのシーケンス図である。
【図６】図６を用いて異なるチャネルに対して受信要求が行われたときのシーケンス図である。
【図７】分岐装置３がダウンしたときのシーケンス図である。
【図８】分岐装置３がダウンしたときのシーケンス図である。
【図９】従来方式のシーケンス図
【図１０】従来方式のシーケンス図
【図１１】分散装置を構成する主要素を示す機能ブロック図である。
【図１２】本発明の実施形態が前提とするネットワークの接続概念図である。
【符号の説明】
【００６８】
１  分散装置
２  分岐装置
１１  分散装置の登録表
１２，１３  分岐装置の配送表
２１  マルチキャストサーバ
２２，２３，２４  マルチキャストクライアント
３１  マルチキャストサーバの配送表
２００  パケット受信部
２０１  パケット送信部
２０２  パケット種判別部
２０３  登録表操作部
２０４  タイマ
２０５  振分先選択アルゴリズム
２０６  登録表
【図１】
2005341378.tif 000003
【図２】
2005341378.tif 000004
【図３】
2005341378.tif 000005
【図４】
2005341378.tif 000006
【図５】
2005341378.tif 000007
【図６】
2005341378.tif 000008
【図７】
2005341378.tif 000009
【図８】
2005341378.tif 000010
【図９】
2005341378.tif 000011
【図１０】
2005341378.tif 000012
【図１１】
2005341378.tif 000013
【図１２】
2005341378.tif 000014