JP2018026657A - データ配信システム、データ転送装置、および、データ送信端末 - Google Patents

データ配信システム、データ転送装置、および、データ送信端末 Download PDF

Info

Publication number
JP2018026657A
JP2018026657A JP2016156358A JP2016156358A JP2018026657A JP 2018026657 A JP2018026657 A JP 2018026657A JP 2016156358 A JP2016156358 A JP 2016156358A JP 2016156358 A JP2016156358 A JP 2016156358A JP 2018026657 A JP2018026657 A JP 2018026657A
Authority
JP
Japan
Prior art keywords
attribute
transfer device
data packet
transmission
attribute set
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.)
Granted
Application number
JP2016156358A
Other languages
English (en)
Other versions
JP6603631B2 (ja
Inventor
達也 出水
Tatsuya Demizu
達也 出水
池邉 隆
Takashi Ikebe
隆 池邉
尚人 干川
Naoto Hoshikawa
尚人 干川
雅史 舩田
Masashi Funada
雅史 舩田
幸 藤岡
Miyuki Fujioka
幸 藤岡
博史 野口
Hiroshi Noguchi
博史 野口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2016156358A priority Critical patent/JP6603631B2/ja
Publication of JP2018026657A publication Critical patent/JP2018026657A/ja
Application granted granted Critical
Publication of JP6603631B2 publication Critical patent/JP6603631B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】複雑な条件でデータパケットの送信対象を指定する場合でも、システムの負荷を軽減しつつデータパケットを所定の送信対象に転送すること。【解決手段】転送装置X1は、転送装置B1から送信された属性集合と、その送信元である転送装置B1のアドレス情報とを対応付けて自身の属性DBに格納するとともに、自身の属性DB内の属性集合を転送装置A1に送信するデータベース作成部と、属性集合の属性についての送信条件が指定されたデータパケットを転送装置A1から受信すると、そのデータパケットの送信条件を満たす属性集合を自身の属性DBから特定し、その特定した属性集合に対応するアドレス情報が示す転送装置B1に対してデータパケットを転送するデータ転送部と、を備える。【選択図】図8

Description

本発明は、データ配信システム、データ転送装置、および、データ送信端末の技術に関する。
送信端末から複数の受信端末にデータパケットを配信するデータ配信システムでは、あて先となる受信端末の指定方法は様々である。受信端末の指定方法として、例えば、アドレスを1台ずつ指定するユニキャスト、すべての受信端末を一括で指定するブロードキャスト、特定のグループ単位で指定するマルチキャストが挙げられる。
図11は、配信システムにおけるユニキャストおよびマルチキャストでの送信経路の一例を示す。
符号101に示すように、ユニキャストでは送信端末(S)→受信端末(T)間で1:1で通信する。よって、1台の送信端末から4台の受信端末へ同じデータパケットを送信する場合でも、例えば、S→R1に4回重複して同じデータパケットを送信するなど、転送網での無駄が多い。さらに、送信端末がすべての宛先を知る必要があるため、送信端末も転送網も負荷が高い。特に、動画等の大きな情報を送信する場合には、無駄に帯域を占有してしまう。
符号102に示すように、転送網での無駄を削除するためには、マルチキャストの技術が使用される(非特許文献1)。符号102内の太線矢印が、データパケットの経路である。ここで、ある転送元(R1)から次ホップの転送先(R2,R3,R4)が複数存在するときには、転送元(R1)は、その転送先ごとに同じデータパケットをコピーして転送する。これにより、S→R1に4回重複して同じデータパケットを送信する必要がなくなる。
なお、マルチキャストにおいて各転送装置(R1〜R4)次ホップの転送先を特定するためには、受信端末のグループを表す特別なIPアドレス(マルチキャストアドレス)を割り当て、受信端末が該マルチキャストグループにjoin(登録)する前準備が必要となる。その後、送信端末はそのマルチキャストアドレスに対してデータパケットを送信すると、中継網のルータ(R1〜R4)やスイッチなどで宛先の数だけデータパケットが複製されて受信端末へ転送される。なお、IGMP(Internet Group Management Protocol) Snoopingが無効の場合は、全ポートへ複製・転送され、受信側で取捨選択する。
つまり、データパケットの送信回数が、ユニキャストでは受信端末の台数に依存していたのに対し、マルチキャストではマルチキャストアドレス数分だけ繰り返し送信すればよいことになる。
図12は、マルチキャストのグループ数の組み合わせが膨大となることを示す図である。
データパケットの送信対象をきめ細かく指定したいときには、そのデータパケットの送信条件が「CPUが2.4GHz以上でメモリが8GB以上でカメラを持つデバイス」や「20代男性で今日自販機でコーヒーを購入した人の端末」などの多岐にわたることもある。
テーブル112は、その多岐の送信条件それぞれについて、別々のマルチキャストアドレスを割り当てた例を示す。符号111は、テーブル112に沿った受信端末の集合図であり、1つ以上の受信端末(「A」など)をマルチキャストアドレスでグループ化したものである。
なお、テーブル112の状態で、新たに「CPUが2.4GHz以上でメモリが8GB以上でカメラを持たないデバイス」の送信条件を追加するときには、「224.0.0.22」とは別のマルチキャストアドレスを新たに割り当てる必要がある。つまり、多岐にわたる送信条件を表現するために、膨大な数のグループが必要となる。
また、非特許文献2には、IPアドレスではなくコンテンツの中身を表すキーをもとに該コンテンツを受信し、該コンテンツがネットワーク経路上にキャッシュされることで、送信端末の繰り返し送信や転送帯域の節約を実現するCCN(Content-Centric Network)が記載されている。
このCCNは、受信端末側からデータパケットを要求するPull型の配信システムであり、送信端末側から複雑な複数の条件により受信端末群を選択し情報を送信するPush型の配信システムには適用されない。
The Internet Society、"Internet Group Management Protocol, Version 3"、[online]、2002年10月、[平成28年7月28日検索]、インターネット〈URL:https://tools.ietf.org/html/rfc3376〉 V. Jacobson, et. al, "Networking Named Content," ACM CoNEXT 2009,December 1-4, 2009, Rome, Italy.
前記の図12で説明したように、データパケットの送信対象をきめ細かく指定したいときには、マルチキャストのグループ化では送信端末や転送装置の持つマルチキャストアドレスのテーブルが膨大になるため、送信端末や転送装置への負担が大きくなりすぎてしまう上、マルチキャストアドレスの枯渇が懸念される。かといって、ユニキャストやブロードキャストを採用してしまうと、個々のデータパケットの送信対象の指定は容易だが、その分データパケットの通信量が膨大となり、転送網の帯域を圧迫してしまう。
そこで、本発明は、複雑な条件でデータパケットの送信対象を指定する場合でも、システムの負荷を軽減しつつデータパケットを所定の送信対象に転送することを、主な課題とする。
前記課題を解決するために、本発明のデータ配信システムは、以下の特徴を有する。
つまり、本発明は、最上位の送信端末から最下位の受信端末に向かってデータパケットを転送するときに、前記送信端末に接続される第1転送装置、前記第1転送装置よりも下位の第2転送装置、前記第2転送装置よりも下位であり前記受信端末に接続される第3転送装置の順にデータパケットが通過するようにレイヤ構成をとるデータ配信システムであって、
データパケットが前記送信端末から送信される前において、
前記受信端末が、自身の属性集合を前記第3転送装置に送信する第1工程と、
前記第3転送装置が、送信された前記属性集合と、その送信元である前記受信端末のアドレス情報とを対応付けて自身の属性DBに格納するとともに、その格納した属性集合を前記第2転送装置に送信する第2工程と、
前記第2転送装置が、送信された前記属性集合と、その送信元である前記第3転送装置のアドレス情報とを対応付けて自身の属性DBに格納するとともに、その格納した属性集合を前記第1転送装置に送信する第3工程と、
前記第1転送装置が、送信された前記属性集合と、その送信元である前記第2転送装置のアドレス情報とを対応付けて自身の属性DBに格納する第4工程と、
前記属性集合の属性についての送信条件が指定されたデータパケットが前記送信端末から送信された後において、
前記第1転送装置が、前記送信端末から送信された前記データパケットの送信条件を満たす前記属性集合を前記自身の属性DBから特定し、その特定した前記属性集合に対応するアドレス情報が示す前記第2転送装置に対してデータパケットを転送する第5工程と、
前記第2転送装置が、前記第1転送装置から転送された前記データパケットの送信条件を満たす前記属性集合を前記自身の属性DBから特定し、その特定した前記属性集合に対応するアドレス情報が示す前記第3転送装置に対してデータパケットを転送する第6工程と、
前記第3転送装置が、前記第2転送装置から転送された前記データパケットの送信条件を満たす前記属性集合を前記自身の属性DBから特定し、その特定した前記属性集合に対応するアドレス情報が示す前記受信端末に対してデータパケットを転送する第7工程とを実行することを特徴とする。
これにより、送信先の数だけ同じ情報を繰り返し送信元が送信する必要がなくなるため、ユニキャストとは異なり、送信元の処理負荷の軽減と転送網の帯域の節約が可能になる。
さらに、マルチキャストと異なり、同報送信先のグループそれぞれに限りあるマルチキャストアドレスを割り当てる必要がなくなるため、膨大なサイズのマルチキャストアドレスのテーブルを各転送装置が保持しなくても済む。その代わり、複雑な条件を表現するときに使用される属性集合を各転送装置が保持すればよい。つまり、条件の複雑化によりグループ数が膨大なものになっても、アドレスが枯渇せずに同報送信が可能になる。
よって、複雑な条件でデータパケットの送信対象を指定する場合でも、システムの負荷を軽減しつつデータパケットを所定の送信対象に転送することができる。
本発明は、前記第1工程、前記第2工程、および、前記第3工程のうちの少なくとも1つの工程において、前記属性集合の送信元である下位の装置が、前記属性集合の送信先である上位の装置に対して、送信対象の前記属性集合のうちの一部を省略してから送信し、
前記第5工程、前記第6工程、および、前記第7工程のうちの少なくとも1つの工程において、各転送装置が、送信が省略されたことにより前記自身の属性DBに格納されなかった前記属性集合については、送信条件を満たすものとみなして、下位の装置にデータパケットを転送することを特徴とする。
これにより、同報送信先を特定するための条件のすべてを転送装置へ共有する必要がなくなるため、プライバシー性やセキュリティ性の高い属性情報を受信端末外や自身の制御下にある転送装置外に漏らす必要がなくなる。
本発明は、前記第1工程、前記第2工程、および、前記第3工程のうちの少なくとも1つの工程において、前記属性集合の送信元である下位の装置が、前記属性集合内の重複する項目については1つに集約した後に、前記属性集合の送信先である上位の装置に対して送信することを特徴とする。
これにより、受信端末が膨大な数になったとしても、属性DBのサイズが縮小され、転送装置の保存容量削減と転送先検索時間の低減が可能になる。
本発明は、前記第5工程、前記第6工程、および、前記第7工程のうちの少なくとも1つの工程において、
各転送装置が、前記自身の属性DBから前記データパケットの送信条件を満たす転送先のアドレス情報を特定した後に、その送信条件を示すハッシュ値と、特定したアドレス情報とを対応付けるハッシュテーブルに対して今回特定したエントリを追加し、
各転送装置が、新たなデータパケットを受信した後に、その新たなデータパケットの送信条件を示すハッシュ値が既にハッシュテーブルに登録されているときには、前記ハッシュテーブルから登録されたアドレス情報を取得することで、送信条件を満たす前記属性集合を前記自身の属性DBから特定する処理を省略することを特徴とする。
これにより、同報送信先を特定するための条件を例えばハッシュ化する等の手段により機械的に扱いやすい形にすることで、転送装置の転送先検索時間の低減が可能になる。
本発明のデータ転送装置は、自身からみて階層構造における下位として接続されている下位転送装置から送信された属性集合と、その送信元である前記下位転送装置のアドレス情報とを対応付けて自身の属性DBに格納するとともに、その格納した属性集合を自身からみて階層構造における上位として接続されている上位転送装置に送信するデータベース作成部と、
前記属性集合の属性についての送信条件が指定されたデータパケットを前記上位転送装置から受信すると、そのデータパケットの送信条件を満たす前記属性集合を前記自身の属性DBから特定し、その特定した前記属性集合に対応するアドレス情報が示す前記下位転送装置に対してデータパケットを転送するデータ転送部と、を備えることを特徴とする。
これにより、複雑な条件でデータパケットの送信対象を指定する場合でも、システムの負荷を軽減しつつデータパケットを所定の送信対象に転送することができる。
本発明のデータ送信端末は、前記のデータ転送装置に対して送信するデータパケットを作成し、そのデータパケットのあて先を示す情報として前記属性集合の属性についての送信条件を指定することを特徴とする。
これにより、複雑な条件でデータパケットの送信対象を指定する場合でも、システムの負荷を軽減しつつデータパケットを所定の送信対象に転送することができる。
本発明によれば、複雑な条件でデータパケットの送信対象を指定する場合でも、システムの負荷を軽減しつつデータパケットを所定の送信対象に転送することができる。
本実施形態に係わる配信システムの構成図である。 本実施形態に係わる配信システムにおける属性DBの内容を第1の具体例で示す図である。 本実施形態に係わる図2で示した配信システムにおける属性DBの内容を一般的に示す図である。 本実施形態に係わる配信システムにおける第2の具体例のデータベース作成処理を示す図である。 本実施形態に係わる配信システムにおける第2の具体例のデータ転送処理を示す図である。 本実施形態に係わる配信システムにおける第3の具体例のデータベース作成処理を示す図である。 本実施形態に係わる配信システムにおける第3の具体例のデータ転送処理を示す図である。 本実施形態に係わる図1の配信システムに対して、転送装置を1段階追加したときの構成図である。 本実施形態に係わる配信システムにおけるハッシュDBおよびハッシュ値を含むパケットの説明図である。 配信システムにおける配信用テーブルの大きさの比較図である。 配信システムにおけるユニキャストおよびマルチキャストでの送信経路の一例を示す図である。 マルチキャストのグループ数の組み合わせが膨大となることを示す図である。
以下、本発明の一実施形態について、図面を参照して詳細に説明する。
図1は、配信システムの構成図である。
符号501に示す配信システム全体は、データパケットが流れる上流側(上位側)から下流側(下位側)に向かって、送信元である第0階層の送信端末1、第1階層の転送装置A1、第2階層の転送装置B1、B2、あて先である第3階層の受信端末C1〜C4の順に接続されている。図1では、データパケットが流れる順序を矢印で表記する。
なお、配信システムの各装置は、それぞれCPU(Central Processing Unit)と、メモリと、ハードディスクなどの記憶手段(記憶部)と、ネットワークインタフェースとを有するコンピュータとして構成される。
このコンピュータは、CPUが、メモリ上に読み込んだプログラム(アプリケーションや、その略のアプリとも呼ばれる)を実行することにより、各処理部により構成される制御部(制御手段)を動作させる。
ここで、図11の符号102で示したマルチキャストのように、各転送装置は、自身が収容する受信端末C1〜C4のうち、今回のデータパケットの受信対象が存在するときにはその受信対象に向かってデータパケットを転送するとともに、受信対象に向かう経路が分岐するときには、データパケットを分岐先ごとにコピーする。これにより、同じ内容のデータパケットが同じリンクを何度も通過することによる通信の無駄を抑制できる。
さらに、本実施形態の配信システムでは、データパケットのあて先を特定するための情報として、マルチキャストのグループの代わりに、受信端末C1〜C4の属性(またはその利用者の属性)の組み合わせ(集合)を用いる。よって、データパケットを転送する前準備として、各転送装置内の転送テーブル(以下「属性DB」とする)に書き込むために、下流側から上流側に向かって、つまり図1の矢印の逆方向に向かって属性集合が通知される。
符号502は、符号501に示す配信システムのうちの1つの転送装置に着目したときの装置構成図である。転送装置は、下流側(下位転送装置)から上流側(上位転送装置)へ通知される属性集合(細線矢印)を属性DBに登録するデータベース作成部と、上流側から下流側への属性DBを参照したデータパケット(太線矢印)の転送処理を行うデータ転送部とを有する。
このように、属性集合を指定したデータパケットの配信システムは、特定の年齢や特定のスペック端末に向けたターゲット向けの広告配信などに特に適している。また、不特定多数の端末を組み合わせて、一つのサービスを実現する場合の端末発見にも、本実施形態の配信システムは適している。例えば、○○公園内の監視カメラだけでなく公園内でスマホで写真を撮ろうとカメラをオンにしているひとの端末を組み合わせて、特定の人を発見するサービスなどに適用される。
図2は、配信システムにおける属性DBの内容を第1の具体例で示す図である。
まず、テーブル211は、下流側の転送装置(または受信端末)から上流側の転送装置に属性集合が通知されていく様子を示す。
テーブル211の第1列「装置」は、どの装置内に格納された属性DBの内容なのかを示す。なお、装置が受信端末であるときには、属性DBの代わりに手入力された設定ファイルなどでもよい。
テーブル211の第2列「CPU」は、第1属性(CPUの動作クロック)の属性値(以下「CPU属性」)を示す。
テーブル211の第3列「CPU−from」は、第2列のCPU属性がどの下位の装置から通知されたかを示すための送信元の情報(アドレス情報)を示す。
テーブル211の第4列「RAM」は、第2属性(RAMの容量)の属性値(以下「RAM属性」)を示す。
テーブル211の第5列「RAM−from」は、第4列のRAM属性がどの下位の装置から通知されたかを示すための送信元の情報(アドレス情報)を示す。
例えば、テーブル211の「装置=受信端末C1」の行を参照することにより、受信端末C1のCPU属性は「2.4GHz」であることがわかる。また、「装置=転送装置B1」の行を参照することにより、転送装置B1内の属性DBには、別々の下位装置から通知された3つのCPU属性と、別々の下位装置から通知された3つのRAM属性とから構成される属性集合が格納されていることを示す。
なお、以下の説明では、テーブルの第n行とは、第1列の「装置」で区切られたレコードを示す。ここで、1つの装置が複数の属性値を有していても、1行とカウントする。つまり、テーブル211の第5行=「装置=転送装置B1」の行、テーブル211の第6行=「装置=転送装置B2」の行、テーブル211の第7行=「装置=転送装置B2」の行である。
テーブル211の第1行〜第4行には、最下流の受信端末C1〜C4それぞれの属性(CPU,RAM)が示されている。
テーブル211の第5行に示す転送装置B1の属性DBは、配下である3台の受信端末C1〜C3から通知された属性(第1行〜第3行の属性)が、その通知元(〜from)に対応付けられて格納される。
テーブル211の第6行に示す転送装置B2の属性DBは、配下である1台の受信端末C4から通知された属性(第4行の属性)が、その通知元(〜from)に対応付けられて格納される。
テーブル211の第7行に示す転送装置A1の属性DBは、配下である転送装置B1、B2から通知された属性(第5,6行の属性)が、その通知元(〜from)に対応付けられて格納される。ここで、CPUの属性については、第5行では3エントリ(2.4GHz,2.8GHz,2.4GHz)存在していた。しかし、転送装置B1は、上位の転送装置A1にCPUの属性を通知するときに、重複する属性値を1つに集約することで、2エントリ(2.4GHz,2.8GHz)分の通知で済む。同様に、転送装置B1は、上位の転送装置A1にRAMの属性を通知するときに、3エントリ(8GB,8GB,8GB)を1エントリ(8GB)に集約している。以上でデータパケットの送信準備である属性DBの作成処理を説明した。
テーブル212は、上流側の転送装置から下流側の転送装置(または受信端末C3)にデータパケットが転送されていく様子を示す。以下、転送装置A1は接続先の送信端末1から、属性集合を元にした以下の送信条件が指定されたデータパケットを受信する場合を考える。
「CPU=2.4GHzかつRAM≧4GBである受信端末を送信先とする」
この送信条件は、第1属性「CPU=2.4GHz」と第2属性「RAM≧4GB」との組み合わせ(AND条件)であるとも言える。
テーブル212の第1行に示す転送装置A1の属性DBは、テーブル211の第7行と同じである。転送装置A1は、送信条件を構成する2つの属性ごとに、それぞれの属性値を満たすエントリを属性DBから取得する。その結果、転送装置A1は、第1属性「CPU=2.4GHz」を満たす1つのエントリと、第2属性「RAM≧4GB」を満たす2つのエントリとを取得する。なお、送信条件を部分的に満たすエントリには、その末尾に「○」印を図示する。今回の送信条件は、2つの属性のAND条件なので、CPU属性とRAM属性とを同時に満たす次ホップ(〜from)は転送装置B1だけである。よって、転送装置A1は、データパケットを転送装置B1に転送する。
テーブル212の第2行に示す転送装置B1の属性DBは、テーブル211の第5行と同じである。転送装置B1は、転送装置A1と同様に、2つの属性ごとに、それぞれの属性値を満たすエントリを属性DBから取得する。そして、転送装置B1は、CPU属性とRAM属性とを同時に満たす受信端末C1、C3を特定する。よって、転送装置B1は、同じ1つのデータパケットを受信端末C1、C3とに分岐(コピー)して転送する。
テーブル212の第3行に示す受信端末C1のレコードは、テーブル211の第1行と同じである。受信端末C1は、転送装置B1から転送されたデータパケットの送信条件が自身の属性集合に適合することを確認した後、そのデータパケットを受信する。
テーブル212の第4行に示す受信端末C3のレコードは、テーブル211の第3行と同じである。受信端末C3は、転送装置B1から転送されたデータパケットの送信条件が自身の属性集合に適合することを確認した後、そのデータパケットを受信する。
図3は、図2で示した配信システムにおける属性DBの内容を一般的に示す図である。
テーブル201は、図2のテーブル211を一般化したものである。図2のCPU属性を図3では属性aとし、図2のRAM属性を図3では属性bとし、その各属性値を図2の「2.4GHz」→図3「C1a」などに置き換える。
そして、各転送装置は、直下の転送装置から通知された属性集合の和集合を、真上の転送装置に通知する。このとき、同じ属性内の属性値が2つ以上重複する場合は、1つの属性値に集約してから通知してもよい。
テーブル202は、図2のテーブル212を一般化したものである。データパケットの送信条件を、「属性a=C1a」と「属性b=C1b」との組み合わせ(AND条件)とする。
転送装置A1では、2つの属性値が送信条件をともに満たす送信先として、転送装置B1が選択される。
転送装置B1では、2つの属性値が送信条件をともに満たす送信先として、受信端末C1が選択される。
これにより、受信端末C1は、自身の属性に適合するデータパケットを受信することができる。なお、受信端末C1〜C4の増減、端末位置の移動、属性値の変更などに伴い、テーブル201に示した各装置内の属性DBの内容が変更されることもある。そこで、配信システムの各装置は、最新の属性集合を随時各装置の属性DBに反映させることが望ましい。
図4は、配信システムにおける第2の具体例のデータベース作成処理を示す図である。図2の第1の具体例と比較すると、図4では、第3属性「cam」が追加されている。この属性「cam」とは、受信端末C1〜C4それぞれからカメラが内蔵または接続されることで、撮影が可能か(属性値=有)否か(属性値=無)を示す。
テーブル221では、テーブル211と同様に、受信端末C1〜C4→転送装置B1,B2までは、3つの属性すべてが通知されている。しかし、転送装置B1,B2→転送装置A1の段階では、2つの属性(CPU,RAM)だけが通知されるが、属性「cam」が通知されないものとする。このように、自身が保持しているにもかかわらず、上位の装置にあえて属性を通知しない理由としては、例えば、プライバシー保護や、データ量の削減(負荷軽減)などが挙げられる。
図5は、配信システムにおける第2の具体例のデータ転送処理を示す図である。テーブル222では、テーブル212と同様に、上流側から下流側へとデータパケットが通知される。このデータパケットの送信条件を、第1属性「CPU=2.4GHz」と第2属性「RAM≧4GB」と第3属性「cam=有」との組み合わせ(AND条件)とする。
テーブル222の第1行に示す転送装置A1の属性DBは、テーブル211の第7行と同じである。転送装置A1は、送信条件を構成する3つの属性ごとに、それぞれの属性値を満たすエントリを属性DBから取得する。図2と同様に、CPU属性とRAM属性については属性値の評価ができるが、前記したとおり直下の装置から通知されていないので、cam属性については属性値の評価ができない。
そこで、転送装置A1は、cam属性については自身で評価する代わりに、直下の装置に判断をゆだねる。具体的には、転送装置A1は、cam属性については転送装置B1、B2がともに満たす(属性値=有)とみなした結果、3つの属性をすべて満足する転送装置B1をデータパケットの転送先とする。
転送装置B1は、転送されたデータパケットについて、テーブル222の第2行に示すように、3つの属性をすべて保持している。そこで、転送装置B1は、3つの属性すべてを評価できるので、その評価結果である受信端末C1をデータパケットの転送先とする。これにより、受信端末C1は、一部の属性が転送装置A1に通知されていない状況下であっても、自身の属性に適合するデータパケットを受信することができる。
図6は、配信システムにおける第3の具体例のデータベース作成処理を示す図である。図4の第2の具体例と比較すると、図6では、第3属性が「age」となっている。この属性「age」とは、受信端末C1〜C4の所有者の年齢を示す。
テーブル231では、受信端末C1〜C4→転送装置B1,B2の段階で、2つの属性(CPU,RAM)だけが通知されるが、属性「age」が通知されないものとする。つまり、各受信端末C1〜C4は、所有者の年齢を秘匿情報として外部に通知しない設定になっている。よって、転送装置B1,B2→転送装置A1の段階でも属性「age」が通知されない。
図7は、配信システムにおける第3の具体例のデータ転送処理を示す図である。テーブル232では、テーブル222と同様に、上流側から下流側へとデータパケットが通知される。このデータパケットの送信条件を、第1属性「CPU=2.4GHz」と第2属性「RAM≧4GB」と第3属性「age=30代」との組み合わせ(AND条件)とする。
テーブル232の第1行に示す転送装置A1の属性DBでは、CPU属性とRAM属性については属性値の評価ができるが、age属性については属性値の評価ができない。そこで、図5と同様に、通知されないage属性については、その判断を下位の装置にゆだねることとし(換言すると自身の装置では、age属性は満たしたと仮定し)、転送装置A1は転送装置B1へデータパケットを転送する。
テーブル232の第2行に示す転送装置B1の属性DBも、CPU属性とRAM属性とをともに満たし、かつ、通知されていないage属性は満たしたものと仮定した結果、転送先が受信端末C1、C3に特定される。
テーブル232の第3行に示す受信端末C1は、転送されたデータパケットの送信条件と、自身の属性とを照合した結果、age属性も満たしている(38才は30代に含まれる)ことにより、データパケットを受信する。
テーブル232の第4行に示す受信端末C3は、転送されたデータパケットの送信条件と、自身の属性とを照合した結果、age属性を満たしていない(13才は30代に含まれない)ことにより、データパケットを破棄する。
このように、受信端末側にデータパケットの取捨選択を求めることで、受信端末の秘匿情報を外部に通知しなくても、属性を満たす適切なデータパケットだけを受信することができる。
図8は、図1の配信システムに対して、転送装置を1段階追加したときの構成図である。配信システムは、データパケットが流れる上流側(上位側)から下流側(下位側)に向かって、以下のように階層化されている。
・第0階層の送信端末1
・第1階層の転送装置A1
・第2階層の転送装置X1、X2
・第3階層の転送装置B1、B2
・第4階層の受信端末C1〜C4
第k階層の装置のデータベース作成部(図1参照)は、第k+1階層の装置の(装置内の属性DBの、または、装置自身の)属性集合が通知されると、その属性集合あてに送信するときの次ホップとして通知元の第k+1階層の装置を対応付けて、自身の(第k階層の)属性DBに登録する。なお、第k階層の属性DBを第k−1階層に通知するときに、同じ属性に属する属性値が複数重複する場合は、それらの属性値を1つに集約してから通知してもよいし、集約しなくてもよい。
[第1工程]第4階層の受信端末C1〜C4は、第3階層の転送装置B1、B2に対して、自身の属性集合を送信する。
[第2工程]第3階層の転送装置B1、B2は、第1工程で通知された属性集合を自装置内の属性DB内に格納し、その格納した内容を第2階層の転送装置X1に対して送信する。
[第3工程]第2階層の転送装置X1は、第2工程で通知された属性集合を自装置内の属性DB内に格納し、その格納した内容を第1階層の転送装置A1に対して送信する。
[第4工程]第1階層の転送装置A1は、第3工程で通知された属性集合を自装置内の属性DB内に格納する。
第k階層の装置のデータ転送部(図1参照)は、第k−1階層の装置から通知されたデータパケット内の送信条件をもとに、自身の(第k階層の)属性DB内の属性集合を評価する。この評価により、送信条件を満たす属性と、その属性に対応する次ホップ(第k+1階層の装置)を特定する。そして、第k階層の装置は、特定した1つ以上の次ホップに対して、データパケットを転送する。
[第5工程]第1階層の転送装置A1は、送信端末1から送信されたデータパケットの送信条件を満たす属性集合を自身の属性DBから特定し、その特定した属性集合に対応する次ホップが示す第2階層の転送装置X1に対してデータパケットを転送する。
[第6工程]第2階層の転送装置X1は、第5工程で送信されたデータパケットの送信条件を満たす属性集合を自身の属性DBから特定し、その特定した属性集合に対応する次ホップが示す第3階層の転送装置B1、B2に対してデータパケットを転送する。
[第7工程]第3階層の転送装置B1、B2は、第6工程で送信されたデータパケットの送信条件を満たす属性集合を自身の属性DBから特定し、その特定した属性集合に対応する次ホップが示す第4階層の受信端末C1〜C4に対してデータパケットを転送する。
図9は、配信システムにおけるハッシュDB(ハッシュテーブル)およびハッシュ値を含むパケットの説明図である。
テーブル301は、各装置が有するハッシュDBの内容として、データパケットの送信条件と、その送信条件をハッシュキーとしてハッシュ計算した結果のハッシュ値と、属性DBに対して送信条件を評価した結果の送信先(次ホップ)とを対応付けている。
各転送装置は、受信したデータパケットの送信条件と、属性DBの属性集合とを評価する前に、受信したデータパケットの送信条件がハッシュDBに登録済みであるか否かを、ハッシュ値から検索する。もし、ハッシュDBに登録済みであるなら、属性DBの属性集合を評価する処理を省略し、ハッシュDBからただちに送信先(次ホップ)を取得することで、処理負荷が軽減される。
一方、ハッシュDBに未登録の送信条件であるなら、前記したように受信したデータパケットの送信条件と、属性DBの属性集合とを評価することで、送信先(次ホップ)を取得する。この未登録の送信条件は、今回新たにハッシュDBに登録しておくことにより、次回の同じ送信条件に対する処理を高速化できる。なお、送信条件に前回の評価結果を対応付ける手段として、ハッシュ化以外にも例えば、固有のIDを割り当てる手法も挙げられる。
なお、ハッシュDBのエントリ登録処理の契機として、未登録の送信条件が到着したとき以外にも、属性DBの更新時や、転送装置の電源投入時などが挙げられる。また、登録対象のエントリ(送信条件)としては、到着した送信条件だけでなく、未着であっても事前に考え得る全パターンを列挙してもよい。
符号302において、1つのデータパケットを、送信先を決める条件パケット(一般にC-Planeと呼ばれる)と情報パケット(一般にU-Planeと呼ばれる)に分けてもよい。この時に条件パケットと情報パケットとを対応づけるキーとしては、例えば条件のハッシュ値が考えられる。なお、送信先を特定するための情報(条件の本文、条件のハッシュ値)は、図示したように送信パケットのデータ部(Payload)に含めてもよいし、ヘッダを拡張してもよい。
これにより、複雑な条件パケットは比較的高性能な処理能力を持つ転送装置(例えば高性能CPUをもつ転送装置)で取扱い、データ量が大きい情報パケットをより大容量の転送能力を持つ転送装置(例えば高性能なNP(Network Processor)/FPGA(Field-Programmable Gate Array)/ASIC(Application Specific Integrated Circuit)などの専用チップを持つ転送装置)で取り扱うなどにより、効率的な設備設計が可能になる。
図10は、配信システムにおける配信用テーブルの大きさの比較図である。
符号401は、配信用テーブルの大きさを評価するためのパラメータm,nの説明図である。仮に属性の個数を属性A〜属性Mの合計m個とし、その属性1つ1つにつき、取り得る属性値のバリエーションがn個であったとする。
符号402は、符号401の状況において、マルチキャストグループで配信するときの配信用テーブルの大きさを示す。データパケットの送信条件を示す条件式は、属性ごとの属性値の組み合わせで定義されるので、nのm乗個のエントリ(マルチキャストIPアドレス)が必要となり、そのエントリを格納する配信用テーブルの肥大化が問題となっていた。
符号403は、符号401の状況において、本実施形態の属性集合で配信するときの配信用テーブル(属性DB)の大きさを示す。図2などで示したように、属性DBには個々の属性ごとの属性値が登録されるため、属性DBの大きさは、n×m個のエントリで済む。
例えば、m=5,n=10とすると、マルチキャストの配信テーブルは10の5乗=10万エントリが必要であったが、属性DBは10×5=50エントリで済む。
以上説明した本実施形態では、送信端末1が複雑な複数の条件で定まる受信端末C1〜C4へ向けてデータパケットを配信するシステムを提示した。この配信システムでは、受信端末C1〜C4の属性集合が、各転送装置内の属性DBに登録された後、その属性DBを参照してデータパケットの送信条件が評価され、送信条件に合致する次ホップにデータパケットが転送される。また、転送装置は2段以上の階層構造を取り、条件(属性)を集約していくことで、属性DBのサイズを削減できる。さらに、図4の第2の具体例や、図6の第3の具体例で示したように、必要に応じて、自らが受信するパケットの条件を秘匿することが可能になる。
これにより、各受信端末C1〜C4がマルチキャストネットワークへ自ら登録する必要が無くなり、かつ、複雑な複数の条件で定まる膨大な数のマルチキャストネットワークのグループ管理も不要になる。つまり、従来のユニキャストで課題であった転送帯域の増大や送信元端末の繰り返し送信を軽減するとともに、従来のマルチキャストで課題であった複雑な条件の取扱いを可能にする。
なお、本実施形態は複数端末への同報送信に関する課題を鑑みてなされたものではあるが、適用先は同報送信に限らない。「IPアドレスなどの従来の宛先端末指定スキームによらず、条件によって宛先端末を指定できる」点が特徴である。例えばIPアドレスといった宛先を一意に特定する従来のIDを用いるのではなく、宛先を送信条件によって定める。これにより、送信端末1は柔軟な表現で送信条件を作成できるので、使い勝手がよくなる。
なお、説明をわかりやすくするために、送信端末1から受信端末C1〜C4に向かう2段以上の階層構造として、図1などではツリー状のネットワークトポロジを例示したが、上位下位の階層構造を物理的に構成するネットワークだけでなく、物理的には階層構造となっていなくても、(ネットワークの設定で)論理的に階層構造を構成するネットワークを用いてもよい。例えばメッシュ状のネットワーク(P2P等)に適用してもよいし、双方向に情報をやり取りするために本発明により端末間で通信経路を確立するという適用の仕方でもよい。「論理的に階層構造を構成する」とは、例えば、それぞれのノードに対して、BGP(Border Gateway Protocol)などで情報をやりとりすることで、どのノードが自身からみた上位ノードなのかをあらかじめ登録しておくことである。
1 送信端末
A1 転送装置(第1転送装置)
B1,B2 転送装置(第3転送装置)
C1〜C4 受信端末
X1,X2 転送装置(第2転送装置)

Claims (6)

  1. 最上位の送信端末から最下位の受信端末に向かってデータパケットを転送するときに、前記送信端末に接続される第1転送装置、前記第1転送装置よりも下位の第2転送装置、前記第2転送装置よりも下位であり前記受信端末に接続される第3転送装置の順にデータパケットが通過するようにレイヤ構成をとるデータ配信システムであって、
    データパケットが前記送信端末から送信される前において、
    前記受信端末は、自身の属性集合を前記第3転送装置に送信する第1工程と、
    前記第3転送装置は、送信された前記属性集合と、その送信元である前記受信端末のアドレス情報とを対応付けて自身の属性DBに格納するとともに、その格納した属性集合を前記第2転送装置に送信する第2工程と、
    前記第2転送装置は、送信された前記属性集合と、その送信元である前記第3転送装置のアドレス情報とを対応付けて自身の属性DBに格納するとともに、その格納した属性集合を前記第1転送装置に送信する第3工程と、
    前記第1転送装置は、送信された前記属性集合と、その送信元である前記第2転送装置のアドレス情報とを対応付けて自身の属性DBに格納する第4工程と、
    前記属性集合の属性についての送信条件が指定されたデータパケットが前記送信端末から送信された後において、
    前記第1転送装置は、前記送信端末から送信された前記データパケットの送信条件を満たす前記属性集合を前記自身の属性DBから特定し、その特定した前記属性集合に対応するアドレス情報が示す前記第2転送装置に対してデータパケットを転送する第5工程と、
    前記第2転送装置は、前記第1転送装置から転送された前記データパケットの送信条件を満たす前記属性集合を前記自身の属性DBから特定し、その特定した前記属性集合に対応するアドレス情報が示す前記第3転送装置に対してデータパケットを転送する第6工程と、
    前記第3転送装置は、前記第2転送装置から転送された前記データパケットの送信条件を満たす前記属性集合を前記自身の属性DBから特定し、その特定した前記属性集合に対応するアドレス情報が示す前記受信端末に対してデータパケットを転送する第7工程とを実行することを特徴とする
    データ配信システム。
  2. 前記第1工程、前記第2工程、および、前記第3工程のうちの少なくとも1つの工程において、前記属性集合の送信元である下位の装置は、前記属性集合の送信先である上位の装置に対して、送信対象の前記属性集合のうちの一部を省略してから送信し、
    前記第5工程、前記第6工程、および、前記第7工程のうちの少なくとも1つの工程において、各転送装置は、送信が省略されたことにより前記自身の属性DBに格納されなかった前記属性集合については、送信条件を満たすものとみなして、下位の装置にデータパケットを転送することを特徴とする
    請求項1に記載のデータ配信システム。
  3. 前記第1工程、前記第2工程、および、前記第3工程のうちの少なくとも1つの工程において、前記属性集合の送信元である下位の装置は、前記属性集合内の重複する項目については1つに集約した後に、前記属性集合の送信先である上位の装置に対して送信することを特徴とする
    請求項1に記載のデータ配信システム。
  4. 前記第5工程、前記第6工程、および、前記第7工程のうちの少なくとも1つの工程において、
    各転送装置は、前記自身の属性DBから前記データパケットの送信条件を満たす転送先のアドレス情報を特定した後に、その送信条件を示すハッシュ値と、特定したアドレス情報とを対応付けるハッシュテーブルに対して今回特定したエントリを追加し、
    各転送装置は、新たなデータパケットを受信した後に、その新たなデータパケットの送信条件を示すハッシュ値が既にハッシュテーブルに登録されているときには、前記ハッシュテーブルから登録されたアドレス情報を取得することで、送信条件を満たす前記属性集合を前記自身の属性DBから特定する処理を省略することを特徴とする
    請求項1に記載のデータ配信システム。
  5. 自身からみて階層構造における下位として接続されている下位転送装置から送信された属性集合と、その送信元である前記下位転送装置のアドレス情報とを対応付けて自身の属性DBに格納するとともに、その格納した属性集合を自身からみて階層構造における上位として接続されている上位転送装置に送信するデータベース作成部と、
    前記属性集合の属性についての送信条件が指定されたデータパケットを前記上位転送装置から受信すると、そのデータパケットの送信条件を満たす前記属性集合を前記自身の属性DBから特定し、その特定した前記属性集合に対応するアドレス情報が示す前記下位転送装置に対してデータパケットを転送するデータ転送部と、を備えることを特徴とする
    データ転送装置。
  6. 請求項5に記載のデータ転送装置に対して送信するデータパケットを作成し、そのデータパケットのあて先を示す情報として前記属性集合の属性についての送信条件を指定することを特徴とする
    データ送信端末。
JP2016156358A 2016-08-09 2016-08-09 データ配信システム、および、データ転送装置 Active JP6603631B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016156358A JP6603631B2 (ja) 2016-08-09 2016-08-09 データ配信システム、および、データ転送装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016156358A JP6603631B2 (ja) 2016-08-09 2016-08-09 データ配信システム、および、データ転送装置

Publications (2)

Publication Number Publication Date
JP2018026657A true JP2018026657A (ja) 2018-02-15
JP6603631B2 JP6603631B2 (ja) 2019-11-06

Family

ID=61194828

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016156358A Active JP6603631B2 (ja) 2016-08-09 2016-08-09 データ配信システム、および、データ転送装置

Country Status (1)

Country Link
JP (1) JP6603631B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11082325B2 (en) 2019-04-16 2021-08-03 Fujitsu Limited Communication control method and information processing apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11082325B2 (en) 2019-04-16 2021-08-03 Fujitsu Limited Communication control method and information processing apparatus

Also Published As

Publication number Publication date
JP6603631B2 (ja) 2019-11-06

Similar Documents

Publication Publication Date Title
CN110313162B (zh) 促进在网络环境中向多个接收者的内容递送的系统和方法
EP2705645B1 (en) Name-based neighbor discovery and multi-hop service discovery in information-centric networks
CN102045252B (zh) 用于内容连网的自适应多接口使用
JP3925188B2 (ja) アプリケーションレイヤ・マルチキャスト方法及び中継ノードシステム
US8687522B2 (en) Distributed storage of routing information in a link state protocol controlled network
Tsilopoulos et al. Reducing forwarding state in content-centric networks with semi-stateless forwarding
CN105743664B (zh) 用于内容中心网络中的多源组播的系统和方法
JP5340062B2 (ja) ネットワーク中継装置およびネットワークシステム
US7984127B2 (en) Data matrix method and system for distribution of data
KR20170037818A (ko) 작은 다중 경로 또는 단일 경로 포워딩 상태를 이용한 정보 중심 네트워킹
US10554555B2 (en) Hash-based overlay routing architecture for information centric networks
WO2018067352A1 (en) Unicast branching based multicast
JP2016119665A (ja) 情報指向ネットワーク内のリンクステート情報を用いて、名前ベースのコンテンツルーティングを効率的に行うシステムおよび方法
WO2010022767A1 (en) Packet forwarding in a network
JP2004507159A (ja) コンピュータ・ネットワークにおける意味的記述ラベルを有するデータ・パケットの高性能アドレス指定および経路指定の方法
KR101604970B1 (ko) 서비스 지향 아키텍쳐 네트워크 내 서비스들의 검색 방법
JP7050177B2 (ja) マルチキャストパケットを伝送する方法、デバイス、及びシステム
JPWO2013118873A1 (ja) 制御装置、通信システム、通信方法およびプログラム
KR20120019502A (ko) 복수의 랑데뷰 포인트에서 모바일 멀티캐스트 소스로부터의 멀티캐스트 트래픽을 함께 처리하기 위한 방법 및 장치
Ascigil et al. A native content discovery mechanism for the information-centric networks
JP2016066882A (ja) 通信システム、ノード装置、ノードプログラム、および、通信プログラム
JP6119562B2 (ja) ネットワークシステムおよびネットワーク中継装置
JP6603631B2 (ja) データ配信システム、および、データ転送装置
US20110255421A1 (en) Investigating quality of service disruptions in multicast forwarding trees
JP6003893B2 (ja) グループ毎同報配信経路設定方法および通信装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180829

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190702

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190827

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: 20191008

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191011

R150 Certificate of patent or registration of utility model

Ref document number: 6603631

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150