(57)【特許請求の範囲】
【請求項１】
上位ネットワークと下位ネットワークとを含む複数の階層から構成される階層型ネットワークで、所定の判断基準に基づいて、上位ネットワークから下位ネットワークへマルチキャストデータを配信するか否かを判断し、判断した結果に基づいてマルチキャストデータを配信するネットワークシステムにおいて、
マルチキャストデータの配信を要求する受信要求を受信し、所定の判断基準に基づいて、受信した受信要求に配信が要求されているマルチキャストデータを下位ネットワークへ送信するか否かを判断するプロキシを備え、
上記プロキシは、
下位ネットワークに存在し、上記受信要求を受信し、受信した受信要求を集積し、集積した受信要求を上記上位ネットワークへ送信する複数の第一プロキシと、
上位ネットワークに存在し、上記複数の第一プロキシそれぞれで集積した受信要求を受信し、受信した受信要求を解析して、解析した結果に基づいて、上位ネットワークと下位ネットワークとの間に位置するネットワークを選択し、配信が要求されているマルチキャストデータを上記選択したネットワークへ送信する第二プロキシと、
上記選択されたネットワークに存在し、上記所定の判断基準を有し、上記第二プロキシからマルチキャストデータを受信し、上記所定の判断基準に基づいて、マルチキャストデータを送信する下位ネットワークに存在する第一プロキシを選択し、選択した第一プロキシへマルチキャストデータを送信する第三プロキシとを備えることを特徴とするネットワークシステム。
【請求項２】
上記第二プロキシは、受信した受信要求からマルチキャストデータを送信する宛先に関する宛先情報を生成し、マルチキャストデータに加え、生成した宛先情報を上記選択したネットワークに存在する第三プロキシへ送信し、
上記第三プロキシは、マルチキャストデータに加え、上記宛先情報を受信し、上記所定の判断基準と受信した上記宛先情報とに基づいて、マルチキャストデータを送信する下位ネットワークを選択することを特徴とする請求項１記載のネットワークシステム。
【請求項３】
上記第二プロキシは、受信要求を送信したホストの数を集計し、集計したホストの数を上記宛先情報に含めて上記第三プロキシへ送信し、
上記第三プロキシは、受信した上記宛先情報に含まれるホストの数を用いて、マルチキャストデータを送信する下位ネットワークを選択することを特徴とする請求項２記載のネットワークシステム。
【請求項４】
上記第三プロキシは、上記所定の判断基準として、上記ホストの数と所定の閾値とを用いることを特徴とする請求項３記載のネットワークシステム。
【請求項５】
上記第三プロキシは、上記所定の判断基準として、上記ホストの数と、上記第二プロキシが受信した受信要求の総数と、所定の閾値とを用いることを特徴とする請求項３記載のネットワークシステム。
【請求項６】
上記第二プロキシは、複数の判断基準を備え、マルチキャストデータの受信要求毎に、上記複数の判断基準から一つを選択して用いることを特徴とする請求項１から５いずれかに記載のネットワークシステム。
【請求項７】
上記ネットワークシステムは、複数の第三プロキシを備え、
上記第二プロキシは、マルチキャストデータの受信要求毎に少なくとも一つの第三プロキシを選択し、
上記選択された第三プロキシは、マルチキャストデータの受信要求毎に、マルチキャストデータを送信する下位ネットワークを選択することを特徴とする請求項１から６いずれかに記載のネットワークシステム。
【請求項８】
上記第二プロキシは、予め、ネットワークの所定の範囲を指定し、上記所定の範囲内に存在する第三プロキシを選択することを特徴とする請求項１記載のネットワークシステム。
【請求項９】
上記第一プロキシは、受信要求を格納する受信要求テーブルを備え、上記受信要求テーブルに格納した受信要求を上記第二プロキシへ送信し、
上記第二プロキシは、受信した受信要求に基づいて、宛先情報を生成し、生成した宛先情報を格納する宛先情報テーブルを備えることを特徴とする請求項２記載のネットワークシステム。
【請求項１０】
上記複数の第一プロキシは、任意のホストから、所定の期間内に、再度、受信要求を受信しない場合は、上記任意のホストの受信要求を上記受信要求テーブルから削除することを特徴とする請求項９記載のネットワークシステム。
【請求項１１】
上記ネットワークシステムは、ゲートウェイと、ルータと、複数の基地局とを備え、
上記複数の第一プロキシそれぞれは、複数の基地局それぞれに備えられ、
上記第二プロキシは、ゲートウェイに備えられ、
上記第三プロキシは、ルータに備えられることを特徴とする請求項１記載のネットワークシステム。
【請求項１２】
上位ネットワークと下位ネットワークとを含む複数の階層から構成される階層型ネットワークで、マルチキャストデータの配信を要求する受信要求を受信し、所定の判断基準に基づいて、受信した受信要求に配信が要求されているマルチキャストデータを下位ネットワークへ送信するか否かを判断し、判断した結果に基づいてマルチキャストデータを送信するプロキシを備えたネットワークシステムにより実行するネットワーク制御方法において、
下位ネットワークに存在するプロキシである複数の第一のプロキシが、上記受信要求を受信し、受信した受信要求を集積し、集積した受信要求を上記上位ネットワークへ送信する第一の工程と、
上位ネットワークに存在するプロキシである第二のプロキシが、上記第一の工程によって複数の第一プロキシそれぞれで集積した受信要求を受信し、受信した受信要求を解析して、解析した結果に基づいて、上位ネットワークと下位ネットワークとの間に位置するネットワークを選択し、配信が要求されているマルチキャストデータを上記選択したネットワークへ送信する第二の工程と、
上記第二の工程で第二のプロキシによって選択されたネットワークに存在するプロキシである第三のプロキシが、上記所定の判断基準を有し、上記第二の工程で第二プロキシにより送信されたマルチキャストデータを受信し、上記所定の判断基準に基づいて、マルチキャストデータを送信する下位ネットワークに存在する第一プロキシを選択し、選択した第一プロキシへマルチキャストデータを送信する第三の工程と
を有することを特徴とするネットワーク制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
固定ネットワークに接続したデータ配信サーバからマルチキャストによるデータ配信を行い、無線による通信機能を有する移動ホストでデータを受信するシステムにおいて、移動ホストの移動に応じて、配信経路を変更するネットワーク制御装置及び方法に関する。
【０００２】
【従来の技術】
データ配信サーバからデータ配信を行う際、そのデータの受信者の数が多い場合、マルチキャストによる通信を適用することで、ネットワーク負荷を低減することが可能である。
【０００３】
ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）においては、ＲＦＣ１１１２で定義されたＩＰマルチキャスト（ＩＰ  ｍｕｌｔｉｃａｓｔ）とＩＰマルチキャストのルータ間での経路制御プロトコルであるＩＧＭＰ（Ｉｎｔｅｒｎｅｔ  Ｇｒｏｕｐ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）がある。ＩＰマルチキャストは、ルータを階層構造に接続したネットワークで、あるルータに接続したホストからのデータ受信要求に基づいて、データ送信ホストからデータ受信ホストへのルータ間のマルチキャストデータの配信経路を設定する。これにより、データ受信ホストが存在するルータにデータが配信され、また、データ受信ホストが存在しないルータには、データが配信されないようになっている。
【０００４】
また、特開平１１−３１３０５９「マルチキャスト通信方法及びそのシステム並びにマルチキャスト通信プログラムを記録した記憶媒体」においては、階層構造の各階層に中継サーバを設置し、受信ホストからのデータ受信要求に対して、中継サーバが経路を設定し、データを中継し、複数のデータ受信ホストに対して送るためのデータ送信ホストの負荷を低減し、システムのスケーラビリティと応答性を確保するマルチキャスト配信方法が発明されている。
【０００５】
【発明が解決しようとする課題】
近年、コンピュータと無線通信手段を組み合わせることにより、コンピュータの通信環境が固定的なものだけでなく、移動を伴うものにもなってきた。無線通信は、基地局と呼ばれる無線ネットワークの端点を介して、固定ネットワークと接続する。このようなネットワークで広い領域を無線でカバーしようとすると、複数の基地局の設置が必要となる。このため、無線通信手段を有したコンピュータが移動する自動車などに搭載された場合、複数の基地局間を移動することになる。これは、異なるネットワークへの移動を繰り返すということを意味する。
【０００６】
また、移動する自動車で実行するアプリケーションを考えてみる。例えば、高速道路を移動している車両に対してデータ配信を行う場合、その配信データには、時間と地理的な特性がある。例えば、これは帰省ラッシュなどの混雑する期間に顕著である。この場合、都市を出発した車両が群となってそれぞれの目的地へ、道路上を移動する。従って、配信データを送信する送信先も道路上を移動することになる。
【０００７】
ＩＰマルチキャストや特開平１１−３１３０５９「マルチキャスト通信方法及びそのシステム並びにマルチキャスト通信プログラムを記録した記憶媒体」は、データ受信ホストに対してデータを配信するという目的を実現したものであるが、例えば、多くの受信ホストが同じルータに集中して接続している場合には、ネットワーク利用効率が高くなるが、分散しているようなケースでも、受信要求に対して経路を設定してしまうため、データを配信すること自体がネットワークにとって非効率的であるような場合でも、データ送信を停止することはできない。
【０００８】
先の自動車の例に戻ると、群の中心部の車両が密な領域に対してマルチキャストデータ配信を行うことは効率が良いが、群の端の疎な領域に対してマルチキャストデータ配信を行うことは効率が悪い。このような場合に、そのデータの配信の必要性と効率を合わせて評価し、配信を実施、停止できることが必要である。
【０００９】
本発明は、移動する複数のデータを受信するホストの集合を群として捉えることによって、サーバから複数のクライアントへデータを配信する場合において、ネットワークの利用の効率化を図ることを目的とする。
【００１０】
【課題を解決するための手段】
この発明に係るネットワーク制御装置は、上位ネットワークと下位ネットワークとを含む複数の階層から構成される階層型ネットワークでマルチキャストデータの配信を制御するネットワーク制御装置において、
所定の判断基準に基づいて、上位ネットワークから下位ネットワークへマルチキャストデータを配信するか否かを判断し、判断した結果に基づいてマルチキャストデータを配信することを特徴とする。
【００１１】
上記ネットワーク制御装置は、
マルチキャストデータの配信を要求する受信要求を受信し、所定の判断基準に基づいて、受信した受信要求に配信が要求されているマルチキャストデータを下位ネットワークへ送信するか否かを判断するプロキシを備えることを特徴とする。
【００１２】
上記プロキシは、
下位ネットワークに存在し、上記受信要求を受信し、受信した受信要求を集積し、集積した受信要求を上記上位ネットワークへ送信する複数の第一プロキシと、
上位ネットワークに存在し、上記複数の第一プロキシそれぞれで集積した受信要求を受信し、受信した受信要求を解析して、解析した結果に基づいて、上位ネットワークと下位ネットワークとの間に位置するネットワークを選択し、配信が要求されているマルチキャストデータを上記選択したネットワークへ送信する第二プロキシと、
上記選択されたネットワークに存在し、上記所定の判断基準を有し、上記第二プロキシからマルチキャストデータを受信し、上記所定の判断基準に基づいて、マルチキャストデータを送信する下位ネットワークに存在する第一プロキシを選択し、選択した第一プロキシへマルチキャストデータを送信する第三プロキシとを備えることを特徴とする。
【００１３】
上記第二プロキシは、受信した受信要求からマルチキャストデータを送信する宛先に関する宛先情報を生成し、マルチキャストデータに加え、生成した宛先情報を上記選択したネットワークに存在する第三プロキシへ送信し、
上記第三プロキシは、マルチキャストデータに加え、上記宛先情報を受信し、上記所定の判断基準と受信した上記宛先情報とに基づいて、マルチキャストデータを送信する下位ネットワークを選択することを特徴とする。
【００１４】
上記第二プロキシは、受信要求を送信したホストの数を集計し、集計したホストの数を上記宛先情報に含めて上記第三プロキシへ送信し、
上記第三プロキシは、受信した上記宛先情報に含まれるホストの数を用いて、マルチキャストデータを送信する下位ネットワークを選択することを特徴とする。
【００１５】
上記第三プロキシは、上記所定の判断基準として、上記ホストの数と所定の閾値とを用いることを特徴とする。
【００１６】
上記第三プロキシは、上記所定の判断基準として、上記ホストの数と、上記第二プロキシが受信した受信要求の総数と、所定の閾値とを用いることを特徴とする。
【００１７】
上記第二プロキシは、複数の判断基準を備え、マルチキャストデータの受信要求毎に、上記複数の判断基準から一つを選択して用いることを特徴とする。
【００１８】
上記ネットワーク制御装置は、複数の第三プロキシを備え、
上記第二プロキシは、マルチキャストデータの受信要求毎に少なくとも一つの第三プロキシを選択し、
上記選択された第三プロキシは、マルチキャストデータの受信要求毎に、マルチキャストデータを送信する下位ネットワークを選択することを特徴とする。
【００１９】
上記第二プロキシは、予め、ネットワークの所定の範囲を指定し、上記所定の範囲内に存在する第三プロキシを選択することを特徴とする。
【００２０】
上記第一プロキシは、受信要求を格納する受信要求テーブルを備え、上記受信要求テーブルに格納した受信要求を上記第二プロキシへ送信し、
上記第二プロキシは、受信した受信要求に基づいて、宛先情報を生成し、生成した宛先情報を格納する宛先情報テーブルを備えることを特徴とする。
【００２１】
上記複数の第一プロキシは、任意のホストから、所定の期間内に、再度、受信要求を受信しない場合は、上記任意のホストの受信要求を上記受信要求テーブルから削除することを特徴とする。
【００２２】
上記ネットワーク制御装置は、ゲートウェイと、ルータと、複数の基地局とを備え、
上記複数の第一プロキシそれぞれは、複数の基地局それぞれに備えられ、
上記第二プロキシは、ゲートウェイに備えられ、
上記第三プロキシは、ルータに備えられることを特徴とする。
【００２３】
この発明に係るネットワーク制御方法は、上位ネットワークと下位ネットワークとを含む複数の階層から構成される階層型ネットワークでマルチキャストデータの配信を制御するネットワーク制御方法において、
所定の判断基準に基づいて、上位ネットワークから下位ネットワークへマルチキャストデータを配信するか否かを判断し、判断した結果に基づいてマルチキャストデータを配信することを特徴とする。
【００２４】
【発明の実施の形態】
実施の形態１．
本発明の実施の形態について述べる。
図１は、本発明のネットワーク構成を示している。１０１，１０２はアプリケーションサーバである。１０３，１０４は無線ネットワークを含むネットワークのゲートウェイである。１０５〜１１２はルータである。１１３〜１１９は無線ネットワークと有線ネットワークを結合する基地局である。１２０，１２１は無線装置を備えたモバイルホストである。１２２は公衆網である。図１のネットワークは、ゲートウェイを頂点として、有線ネットワークとモバイルホストとの接続を行う無線ネットワークとを含むアクセスネットワークと、各アクセスネットワークとアプリケーションサーバが公衆網で接続されていることとし、アクセスネットワークは階層構造をとっている。
【００２５】
図１において、公衆網１２２は、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）が利用可能なものとする。また、アクセスネットワークの有線ネットワーク部分においてもＩＰが利用可能なものとする。アクセスネットワークの無線ネットワーク部分においては、ＩＰ以外のユニキャスト、マルチキャストをサポートした通信プロトコルが利用可能であるとする。もちろん、ＩＰでも構わない。また、公衆網１２２は、公衆網に限られず、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）や専用線等が含まれていてもよく、データを配信できる通信網であればよい。
図１のシステムは、アプリケーションサーバ１０１，１０２から複数のモバイルホスト１２０，１２１に対して、マルチキャストによるデータ配信を行うことを目的としている。
【００２６】
図２は、図１の各装置で動作する構成要素の接続を示している。
２０１はサーバアプリケーションである。２０２はゲートウェイプロキシ（第二プロキシ）である。２０３はルータプロキシ（第三プロキシ）である。２０４はモバイルプロキシ（第一プロキシ）である。２０５はモバイルアプリケーションである。
上記各プロキシは、ネットワーク上でデータの転送を中継する機構であって、ソフトウェアによって実現できるものであることを前提として説明する。
【００２７】
サーバアプリケーション２０１は、任意のアプリケーションサーバ１０１，１０２で動作する。ゲートウェイプロキシ２０２は、マルチキャストデータの配信対象となるアクセスネットワークのゲートウェイ１０３，１０４で動作する。ルータプロキシ２０３は、同アクセスネットワークのゲートウェイ１０３，１０４と全てのルータ１０５〜１１２と、基地局１１３〜１１９で動作する。モバイルプロキシ２０４は、同じくアクセスネットワークの全ての基地局１１３〜１１９で動作する。モバイルアプリケーション２０５は、全てのモバイルホスト１２０，１２１で動作する。各ソフトウェアの機能は後述する。
【００２８】
ここでまず、本システム全体でマルチキャストデータを配信する動作について述べる。
本システムの動作は、アプリケーションサーバ１０１，１０２で動作するサーバアプリケーションがマルチキャストデータ配信を行い、モバイルホスト１２０，１２１で動作しているモバイルアプリケーション２０５がデータ受信要求（「配信要求」ともいう）を行った場合に、同マルチキャストデータ配信が、モバイルアプリケーション２０５に対して送信されるというものである。
【００２９】
図３は、ソフトウェア間のマルチキャストデータの流れを示している。
モバイルアプリケーション２０５からのマルチキャストデータの配信要求は、モバイルプロキシ２０４経由でゲートウェイプロキシ２０２に伝わる。ゲートウェイプロキシ２０２は、要求のあったモバイルプロキシ２０４を階層下に含むルータプロキシ２０３を中継プロキシとして指定し、これと同時に、サーバアプリケーション２０１が送信しているマルチキャストデータを中継プロキシとなったルータプロキシ２０３に対して送信する。ルータプロキシ２０３は、要求のあったモバイルプロキシ２０４に対して、マルチキャストデータを送信し、モバイルプロキシ２０４は、モバイルアプリケーション２０５の属する無線ネットワークに対して、マルチキャストデータをマルチキャスト送信する。このようにして、マルチキャストデータを配信する。
【００３０】
さて、モバイルアプリケーション２０５がマルチキャストデータの受信要求を行ったからといって、必ずそのマルチキャストデータがモバイルアプリケーション２０５に対して送信されるとは限らない。ゲートウェイプロキシ２０２、ルータプロキシ２０３、モバイルプロキシ２０４の３つのプロキシが、サーバアプリケーションのマルチキャスト配信の経路制御を行い、モバイルアプリケーションに対する配信を実行、停止するのである。
【００３１】
次に、マルチキャスト配信の過程で実施される配信経路制御について説明する。
この実施の形態では、マルチキャスト配信経路制御は、次の２つの経路制御を実施している。
１つ目の配信経路制御は、ゲートウェイプロキシ２０２によるものである。ゲートウェイプロキシ２０２がモバイルプロキシ２０４からのデータ受信要求を元に、受信要求を行っているモバイルプロキシ２０４全てを包含し、かつモバイルプロキシ２０４に近い階層のルータプロキシ２０３に対して、中継プロキシ指定を行う。図１において、基地局１１３のモバイルプロキシ２０４からゲートウェイ１０３に対して、マルチキャストデータの受信要求があった場合、基地局１１３のルータプロキシ２０３が中継プロキシとなる。基地局１１３，１１４から受信要求があった場合、ルータ１０７のルータプロキシ２０３が中継プロキシとなる。基地局１１３，１１４，１１６からの場合は、ゲートウェイ１０３のルータプロキシ２０３が中継プロキシとなる。
【００３２】
このように、ルータプロキシ２０３は、アクセスネットワークに複数存在するが（その数はネットワーク構成に依存する）、ある１つのマルチキャストアドレスの中継プロキシとして動作するルータプロキシ２０３は、各アクセスネットワークに１つであり、この決定は、ゲートウェイプロキシ２０２の指定による。このように、マルチキャストデータを受信するモバイルホスト１２０，１２１の移動により、モバイルホスト１２０，１２１が利用する基地局は移動するため、中継プロキシもアクセスネットワーク上を移動する。ちなみに、中継プロキシとなっていないルータプロキシ２０３は、休眠状態となる。
以降、中継プロキシとなったルータプロキシ２０３を中継ルータプロキシ、中継プロキシとならない休眠状態であるルータプロキシを休眠ルータプロキシ２０３と呼ぶ。
【００３３】
２つ目の配信経路制御は、中継ルータプロキシによるものである。中継ルータプロキシは、実装した判断基準により、ネットワーク階層下のモバイルプロキシ２０４へのデータ配信の実行、停止を、各モバイルプロキシ２０４毎に決定する。また、モバイルプロキシ２０４は、ルータプロキシ２０３から受信したデータを、常に、モバイルアプリケーション２０５に対して送信するため、配信経路制御は、中継ルータプロキシによるものである。
【００３４】
この実施の形態における上記判断基準は、モバイルプロキシ２０４における同時受信要求数を元に判定される。このため、ゲートウェイプロキシ２０２は、中継ルータプロキシに対して、モバイルプロキシ２０４毎の受信要求数情報を提供している。
この実施の形態では、判断基準として次の２つを利用する。しかしながら、これらに限られるわけではない。
【００３５】
１つ目の判断基準を述べる。
モバイルプロキシ２０４における受信数が規定のしきい値を超えた場合に、モバイルプロキシ２０４に対してデータ配信する。これは例えば、しきい値を１０と設定した場合に、その時点のモバイルプロキシ２０４における受信要求数（受信要求を行っているモバイルアプリケーションの数）が１０以上の場合に、中継プロキシがモバイルプロキシ２０４に対してデータ配信を行うものである。
【００３６】
２つ目の判断基準を述べる。
全てのモバイルプロキシ２０４における着目したマルチキャストアドレスの受信数（絶対要求数の総和）を分母として、あるモバイルプロキシ２０４における受信数の割合が、規定のしきい値を超えた場合に、モバイルプロキシに対してデータ配信する。これは例えば、しきい値を、０．７とした場合に、同一のマルチキャストアドレスの受信要求を行っているモバイルアプリケーション全部が１００であった場合に、１つのモバイルプロキシ２０４に７０以上の受信要求があった場合に、中継プロキシがモバイルプロキシ２０４に対してデータ配信を行うものである。
【００３７】
これらの判断基準は、マルチキャスト配信要求が集中しているモバイルプロキシ２０４に対して配信を行い、疎であるモバイルプロキシ２０４に対しては配信を行わない、あるいは絶対的な要求数の少ないところに対しては配信を行わないということで、常にマルチキャスト配信を行おうとするマルチキャストプロトコルに対して、マルチキャストによる配信が非効率的なネットワークに対しては配信を行わないことで、ネットワークを効率的に使用するものである。
【００３８】
上記で述べた判断基準のほかに、全てのモバイルアプリケーションの要求に対して配信を行う、または、全く配信しないといった単純な判断基準も適用可能である。その他、判断基準のアルゴリズムをルータプロキシ２０３で実現することにより、これも使用可能である。
【００３９】
次に、マルチキャストアドレスについて述べる。マルチキャストアドレスは、ネットワークプロトコルで定義されており、例えば、ＩＰマルチキャストを例に取れば、そのマルチキャストアドレスは、２２４．０．０．０から２３９．２５５．２５５．２５５の範囲となる。マルチキャストデータの送信者と受信者は、このうち任意の共通アドレスを使用してデータ送信、受信を行う。本実施の形態においては、無線ネットワーク部分のプロトコルはＩＰでないとしたが、モバイルホスト１２０は受信者として、送信者のサーバアプリケーションがデータを送信するマルチキャストアドレスを認識している。また、公衆網１２２においては、他のアプリケーションとの混在の可能性があるため、ネットワークで定義された２２４．０．０．０から２３９．２５５．２５５．２５５のマルチキャストアドレスのうち、本システムで利用可能なアドレスを定義する必要がある。ここでは、便宜上２２４．０．１．１から２２４．０．１．２５４の範囲をシステムで利用するマルチキャストアドレスとする。このマルチキャストアドレスについては、ゲートウェイプロキシ２０２、ルータプロキシ２０３、モバイルプロキシ２０４の各構成要素において共通の定義としておく。
【００４０】
無線ネットワーク部分のプロトコルとマルチキャストアドレスについて述べる。
無線ネットワークにおけるプロトコルとして、ユニキャスト、マルチキャスト通信をサポートするプロトコルを使用するものとする。先に、マルチキャストアドレスの部分で、このモバイルアプリケーションは、ＩＰマルチキャストのアドレスでデータを受信すると示したが、ＩＰマルチキャストのアドレスは、モバイルプロキシとモバイルアプリケーションとの間で、使用するネットワークプロトコルのマルチキャストアドレスにマッピングする。本実施の形態においては、２２４．０．１．１から２２４．０．１．２５４の２５４のマルチキャストアドレスを、ネットワークプロトコルマルチキャストアドレスに対応させる。
【００４１】
つまり、モバイルプロキシ２０４が無線ネットワーク区間において、２２４．０．１．１あてにデータを送信する際、これに対応するネットワークマルチキャストアドレスに変換して、送信する。モバイルアプリケーションは、サーバアプリケーションが２２４．０．１．１あてに送信したデータを無線ネットワーク経由で受信する場合には、モバイルプロキシ２０４と同様、２２４．０．１．１をネットワークマルチキャストアドレスに変換して、無線ネットワークからはこのアドレスでマルチキャストデータを受信する。このように、ＩＰマルチキャストアドレスを、異なるネットワークプロトコルを結合したネットワークにおいて、送信先の識別に使用している。
【００４２】
マルチキャストで送信、受信するデータについて述べる。
ＩＰマルチキャストにおいては、データグラムパケットとして、マルチキャストによって送信するパケットの構造が定義されている。しかし、パケットのユーザデータ部に格納するデータは、全くユーザアプリケーション依存である。サーバアプリケーション２０１とモバイルアプリケーション２０５の間で、ユーザデータ部に格納するデータ構造は定義する。ゲートウェイプロキシ２０２、ルータプロキシ２０３、モバイルプロキシ２０４は、サーバアプリケーション２０１とモバイルアプリケーション２０５の間にあって、このサーバアプリケーション２０１が送信したユーザデータ部を、モバイルアプリケーション２０５に対して伝達する。これは、無線ネットワーク部がＩＰネットワークでない場合に、プロトコル依存の情報の入ったヘッダ部を除いたデータ部（データ部分）が受信されるデータであることを意味している。
【００４３】
次に、マルチキャストデータを配信する図２に示した構成要素の動作を説明する。
サーバアプリケーション２０１の動作について説明する。
サーバアプリケーション２０１は、マルチキャストアドレスに対して、データを送信する。先に述べたとおり、このマルチキャストアドレスは、あらかじめシステムに規定した空間のアドレスであって、かつ、モバイルアプリケーション２０５にとっても既知のアドレスである。本実施の形態においては、マルチキャストデータ送信は通常のＩＰマルチキャストの手順に従う。
【００４４】
ゲートウェイプロキシ２０２の動作について説明する。
図３に示したとおり、ゲートウェイプロキシ２０２は、大きく２つの処理を行う。１つはサーバアプリケーション２０１から受信したマルチキャストデータの中継ルータプロキシへの送信、もう１つはルータプロキシ２０３の中継プロキシ指定である。
【００４５】
マルチキャストデータの中継ルータプロキシへの送信について説明する。
図４は、その処理の流れ図である。
この流れ図は、１つのマルチキャストアドレスについての処理を記載している。本実施の形態については、複数のマルチキャストアドレスを取り扱うため、実際には、この処理を取り扱うマルチキャストアドレスの数だけ並行して実行する。
【００４６】
図５は、中継ルータプロキシテーブルの一例を表したものである。
中継ルータプロキシテーブルは、マルチキャストアドレスと中継ルータプロキシの対応を格納するテーブルである。中継ルータプロキシテーブルは、ゲートウェイプロキシ２０２に備えられている。
【００４７】
ステップ４０１（図中のＳ４０１。以下、「Ｓ」を「ステップ」または「Ｓ」を用いて示す）において、サーバアプリケーション２０１からのマルチキャストデータ受信をチェックする。データを受信した場合には、転送処理のためステップ４０２に進む。そうでない場合は、ステップ４０１に戻る。ステップ４０２では、送信先となる中継ルータプロキシの検索を行う。中継ルータプロキシの検索は、図５に示す中継ルータプロキシテーブルを使用して行う。同テーブルに記載されたマルチキャストアドレスの項を検索して、対応する中継ルータプロキシの中継ルータプロキシアドレスとポート番号を求める。ステップ４０３でこのアドレスに対して、データを送信する。
【００４８】
ルータプロキシ２０３の中継プロキシ指定処理について説明する。
この処理は、１つのシーケンスで全てのマルチキャストアドレスを処理している。中継ルータプロキシテーブルの生成も、この処理で行っている。
図６は、この処理の流れ図である。
ステップ６０１では、モバイルプロキシ２０４からのモバイルアプリケーション受信要求テーブルの受信の有無をチェックする。受信がない場合は、ステップ６０５，６０６のマルチキャストデータ受信要求テーブル送信処理を行う。
【００４９】
図７は、モバイルアプリケーション受信要求テーブル（受信要求テーブル）である。このテーブルによれば、このテーブルを生成したモバイルプロキシ２０４における全てのマルチキャストアドレスを受信要求しているモバイルホストの一覧を得ることができる。ネットワークモバイルホストアドレスは、モバイルホストの無線ネットワークにおけるユニキャストアドレスを示しているが、ここでは使用しないので無視する。また、要求受信時刻は、モバイルプロキシがモバイルアプリケーションから、マルチキャストアドレスの受信要求を行った時刻が記載されているが、こちらも同じく、ここでは使用しないため無視する。必要なのは、各マルチキャストアドレスがいくつ要求されているかである。
【００５０】
一方、ステップ６０１で受信があった場合には、ステップ６０２でマルチキャストデータ受信要求テーブルの更新を行う。
図８は、マルチキャストデータ受信要求テーブル（宛先情報テーブル）である。
このテーブルは、各モバイルプロキシ２０４におけるモバイルアプリケーション２０５からのマルチキャストアドレス毎の受信要求数を示したテーブルである。このテーブルによれば、あるマルチキャストアドレスについて、モバイルプロキシ毎の受信要求の受信数を順に加算することによって、モバイルプロキシ２０４毎にいくつの受信要求があるかを知ることができる。さて、ステップ６０２では、ステップ６０１で受信したモバイルアプリケーション受信要求テーブルで、各マルチキャストアドレスに対する受信要求を数えて、マルチキャストデータ受信要求テーブルを生成する。
【００５１】
ステップ６０３，６０４で中継ルータプロキシの決定を行う。まず、ステップ６０２で中継ルータプロキシの移動が必要かを判定する。この判定は、マルチキャストデータ受信要求テーブルを参照して、各マルチキャストアドレス毎に、受信要求を行っているモバイルプロキシ２０４全てを包含し、かつモバイルプロキシ２０４に近い階層のルータプロキシ２０３を中継プロキシとして選択する。この時、中継プロキシの選択を、あらかじめ行う設定範囲のルータプロキシ２０３のうちから行うことで、データの配布範囲を強制的に限定することもできる。
【００５２】
このとき、中継プロキシの選択をあらかじめ行う設定範囲のルータプロキシのうちから行うことで、データの配布範囲を強制的に限定することもできる。
図９は、中継ルータプロキシ化許可ルータプロキシアドレステーブルである。このテーブルには、マルチキャストアドレス毎に、中継ルータプロキシとなることを許可するルータプロキシのアドレスの一覧を記載する。このテーブルにルータプロキシのアドレスを記載すると、そのルータプロキシを中継ルータプロキシとすることを許可することとなり、逆に、これに記載していないルータプロキシは、中継ルータプロキシとなることはできない。モバイルプロキシは、ルータプロキシの階層下に存在するため、特定のルータプロキシを中継ルータプロキシとなることを許可することで、そのルータプロキシ階層下のモバイルプロキシを、データ配信対象範囲として限定することができる。
【００５３】
このテーブルを使用する場合、中継ルータプロキシの選択は、マルチキャストデータ受信要求テーブルを参照して、各マルチキャストアドレス毎に受信要求を行っているモバイルプロキシ全てを包含し、かつ、中継ルータプロキシ化許可ルータプロキシアドレステーブルに記載があり、かつ、モバイルプロキシに近い階層のルータプロキシを中継プロキシとして選択する。
中継ルータプロキシの選択は、マルチキャストデータの配信要求毎に行う。また、中継ルータプロキシの選択は、マルチキャストデータの配信毎に異なる判断基準で実施することができる。さて、ここで各アドレス毎に中継プロキシが変更になった場合には、ステップ６０４において、中継ルータプロキシテーブルの更新と、新しい中継ルータプロキシに対して中継ルータプロキシ指定通知を、それまでの中継ルータプロキシに対して休眠通知を送信する。
【００５４】
ステップ６０５，６０６のマルチキャストデータ受信要求テーブル送信処理である。マルチキャストデータ受信要求テーブルは、中継ルータプロキシに対して、定期的に送信するものである。ステップ６０５で前回、このテーブルを送信してから規定時間がたったかを判定し、そうであればステップ６０６において、同テーブルを送信する。
【００５５】
ルータプロキシ２０３の動作について説明する。
ルータプロキシ２０３は、大きく休眠ルータプロキシと中継ルータプロキシの２つの状態を持つ。
図１０は、２つの状態間の遷移を示している。
休眠ルータプロキシの場合、中継ルータプロキシ指定通知を受信すると中継ルータプロキシになる。中継ルータプロキシの場合、休眠通知を受信すると休眠ルータプロキシとなる。いずれの通知も、ゲートウェイプロキシ２０２から受信する。休眠状態の場合、なにも処理を行わない。
【００５６】
中継ルータプロキシの動作について説明する。
中継ルータプロキシ状態のルータプロキシ２０３は、図３に示したとおり、ゲートウェイプロキシ２０２から受信したマルチキャストデータをモバイルプロキシ２０４に対して送信する処理を行う。このとき、送信先となるモバイルプロキシ２０４は、モバイルプロキシテーブルによって決定する。
図１１は、モバイルプロキシテーブルの一例を表す図である。
モバイルプロキシテーブルは、マルチキャストアドレス毎に、このアドレスの送信先となるモバイルプロキシのアドレスとポート番号が記載されたテーブルである。中継ルータプロキシは、このモバイルプロキシテーブルを生成する処理を行う。本実施の形態においては、複数のマルチキャストアドレスを取り扱うため、これらの処理は、この処理を取り扱うマルチキャストアドレスの数だけ並行して実行する。
【００５７】
まず、マルチキャストデータのモバイルプロキシ２０４への送信処理について説明する。
図１２は、この動作を示した流れ図である。
ステップ８０１において、まず、休眠状態かどうかをチェックする。休眠の場合は、最初の処理に戻る。そうでない場合、ステップ８０２において、ゲートウェイプロキシ２０２からのマルチキャストデータの受信をチェックし、データがない場合には、最初に戻る。データを受信した場合には、ステップ８０３，８０４でモバイルプロキシ２０４に対してデータの送信処理を行う。ステップ８０３では、送信先となるモバイルプロキシ２０４の検索処理を行う。これは、モバイルプロキシテーブルを元に行う。ステップ８０４で、モバイルプロキシテーブルから決定したモバイルプロキシ２０４に対して、データを送信する。
【００５８】
次に、モバイルプロキシテーブルの作成手順について述べる。
図１３は、この動作を示した流れ図である。
ステップ１００１において、自己のルータプロキシ２０３が休眠状態かをチェックし、そうでない場合、ステップ１００２で、ゲートウェイプロキシからマルチキャストデータ受信要求テーブルを受信しているか否かをチェックする。もし、受信した場合には、ステップ１００３で配信対象となるモバイルプロキシ２０４を決定する。
【００５９】
モバイルプロキシ２０４を決定するにあたっての判断処理（図１３のＳ１００３）については、２種類説明する。
中継ルータプロキシは、以下に説明する２つの判断処理のいずれかを実施する。しかしながら、以下に説明する２種類以外の判断処理であっても構わない。
図１４は、１つ目の判断処理である。
本判断処理は、マルチキャストデータ受信要求テーブルを元に行う。Ｓ１１０１で同テーブルを一行ずつ読み込んで、Ｓ１１０２において、モバイルプロキシにおけるマルチキャストアドレスの要求数が、予め指定されたしきい値を超えているかをチェックする。超えている場合は、配信対象として、モバイルプロキシテーブルに、そのモバイルプロキシ２０４を追加する。Ｓ１１０１で全ての行について処理完了を検出したら、この判断処理は終了である。
【００６０】
図１５は、もう１つの判断処理である。
本判断処理も、先と同じくマルチキャストデータ受信要求テーブルを使用するが、テーブルそのままでは処理できないので、ステップ１２０１で中間テーブルとしてマルチキャストデータ要求度数テーブルを作成する。
図１６は、マルチキャストデータ要求度数テーブルである。モバイルプロキシ２０４を特定するアドレスとポート番号に対して、そのモバイルプロキシ２０４からの当該マルチキャストアドレスに対する要求の同アドレスに対する全要求に示す割合を、要求度数として格納する。これは、マルチキャストデータ受信要求テーブルにおいて、着目しているマルチキャストアドレスに対するモバイルプロキシ２０４毎の絶対要求数の総和を求め、各モバイルプロキシ２０４毎に、その割合を求めることによって作成することができる。その後は、図１４の処理と同様、マルチキャストデータ受信要求度数テーブルの各行について、しきい値と比較（ステップ１２０３）して、それ以上であれば、配信対象としてモバイルプロキシテーブルに記述する（ステップ１２０４）。
【００６１】
次に、モバイルプロキシ２０４の動作について説明する。
モバイルプロキシ２０４には、大きく図３に示した２つの役割がある。１つは中継ルータプロキシから受信したデータを、無線ネットワークにマルチキャスト送信する。もう１つはモバイルアプリケーション２０５から受信したマルチキャストデータの配信要求をまとめて、モバイルアプリケーション受信要求テーブルを作成し、ゲートウェイプロキシ２０２に対して、送信することである。
【００６２】
まず、モバイルプロキシ２０４の１つ目の役割である無線ネットワークへのマルチキャスト送信の処理について説明する。
図１７は、その処理の流れ図である。
ステップ１４０１において、送信すべきマルチキャストデータの受信の有無をチェックする。マルチキャストデータは、中継ルータプロキシから受信したものであるデータ受信があった場合、ステップ１４０２でネットワークマルチキャストアドレスへ変換して、ステップ１４０３で同ネットワークマルチキャストアドレスに対して、マルチキャストデータを送信する。
図１８は、マルチキャストアドレスからネットワークマルチキャストアドレスへの変換で使用するネットワークマルチキャストアドレス変換テーブルである。マルチキャストアドレスとネットワークマルチキャストアドレスの対応表になっている。
【００６３】
次に、モバイルプロキシ２０４の２つ目の役割であるモバイルアプリケーション受信要求テーブルの送信処理について説明する。
図１９は、その処理の流れ図である。
ステップ１５０１で、モバイルアプリケーションからマルチキャストデータの受信要求の有無をチェックする。もし、要求がない場合、ステップ１５０５でモバイルアプリケーション受信要求テーブルの各行の要求受信時刻をチェックして、前回要求受信から規定の時間以上経っている行を削除する。これは、モバイルホスト１２０が無線ゾーンから脱出したことを検出するためで、この判定はある一定の期間要求がないということを以って行う。これにより、モバイルホスト１２０が他の無線ゾーンへへ移動して、そこで受信要求を出しても、要求が重複する機関は規定のタイムアウト時間以内となる。
【００６４】
次に、ステップ１５０１で受信があった場合は、ステップ１５０２で既存要求か、新規要求かを判定して、新規要求であればステップ１５０３で当該要求を行ったモバイルアプリケーション２０５のネットワークアドレスと要求受信時刻を、モバイルアプリケーション受信要求テーブルに登録する。既存要求であれば、同テーブルの要求受信時刻を現在時刻にする。これは、ステップ１５０５で行うタイムアウト判定のタイマを延長する処理である。ステップ１５０３または１５０４または１５０５で、モバイルアプリケーション受信要求テーブルの更新処理が完了した。続いて、ステップ１５０６，１５０７で、同テーブルの定期送信処理を行う。ステップ１５０６で前回のテーブル送信からの規定時間の経過を判定して、時間が経過していれば、同テーブルをゲートウェイプロキシに対して送信する。
【００６５】
次に、モバイルアプリケーション２０５の動作について説明する。
モバイルアプリケーションは、マルチキャストデータの受信要求処理と、要求したデータの受信処理を行う。受信処理は、要求したマルチキャストアドレスに対応するネットワークマルチキャストアドレスを監視して行う。この受信処理は、使用するネットワークプロトコルに依存する。また、マルチキャストアドレスからネットワークマルチキャストアドレスへの変換は、モバイルプロキシでの手順と同様である。
【００６６】
次に、マルチキャストデータの受信要求処理を説明する。
図２０は、その流れ図である。
この受信要求は、モバイルプロキシ２０４で検出するタイムアウト時間以内に定期的に行う。ステップ１７０１で要求送信間隔として規定時間の経過を判定し、経過していれば、ステップ１７０２でマルチキャストアドレスを指定したモバイルプロキシ２０４に対して、マルチキャストデータの受信要求を行う。なお、タイムアウト時間は、モバイルプロキシ２０４、モバイルアプリケーション２０５とも共通の値を認識しており、要求送信間隔はこのタイムアウト時間よりも短い。
【００６７】
以上のように、このネットワーク制御装置は、階層型ネットワークにおいて、下位ネットワークに対してマルチキャスト配信を行うかを、マルチキャストデータを受信するホストからの受信要求をネットワーク単位に集積する第一のプロキシと、この集積した受信要求を第一のプロキシから集積し、集積した受信要求に基づき第三のプロキシを決定する第二のプロキシと、第一のプロキシを下位ネットワークとして配信経路に組み込むか、または除外するかを適当な判断基準によって行う第三のプロキシからなり、配信するマルチキャストデータを第二、第三、第一の各プロキシを順に経由して、受信要求しているホストの属するネットワークにマルチキャストすることを特徴とする。
【００６８】
また、このネットワーク制御装置は、マルチキャストデータの受信を行うホストが、ある第一のプロキシのネットワークと接続した場合に、この第一のプロキシに対するマルチキャストデータの配信要求を行い、また他の第一のプロキシのネットワークと接続した場合には、新たな第一のプロキシに対してマルチキャストデータの配信要求を行うことで、第一のプロキシのネットワーク間を移動するホストのマルチキャストデータ配信要求情報をネットワークシステムにおける第二、第三、第一のプロキシ間の経路制御の情報とする。
【００６９】
このように、１つ目の判断基準は、各第一のプロキシのネットワーク毎に同一マルチキャストデータの受信要求を行っているホストの数を、第二のプロキシ経由で、第三のプロキシに通知し、第三のプロキシが第一のプロキシに対する配信経路制御の判断基準として、絶対的な要求数情報と、同一マルチキャストデータの配信毎に定めた配信しきい値情報とを用いる。
【００７０】
また、２つ目の判断基準は、各第一のプロキシのネットワーク毎に同一マルチキャストデータの受信要求を行っているホストの数を、第二のプロキシ経由で、第三のプロキシに通知し、第三のプロキシが第一のプロキシに対する配信経路制御の判断基準として、ネットワーク毎の相対的な要求度数情報と、同一マルチキャストデータの配信毎に定めた配信しきい値情報とを用いる。
【００７１】
実施の形態２．
上記実施の形態１では、図３に示す各プロキシは、ソフトウェアであることを前提として説明したが、これに限られることはない。上記各プロキシは、ハードウェア、ファームウェアによって実現してもよい。
【００７２】
【発明の効果】
この発明によれば、マルチキャストデータの受信要求に対して、適切な評価を用いることで、ネットワークとして非効率的な配信を抑止することにより、ネットワークの効率的な利用を図ることが可能である。
【００７３】
また、マルチキャストデータの受信を行うモバイルホストが、基地局間を移動した場合にも、マルチキャストデータの受信要求に対して、適切な評価を用いることで、ネットワークとして非効率的な配信を抑止することにより、ネットワークの効率的な利用を図ることが可能である。
【００７４】
また、判断基準を配信経路制御に適用することで、ネットワークとして非効率的な配信を抑止することにより、ネットワークの効率的な利用を図ることが可能である。
【００７５】
また、システムでマルチキャストアドレスで区別される複数のマルチキャスト配信が混在しても、マルチキャストデータの受信要求に対して、適切な評価を用いることで、ネットワークとして非効率的な配信を抑止することにより、ネットワークの効率的な利用を図ることが可能である。
【００７６】
また、上記の複数のマルチキャスト配信が混在した場合の効果に加えて、複数のアルゴリズムを選択して使用することで、配信するデータの特性毎に評価基準を変更することが可能である。
【００７７】
また、配信データの意味と地理的な条件に基づいて、配信領域をそのデータが配信されて意味のある領域に限定することが可能である。
【００７８】
また、データ配信を行うアプリケーションサーバのソフトウェアは、既存のマルチキャストプロトコルインタフェースを変更することなく使用できる。
【図面の簡単な説明】
【図１】  この実施の形態のネットワーク構成の一例を表した図。
【図２】  ネットワーク上の各装置において動作するソフトウェアの接続状況の一例を表した図。
【図３】  図２に表したソフトウェアの動作の関連の一例を表した図。
【図４】  ゲートウェイプロキシがマルチキャストデータを中継ルータプロキシへ送信する動作の一例を表したフローチャート図。
【図５】  中継ルータプロキシテーブルの一例を表した図。
【図６】  ゲートウェイプロキシがルータプロキシを中継ルータプロキシに指定する動作の一例を表したフローチャート図。
【図７】  モバイルアプリケーション受信要求テーブルの一例を表した図。
【図８】  マルチキャストデータ受信要求テーブルの一例を表した図。
【図９】  中継ルータプロキシ化許可ルータプロキシアドレステーブルの一例を表した図。
【図１０】  ルータプロキシの状態遷移を表した図。
【図１１】  モバイルプロキシテーブルの一例を表した図。
【図１２】  中継ルータプロキシがマルチキャストデータをモバイルプロキシへ送信する動作の一例を表したフローチャート図。
【図１３】  中継ルータプロキシがモバイルプロキシテーブルを生成する動作の一例を表したフローチャート図。
【図１４】  中継ルータプロキシがモバイルプロキシテーブルを生成する動作（１つ目の判断処理）の一例を表したフローチャート図。
【図１５】  中継ルータプロキシがモバイルプロキシテーブルを生成する動作（２つ目の判断処理）の一例を表したフローチャート図。
【図１６】  マルチキャストデータ要求度数テーブルの一例を表した図。
【図１７】  モバイルプロキシが中継ルータプロキシから受信したデータを無線ネットワークへマルチキャスト送信する動作の一例を表したフローチャート図。
【図１８】  ネットワークマルチキャストアドレス変換テーブルの一例を表した図。
【図１９】  モバイルプロキシがモバイルアプリケーションから受信したマルチキャストデータの配信要求をまとめてモバイルアプリケーション受信要求テーブルを作成し、ゲートウェイプロキシへ送信する動作の一例を表したフローチャート図。
【図２０】  モバイルアプリケーションがマルチキャストデータの受信を要求する動作の一例を表したフローチャート図。
【符号の説明】
１０１，１０２  アプリケーションサーバ、１０３，１０４  ゲートウェイ、１０５〜１１２  ルータ、１１３〜１１９  基地局、１２０，１２１  モバイルホスト、１２２  公衆網、２０１  サーバアプリケーション、２０２  ゲートウェイプロキシ（第二プロキシ）、２０３  ルータプロキシ（第三プロキシ）、２０４  モバイルプロキシ（第一プロキシ）、２０５  モバイルアプリケーション。
【図１】
0003833466.tif 000002
【図２】
0003833466.tif 000003
【図３】
0003833466.tif 000004
【図４】
0003833466.tif 000005
【図５】
0003833466.tif 000006
【図６】
0003833466.tif 000007
【図７】
0003833466.tif 000008
【図８】
0003833466.tif 000009
【図９】
0003833466.tif 000010
【図１０】
0003833466.tif 000011
【図１１】
0003833466.tif 000012
【図１２】
0003833466.tif 000013
【図１３】
0003833466.tif 000014
【図１４】
0003833466.tif 000015
【図１５】
0003833466.tif 000016
【図１６】
0003833466.tif 000017
【図１７】
0003833466.tif 000018
【図１８】
0003833466.tif 000019
【図１９】
0003833466.tif 000020
【図２０】
0003833466.tif 000021