JP3930424B2 - Session information management apparatus, session information management method, program for causing computer to perform processing in the method, storage medium storing the program, and multicast server - Google Patents
Session information management apparatus, session information management method, program for causing computer to perform processing in the method, storage medium storing the program, and multicast server Download PDFInfo
- Publication number
- JP3930424B2 JP3930424B2 JP2002364382A JP2002364382A JP3930424B2 JP 3930424 B2 JP3930424 B2 JP 3930424B2 JP 2002364382 A JP2002364382 A JP 2002364382A JP 2002364382 A JP2002364382 A JP 2002364382A JP 3930424 B2 JP3930424 B2 JP 3930424B2
- Authority
- JP
- Japan
- Prior art keywords
- session information
- data
- client
- multicast
- data packet
- 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
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、マルチキャスト型コンテンツの配信において、マルチキャストの正当なグループメンバーだけが配信コンテンツを受信できるようにしたセッション情報管理装置、セッション情報管理方法及びその方法における処理をコンピュータに行なわせるためのプログラム並びに当該プログラムを記録した記憶媒体、マルチキャストサーバに関する。
【0002】
【従来の技術】
インターネット上で大量のデータを効率的に配信する技術としてマルチキャスト(以下、マルチキャストと略記)が知られている。このマルチキャストは、グループという概念に基づいており、マルチキャストグループに登録されたクライアントのみが、そのグループ宛のパケットを受信するようになるため、同じ情報を複数回にわたって配信されるユニキャストと比して回線上のパケット数を減らすことができ、結果としてネットワークの帯域幅の節約や配信サーバの負荷を低減できるといった利点がある。このようにマルチキャストは、省帯域幅テクノロジーであるため、通信帯域の狭い携帯電話網等の無線ネットワークにも適用することが可能となっている(例えば、非特許文献1、非特許文献2参照)。
【0003】
ところで、インターネットにおけるマルチキャスト配信では、マルチキャストの受信クライアントはコンテンツの配信情報(セッション情報)をセッション情報の広告主から入手し、所望のマルチキャストグループを選択することにより、希望のコンテンツを入手することができるようになっている。上記セッション情報は、コンテンツの名称の他、マルチキャストグループのIPアドレス、ポート番号等の通信に必要な情報から構成される。マルチキャスト通信のセッション情報を表現するフォーマットとして、IETF(Internet Engineering Task Force)で標準化されたSDP(Session Description Protocol)が存在し、SAP(Session Announcement Protocol)を用いてクライアントへ通知することができる。IANA(Internet Assigned Numbers Authority)では、SAPを配信するためのIPマルチキャストアドレスを割り当てており、クライアントはこのマルチキャストグループに参加することによって、SDP/SAP情報を受信することができるようになっている。また、クライアントは、WWWサーバやネットニュースによってマルチキャスト通信のセッション情報を入手することができるようになっている(例えば、非特許文献2、非特許文献3)。
【0004】
さて、クライアントがマルチキャストグループに参加、または離脱する際には何等かのメカニズムが必要である。IGMP(Internet Group Management Protocol)は、ルータ−クライアント間で使用されるマルチキャストグループ管理プロトコルで、このプロトコルはルータからのマルチキャストグループの参加問い合わせと、クライアントからのマルチキャストグループへの参加・離脱報告によって、ルータがクライアントのマルチキャストグループへの参加・離脱を認識してマルチキャストパケットの中継・遮断を行なう。ここで、一例として、あるクライアント(ここでは、クライアントAと呼ぶ)がマルチキャストの受信クライアントになるため(=マルチキャストグループへの参加)のIGMPの動作について説明する。ルータは、定期的にMembership Queryメッセージを全マルチキャストクライアント宛てに送信しており、クライアントAからのMembership Reportメッセージを受信するとメンバーシップリストにそのグループを追加する。これにより、ルータは下流のサブネット(複数のネットワークを接続した場合の1つのセグメントをいう)に該当するセッションのマルチキャストパケットの受信を希望するクライアントが存在することを認識し、該セッション宛のマルチキャストパケットを下流のサブネットに向けて転送をする。そして、ルータがマルチキャストパケットを通過させるようになると、下流のサブネットに接続しているクライアントはマルチキャストパケットの受信が可能となる(例えば、非特許文献2、非特許文献4、非特許文献5)
ここで、従来のマルチキャスト配信システムについて説明する。
【0005】
図11は、従来のマルチキャスト配信システムの構成図である。
【0006】
図11において、この従来のマルチキャスト配信システムは、サーバ11とクライアント14がマルチキャストのルータ12−1、12−2、12−3を介して接続される。ルータ12−1、12−2、12−3はマルチキャストの配信ツリー(木)を形成しており、ルータ12−1は途中のブランチ部分に当たり、ルータ12−1と12−3は末端のリーフ(葉)部分に当たる。リーフ部分のルータ12−2、12−3は下流にある直下のネットワークセグメントにクライアント端末(=クライアント)14、15をそれぞれ収容する。本例は、クライアント14、15側のネットワークに無線LANを用いた例であり、例えば、クライアント14はアクセスポイント13−1と無線通信を行なってルータ12−2と接続する。本例では、無線LANのホットスポットは2つ有り、それぞれ第一のホットスポット16、第二のホットスポット17である。サーバ11により送信されるマルチキャストパケット18はルータ12−1、12−2、12−3においてコピーされ、そのコピーされたマルチキャストパケットは各無線LANのホットスポット16、17を介してクライアント14、15へと配信されるようになっている。
【0007】
【非特許文献1】
永見健一, 「マルチキャスト経路プロトコル」, ISPJ Magazine, pp.749-753, Vol.42, No.8, Aug.2001
【非特許文献2】
Thomas Maufer著, 楠本博之訳, 「IPマルチキャスト入門」,初版, 共立出版株式会社, 2001年11月
【非特許文献3】
木下真吾, 城下輝治, 長田考彦, 佐野哲央, 高橋修, “RealPush Network: 高信頼マルチキャストを利用した新しいプッシュ型コンテンツ配信システム”, Proc.on DICOMO’98, pp.273-280, July 7-10, 1988
【非特許文献4】
Dave Kosiur著, 苅田幸雄訳, 「マスタリングTCP/IPマルチキャスト編」, 第1版, 第2刷, 平成12年11月
【非特許文献5】
Beau Williamson著, コムサス訳, シスコシステムズ監訳, 「IPマルチキャストネットワーク開発ガイドVol.1」, 初版, 2001年7月
【非特許文献6】
鈴木偉元, 他, 「モバイル端末向けマルチキャスト配信技術の検討」, 情報処理学会研究報告2001-MBL-17, pp.87-94, Vol.2001, No.46
【0008】
【発明が解決しようとする課題】
上述したように、上記のようなマルチキャスト配信システムにおけるマルチキャストパケットの配信はマルチキャストグループに参加しているクライアントのみに限られる。ここで、上記クライアントをモバイル端末と仮定し、このモバイル端末向けのコンテンツ配信サービス、例えば、モバイル端末の画面で、*現在地から目的地までの最適ルートを示す(*アプリケーションの一例)歩行者ナビゲーションのサービスを想定した場合、マルチキャストグループに参加しているモバイル端末の位置は時々刻々と変化するため、モバイル端末の位置に即して地図情報等のコンテンツを切替えて配信する必要がある。すなわち、マルチキャストグループメンバーの構成は随時アップデートされていくことが予想される。このとき、マルチキャストグループメンバーに限定したコンテンツ配信を行ないたい場合を考えると、マルチキャストグループから離脱したメンバーのモバイル端末に対してはコンテンツ配信がされるべきではない。ところが、マルチキャストグループから離脱したモバイル端末では、以前のセッション情報が保持されたままとなるため、何ら意識することなく配信コンテンツが受信できてしまうといった問題がある。
【0009】
また、複数のISPやサブネットによって管理された無線LANのホットスポットが隣接して存在していた場合、ある第一のホットスポットから隣にある別のISPが管理する第二のホットスポットへクライアントが移動した場合、当該クライアントは物理層(無線LANにおけるレイヤー1)による認証がなされた後に、データを受信するソケットを生成(電話にたとえると、ソケット生成は受話器をもつことに相当する)することによってデータを受信することができる。このとき、この2つのホットスポットにおいて同じコンテンツを同じセッション情報を用いて配信していたものと仮定すると、当該クライアントは以前、第一のホットスポットに在圏の際に使用していたセッション情報を引用したソケットを生成することによって、移動先である第二のホットスポットにおけるクライアントと正しく認識される前に、コンテンツ配信サーバからの配信コンテンツを受信できでしまうといった問題がある。
【0010】
本発明は、上記のような問題点に鑑みてなされたもので、その課題とするところは、マルチキャストグループに属する正当なグループメンバーのみが配信コンテンツを受信することができるセッション情報管理装置、セッション情報管理方法及びその方法における処理をコンピュータに行なわせるためのプログラム並びに当該プログラムを記録した記憶媒体、マルチキャストサーバを提供することである。
【0011】
【課題を解決するための手段】
上記課題を解決するため、本発明の一形態によれば、データ提供要求を上流に送信し、上流からデータを受信するクライアントと、上記データ提供要求により要求されたデータを下流へ提供するサーバとを接続するIP(インターネットプロトコル)網におけるセッション情報管理装置において、上流にある前記サーバ又は下流にある前記クライアントから送信されたデータパケットのヘッダ内の所定の識別子の値から、該データパケットがマルチキャストであると判別された場合に、前記サーバと前記クライアントとの間でやりとりされるセッション情報を新たに生成するセッション情報生成手段と、前記セッション情報生成手段により生成された新たなセッション情報を用いて前記上流にある前記サーバ又は下流にある前記クライアントに対してデータパケットの送信を開始させるデータパケット送信制御手段と、を備えることを特徴としている。
【0012】
また、本発明の一形態によれば、前記セッション情報管理装置において、前記セッション情報生成手段は、上流にある前記サーバから送信されたデータパケットがマルチキャストであると判別された場合に、該データパケットに含まれている宛先アドレスを下流側のセッション情報から取得したマルチキャストアドレスに変更して新たなセッション情報を生成する下り方向アドレス変更手段と、下流にある前記クライアントから送信されたデータパケットがマルチキャストであると判別された場合に、該データパケットに含まれる宛先アドレスを上流側のセッション情報から取得したマルチキャストアドレスに変更して新たなセッション情報を生成する上り方向アドレス変更手段と、を備えることを特徴としている。
【0013】
また、本発明の一形態によれば、前記セッション情報管理装置において、マルチキャストセッション毎にマルチキャストグループのメンバーリストを抽出するグループメンバーリスト抽出手段をさらに備え、前記セッション情報生成手段は、前記グループメンバーリスト抽出手段により抽出されたマルチキャストグループのメンバーに属する下流のクライアントから送信されたデータパケットがマルチキャストであると判別された場合に、前記第一のアドレス変更手段によりマルチキャストパケットの宛先アドレスを変更して新たなセッション情報を生成するグループメンバー型アドレス変更手段を備えることを特徴としている。
【0014】
また、本発明の一形態によれば、前記セッション情報管理装置において、マルチキャストセッション毎にマルチキャストグループのメンバーを複数のグループに分割するグループメンバー分割手段をさらに備え、前記セッション情報変更手段は、前記グループメンバー分割手段により分割された各グループに属する下流のクライアントから送信されたデータパケットがマルチキャストであると判定された場合に、前記第一のアドレス変更手段によりマルチキャストパケットの宛先アドレスを変更して新たなセッション情報を生成するグループメンバー分割型アドレス変更手段を備えることを特徴としている。
【0015】
また、本発明の一形態によれば、前記セッション情報管理装置において、複数のマルチキャストセッションのマルチキャストグループのメンバーを1つ又は複数のグループに再構成するメンバー再構成手段をさらに備え、前記セッション情報変更手段は、前記1つ又は各グループに属する下流のクライアントから送信されたデータパケットがマルチキャストであると判定された場合に、前記第一のアドレス変更手段によりマルチキャストパケットの宛先アドレスを変更して新たなセッション情報を生成するグループ再構成型アドレス変更手段を備えることを特徴としている。
【0016】
(第一の実施形態)
図1は、第一の実施形態の全体構成を示す図である。この例では、全体構成をマルチキャスト配信システムと呼ぶものとし、このマルチキャスト配信システムは、本発明に係るセッション情報管理装置(以下、本例では、セッション切替装置という)を含んで構成される。なお、本例におけるマルチキャスト配信システムでは、ネットワークサーバ(以下、サーバと略記)201を上流、クライアント端末(以下、クライアントと略記)を下流として扱う。
【0017】
図1において、このマルチキャスト配信システムは、マルチキャストパケットを送信するサーバ201と、このサーバ201からのマルチキャストパケットを第一のホットスポット206と第二のホットスポット207に向けて分岐させるブランチルータ202−1と、該ブランチルータ202−1により分岐されたマルチキャストパケットを配下のアクセスポイント203−1、203−2に送信する(リーフ)ルータ202−2、202−3と、該(リーフ)ルータ202−2、202−3からのマルチキャストパケットを自ホットスポット206、207内にいるクライアント204、205に送信するアクセスポイント203−1、203−2と、該アクセスポイント203−1、203−2と無線通信を行なってサーバ201と通信を行なうクライアント204、205と、(リーフ)ルータ202−2とアクセスポイント203−1の間に設けられるセッション切替部208とから構成される。この例では、第一のホットスポット206および第二のホットスポット207のネットワークに無線LANを用いた例である。
【0018】
以上のように構成されたマルチキャスト配信システムの動作概要について同図を参照しながら説明する。ここでは、サーバ201からのマルチキャストパケットを第二のホットスポット207にいるクライアント204に対して配信する場合の動作について説明する。
【0019】
図1において、サーバ201から送信されたマルチキャストパケットはルータ202−1においてコピーされてルータ202−2へと分岐・中継され、セッション切替部208へと入力される。セッション切替部208は、自らの下流のサブネット(第二のホットスポット207)のクライアント204にマルチキャストパケットを中継するときに、このサブネットに対するマルチキャストセッション情報を上流側の既存のものとは別の値に変更(更新)し、新しいマルチキャストパケットとして送出するようにしている。
【0020】
続いて、図2を用いて上記マルチキャスト配信システムの配信動作を詳述する。
図2は、上記マルチキャスト配信システムにおけるマルチキャストパケットの配信動作の処理を示すシーケンスである。なお、同図に示すサーバ31、ルータ(=R)32、セッション切替部33、クライアント34のそれぞれは図1に示すサーバ201、(リーフ)ルータ202−2、セッション切替部208、クライアント204と対応する関係にある。前述したように、IGMPはマルチキャストをサポートするルータと、マルチキャストパケットを受信するクライアントによって使用されるものである。したがって、ここでは、ルータ32とクライアント34間での信号のやりとりについて説明する。
【0021】
図2において、クライアント34はマルチキャスト配信セッション(A)に参加するためにMembership Report(A)を上流のルータ32に向けて送信(S301)する。セッション切替部33はクライアント34からのMembership Report(A)を受信すると、上流側のサーバ31において使用されているセッションに対するMembership Reportであることを把握し、これによりクライアント34がマルチキャスト配信の開始を要求していることを認識する。セッション切替部33はクライアント34からのマルチキャスト配信要求を認識した後、Membership Report(A)をそのままルータ32に中継(S302)するとともに、マルチキャスト配信セッション(A)に対応する新たなセッション、例えば、セッション(B)を生成し、クライアント34に対して、この新たなセッション(B)への参加(=Join)を指示(S303)する。上記新たなセッション(B)への参加指示を受けたクライアント34は新しいマルチキャスト配信セッション(B)に対してMembership Report(B)をセッション切替部33に送信(S304)する。セッション切替部33はこのMembership Report(B)を受信することによってクライアント34がマルチキャスト配信セッション(B)の受信が可能であることを把握し、Membership Report(B)を終端(S305)する。
【0022】
セッション切替部33は、上流側のルータ32を介してマルチキャストセッション(A)宛のマルチキャストパケット(A)を受信(S306)すると、下流のクライアント34に対してはセッション情報(B)宛のマルチキャストパケットに変換(S307)し、マルチキャストパケット(B)を中継(S308)する。これにより、クライアント34はセッション情報(B)のデータとしてマルチキャストパケット(B)を受信することができる。
【0023】
続いて、クライアント34がマルチキャスト配信グループから離脱(=Leave)する場合について説明する。
【0024】
同図において、クライアント34はLeave group(B)のメッセージをセッション切替部33に向けて送信(S309)する。セッション切替部33はLeave group(B)メッセージの受信すると、クライアント34がマルチキャスト配信セッション(B)からの離脱を希望していることを把握する。その後、セッション切替部33は上流側のルータ32に対してクライアント34をマルチキャスト配信セッション(A)から離脱させるための通知であるLeave group(B)のメッセージをマルチキャスト配信セッション(A)宛のLeave groupメッセージ(=Leave group(A))に変換(S310)後、ルータ32に送信(S311)する。これにより、クライアント34は、マルチキャスト配信セッション(B)から離脱することが可能となる。
【0025】
図3は、セッション切替部におけるIGMPパケットの中継動作を示すシーケンスである。同図に示すサーバ41、ルータ(=R)42、セッション切替部43、クライアント44のそれぞれは図3に示すサーバ31、ルータ32、セッション切替部33、クライアント34と対応する関係にある。
【0026】
図3において、IGMPプロトコルでは、ルータ42の配下のサブネットワークにマルチキャストパケットを受信するクライアントが存在しているかを調べるために、ルータ42は全クライアント宛にMembership query(A)のメッセージ(IPマルチキャストアドレスとしてA:224.0.0.1が設定される)を送信する。セッション切替部43はルータ42からセッション(A)に対するMembership query(A)を受信(S401)した場合、セッション(A)に対するセッション(B)宛のMembership query(B)にアドレス変換(S402)して、下流のクライアントにMembership query(B)のメッセージ(IPマルチキャストアドレスとしてA:239.0.0.1が設定される)を中継(S403)する。クライアント44は、上記Membership query(B)のメッセージを受信すると、Membership report(B)のメッセージをセッション切替部43に返信(S404)し、セッション(B)のグループのメンバーであることを宣言する。セッション切替部43はこのMembership report(B)のメッセージを受信した後、セッション(A)宛のMembership report(A)メッセージにアドレス変換(S405)してルータ42に送信(S406)する。
【0027】
図4は、上記セッション切替部の機能ブロックを示す図である。
【0028】
図4において、このセッション切替部500は、上流側のサーバとの間でデータ通信を行なうデータ送受信部A501、下流側のクライアントとの間でデータ通信を行なうデータ送受信部B502、マルチキャスト通信管理部503、セッション指示部504、データ中継部505、セッション情報作成部506、データ蓄積部507から構成される。
【0029】
同図において、セッション情報作成部506は上流側のセッション情報に対応する下流側のセッション情報の作成と、上流側と下流側のセッション情報とを対応付けたデータ(対応データ)をデータ蓄積部507に保存して管理を行なう。なお、ある上流側のセッション情報に対応する下流側のセッション情報は1つ以上である。また、セッション情報作成部506は、マルチキャスト通信管理部503及びデータ中継部505からのセッション情報の照会があった場合には、データ蓄積部507において蓄積されているセッション情報の対応データを参照して回答する。
【0030】
マルチキャスト通信管理部503はマルチキャストの配信グループメンバー管理のためのデータパケット(IGMP等)を上流側から受信した場合に、そのデータパケットの内容を解釈した後、下流のクライアントに向けて該データパケットを中継する。同様に、マルチキャストの配信グループメンバー管理のためのデータパケットを下流側から受信した場合には、その受信したデータパケットの内容を解釈した後、上流側のルータに向けて該データパケットを中継する。
【0031】
また、マルチキャスト通信管理部503はクライアントがマルチキャストパケットの受信を開始するために送信したIGMPのGroup Membership Reportのメッセージを受信した場合には、当該メッセージを上流側のルータへ中継するとともに、上記クライアントに対して、セッション情報作成部506が払出している下流側セッション情報に参加させるため、セッション指示部504に対して該下流側セッションへの参加をクライアントに対して指示するように通知する。
【0032】
データ中継部505はユーザデータのデータパケット(IPパケット等)を上流側から受信した場合に、宛先アドレスを下流側のマルチキャストアドレスに変更するためにセッション情報作成部506からデータ蓄積部507に下流側セッション情報を照会し、その照会で得られた宛先アドレスを下流のマルチキャストアドレスに変更した後、上記データパケットを中継送信する。
【0033】
図5は図4に示すセッション切替部における下り方向の通信処理手順を示すフローチャートである。
【0034】
図5において、セッション切替部500のデータ送受信部A501は、上流側から送られてきたデータパケットを受信(S601)すると、その受信したデータパケットのIPヘッダの上位プロトコルフィールドからプロトコルタイプがIPであるか、IGMPであるかを判定(S602)する。この判定(S602)で、プロトコルタイプが「IGMP(例:Membership queryメッセージ)」と判定(S602でIGMP)された場合は、受信したデータパケットがマルチキャスト通信管理部503に送られ、パケットの内容が解釈された後、この受信したデータパケットに記述されている宛先アドレスを確認し、この宛先アドレスに対応する下流側のセッション情報についてセッション情報作成部506に問合せる(S604)。セッション情報作成部506はデータ中継部505から上記セッション情報の問合せがあった場合には、データ蓄積部507において蓄積されているセッション情報の対応データを参照して回答する。
【0035】
データ中継部505はこのようにしてセッション情報作成部506からの回答である宛先アドレスの変更通知を受けると、その通知で指示されているマルチキャストアドレスに当該データパケットの宛先アドレスを変更(S605)し、その変更されたマルチキャストアドレスにてデータパケットを下流側に送信(データ送受信B502経由)する(S606)。
【0036】
一方、上記判定(S602)でプロトコルタイプが「IP」と判定(S602でIP)された場合は、データ送受信部A501は、受信したデータパケットの宛先アドレスを確認し、パケットの送信タイプがマルチキャストであるかユニキャストであるかをさらに判定(S603)する。そして、この宛先アドレス判定(S603)で、ユニキャスト(Unicast)であると判定(S603でユニキャスト)された場合は、受信したデータパケットがデータ中継部505、データ送受信部B502を介して下流側のクライアントに中継送信(S606)される。一方、上記判定(S603)でマルチキャスト(Multicast)であると判定(S603でマルチキャスト)された場合は、その受信したデータパケットがデータ中継部505に送られる。データ中継部505はこの受信したデータパケットに記述されている宛先アドレスを確認し、この宛先アドレスに対応する下流側のセッション情報についてセッション情報作成部506に問合せる(S604)。セッション情報作成部506はデータ中継部505から上記セッション情報の問合せがあった場合には、データ蓄積部507において蓄積されているセッション情報の対応データを参照して回答する。
【0037】
データ中継部505はこのようにしてセッション情報作成部506からの回答である宛先アドレスの変更通知を受けると、その通知で指示されているマルチキャストアドレスに当該データパケットの宛先アドレスを変更(S605)し、その変更されたマルチキャストアドレスにてデータパケットを下流側に送信(データ送受信B502経由)する(S606)。これにより、セッション切替部500における一連の下り方向の通信処理が終了する。
【0038】
続いて、セッション切替部500における上り方向の通信処理について説明する。図6は、セッション切替部における上り方向の通信処理手順を示すフローチャートである。
【0039】
図6において、セッション切替部500のデータ送受信部B502は、下流側からデータパケットを受信(S701)すると、その受信したデータパケットのIPヘッダの上位プロトコルフィールドからプロトコルタイプがIPであるか、IGMPであるかを判定(S702)する。この判定(S702)で、プロトコルタイプが「IP」であると判定(S702でIP)された場合には、受信したデータパケットの宛先アドレスを確認し、パケットの送信タイプがマルチキャストであるかユニキャストであるかをさらに判定(S703)する。そして、この宛先アドレス判定(S703)で、ユニキャスト(Unicast)であると判定(S703でユニキャスト)された場合には、受信したデータパケットがデータ中継部505、データ送受信部A501を介して上流側に中継送信(S706)される。一方、マルチキャスト(Multicast)であると判定(S703でマルチキャスト)され場合は、その受信したパケットがデータ中継部505に送られる。データ中継部505はこの受信したパケットに記述されている宛先アドレスに対応する下流側のセッション情報についてセッション情報作成部506へ問合せる(S704)。セッション情報作成部506はデータ中継部505から上記下流側のセッション情報の問合せがあった場合には、データ蓄積部507において蓄積されているセッション情報の対応データを参照して回答する。
【0040】
データ中継部505はこのようにしてセッション情報作成部506からの回答である宛先アドレスの変更通知を受けると、その通知で指示されるマルチキャストアドレスに上記データパケットの宛先アドレスを変更(S705)し、その変更されたマルチキャストアドレスにてデータパケットを上流側に送信(データ送受信A501経由)する(S706)。
【0041】
一方、上記プロトコルタイプ判定(S702)で受信したデータパケットのプロトコルタイプがIGMPであると判定(S702でIGMP)され、かつIGMPのメッセージ種別が「Membership report」と判定された場合、データ送受信部B502は、その受信したデータパケットをマルチキャスト通信管理部503に送る。マルチキャスト通信管理部503は、上記IGMP「Membership report」は受信すると、データパケットのセッション内容を判定(S707)し、セッション内容が下流側のセッションであると判定された場合(S707で下流)は終端処理(S711)し、セッション内容が上流側のセッションであると判定された場合(S707で上流側)は、データパケットをコピーして2つに分け、一方はそのまま上流側へ中継(データ送受信部A501経由)し(S708)、他方は下流側のクライアントへ新しいセッションを通知するためにセッション情報作成部506に当該セッションに対応するセッション情報の生成について問合せる(S709)。セッション情報作成部506はマルチキャスト通信管理部503から上記セッション情報の問合せがあった場合には、データ蓄積部507において蓄積されているセッション情報の対応データを参照して回答する。
【0042】
マルチキャスト通信管理部はセッション情報作成部506から新しいセッション情報を獲得したとの回答を得ると、セッション指示部504に対し、当該データパケットの送信元であるクライアント宛に新しいセッションへの参加を指示(S710)を促すメッセージを通知する。
【0043】
また、データ送受信部B502は、上記プロトコルタイプ判定(S702)で受信したデータパケットのプロトコルタイプをIGMPであると判定(S702でIGMP)し、かつIGMPのメッセージ種別を「leave group」と判定した場合には、当該データパケットがデータ中継部505に送られる。データ中継部505はこの受信したパケットに記述されている宛先アドレスに対応するセッションの情報についてセッション情報作成部506へ問合せる(S712)。セッション情報作成部506はデータ中継部505から上記セッション情報の問合せがあった場合には、データ蓄積部507において蓄積されているセッション情報の対応データを参照して回答する。この場合、該回答として下流側の宛先アドレスに対応する上流側の宛先アドレス(グループアドレス)が得られ、データ中継部505は、上記データパケットの宛先アドレスを上流側のアドレスへと変更(S713)した後、該データパケットをデータ送受信部A501経由で上流側に送信(S706)する。これにより、セッション切替部500における一連の上り方向の通信処理が終了する。
【0044】
以上、説明してきたように、上記第一の実施形態では、セッション切替部は、下流のクライアントよりマルチキャスト配信セッションに参加したい旨のメッセージを受けたときに、上記マルチキャスト配信セッションへの参加を指示するのでなく上記マルチキャスト配信セッションと対応付けた新たなマルチキャスト配信セッションを生成し、この新たなマルチキャストセッションのグループへの参加を指示するようにしている。すなわち、下流のサブネットに対するマルチキャストのセッション情報(マルチキャストアドレス、ポート番号等)が随時切替えられるため、マルチキャストグループから離脱したメンバー(クライアント)や別のISPが管理する隣のホットスポットにハンドオフしたメンバー(クライアント)は新しいセッション情報が分らなくなり、コンテンツを受信することができなくなる。したがって、上記第一の実施形態によれば、自由にマルチキャストグループに参加あるいは離脱できるというマルチキャスト配信の利点を保ちつつも、正当なマルチキャストグループに属するグループメンバーだけが配信コンテンツを受信できるようになり、セキュアなコンテンツ配信の実現が可能となる。
【0045】
また、本発明は、上記のような下り方向のコンテンツ配信だけでなく、上り方向の通信においても適用することができる。
【0046】
なお、本第一の実施の形態は、セッションの切替処理をセッション切替部にて行なうという実施形態であったが、本発明はこのような実施形態に限定されるものではない。例えば、上述したセッションの切替処理の機能をルータに持たせ、ルータ202−1や、ルータ202−2の位置のいずれにて実現するような形態であってもよい。例えば、ルータ202−1の位置において、セッションの切替機能を実現する場合、同ルータ202−1はマルチキャスト配信木のブランチ部分であるため、マルチキャスト通信管理部503(図4参照)と同様の機能をブランチルータにおいて実現するためには、IGMPパケットの替りに経路制御用のプロトコルであるマルチキャストルーティングプロトコルのメッセージを用いて処理すればよい。このマルチキャストルーティングプロトコルとしては、DVMRP(Distance Vector Multicast Routing Protocol)やPIM(Protocol Independent Multicast)などがある。
【0047】
また、ルータ202−2の位置において、セッションの切替機能を実現する場合、同ルータ202−2はマルチキャスト配信木のリーフ部分であるため、マルチキャスト通信管理部503(図4参照)と同様の機能をリーフルータにおいて実現するためには、ルータ202−2の下流側において送信されるIGMPパケットと、上流側において送受信されるマルチキャストルーティングプロトコルのメッセージのやりとりを実現し、マルチキャスト配信木の形成や枝の刈り込み、つまりプルーニング処理をすればよい。
【0048】
(第二の実施形態)
次に本発明の第二の実施形態について説明する。図7は、第二の実施形態の全体構成を示す図である。なお、本第二の実施形態においても上記第一の実施形態と同様、全体構成をマルチキャスト配信システムと呼ぶものとする。
【0049】
図7において、本第二の実施形態に係るマルチキャスト配信システムと上記第一の実施形態との構成上の差異点は、セッション切替部807を(リーフ)ルータとアクセスポイント間に配置するのでなくサーバ801内に配置した点である。なお、他のハードウェア構成については上記第一の実施形態と同じである。
【0050】
本第二の実施形態では、セッション切替部807がサーバ801内に設置される。このサーバ801内に配置されたセッション切替部807は、サーバ801が送信するマルチキャストパケットを第一のホットスポット805内にいるクライアント804−1と第二のホットスポット806内にいるクライアント804−2に対して、それぞれ別々のセッション情報を使用するように新しいセッション情報を生成し、この新しいセッション情報をそれぞれ用いてマルチキャストパケット配信する。すなわち、第一のホットスポット805内にいるクライアント804−1宛には、第一のマルチキャストパケット(▲1▼)が送信され、第二のホットスポット806内にいるクライアント804−2宛には、第二のマルチキャストパケット(▲2▼)が送信される。
【0051】
このようにしてサーバ801から送信された二つのマルチキャストパケット(▲1▼、▲2▼)は、(ブランチ)ルータ802−1においてコピーされて下流の(リーフ)ルータ802−2、802−3へと中継され、各無線LANのアクセスポイント803−1、803−2へと転送される。
【0052】
次に、本第二の実施形態におけるマルチキャストパケットの配信動作を図8のシーケンスを用いて説明する。なお、図8に示すサーバ901、セッション切替部902、ルータ903、クライアント904はそれぞれ図7に示すサーバ801、セッション切替部802、(ブランチ)ルータ802−1、クライアント804−2との対応関係にある。
【0053】
図8において、サーバ901がコンテンツの配信を開始するときには、セッション切替部902はコンテンツの配信グループ毎に固有の新しいセッション情報を作成(S905)する。サーバ901はセッション切替部902において生成された上記セッション情報を該当グループに属するクライアント宛にユニキャストあるいはマルチキャストで通知(S906)する。サーバ901は上記セッション情報通知に対する応答をクライアント904から受ける(S907)と、上記新しいセッション情報からマルチキャストの宛先アドレスを抽出し、その抽出した宛先アドレスをデータパケットの宛先アドレスとして再設定(S908)する。そして、その再設定した宛先アドレスにてマルチキャストパケット(コンテンツ)をクライアント904に向けて送信(S909)する。
【0054】
図9は、上記サーバ901の機能ブロックを示す図である。
【0055】
図9において、このサーバ1000(図8のサーバ901と対応)は、下流側のネットワーク(無線LAN)とのデータ通信を行なうデータ送受信部1001、配信データと配信グループのクライアントリストを管理してマルチキャスト配信を実行するデータ配信制御部1002、コンテンツの登録や配信グループのクライアントリストと元のセッション情報および新しく作成するセッション情報を保持するデータ蓄積部1003、マルチキャスト配信のためのセッション情報や番組情報を管理するセッション管理部1004、蓄積しているデータのディレクトリを管理するディレクトリ管理部1005、下流のサブネット側用に新しいセッションを作成するセッション情報作成部1006、クライアントに対して新しいセッション情報を通知するセッション指示部100から構成される。セッション切替部は上記セッション情報作成部1006とセッション指示部1007からなる。
【0056】
図10は、上記のように構成されたサーバでのマルチキャストパケットの配信動作の処理を示すフローチャートである。以下、同フローチャートを説明するに当たり、図9のサーバの機能ブロック図を参照する。
【0057】
図10において、セッション切替部のセッション情報作成部1006は、あるコンテンツに対する配信グループを1つ以上の小さな配信グループに分割するために、1つ以上の新しいセッション(=配信セッション)情報を作成(S1101)する。例えば、図7に示すマルチキャスト配信システムの構成例では、上記小さな配信グループはホットスポットを単位として生成されることになる。
【0058】
セッション切替部のセッション指示部1007はセッション情報作成部1006が作成した新しいセッション情報を、データ送受信部1001を介して下流側のクライアントに通知(S1102)する。
【0059】
このようにしてセッション切替部からのセッション情報の通知が下流側のクライアントに対してなされると、データ配信制御部1002は、マルチキャスト配信を開始するために、データ蓄積部1003に蓄積されているコンテンツのデータ(=配信データ)を読み出し(S1103)、そして、セッション情報作成部1006で生成された新しいセッション情報を参照(S1104)する。
【0060】
データ送受信部は、データ配信制御部1002にて参照された新しいセッション情報から抽出したマルチキャストパケットの配信先アドレスを用いて、上記コンテンツのデータを下流側のクライアントに向けて送信(S1105)する。
【0061】
上述したように、上記第二の実施形態によれば、サーバはコンテンツに対するマルチキャスト配信グループを1つ以上の小さな配信グループに分割し、1つ以上の新しいセッション(=配信セッション)情報を作成して下流のサブネットに通知するので、複数のサブネットにいるグループメンバーだけが配信コンテンツを受信できるようなり、ネットワーク規模が大きくなってもセキュアなコンテンツ配信を実現することができる。
【0062】
【発明の効果】
以上、説明したように、本願発明によれば、下流のサブネットに対するマルチキャストのセッション情報(マルチキャストアドレス、ポート番号等)が随時切替えられるため、マルチキャストグループから離脱したメンバー(クライアント)や別のISPが管理する隣のホットスポットにハンドオフしたメンバー(クライアント)は新しいセッション情報が分らなくなり、コンテンツを受信することができなくなる。その結果、自由にマルチキャストグループに参加あるいは離脱できるというマルチキャスト配信の利点を保ちつつも、正当なマルチキャストグループに属するグループメンバーだけが配信コンテンツを受信できるようになり、セキュアなコンテンツ配信が実現できる。
【0063】
【図面の簡単な説明】
【図1】第一の実施形態の全体構成を示す図である。
【図2】図1に示すマルチキャスト配信システムにおけるマルチキャストパケットの配信動作の処理を示すシーケンスである。
【図3】セッション切替部におけるIGMPパケットの中継動作を示すシーケンスであるである。
【図4】セッション切替部の機能ブロックを示す図である。
【図5】図4に示すセッション切替部における下り方向の通信処理手順を示すフローチャートである。
【図6】セッション切替部における上り方向の通信処理手順を示すフローチャートである。
【図7】第二の実施形態の全体構成を示す図である。
【図8】第二の実施形態におけるマルチキャストパケットの配信動作の処理を示すシーケンスである。
【図9】図8に示すサーバの機能ブロックを示す図である。
【図10】サーバでのマルチキャストパケットの配信動作の処理を示すフローチャートである。
【図11】従来のマルチキャスト配信システムの構成図である。
【符号の説明】
11、31、41、201、801、901、1000 サーバ
12−1、202−1、802−1、903 (ブランチ)ルータ
12−2、12−3、32、42、202−2、202−3、802−2、802−3 (リーフ)ルータ
13−1、13−2、203−1、203−2、803−1、803−2 アクセスポイント
14、15、34、44、204、205、804−1、804−2、904
クライアント
16、206、805 第一のホットスポット
17、207、806 第二のホットスポット
33、43、208、500、807、902 セッション切替部
501 データ送受信部A
502 データ送受信部B
503 マルチキャスト通信管理部
504、1007 セッション指示部
505 データ中継部
506、1006 セッション情報作成部
507、1003 データ蓄積部
1001 データ送受信部
1002 データ配信制御部
1004 セッション管理部
1005 ディレクトリ管理部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a session information management apparatus, a session information management method, a program for causing a computer to perform processing in the method, and a method for allowing only a valid multicast group member to receive the distribution content in the distribution of the multicast content, and The present invention relates to a storage medium storing the program and a multicast server.
[0002]
[Prior art]
Multicast (hereinafter abbreviated as multicast) is known as a technique for efficiently distributing a large amount of data on the Internet. This multicast is based on the concept of a group, and only clients registered in the multicast group will receive packets addressed to that group, so the same information is compared with unicast that is distributed multiple times. The number of packets on the line can be reduced, and as a result, there is an advantage that the bandwidth of the network can be saved and the load on the distribution server can be reduced. As described above, since multicast is a bandwidth-saving technology, it can be applied to a wireless network such as a mobile phone network having a narrow communication band (for example, see Non-Patent Document 1 and Non-Patent Document 2). .
[0003]
By the way, in multicast distribution on the Internet, a multicast receiving client can obtain desired content by obtaining content distribution information (session information) from an advertiser of session information and selecting a desired multicast group. It is like that. The session information is composed of information necessary for communication such as the IP address and port number of the multicast group in addition to the name of the content. SDP (Session Description Protocol) standardized by IETF (Internet Engineering Task Force) exists as a format for expressing session information of multicast communication, and can be notified to a client using SAP (Session Announcement Protocol). In IANA (Internet Assigned Numbers Authority), an IP multicast address for distributing an SAP is assigned, and a client can receive SDP / SAP information by joining the multicast group. Also, the client can obtain multicast communication session information from a WWW server or net news (for example, Non-Patent Document 2 and Non-Patent Document 3).
[0004]
Now, some mechanism is necessary when a client joins or leaves a multicast group. IGMP (Internet Group Management Protocol) is a multicast group management protocol used between routers and clients. This protocol is based on a multicast group participation inquiry from a router and a client joining / leaving a multicast group report. Recognizes the participation and withdrawal of the client from the multicast group and relays / blocks the multicast packet. Here, as an example, an IGMP operation for a certain client (referred to as client A here) to become a multicast receiving client (= participation in a multicast group) will be described. The router periodically transmits a Membership Query message to all multicast clients, and when receiving the Membership Report message from Client A, the router adds the group to the membership list. As a result, the router recognizes that there is a client that wants to receive the multicast packet for the session corresponding to the downstream subnet (which means one segment when multiple networks are connected), and the multicast packet addressed to the session. To the downstream subnet. When the router passes the multicast packet, the client connected to the downstream subnet can receive the multicast packet (for example, Non-Patent Document 2, Non-Patent Document 4, Non-Patent Document 5).
Here, a conventional multicast distribution system will be described.
[0005]
FIG. 11 is a configuration diagram of a conventional multicast distribution system.
[0006]
In FIG. 11, in this conventional multicast distribution system, a server 11 and a client 14 are connected via multicast routers 12-1, 12-2, 12-3. The routers 12-1, 12-2, and 12-3 form a multicast distribution tree (tree). The router 12-1 hits a branch portion on the way, and the routers 12-1 and 12-3 have terminal leaves ( The leaf) part. The routers 12-2 and 12-3 in the leaf portion accommodate the client terminals (= clients) 14 and 15 in the network segment directly downstream. In this example, a wireless LAN is used for the networks on the clients 14 and 15 side. For example, the client 14 performs wireless communication with the access point 13-1 and connects to the router 12-2. In this example, there are two hot spots for the wireless LAN, which are a first
[0007]
[Non-Patent Document 1]
Kenichi Nagami, "Multicast Route Protocol", ISPJ Magazine, pp.749-753, Vol.42, No.8, Aug.2001
[Non-Patent Document 2]
By Thomas Maufer, translated by Hiroyuki Enomoto, “Introduction to IP Multicast”, first edition, Kyoritsu Publishing Co., Ltd., November 2001
[Non-Patent Document 3]
Shingo Kinoshita, Teruji Joshishita, Norihiko Nagata, Tetsuo Sano, Osamu Takahashi, “RealPush Network: A New Push-type Content Delivery System Using Reliable Multicast”, Proc.on DICOMO'98, pp.273-280, July 7- 10, 1988
[Non-Patent Document 4]
By Dave Kosiur, translated by Yukio Hamada, "Mastering TCP / IP Multicast", 1st edition, 2nd edition, November 2000
[Non-Patent Document 5]
By Beau Williamson, translated by Comsus, translated by Cisco Systems, "IP Multicast Network Development Guide Vol.1", first edition, July 2001
[Non-Patent Document 6]
Suzuki, Motomoto, et al., "A Study on Multicast Distribution Technology for Mobile Terminals", IPSJ SIG 2001-MBL-17, pp.87-94, Vol.2001, No.46
[0008]
[Problems to be solved by the invention]
As described above, distribution of multicast packets in the multicast distribution system as described above is limited only to clients participating in the multicast group. Here, assuming that the client is a mobile terminal, a content distribution service for the mobile terminal, for example, on the screen of the mobile terminal, * Show the best route from your current location to your destination ( * An example of an application) When assuming a pedestrian navigation service, the location of mobile terminals participating in a multicast group changes from moment to moment, so content such as map information is switched and distributed according to the location of the mobile device. There is a need to. That is, the configuration of multicast group members is expected to be updated as needed. At this time, considering the case where content distribution limited to multicast group members is desired, content distribution should not be performed to the mobile terminals of members who have left the multicast group. However, since the mobile terminal that has left the multicast group retains the previous session information, there is a problem that the distributed content can be received without any awareness.
[0009]
In addition, when wireless LAN hot spots managed by a plurality of ISPs and subnets exist adjacent to each other, the client moves from a first hot spot to a second hot spot managed by another ISP next to the client. When moving, the client is authenticated by the physical layer (layer 1 in the wireless LAN) and then creates a socket to receive data (similar to a telephone, socket creation is equivalent to having a handset). Data can be received. At this time, assuming that the same content is distributed using the same session information in the two hot spots, the client previously uses the session information used when the client is in the first hot spot. By generating the quoted socket, there is a problem that it is possible to receive distribution content from the content distribution server before it is correctly recognized as a client in the second hotspot that is the destination.
[0010]
The present invention has been made in view of the above-described problems, and the problem is that a session information management apparatus and session information in which only valid group members belonging to a multicast group can receive distribution content. A management method, a program for causing a computer to perform processing in the method, a storage medium storing the program, and a multicast server are provided.
[0011]
[Means for Solving the Problems]
In order to solve the above problems, the present invention According to one form In a session information management apparatus in an IP (Internet Protocol) network that connects a client that transmits a data provision request upstream and receives data from the upstream to a server that provides data requested by the data provision request downstream, When it is determined that the data packet is multicast from the value of a predetermined identifier in the header of the data packet transmitted from the upstream server or the downstream client, between the server and the client A session information generating means for newly generating session information exchanged in the network, and a data packet for the upstream server or the downstream client using the new session information generated by the session information generating means The data path that starts sending It is characterized by comprising a Tsu preparative transmission control means.
[0012]
In addition, the present invention According to one form In the session information management device, when the session information generation unit determines that the data packet transmitted from the upstream server is multicast, the session information generation unit sets the destination address included in the data packet to the downstream side. Downlink address changing means for generating new session information by changing to the multicast address acquired from the session information, and when the data packet transmitted from the downstream client is determined to be multicast, the data packet And an uplink address changing means for generating new session information by changing the destination address included in the packet to a multicast address acquired from the upstream session information.
[0013]
In addition, the present invention According to one form The session information management device further comprises group member list extraction means for extracting a member list of the multicast group for each multicast session, and the session information generation means is configured to determine the members of the multicast group extracted by the group member list extraction means. Group member type address change for generating new session information by changing the destination address of the multicast packet by the first address changing means when it is determined that the data packet transmitted from the downstream client to which it belongs is multicast. It is characterized by providing a means.
[0014]
In addition, the present invention According to one form, The session information management device further comprises group member dividing means for dividing a multicast group member into a plurality of groups for each multicast session, wherein the session information changing means belongs to each group divided by the group member dividing means Group member division type address change that generates new session information by changing the destination address of the multicast packet by the first address changing means when it is determined that the data packet transmitted from the downstream client is multicast. It is characterized by providing a means.
[0015]
In addition, the present invention According to one form, The session information management apparatus further comprises member reconfiguring means for reconfiguring members of a multicast group of a plurality of multicast sessions into one or a plurality of groups, and the session information changing means belongs to the one or each group Group reconfiguration type address change in which when the data packet transmitted from the downstream client is determined to be multicast, the first address changing unit changes the destination address of the multicast packet to generate new session information. It is characterized by providing a means.
[0016]
(First embodiment)
FIG. 1 is a diagram showing an overall configuration of the first embodiment. In this example, the entire configuration is referred to as a multicast distribution system, and this multicast distribution system is configured to include a session information management device according to the present invention (hereinafter referred to as a session switching device in this example). In the multicast distribution system in this example, the network server (hereinafter abbreviated as “server”) 201 is treated as upstream, and the client terminal (hereinafter abbreviated as “client”) as downstream.
[0017]
In FIG. 1, the multicast distribution system includes a server 201 that transmits a multicast packet, and a branch router 202-1 that branches the multicast packet from the server 201 toward a first
[0018]
An outline of the operation of the multicast distribution system configured as described above will be described with reference to FIG. Here, an operation when a multicast packet from the server 201 is distributed to the
[0019]
In FIG. 1, the multicast packet transmitted from the server 201 is copied by the router 202-1, branched / relayed to the router 202-2, and input to the
[0020]
Next, the distribution operation of the multicast distribution system will be described in detail with reference to FIG.
FIG. 2 is a sequence showing processing of multicast packet delivery operation in the multicast delivery system. Each of the
[0021]
In FIG. 2, the
[0022]
When the
[0023]
Next, a case where the
[0024]
In the figure, the
[0025]
FIG. 3 is a sequence showing the relay operation of the IGMP packet in the session switching unit. Each of the server 41, the router (= R) 42, the
[0026]
In FIG. 3, in the IGMP protocol, in order to check whether or not there is a client that receives a multicast packet in a subnetwork under the
[0027]
FIG. 4 is a diagram illustrating functional blocks of the session switching unit.
[0028]
In FIG. 4, this session switching unit 500 includes a data transmission / reception unit A501 that performs data communication with an upstream server, a data transmission / reception unit B502 that performs data communication with a downstream client, and a multicast
[0029]
In the figure, a session
[0030]
When the multicast
[0031]
In addition, when the multicast
[0032]
When the
[0033]
FIG. 5 is a flowchart showing a communication processing procedure in the downlink direction in the session switching unit shown in FIG.
[0034]
In FIG. 5, when the data transmitting / receiving unit A501 of the session switching unit 500 receives a data packet sent from the upstream side (S601), the protocol type is IP from the upper protocol field of the IP header of the received data packet. Or IGMP (S602). If it is determined in this determination (S602) that the protocol type is “IGMP (example: Membership query message)” (IGMP in S602), the received data packet is sent to the multicast
[0035]
When the
[0036]
On the other hand, when the protocol type is determined to be “IP” in the determination (S602) (IP in S602), the data transmitting / receiving unit A501 confirms the destination address of the received data packet, and the transmission type of the packet is multicast. It is further determined whether there is a unicast or not (S603). If it is determined in this destination address determination (S603) that it is unicast (Unicast) (S603), the received data packet is transmitted downstream via the
[0037]
When the
[0038]
Next, uplink communication processing in the session switching unit 500 will be described. FIG. 6 is a flowchart illustrating an upstream communication processing procedure in the session switching unit.
[0039]
In FIG. 6, when the data transmission / reception unit B502 of the session switching unit 500 receives a data packet from the downstream side (S701), whether the protocol type is IP from the upper protocol field of the IP header of the received data packet is determined by IGMP. It is determined whether there is (S702). If it is determined in this determination (S702) that the protocol type is “IP” (IP in S702), the destination address of the received data packet is confirmed, and whether the packet transmission type is multicast or unicast. Is further determined (S703). If it is determined in this destination address determination (S703) that the packet is unicast (Unicast in S703), the received data packet is upstream via the
[0040]
When the
[0041]
On the other hand, when it is determined that the protocol type of the data packet received in the protocol type determination (S702) is IGMP (IGMP in S702) and the IGMP message type is determined to be “Membership report”, the data transmission / reception unit B502 Sends the received data packet to the multicast
[0042]
When the multicast communication management unit obtains a reply from the session
[0043]
Further, when the data transmitting / receiving unit B502 determines that the protocol type of the data packet received in the protocol type determination (S702) is IGMP (IGMP in S702), and determines that the IGMP message type is “leave group” The data packet is sent to the
[0044]
As described above, in the first embodiment, when the session switching unit receives a message indicating that it wants to participate in the multicast distribution session from a downstream client, the session switching unit instructs participation in the multicast distribution session. Instead, a new multicast distribution session associated with the multicast distribution session is generated, and the participation of the new multicast session in the group is instructed. That is, since multicast session information (multicast address, port number, etc.) for the downstream subnet is switched as needed, a member (client) who has left the multicast group or a member (client) who has handed off to an adjacent hot spot managed by another ISP ) Will not know new session information and will not be able to receive content. Therefore, according to the first embodiment, while maintaining the advantage of multicast distribution that can freely join or leave a multicast group, only group members belonging to a valid multicast group can receive distribution content, Secure content distribution can be realized.
[0045]
Further, the present invention can be applied not only to content distribution in the downlink direction as described above but also to communication in the uplink direction.
[0046]
In the first embodiment, the session switching process is performed by the session switching unit. However, the present invention is not limited to such an embodiment. For example, the above-described session switching processing function may be provided in the router and realized at any of the positions of the router 202-1 and the router 202-2. For example, when the session switching function is realized at the position of the router 202-1, since the router 202-1 is a branch part of the multicast distribution tree, the same function as the multicast communication management unit 503 (see FIG. 4) is provided. In order to implement in the branch router, processing may be performed using a message of a multicast routing protocol that is a protocol for path control instead of the IGMP packet. Examples of the multicast routing protocol include DVMRP (Distance Vector Multicast Routing Protocol) and PIM (Protocol Independent Multicast).
[0047]
Further, when the session switching function is realized at the position of the router 202-2, since the router 202-2 is a leaf portion of the multicast distribution tree, the same function as the multicast communication management unit 503 (see FIG. 4) is provided. In order to realize the leaf router, the exchange of the IGMP packet transmitted on the downstream side of the router 202-2 and the message of the multicast routing protocol transmitted and received on the upstream side is realized, and the multicast distribution tree is formed and the branches are trimmed. In other words, the pruning process may be performed.
[0048]
(Second embodiment)
Next, a second embodiment of the present invention will be described. FIG. It is a figure which shows the whole structure of 2nd embodiment. In the second embodiment, the entire configuration is called a multicast distribution system as in the first embodiment.
[0049]
In FIG. 7, the difference in configuration between the multicast distribution system according to the second embodiment and the first embodiment is that the session switching unit 807 is not arranged between the (leaf) router and the access point, but the server. This is a point arranged in the area 801. Other hardware configurations are the same as those in the first embodiment.
[0050]
In the second embodiment, a session switching unit 807 is installed in the server 801. The session switching unit 807 arranged in the server 801 transmits the multicast packet transmitted by the server 801 to the client 804-1 in the first
[0051]
The two multicast packets ((1), (2)) transmitted from the server 801 in this way are copied at the (branch) router 802-1 and sent to the downstream (leaf) routers 802-2 and 802-3. And transferred to the access points 803-1 and 803-2 of each wireless LAN.
[0052]
Next, the multicast packet delivery operation in the second embodiment will be described with reference to the sequence of FIG. Note that the
[0053]
In FIG. 8, when the
[0054]
FIG. 9 is a diagram showing functional blocks of the
[0055]
9, this server 1000 (corresponding to the
[0056]
FIG. 10 is a flowchart showing processing of multicast packet distribution operation in the server configured as described above. Hereinafter, in describing the flowchart, a functional block diagram of the server in FIG. 9 will be referred to.
[0057]
In FIG. 10, the session
[0058]
The
[0059]
When the session information is notified from the session switching unit to the downstream client in this way, the data
[0060]
The data transmission / reception unit transmits the content data to the downstream client using the distribution destination address of the multicast packet extracted from the new session information referred to by the data distribution control unit 1002 (S1105).
[0061]
As described above, according to the second embodiment, the server divides a multicast distribution group for content into one or more small distribution groups, and creates one or more new session (= distribution session) information. Since the notification is sent to the downstream subnet, only group members in a plurality of subnets can receive the distribution content, and secure content distribution can be realized even when the network scale increases.
[0062]
【The invention's effect】
As described above, according to the present invention, since multicast session information (multicast address, port number, etc.) for the downstream subnet is switched at any time, it is managed by a member (client) who has left the multicast group or another ISP. The member (client) who has handed off to the next hotspot does not know the new session information and cannot receive the content. As a result, while maintaining the advantage of multicast distribution that can freely join or leave a multicast group, only group members belonging to a legitimate multicast group can receive the distribution content, and secure content distribution can be realized.
[0063]
[Brief description of the drawings]
FIG. 1 is a diagram showing an overall configuration of a first embodiment.
FIG. 2 is a sequence showing processing of multicast packet delivery operation in the multicast delivery system shown in FIG. 1;
FIG. 3 is a sequence showing an IGMP packet relay operation in a session switching unit;
FIG. 4 is a diagram illustrating functional blocks of a session switching unit.
FIG. 5 is a flowchart showing a communication processing procedure in the downlink direction in the session switching unit shown in FIG. 4;
FIG. 6 is a flowchart showing an upstream communication processing procedure in a session switching unit.
FIG. 7 is a diagram showing an overall configuration of a second embodiment.
FIG. 8 is a sequence showing processing of multicast packet distribution operation in the second embodiment.
FIG. 9 is a diagram showing functional blocks of the server shown in FIG. 8;
FIG. 10 is a flowchart showing processing of multicast packet distribution operation in the server.
FIG. 11 is a configuration diagram of a conventional multicast distribution system.
[Explanation of symbols]
11, 31, 41, 201, 801, 901, 1000 servers
12-1, 202-1, 802-1, 903 (branch) router
12-2, 12-3, 32, 42, 202-2, 202-3, 802-2, 802-3 (leaf) router
13-1, 13-2, 203-1, 203-2, 803-1, 803-2 access point
14, 15, 34, 44, 204, 205, 804-1, 804-2, 904
client
16, 206, 805 First hot spot
17, 207, 806 Second hot spot
33, 43, 208, 500, 807, 902 Session switching unit
501 Data transceiver A
502 Data transmission / reception unit B
503 Multicast communication manager
504, 1007 Session instruction section
505 Data relay part
506, 1006 Session information creation section
507, 1003 Data storage unit
1001 Data transceiver
1002 Data distribution control unit
1004 Session Management Department
1005 Directory management department
Claims (4)
クライアントから受信したデータを送信サーバへ送信し、送信サーバから受信したデータをクライアントへ送信するデータ送信手段と、
前記クライアントにより要求されるマルチキャストデータの上流側のセッション情報に対応する下流側のセッション情報を新たに生成するセッション情報生成手段と、
上流にある前記送信サーバ又は下流にある前記クライアントから送信されたデータパケットのヘッダ内の所定の識別子を参照し、該データパケットの宛先がマルチキャストアドレスであるか否かを判別するアドレス判別手段と、
前記データパケットの宛先がマルチキャストアドレスであった場合に、前記新たに生成されたセッション情報に基づいて、前記マルチキャストアドレスを変更するセッション切替手段と、
を備え、前記セッション切替手段は、
上流にある前記送信サーバから送信されたデータパケットの宛先がマルチキャストアドレスであった場合に、該データパケットに含まれている宛先アドレスに対応する下流側のセッション情報から取得したマルチキャストアドレスに変更することで、
又は下流にある前記クライアントから送信されたデータパケットの宛先がマルチキャストアドレスであった場合に、該データパケットに含まれる宛先アドレスに対応する上流側のセッション情報から取得したマルチキャストアドレスに変更し、
前記データ送信手段に対してデータパケットの送信を行わせることを特徴とするセッション情報管理装置。Session information management apparatus in an IP (Internet Protocol) network that connects a client that transmits a data provision request packet upstream and receives data from the upstream to a transmission server that provides data requested by the data provision request downstream. Because
Data transmission means for transmitting data received from the client to the transmission server and transmitting data received from the transmission server to the client ;
Session information generation means for newly generating downstream session information corresponding to the upstream session information of the multicast data requested by the client;
An address discriminating means for discriminating whether or not the destination of the data packet is a multicast address by referring to a predetermined identifier in the header of the data packet transmitted from the upstream transmission server or the downstream client;
Session switching means for changing the multicast address based on the newly generated session information when the destination of the data packet is a multicast address;
Bei For example, the session switching means is a,
When the destination of the data packet transmitted from the upstream transmission server is a multicast address, the destination is changed to the multicast address acquired from the downstream session information corresponding to the destination address included in the data packet. so,
Or when the destination of the data packet transmitted from the client located downstream is a multicast address, change to the multicast address acquired from the upstream session information corresponding to the destination address included in the data packet,
A session information management apparatus characterized by causing the data transmitting means to transmit a data packet .
クライアントから受信したデータを送信サーバへ送信し、送信サーバから受信したデータをクライアントへ送信するデータ送信手順と、
前記クライアントにより要求されるマルチキャストデータの上流側のセッション情報に対応する下流側のセッション情報を新たに生成するセッション情報生成手順と、
上流にある前記送信サーバ又は下流にある前記クライアントから送信されたデータパケットのヘッダ内の所定の識別子を参照し、該データパケットの宛先がマルチキャストアドレスであるか否かを判別するアドレス判別手順と、
前記データパケットの宛先がマルチキャストアドレスであった場合に、前記新たに生成されたセッション情報に基づいて、前記マルチキャストアドレスを変更するセッション切替手順と、
を備え、前記セッション切替手順は、
上流にある前記送信サーバから送信されたデータパケットの宛先がマルチキャストアドレスであった場合に、該データパケットに含まれている宛先アドレスに対応する下流側のセッション情報から取得したマルチキャストアドレスに変更することで、
又は下流にある前記クライアントから送信されたデータパケットの宛先がマルチキャストアドレスであった場合に、該データパケットに含まれている宛先アドレスに対応する上流側のセッション情報から取得したマルチキャストアドレスに変更し、
前記データ送信手段に対してデータパケットの送信を行わせることを特徴とするセッション情報管理方法。Session information management method in an IP (Internet Protocol) network that connects a client that transmits a data provision request packet upstream and receives data from the upstream to a transmission server that provides data requested by the data provision request downstream. In
A data transmission procedure for transmitting data received from the client to the transmission server and transmitting data received from the transmission server to the client ;
A session information generation procedure for newly generating downstream session information corresponding to upstream session information of the multicast data requested by the client;
An address determination procedure that refers to a predetermined identifier in a header of a data packet transmitted from the upstream transmission server or the downstream client, and determines whether the destination of the data packet is a multicast address;
A session switching procedure for changing the multicast address based on the newly generated session information when the destination of the data packet is a multicast address;
Bei For example, the session switching procedure is the,
When the destination of the data packet transmitted from the upstream transmission server is a multicast address, the destination is changed to the multicast address obtained from the downstream session information corresponding to the destination address included in the data packet. so,
Or, when the destination of the data packet transmitted from the client located downstream is a multicast address, change to the multicast address obtained from the upstream session information corresponding to the destination address included in the data packet,
A session information management method characterized by causing the data transmission means to transmit a data packet .
クライアントから受信したデータを送信サーバへ送信し、送信サーバから受信したデータをクライアントへ送信するデータ送信手段と、
前記クライアントにより要求されるマルチキャストデータの上流側のセッション情報に対応する下流側のセッション情報を新たに生成するセッション情報生成手順と、
上流にある前記送信サーバ又は下流にある前記クライアントから送信されたデータパケットのヘッダ内の所定の識別子を参照し、該データパケットの宛先がマルチキャストアドレスであるか否かを判別するアドレス判別手順と、
前記データパケットの宛先がマルチキャストアドレスであった場合に、前記新たに生成されたセッション情報に基づいて、前記マルチキャストアドレスを変更するセッション切替手順と、
を実行させるセッション情報管理プログラムであって、
前記セッション切替手順は、
上流にある前記送信サーバから送信されたデータパケットの宛先がマルチキャストアドレスであった場合に、該データパケットに含まれている宛先アドレスに対応する下流側のセッション情報から取得したマルチキャストアドレスに変更することで、
又は下流にある前記クライアントから送信されたデータパケットの宛先がマルチキャストアドレスであった場合に、該データパケットに含まれている宛先アドレスに対応する上流側のセッション情報から取得したマルチキャストアドレスに変更し、
前記データ送信手段に対してデータパケットの送信を行わせる手順であることを特徴とするセッション情報管理プログラム。Manages session information in an IP (Internet Protocol) network that connects a client that transmits a data provision request upstream and receives data from the upstream to a transmission server that provides data requested by the data provision request downstream. Oite to the computer,
Data transmission means for transmitting data received from the client to the transmission server and transmitting data received from the transmission server to the client ;
A session information generation procedure for newly generating downstream session information corresponding to upstream session information of the multicast data requested by the client;
An address determination procedure that refers to a predetermined identifier in a header of a data packet transmitted from the upstream transmission server or the downstream client, and determines whether the destination of the data packet is a multicast address;
A session switching procedure for changing the multicast address based on the newly generated session information when the destination of the data packet is a multicast address;
A session information management program for executing
The session switching procedure is:
When the destination of the data packet transmitted from the upstream transmission server is a multicast address, the destination is changed to the multicast address obtained from the downstream session information corresponding to the destination address included in the data packet. so,
Or, when the destination of the data packet transmitted from the client located downstream is a multicast address, change to the multicast address obtained from the upstream session information corresponding to the destination address included in the data packet,
A session information management program which is a procedure for causing the data transmission means to transmit a data packet .
クライアントから受信したデータを送信サーバへ送信し、送信サーバから受信したデータをクライアントへ送信するデータ送信手順と、
前記クライアントにより要求されるマルチキャストデータの上流側のセッション情報に対応する下流側のセッション情報を新たに生成するセッション情報生成手順と、
上流にある前記送信サーバ又は下流にある前記クライアントから送信されたデータパケットのヘッダ内の所定の識別子を参照し、該データパケットの宛先がマルチキャストアドレスであるか否かを判別するアドレス判別手順と、
前記データパケットの宛先がマルチキャストアドレスであった場合に、前記新たに生成されたセッション情報に基づいて、前記マルチキャストアドレスを変更するセッション切替手順と、
を実行させるセッション情報管理プログラムを記憶した記録媒体であって、
前記セッション切替手順は、上流にある前記送信サーバから送信されたデータパケットの宛先がマルチキャストアドレスであった場合に、該データパケットに含まれている宛先アドレスに対応する下流側のセッション情報から取得したマルチキャストアドレスに変更することで、
又は下流にある前記クライアントから送信されたデータパケットの宛先がマルチキャストアドレスであった場合に、該データパケットに含まれている宛先アドレスに対応する上流側のセッション情報から取得したマルチキャストアドレスに変更し、
前記データ送信手段に対してデータパケットの送信を行わせる手順であることを特徴とするセッション情報管理プログラムを記憶した記録媒体。Manages session information in an IP (Internet Protocol) network that connects a client that sends a data provision request to the upstream and receives data from the upstream and a transmission server that provides the data requested by the data provision request downstream. In a computer-readable recording medium storing a session management program,
A data transmission procedure for transmitting data received from the client to the transmission server and transmitting data received from the transmission server to the client ;
A session information generation procedure for newly generating downstream session information corresponding to upstream session information of the multicast data requested by the client;
An address determination procedure that refers to a predetermined identifier in a header of a data packet transmitted from the upstream transmission server or the downstream client, and determines whether the destination of the data packet is a multicast address;
A session switching procedure for changing the multicast address based on the newly generated session information when the destination of the data packet is a multicast address;
A recording medium storing a session information management program for executing
The session switching procedure is acquired from the downstream session information corresponding to the destination address included in the data packet when the destination of the data packet transmitted from the transmission server located upstream is a multicast address. By changing to a multicast address,
Or, when the destination of the data packet transmitted from the client located downstream is a multicast address, change to the multicast address obtained from the upstream session information corresponding to the destination address included in the data packet,
A recording medium storing a session information management program, which is a procedure for causing the data transmission means to transmit a data packet.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002364382A JP3930424B2 (en) | 2002-12-16 | 2002-12-16 | Session information management apparatus, session information management method, program for causing computer to perform processing in the method, storage medium storing the program, and multicast server |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002364382A JP3930424B2 (en) | 2002-12-16 | 2002-12-16 | Session information management apparatus, session information management method, program for causing computer to perform processing in the method, storage medium storing the program, and multicast server |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004200812A JP2004200812A (en) | 2004-07-15 |
JP3930424B2 true JP3930424B2 (en) | 2007-06-13 |
Family
ID=32762264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002364382A Expired - Fee Related JP3930424B2 (en) | 2002-12-16 | 2002-12-16 | Session information management apparatus, session information management method, program for causing computer to perform processing in the method, storage medium storing the program, and multicast server |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3930424B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4074283B2 (en) | 2004-09-28 | 2008-04-09 | 株式会社東芝 | COMMUNICATION DEVICE, COMMUNICATION SYSTEM, AND COMMUNICATION METHOD |
-
2002
- 2002-12-16 JP JP2002364382A patent/JP3930424B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004200812A (en) | 2004-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100579321B1 (en) | Method and System for Virtual Multicast Networking | |
EP0888029B1 (en) | Method for managing multicast addresses for transmitting and receiving multimedia conferencing information on an internet protocol (IP) network implemented over an ATM network | |
JP4292890B2 (en) | Multicast distribution method, distribution apparatus and system | |
JP3792940B2 (en) | Packet multicast delivery system | |
KR100967274B1 (en) | Relay device, wireless communication system and multicast relay method | |
KR100933611B1 (en) | Relay device, wireless communication system and multicast relay method | |
US7564817B2 (en) | Multicast communication method, home agent, and mobile node | |
US7373394B1 (en) | Method and apparatus for multicast cloud with integrated multicast and unicast channel routing in a content distribution network | |
US20030120917A1 (en) | Application layer multicast system and intermediate node therefor | |
JP2000078208A (en) | Information providing method | |
JP2004531179A (en) | Multicast method in network for point-to-point packet switching | |
JP4712095B2 (en) | Communication method and wireless communication system | |
JPH11313059A (en) | Multicasting communication method/system and storage medium recording multicasting communication program | |
JP2002335281A (en) | Multicast packet distribution method and system, address structure of packet, and mobile unit | |
JP4543097B2 (en) | Session-aware connection control method and apparatus | |
JP4463277B2 (en) | Service relay inter-subnet multicast-A cross-subnet multicast solution independent of the network infrastructure | |
EP3382953A1 (en) | Method for grouped transmission of packets over software-defined networks | |
CN101690087A (en) | Lawful intercept to the data of roaming mobile node | |
CN109257190A (en) | A kind of multicast processing method based on SDN, controller, interchanger and system | |
CN107465582B (en) | Data sending method, device and system, physical home gateway and access node | |
JP3930424B2 (en) | Session information management apparatus, session information management method, program for causing computer to perform processing in the method, storage medium storing the program, and multicast server | |
JP3962343B2 (en) | Multicast data communication system and method | |
KR100453221B1 (en) | Method and system transmitting group cast by using unicast network | |
JP2005244526A (en) | Network node device, server device, multicast tree construction method, and program | |
CN115567986B (en) | Communication network based on load balancing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050405 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060801 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060808 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061005 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20061212 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070111 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070216 |
|
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: 20070306 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070308 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3930424 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: 20100316 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110316 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110316 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120316 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120316 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130316 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130316 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140316 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |